:root{
  /* Brand palette (Gold family) */
  --gold: #d4af37;
  --gold-2: #f6e6a8;      /* light gold */
  --gold-3: #b8891a;      /* dark gold */

  /* Light premium base */
  --bg: #f6f7fb;          /* main background */
  --bg-2: #ffffff;        /* section/containers */
  --bg-3: #eef1f6;        /* alt section */

  /* Text */
  --text: #1b1f2a;        /* main dark text */
  --text-2: #3a4356;      /* secondary text */
  --muted: #667085;       /* muted */

  /* Borders / shadows */
  --border: rgba(27,31,42,.12);
  --border-gold: rgba(212,175,55,.35);
  --shadow: 0 18px 55px rgba(17,24,39,.10);

  /* Accents */
  --shine: rgba(255,255,255,.68);
  --glass: rgba(255,255,255,.70);
}

/* Base */
*{ box-sizing:border-box; }
html, body { overflow-x: hidden; }

html{ scroll-behavior: smooth; }
body{
  font-family: "Manrope", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(900px 600px at 15% 10%, rgba(212,175,55,.22), transparent 60%),
    radial-gradient(700px 500px at 90% 20%, rgba(246,230,168,.35), transparent 55%),
    linear-gradient(180deg, #ffffff, var(--bg));
}

/* Typography helpers */
.text-muted-light{ color: var(--muted) !important; }
.section{
  padding: 88px 0;
  position: relative;
}
.section-alt{
  background: linear-gradient(180deg, var(--bg-3), var(--bg));
  border-top: 1px solid var(--border);
  border-bottom: 1px solid var(--border);
}
.section-head .section-eyebrow{
  letter-spacing: .20em;
  text-transform: uppercase;
  font-weight: 800;
  font-size: .82rem;
  color: var(--gold-3);
  margin-bottom: .35rem;
  font-family: "Cinzel", serif;
}
.section-title{
  font-family: "Cinzel", serif;
  font-weight: 800;
  font-size: clamp(1.55rem, 2.5vw, 2.4rem);
  margin-bottom: .55rem;
  color: #111827;
}
.section-subtitle{
  color: var(--muted);
  max-width: 820px;
  margin: 0 auto;
}

/* ===== TOP BAR ===== */
.topbar{
  background:
    linear-gradient(90deg, rgba(212,175,55,.30), rgba(255,255,255,.75)),
    radial-gradient(600px 80px at 20% 50%, rgba(255,255,255,.60), transparent 70%);
  border-bottom: 1px solid rgba(27,31,42,.10);
}
.topbar-link{
  color: #1b1f2a;
  text-decoration: none;
  font-weight: 700;
}
.topbar-link:hover{
  color: var(--gold-3);
}
.badge-soft{
  background: rgba(212,175,55,.16);
  border: 1px solid rgba(212,175,55,.35);
  color: #6b4f10;
  border-radius: 999px;
  padding: .45rem .75rem;
  font-weight: 800;
}

/* ===== NAVBAR ===== */
.navbar-glass{
  background: rgba(255,255,255,.86);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid rgba(27,31,42,.10);
  box-shadow: 0 10px 30px rgba(17,24,39,.06);
}
.navbar-dark .navbar-nav .nav-link{
  color: var(--text);
}
.brand-logo{
  width: 100%;
  height: 68px;
  border-radius: 12px;
  object-fit: cover;
  border: 1px solid rgba(212,175,55,.42);
  box-shadow: 0 10px 25px rgba(212,175,55,.18);
}
.brand-text{ line-height: 1.05; }
.brand-title{
  display:block;
  font-family: "Cinzel", serif;
  font-weight: 900;
  font-size: 1.06rem;
  color: #111827;
}
.brand-subtitle{
  display:block;
  font-size: .78rem;
  color: var(--muted);
  font-weight: 700;
}

.navbar .nav-link{
  font-weight: 800;
  padding: .62rem .92rem;
  border-radius: 999px;
  transition: background .2s ease, transform .2s ease;
}
.navbar .nav-link:hover{
  background: rgba(212,175,55,.16);
  color: #111827;
  transform: translateY(-1px);
}
.navbar .nav-link.active{
  color: #111;
  background: linear-gradient(90deg, var(--gold), var(--gold-2));
  box-shadow: 0 10px 25px rgba(212,175,55,.22);
}

/* Black navbar toggler icon */
.navbar-toggler{
  border: 1px solid rgba(0,0,0,.25);
  padding: 6px 10px;
}

.navbar-toggler-icon{
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(0,0,0,0.85)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

/* ===== BUTTONS ===== */
.btn-gold{
  border: none;
  color: #111;
  background: linear-gradient(90deg, var(--gold), var(--gold-2));
  box-shadow: 0 12px 30px rgba(212,175,55,.25);
  font-weight: 900;
  border-radius: 14px;
}
.btn-gold:hover{
  filter: brightness(1.03);
  transform: translateY(-1px);
}
.btn-outline-gold{
  color: #6b4f10;
  border: 1px solid rgba(212,175,55,.55);
  background: rgba(212,175,55,.10);
  font-weight: 900;
  border-radius: 14px;
}
.btn-outline-gold:hover{
  color: #111;
  background: linear-gradient(90deg, var(--gold), var(--gold-2));
  border-color: rgba(212,175,55,.55);
}

/* Bootstrap light button (hero) */
.btn-outline-light{
  color: #111 !important;
  border-color: rgba(255,255,255,.90) !important;
  background: rgba(255,255,255,.65) !important;
  font-weight: 900;
  border-radius: 14px;
}
.btn-outline-light:hover{
  background: rgba(255,255,255,.90) !important;
}

/* ===== HERO / CAROUSEL ===== */
.hero{ position: relative; }
.hero-img{
  height: min(76vh, 760px);
  object-fit: cover;
  filter: saturate(1.08) contrast(1.06) brightness(1.02);
}
.hero-overlay{
  position:absolute;
  inset:0;
  background:
    radial-gradient(900px 520px at 20% 40%, rgba(255,255,255,.28), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.10), rgba(0,0,0,.30));
  pointer-events:none;
}
.carousel-caption{
  left:0; right:0;
  bottom: 14%;
}
.pill{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding: .42rem .85rem;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.70);
  background: rgba(255,255,255,.70);
  color: #111827;
  font-weight: 900;
  box-shadow: 0 10px 25px rgba(17,24,39,.10);
}
.hero-title{
  font-family: "Cinzel", serif;
  font-weight: 900;
  font-size: clamp(1.85rem, 3.2vw, 3.2rem);
  margin: 0;
  color: #000000;
  text-shadow: 0 16px 40px rgba(0,0,0,.35);
}
.hero-lead{
  color: rgb(6 6 5 / 92%);
  font-weight: 600;
  font-size: 1.08rem;
  max-width: 58ch;
  text-shadow: 0 12px 25px rgba(0,0,0,.30);
}
.hero-badges{
  display:flex;
  flex-wrap:wrap;
  gap:.75rem;
  color: rgba(36, 35, 30, 0.95);
  font-size: .95rem;
  font-weight: 800;
}
.hero-badges span{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  background: rgba(255,255,255,.18);
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  padding: .36rem .7rem;
  backdrop-filter: blur(10px);
}

/* ===== CARDS (general) ===== */
.card-glow{
  background:
    linear-gradient(180deg, rgba(255,255,255,.90), rgba(255,255,255,.72));
  border: 1px solid rgba(27,31,42,.10);
  border-radius: 22px;
  box-shadow: var(--shadow);
  position: relative;
  overflow: hidden;
}
.card-glow::before{
  content:"";
  position:absolute;
  inset:-1px;
  background: radial-gradient(900px 220px at 20% 0%, rgba(212,175,55,.25), transparent 60%);
  pointer-events:none;
}

/* Chips */
.chip{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.42rem .75rem;
  border-radius: 999px;
  background: rgba(212,175,55,.12);
  border: 1px solid rgba(212,175,55,.30);
  color: #6b4f10;
  font-weight: 900;
  font-size: .92rem;
}

/* About visual cards */
.about-visual{
  display:grid;
  gap: 12px;
}
.about-card{
  display:flex;
  gap: 12px;
  align-items:flex-start;
  padding: 16px 16px;
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(27,31,42,.10);
  border-radius: 18px;
  box-shadow: 0 12px 35px rgba(17,24,39,.07);
}
.icon-bubble{
  width: 46px;
  height: 46px;
  border-radius: 16px;
  display:grid;
  place-items:center;
  background: linear-gradient(180deg, rgba(212,175,55,.28), rgba(255,255,255,.80));
  border: 1px solid rgba(212,175,55,.35);
  color: #6b4f10;
  font-size: 1.18rem;
  box-shadow: 0 10px 25px rgba(212,175,55,.18);
}
.about-image{
  height: 220px;
  border-radius: 22px;
  border: 1px dashed rgba(212,175,55,.50);
  background:
    radial-gradient(700px 260px at 25% 25%, rgba(212,175,55,.26), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.95), rgba(255,255,255,.75));
  box-shadow: 0 14px 45px rgba(17,24,39,.08);
}

/* ===== SERVICES ===== */
/* ===== Services (with image + icon rotate) ===== */

.service-card{
  padding: 0;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(27,31,42,.10);
  box-shadow: 0 16px 45px rgba(17,24,39,.08);
  overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.service-card:hover{
  transform: translateY(-7px);
  border-color: rgba(212,175,55,.45);
  box-shadow: 0 24px 65px rgba(17,24,39,.12);
}

/* Image area */
.service-img{
  position: relative;
  height: 290px;
  overflow: hidden;
}

.service-img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .45s ease, filter .45s ease;
}

.service-card:hover .service-img img{
  transform: scale(1.08);
  filter: saturate(1.05) contrast(1.03);
}

/* Shine overlay on image */
.service-img::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(500px 160px at 20% 15%, rgba(212,175,55,.24), transparent 60%),
    linear-gradient(180deg, rgba(255,255,255,.12), rgba(0,0,0,.18));
  pointer-events:none;
}

/* Body area */
.service-body{
  padding: 20px 22px 22px;
}

/* Icon */
.service-icon{
  width: 58px;
  height: 58px;
  border-radius: 18px;
  display:grid;
  place-items:center;
  margin-top: -34px;            /* pulls icon onto image area */
  margin-bottom: 12px;
  font-size: 1.5rem;
  color: #6b4f10;
  background: linear-gradient(180deg, rgba(212,175,55,.30), rgba(255,255,255,.88));
  border: 1px solid rgba(212,175,55,.40);
  box-shadow: 0 14px 35px rgba(212,175,55,.16);
  transition: transform .65s cubic-bezier(.2,.9,.2,1);
}

/* 360 rotation on hover of card */
.service-card:hover .service-icon{
  transform: rotate(360deg);
}

/* Title + text */
.service-card h4{
  font-family: "Cinzel", serif;
  font-weight: 900;
  margin-bottom: 8px;
  color: #111827;
}
.service-card p{
  color: var(--muted);
  font-weight: 600;
  margin-bottom: 14px;
}

/* Mobile adjustments */
@media (max-width: 575.98px){
  .service-img{ height: 165px; }
  .service-body{ padding: 18px; }
}


/* CTA band */
.cta-band{
  padding: 22px;
  border-radius: 22px;
  background:
    radial-gradient(700px 240px at 20% 20%, rgba(212,175,55,.22), transparent 55%),
    rgba(255,255,255,.90);
  border: 1px solid rgba(212,175,55,.35);
  box-shadow: 0 18px 55px rgba(17,24,39,.09);
}

/* ===== WHY CHOOSE US ===== */
.feature-card{
  padding: 20px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(27,31,42,.10);
  box-shadow: 0 16px 45px rgba(17,24,39,.08);
  transition: transform .25s ease, border-color .25s ease;
}
.feature-card:hover{
  transform: translateY(-7px);
  border-color: rgba(212,175,55,.45);
}
.feature-ico{
  width: 54px; height: 54px;
  border-radius: 18px;
  display:grid; place-items:center;
  margin-bottom: 10px;
  color: #6b4f10;
  font-size: 1.45rem;
  background: rgba(212,175,55,.18);
  border: 1px solid rgba(212,175,55,.35);
  box-shadow: 0 10px 25px rgba(212,175,55,.16);
}
.feature-card h5{
  font-family:"Cinzel", serif;
  font-weight: 900;
  margin-bottom: 6px;
  color: #111827;
}
.feature-card p{ color: var(--muted); margin-bottom:0; font-weight: 600; }

/* ===== ACHIEVEMENTS ===== */
.counter-card{
  padding: 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(27,31,42,.10);
  text-align: center;
  box-shadow: 0 16px 45px rgba(17,24,39,.08);
}
.counter-ico{
  width: 58px; height:58px;
  border-radius: 20px;
  margin: 0 auto 10px;
  display:grid; place-items:center;
  font-size: 1.5rem;
  color: #6b4f10;
  background: linear-gradient(180deg, rgba(212,175,55,.30), rgba(255,255,255,.88));
  border: 1px solid rgba(212,175,55,.40);
  box-shadow: 0 10px 28px rgba(212,175,55,.16);
}
.counter-number{
  font-family: "Cinzel", serif;
  font-weight: 950;
  font-size: 2.05rem;
  line-height: 1.1;
  background: linear-gradient(90deg, var(--gold-3), var(--gold));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}
.counter-label{ color: var(--muted); font-weight: 800; }

/* ===== GALLERY ===== */
.gallery-item{
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(27,31,42,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 16px 45px rgba(17,24,39,.08);
}
.gallery-item img{
  width:100%;
  height: 240px;
  object-fit: cover;
  transition: transform .35s ease, filter .35s ease;
}
.gallery-item:hover img{
  transform: scale(1.06);
  filter: saturate(1.05) contrast(1.03);
}
.gallery-overlay{
  position:absolute;
  inset:0;
  opacity:0;
  transition: opacity .25s ease;
  background: linear-gradient(180deg, transparent, rgba(0,0,0,.45));
  display:flex;
  align-items:flex-end;
  padding: 14px;
}
.gallery-item:hover .gallery-overlay{ opacity:1; }
.gallery-overlay span{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding: .42rem .75rem;
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  border: 1px solid rgba(255,255,255,.75);
  color: #111827;
  font-weight: 900;
}

/* ===== CONTACT ===== */
.contact-card, .form-card{
  padding: 22px;
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(27,31,42,.10);
  box-shadow: 0 16px 45px rgba(17,24,39,.08);
}
.contact-item{
  display:flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px dashed rgba(27,31,42,.14);
}
.contact-item:last-child{ border-bottom: none; }
.contact-item i{
  width: 42px; height: 42px;
  border-radius: 14px;
  display:grid; place-items:center;
  color: #6b4f10;
  background: rgba(212,175,55,.18);
  border: 1px solid rgba(212,175,55,.35);
  box-shadow: 0 10px 25px rgba(212,175,55,.14);
}
.contact-label{ color: var(--muted); font-size: .9rem; font-weight: 800; }
.contact-text, .contact-text a{
  color: #111827;
  text-decoration:none;
  font-weight: 800;
}
.contact-text a:hover{ color: var(--gold-3); }

/* Forms */
.form-control{
  background: rgba(255,255,255,.98);
  border: 1px solid rgba(27,31,42,.14);
  color: #111827;
  border-radius: 14px;
  /* padding: .85rem .95rem; */
  font-weight: 700;
}
.form-control:focus{
  border-color: rgba(212,175,55,.70);
  box-shadow: 0 0 0 .22rem rgba(212,175,55,.20);
}
.form-label{ color: #111827; font-weight: 900; }

.toast-lite{
  padding: 12px 14px;
  border-radius: 16px;
  background: rgba(212,175,55,.18);
  border: 1px solid rgba(212,175,55,.35);
  color: #6b4f10;
  font-weight: 900;
}

/* ===== MAP ===== */
.map-wrap{ padding: 0 0 90px; }
.map-card{
  border-radius: 22px;
  overflow:hidden;
  border: 1px solid rgba(27,31,42,.10);
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 55px rgba(17,24,39,.10);
}
.map-head{
  padding: 18px 18px 10px;
  border-bottom: 1px solid rgba(27,31,42,.10);
}

/* ===== FOOTER ===== */
.footer{
  padding: 70px 0 30px;
  background:
    radial-gradient(900px 280px at 20% 0%, rgba(212,175,55,.18), transparent 60%),
    linear-gradient(180deg, #ffffff, #f3f4f7);
  border-top: 1px solid rgba(27,31,42,.10);
}
.footer-title{
  font-family:"Cinzel", serif;
  font-weight: 950;
  margin-bottom: 14px;
  color: #111827;
}
.footer-text{ color: var(--muted); font-weight: 600; }
.footer-links, .footer-contact{
  list-style:none;
  padding: 0;
  margin: 0;
}
.footer-links li{ margin-bottom: 10px; }
.footer-links a{
  color: #111827;
  text-decoration:none;
  font-weight: 800;
}
.footer-links a:hover{ color: var(--gold-3); }
.footer-contact li{
  display:flex;
  gap:10px;
  margin-bottom: 10px;
  color: #111827;
  font-weight: 700;
}
.footer-contact i{ color: var(--gold-3); margin-top: 3px; }
.footer-contact a{ color: #111827; text-decoration:none; font-weight: 800; }
.footer-contact a:hover{ color: var(--gold-3); }

.footer-hr{ border-color: rgba(27,31,42,.10); }
.back-to-top{ color: #111827; text-decoration:none; font-weight: 900; }
.back-to-top:hover{ color: var(--gold-3); }

.social{
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display:grid;
  place-items:center;
  text-decoration:none;
  color: #6b4f10;
  background: rgba(212,175,55,.18);
  border: 1px solid rgba(212,175,55,.35);
  box-shadow: 0 10px 25px rgba(212,175,55,.14);
}
.social:hover{
  color: #111;
  background: linear-gradient(90deg, var(--gold), var(--gold-2));
}

/* ===== FLOATING ACTION BUTTONS (FIXED FOR MOBILE OVERFLOW) ===== */
.floating-actions{
  position: fixed;
  right: max(14px, env(safe-area-inset-right));
  bottom: max(14px, env(safe-area-inset-bottom));
  display:flex;
  flex-direction: column;
  gap: 12px;
  z-index: 9999;

  /* Important: prevent any accidental layout overflow */
  max-width: calc(100vw - 24px);
  overflow: visible;
}

.fab{
  display:flex;
  align-items:center;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 999px;
  text-decoration:none;
  color: #111;
  font-weight: 950;
  border: 1px solid rgba(27,31,42,.10);
  box-shadow: 0 18px 45px rgba(17,24,39,.16);
  position: relative;
  overflow: hidden;

  /* Prevent extra horizontal space */
  white-space: nowrap;
  max-width: calc(100vw - 30px);
}

.fab i{
  width: 40px;
  height: 40px;
  border-radius: 999px;
  display:grid;
  place-items:center;
  color: rgba(255,255,255,.95);
  flex: 0 0 auto;
}

.fab-text{ line-height: 1; }

/* Colors */
.fab-call{
  background: linear-gradient(90deg, var(--gold), var(--gold-2));
  border-color: rgba(212,175,55,.55);
}
.fab-call i{ background: rgba(17,24,39,.30); }

.fab-wa{
  background: linear-gradient(90deg, #25D366, #9BF0B6);
  border-color: rgba(37,211,102,.40);
}
.fab-wa i{ background: rgba(17,24,39,.25); }

/* Shiny moving highlight (kept inside; won't overflow) */
.fab::after{
  content:"";
  position:absolute;
  inset: 0;
  left: -120%;
  width: 140%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.55), transparent);
  transform: skewX(-18deg);
  animation: shineMove 2.4s ease-in-out infinite;
  opacity: .65;
  pointer-events:none;
}
@keyframes shineMove{
  0%{ left:-120%; opacity:.25; }
  45%{ opacity:.70; }
  100%{ left:120%; opacity:.25; }
}

/* ✅ Mobile / small screens: make FABs compact circles (no extra width) */
@media (max-width: 575.98px){
  .floating-actions{
    right: max(10px, env(safe-area-inset-right));
    bottom: max(12px, env(safe-area-inset-bottom));
    gap: 10px;
  }

  .fab{
    width: 56px;
    height: 56px;
    padding: 0;
    justify-content: center;
    border-radius: 999px;
  }

  .fab i{
    width: 46px;
    height: 46px;
  }

  .fab-text{ display:none !important; }
}


/* ===== RESPONSIVE ===== */
@media (max-width: 991.98px){
  .carousel-caption{ bottom: 10%; }
  .hero-lead{ max-width: 100%; }
}
@media(max-width:767px)
{
	.cu-mb-ds-nn{
		display:none
	}
	.cu-jf-cnetr{
		justify-content:center!important;
	}
}
@media (max-width: 575.98px){
  .hero-img{ height: 72vh; }
  .fab-text{ display:none; }
  .fab{ padding: 12px; }
}
