:root{
  --mc-primary:#B80069;
  --mc-primary-600:#990055;
  --mc-primary-400:#cf1882;
  --mc-gold-400:#EFD27B;
  --mc-gold-500:#D4AF37;
  --mc-gold-600:#B8870B;
  --mc-gold-grad: linear-gradient(135deg, var(--mc-gold-400) 0%, var(--mc-gold-500) 45%, var(--mc-gold-600) 100%);
}

body{ font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif; }





/* ===== Responsive Topbar ===== */
.topbar{
  background: var(--mc-primary-600);
  font-size: .9rem;   
}
.topbar .container{ padding-top: .35rem; padding-bottom: .35rem; }

.tb-list{
  display:flex; flex-wrap:wrap; align-items:center;
  gap: .45rem 1rem; margin:0; padding:0; list-style:none;
}
.tb-item{ display:flex; align-items:center; }
.tb-link{ color:#fff; text-decoration:none; }
.tb-link:hover{ text-decoration: underline; }

.tb-btn{
  display:inline-flex; align-items:center; justify-content:center;
  color:#111; text-decoration:none; font-weight:600;
  padding: .28rem .6rem; border-radius: 999px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(255,255,255,.2);
  line-height: 1;
}
.tb-btn:hover{ filter: brightness(0.98); }
.tb-btn i{ font-size: .9em; }

.tb-wa{
  color:#fff; background: linear-gradient(135deg, #1ebea5, #25d366);
  border-color: rgba(37,211,102,.5);
}

.tb-icon{
  width: 32px; height: 32px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center;
  background: rgba(255,255,255,.16); color:#fff; text-decoration:none;
}
.tb-icon:hover{ background: rgba(255,255,255,.24); }

.nowrap{ white-space: nowrap; }

.tb-hide-xs{ display: none !important; }
.tb-show-xs{ display: inline !important; }

@media (min-width: 576px){
  .tb-hide-xs{ display: inline !important; }
  .tb-show-xs{ display: none !important; }
}

@media (max-width: 360px){
  .topbar .container{ padding-top: .25rem; padding-bottom: .25rem; }
  .tb-btn{ padding: .25rem .5rem; }
}




.navbar .nav-link{
  padding: .75rem 1rem;
  font-weight: 500;
}
.navbar .nav-link.active,
.navbar .nav-link:hover{
  color: var(--mc-primary) !important;
}
.btn-primary{
  background: var(--mc-primary);
  border-color: var(--mc-primary);
}
.btn-accent{
  background: var(--mc-gold-500);
  border-color: var(--mc-gold-500);
  color: #000;
}
.btn-accent:hover{
  background: var(--mc-gold-600);
  border-color: var(--mc-gold-600);
  color: #000;
}

.hero .display-5{ color:#111; }
.hero-card{ border: 1px solid #eee; }

.topbar a:hover{ opacity:.9; }










/* ========== Slider (center-left captions + WOW) ========== */
.home-slider { position: relative; margin-bottom: clamp(18px, 3vh, 28px); }

#homeSlider .carousel-item{
  min-height: clamp(440px, 76vh, 820px);
  position: relative;
  overflow: hidden;
}

#homeSlider .slide-bg{
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  transform-origin: center;
  will-change: transform;
}

#homeSlider .slide-overlay{
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.46) 40%, rgba(0,0,0,.35) 100%),
    var(--mc-gold-grad);
  mix-blend-mode: multiply;
  opacity: .36;
  pointer-events: none;
}

#homeSlider .caption-box{
  color:#fff;
  background: linear-gradient( to bottom right, rgba(0,0,0,.38), rgba(0,0,0,.22) );
  border: 1px solid rgba(255,255,255,.14);
  border-left: 5px solid var(--mc-gold-500);
  border-radius: 22px;
  padding: clamp(18px, 2.8vw, 32px);
  margin: 5rem 0;
  box-shadow: 0 12px 32px rgba(0,0,0,.28);
  backdrop-filter: saturate(1.15) blur(2px);
  -webkit-backdrop-filter: saturate(1.15) blur(2px);
}

#homeSlider .slide-title{
  margin: 0 0 .4rem;
  line-height: 1.12;
  font-weight: 800;
  text-shadow: 0 2px 22px rgba(0,0,0,.35);
  font-size: clamp(1.9rem, 3vw + .6rem, 3.1rem);
}
#homeSlider .slide-sub{
  margin: 0 0 1rem;
  font-size: clamp(1rem, .85vw + .7rem, 1.25rem);
  opacity: .96;
}

#homeSlider .indicators-wrap{
  position: absolute; left: 0; right: 0;
  bottom: clamp(12px, 2.4vh, 20px);
  z-index: 3; pointer-events:none;
}
#homeSlider .indicators-wrap .carousel-indicators{
  position: static; display:flex; gap:.4rem; justify-content:flex-start;
  pointer-events:auto;
}
#homeSlider .carousel-indicators [data-bs-target]{
  width: 28px; height: 6px; border-radius: 8px;
  background: rgba(255,255,255,.65);
  transition: all .25s ease;
}
#homeSlider .carousel-indicators .active{
  background: var(--mc-gold-500);
  width: 44px;
}

#homeSlider .carousel-control-prev,
#homeSlider .carousel-control-next{
  width: 56px; height: 56px; top: 50%; transform: translateY(-50%);
  border-radius: 50%;
  background: rgba(0,0,0,.28);
  transition: background .2s ease, transform .2s ease;
}
#homeSlider .carousel-control-prev:hover,
#homeSlider .carousel-control-next:hover{ background: rgba(0,0,0,.42); }
#homeSlider .carousel-control-prev-icon,
#homeSlider .carousel-control-next-icon{ filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); }

.kenburns{ animation: kenZoom 12s ease-in-out both; }
@keyframes kenZoom{
  0%{ transform: scale(1) }
  60%{ transform: scale(1.065) }
  100%{ transform: scale(1.1) }
}
@media (prefers-reduced-motion: reduce){ .kenburns{ animation:none; } }

@media (max-width: 575.98px){
  #homeSlider .caption-box{ text-align:center; border-left-width:4px; border-radius:18px; }
  #homeSlider .carousel-control-prev,
  #homeSlider .carousel-control-next{ width:46px; height:46px; }
}
















/* ===== Home About ===== */
.home-about .about-kicker{
  display:inline-block;
  font-weight:700;
  letter-spacing:.02em;
  padding:.35rem .75rem;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.06);
  background: var(--mc-gold-grad);
  color:#111;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

.about-chip{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-left:4px solid var(--mc-gold-500);
  border-radius:14px;
  padding:.7rem .9rem;
  box-shadow:0 6px 16px rgba(0,0,0,.06);
}

.about-list .about-check{
  color: var(--mc-gold-500);
  margin-right:.6rem;
}
.about-list li{ margin-bottom:.45rem; }

.about-badge{
  background:rgba(184,135,11,.09);        /* gold tint */
  color:#111;
  border:1px solid rgba(184,135,11,.25);
  border-radius:999px;
  padding:.45rem .75rem;
  font-weight:600;
}

/* ===== About: Right-side Mosaic ===== */
.about-mosaic{
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr;     /* two columns */
  grid-template-rows: auto auto;      /* two rows */
  gap: 16px;
}

.about-mosaic .tile{
  position: relative;
  display: block;
  border-radius: 22px;
  overflow: hidden;
  box-shadow: 0 14px 34px rgba(0,0,0,.18);
  isolation: isolate;                 /* for pseudo ring layering */
  transform: translateZ(0);           /* GPU hint */
}

.about-mosaic .tile::before{
  content:"";
  position:absolute; inset:0;
  border-radius: inherit;
  padding: 1px;                        /* ring width */
  background: var(--mc-gold-grad);
  -webkit-mask: 
    linear-gradient(#000 0 0) content-box, 
    linear-gradient(#000 0 0);
  mask: 
    linear-gradient(#000 0 0) content-box, 
    linear-gradient(#000 0 0);
  -webkit-mask-composite: xor;         /* show only the ring */
          mask-composite: exclude;
  opacity: .9;
  pointer-events: none;
}

.about-mosaic .tile .tile-img{
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform .6s ease, filter .3s ease;
  filter: saturate(1.02) contrast(1.02);
}

.about-mosaic .tile-a{ grid-column: 1 / 3; grid-row: 1 / 2; aspect-ratio: 16 / 9; }
.about-mosaic .tile-b{ grid-column: 1 / 2; grid-row: 2 / 3; aspect-ratio: 4 / 3;  }
.about-mosaic .tile-c{ grid-column: 2 / 3; grid-row: 2 / 3; aspect-ratio: 4 / 3;  }

@media (hover:hover){
  .about-mosaic .tile:hover .tile-img{
    transform: scale(1.06);
  }
}

@media (max-width: 575.98px){
  .about-mosaic{
    grid-template-columns: 1fr;
    grid-template-rows: auto auto auto;
    gap: 12px;
  }
  .about-mosaic .tile-a{ grid-column: 1 / 2; grid-row: 1 / 2; aspect-ratio: 16 / 10; }
  .about-mosaic .tile-b{ grid-column: 1 / 2; grid-row: 2 / 3; }
  .about-mosaic .tile-c{ grid-column: 1 / 2; grid-row: 3 / 4; }
}












/* ===== Home Services ===== */
.home-services.has-bg{
  position: relative;
  background-image: var(--services-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.home-services.has-bg::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.58) 100%);
  
  z-index: 0;
}

.home-services.has-bg .container{
  position: relative;
  z-index: 1;
}

.home-services.has-bg .section-kicker{
  background: var(--mc-gold-grad);
  color: #111;
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}
.home-services.has-bg .display-6{ color: #fff; }
.home-services.has-bg .lead{ color: #f5f5f5; }
.home-services.has-bg .text-muted{ color: rgba(0,0,0,.85) !important; }

@media (min-width: 1200px){
  .home-services.has-bg{ background-attachment: fixed; }
}

.home-services.has-bg{ padding-top: clamp(40px, 7vh, 72px); padding-bottom: clamp(40px, 7vh, 72px); }

.home-services .section-kicker{
  display:inline-block;
  font-weight:700;
  letter-spacing:.02em;
  padding:.35rem .75rem;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.06);
  background: var(--mc-gold-grad);
  color:#111;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

/* Card */
.service-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:20px;
  padding:1.15rem 1.15rem 1.05rem;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.service-card:hover{
  transform: translateY(-4px);
  box-shadow:0 16px 36px rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.1);
}

.service-ico{
  width:56px; height:56px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background: var(--mc-gold-grad);
  box-shadow: 0 8px 18px rgba(184,135,11,.25);
  color:#111; font-size:22px; margin-bottom:.8rem;
}

.service-bullets{ list-style:none; padding-left:0; margin:0; }
.service-bullets li{
  position:relative; padding-left:1.25rem; margin-bottom:.35rem; color:#555;
}
.service-bullets li::before{
  content:""; position:absolute; left:.1rem; top:.55rem;
  width:8px; height:8px; border-radius:50%;
  background: var(--mc-gold-500);
  box-shadow: 0 0 0 3px rgba(212,175,55,.25);
}

.service-cta{
  background:#fff; border:1px solid rgba(0,0,0,.06); border-radius:20px;
  padding:1rem 1.25rem;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}
@media (min-width: 992px){
  .service-cta{ padding:1.25rem 1.5rem; }
}
















/* ===== Home Gallery ===== */
.home-gallery .section-kicker{
  display:inline-block; font-weight:700; letter-spacing:.02em;
  padding:.35rem .75rem; border-radius:999px;
  border:1px solid rgba(0,0,0,.06);
  background: var(--mc-gold-grad); color:#111;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

.gtile{
  position:relative; display:block; border-radius:20px; overflow:hidden;
  box-shadow: 0 14px 34px rgba(0,0,0,.14);
  isolation:isolate; transform: translateZ(0);
}
.gtile .bg{ position:absolute; inset:0; background-size:cover; background-position:center; transition: transform .6s ease; }
.gtile .ov{ position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.0) 30%, rgba(0,0,0,.55) 100%); opacity:.85; transition: opacity .3s ease; }
.gtile .cap{
  position:absolute; left:14px; bottom:12px; color:#fff; font-weight:600;
  background: rgba(0,0,0,.35); padding:.45rem .75rem; border-radius:12px;
  border-left:4px solid var(--mc-gold-500); backdrop-filter: blur(2px) saturate(1.1);
}
.gtile::before{
  content:""; position:absolute; inset:0; border-radius:inherit; padding:1px;
  background: var(--mc-gold-grad);
  -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
  -webkit-mask-composite: xor; mask-composite: exclude; opacity:.9; pointer-events:none;
}

.gtile.ar-4x3{ aspect-ratio: 4 / 3; }
.gtile.ar-1x1{ aspect-ratio: 1 / 1; }

@media (hover:hover){
  .gtile:hover .bg{ transform: scale(1.06); }
  .gtile:hover .ov{ opacity:.95; }
}

#galleryLightbox img{ max-height: 82vh; object-fit: contain; }


















/* ===== By the Numbers (Stats) ===== */
.home-stats.has-bg{
  position: relative;
  background-image: var(--stats-bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.home-stats.has-bg::before{
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0,0,0,.58) 0%, rgba(0,0,0,.58) 100%);
  z-index: 0;
}

.home-stats.has-bg .container{
  position: relative;
  z-index: 1;
}

.home-stats.has-bg .display-6{ color:#fff; }
.home-stats.has-bg .lead{ color:#f5f5f5; }
.home-stats.has-bg .text-muted{ color: rgba(255,255,255,.85) !important; }
.home-stats.has-bg .stat-card{ background: rgba(255,255,255,.98); }

@media (min-width: 1200px){
  .home-stats.has-bg{ background-attachment: fixed; }
}

/* ===== Gold ribbon accent ===== */
.home-stats .stats-ribbon{
  position: absolute;
  left: 0; right: 0; top: 0;
  height: 8px;
  background: var(--mc-gold-grad);
  box-shadow: 0 8px 18px rgba(184,135,11,.25);
  z-index: 2;
}

.home-stats.has-bg{
  padding-top: clamp(44px, 7.5vh, 80px);
  padding-bottom: clamp(44px, 7.5vh, 80px);
}

.home-stats{
  position: relative;
  background:
    radial-gradient(1200px 600px at -10% -10%, rgba(184,135,11,.06), transparent 60%),
    radial-gradient(900px 500px at 110% 110%, rgba(184,135,11,.05), transparent 60%),
    #fff;
}

.home-stats .section-kicker{
  display:inline-block; font-weight:700; letter-spacing:.02em;
  padding:.35rem .75rem; border-radius:999px;
  border:1px solid rgba(0,0,0,.06);
  background: var(--mc-gold-grad); color:#111;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

.stat-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:20px;
  padding:1.1rem 1.1rem .95rem;
  box-shadow:0 10px 24px rgba(0,0,0,.06);
  text-align:left;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.stat-card:hover{
  transform: translateY(-4px);
  box-shadow:0 16px 36px rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.1);
}

.stat-ico{
  width:54px; height:54px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background: var(--mc-gold-grad); color:#111;
  font-size:22px; margin-bottom:.6rem;
  box-shadow: 0 8px 18px rgba(184,135,11,.25);
}

.stat-value{
  font-weight:800;
  line-height:1;
  font-size: clamp(1.8rem, 3.2vw + .4rem, 2.6rem);
  color:#111;
}
.stat-label{
  margin-top:.25rem;
  color:#555;
  font-weight:600;
}

.text-muted-50{ color: rgba(17,17,17,.55) !important; }















/* ===== Testimonials (plain, light gradient background) ===== */
.home-testimonials{
  position: relative;
  background:
    radial-gradient(900px 500px at -10% -10%, rgba(184,135,11,.06), transparent 60%),
    radial-gradient(700px 420px at 110% 110%, rgba(184,135,11,.05), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #fafafa 100%);
}

.home-testimonials .section-kicker{
  display:inline-block; font-weight:700; letter-spacing:.02em;
  padding:.35rem .75rem; border-radius:999px;
  border:1px solid rgba(0,0,0,.06);
  background: var(--mc-gold-grad); color:#111;
  box-shadow: 0 4px 14px rgba(0,0,0,.06);
}

.t-wrap{ margin-top:.25rem; }
.t-track{
  --gap: 16px;
  --card-w: 86%;
  display:flex; gap: var(--gap);
  overflow-x:auto; padding-bottom: 6px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  mask-image: linear-gradient(to right, transparent 0, #000 28px, #000 calc(100% - 28px), transparent 100%);
}
.t-track::-webkit-scrollbar{ display:none; }

.t-card{
  flex: 0 0 var(--card-w);
  scroll-snap-align: start;
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:20px;
  padding:1rem 1.1rem;
  box-shadow:0 10px 24px rgba(0,0,0,.10);
  min-height: 220px;
  display:flex; flex-direction:column; justify-content:space-between;
  transition: box-shadow .25s ease, transform .25s ease, border-color .25s ease;
}
.t-card:hover{ transform: translateY(-2px); box-shadow:0 16px 36px rgba(0,0,0,.18); border-color: rgba(0,0,0,.1); }

.t-quote{
  font-size: 1.02rem; color:#222;
  margin-bottom:.8rem;
}
.t-rating{ color: var(--mc-gold-500); letter-spacing: 1px; margin-bottom:.6rem; }

.t-client{ display:flex; align-items:center; gap:.7rem; }
.t-avatar{
  width:48px; height:48px; object-fit:cover; border-radius:50%;
  border:2px solid var(--mc-gold-500); background:#f6f6f6;
}
.t-name{ font-weight:700; color:#111; line-height:1.1; }
.t-role{ color:#666; font-size:.92rem; }

.t-nav{
  position:absolute; top:50%; transform:translateY(-50%);
  width:44px; height:44px; border-radius:50%;
  border:none; color:#111; background: var(--mc-gold-grad);
  display:flex; align-items:center; justify-content:center;
  box-shadow:0 10px 24px rgba(184,135,11,.3);
  z-index:2; cursor:pointer;
}
.t-prev{ left: -6px; }
.t-next{ right: -6px; }
.t-nav[disabled]{ opacity:.5; cursor:not-allowed; }

@media (min-width: 576px){ .t-track{ --card-w: 70%; } }
@media (min-width: 768px){ .t-track{ --card-w: calc(50% - var(--gap)/2); } }
@media (min-width: 992px){ .t-track{ --card-w: calc(33.333% - var(--gap)*2/3); } }












/* ===== How It Works (white section) ===== */
.home-process{
  background: #fff; /* pure white BG */
}
.step-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.06);
  border-radius:18px;
  padding:1rem 1.1rem;
  box-shadow:0 8px 20px rgba(0,0,0,.06);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.step-card:hover{
  transform: translateY(-3px);
  box-shadow:0 14px 28px rgba(0,0,0,.12);
  border-color: rgba(0,0,0,.1);
}
.step-ico{
  width:52px; height:52px; border-radius:14px;
  display:flex; align-items:center; justify-content:center;
  background: var(--mc-gold-grad);
  color:#111; font-size:22px; margin-bottom:.7rem;
  box-shadow: 0 8px 18px rgba(184,135,11,.22);
}







/* ===== Contact CTA (refined spacing + art kept clear) ===== */
.home-cta{
  position: relative;
  overflow: hidden;
  color: #fff;
  padding-top: clamp(42px, 6.5vh, 88px);
  padding-bottom: clamp(42px, 6.5vh, 88px);
  background:
    radial-gradient(1200px 600px at -10% -20%, rgba(207,24,130,.18), transparent 60%),
    radial-gradient(900px 500px at 110% 120%, rgba(212,175,55,.14), transparent 60%),
    linear-gradient(135deg, var(--mc-primary-600), var(--mc-primary));
  isolation: isolate;
}
.home-cta .container{ position: relative; z-index: 1; }

.home-cta::before{
  content:"";
  position:absolute; inset:0;
  background:
    linear-gradient(135deg,
      rgba(255,255,255,.05) 0%,
      rgba(255,255,255,0) 35%,
      rgba(255,255,255,.045) 65%,
      rgba(255,255,255,0) 100%);
  background-size: 200% 200%;
  animation: ctaShimmer 14s ease-in-out infinite;
  pointer-events: none;
  z-index: 0;
}
@keyframes ctaShimmer{
  0% { background-position: 0% 50%; }
  50%{ background-position: 100% 50%; }
  100%{ background-position: 0% 50%; }
}

.cta-kicker{
  display:inline-block; font-weight:700; letter-spacing:.02em;
  padding:.35rem .75rem; border-radius:999px; color:#111;
  background: var(--mc-gold-grad);
  box-shadow: 0 6px 16px rgba(0,0,0,.18);
}
.cta-title{
  font-weight:800; line-height:1.1;
  text-shadow: 0 2px 18px rgba(0,0,0,.32);
  font-size: clamp(1.8rem, 2.6vw + .6rem, 3rem);
  max-width: 840px; /* keeps nice line length */
}
.cta-sub{ opacity:.95; max-width: 780px; }

.cta-actions{
  display:flex; gap:.6rem;
  flex-direction: column; align-items: flex-end;
}
@media (max-width: 575.98px){
  .cta-actions{ flex-direction: row; align-items: stretch; justify-content: flex-start; }
}
.cta-actions .btn{ min-height: 44px; }

/* Buttons */
.btn-cta-call{
  background: #ffffff; color:#111; border: none;
  box-shadow: 0 8px 20px rgba(0,0,0,.25);
  transition: transform .2s ease, box-shadow .2s ease, filter .2s ease;
  backdrop-filter: saturate(1.05);
}
.btn-cta-call:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(0,0,0,.32); }
.btn-cta-call i{
  display:inline-block; animation: phoneJiggle 2.2s ease-in-out infinite;
}
@keyframes phoneJiggle{
  0%, 100% { transform: rotate(0deg); }
  5%  { transform: rotate(12deg); }
  10% { transform: rotate(-10deg); }
  15% { transform: rotate(8deg); }
  20% { transform: rotate(0deg); }
}

.btn-cta-wa{
  background: linear-gradient(135deg, #1ebea5, #25d366);
  color:#fff; border:none; position: relative;
  box-shadow: 0 8px 20px rgba(37,211,102,.35);
  transition: transform .2s ease, box-shadow .2s ease;
}
.btn-cta-wa:hover{ transform: translateY(-2px); box-shadow: 0 12px 28px rgba(37,211,102,.45); }
.btn-cta-wa::after{
  content:""; position:absolute; inset:-6px; border-radius: 999px;
  border: 2px solid rgba(37,211,102,.45);
  animation: waPulse 1.8s ease-out infinite;
}
@keyframes waPulse{
  0%  { opacity:.85; transform: scale(.92); }
  70% { opacity:0;   transform: scale(1.12); }
  100%{ opacity:0;   transform: scale(1.18); }
}

.btn-cta-ghost{
  color:#fff; border: 2px solid rgba(255,255,255,.85);
  background: transparent;
  transition: background .2s ease, color .2s ease, transform .2s ease, border-color .2s ease;
}
.btn-cta-ghost:hover{ background: rgba(255,255,255,.12); transform: translateY(-2px); }

.cta-art{ position:absolute; inset:0; z-index: 0; pointer-events:none; }
.cta-art .ring{
  position:absolute; right: -160px; top: 50%;
  width: 360px; height: 360px; border-radius: 50%;
  background: conic-gradient(from 0deg, var(--mc-gold-400), var(--mc-gold-500), var(--mc-gold-600), var(--mc-gold-500), var(--mc-gold-400));
  -webkit-mask: radial-gradient(circle at center, transparent 62%, #000 63%);
          mask: radial-gradient(circle at center, transparent 62%, #000 63%);
  filter: blur(.2px) saturate(1.05);
  transform: translateY(-50%);
  animation: ringSpin 26s linear infinite;
  opacity:.68;
}
@keyframes ringSpin{ to { transform: translateY(-50%) rotate(360deg); } }

.cta-art .dot{
  position:absolute; width:10px; height:10px; border-radius:50%;
  background: var(--mc-gold-500);
  box-shadow: 0 0 0 6px rgba(212,175,55,.25), 0 0 18px rgba(212,175,55,.8) inset;
  opacity:.85;
}
.cta-art .d1{ left: 6%;  top: 18%; animation: floatY 7s ease-in-out infinite; }
.cta-art .d2{ left: 22%; top: 70%; animation: floatY 8.5s ease-in-out infinite; }
.cta-art .d3{ left: 88%; top: 28%; animation: floatY 9.2s ease-in-out infinite; }
@keyframes floatY{
  0%,100%{ transform: translateY(0); }
  50%    { transform: translateY(-10px); }
}

@media (max-width: 991.98px){
  .cta-art .ring{ right: -220px; width: 300px; height: 300px; opacity:.5; }
}
@media (max-width: 575.98px){
  .cta-art .ring{ display:none; }
}
@media (prefers-reduced-motion: reduce){
  .home-cta::before,
  .btn-cta-wa::after,
  .btn-cta-call i,
  .cta-art .ring,
  .cta-art .dot{ animation: none !important; }
}

















/* ===== Footer ===== */
.site-footer{
  position: relative;
  background:
    radial-gradient(1200px 700px at -10% -20%, rgba(207,24,130,.18), transparent 60%),
    radial-gradient(900px 560px at 120% 120%, rgba(212,175,55,.14), transparent 60%),
    linear-gradient(135deg, var(--mc-primary-600), var(--mc-primary));
  color: #fff;
  overflow: hidden;
}
.site-footer .container{ position: relative; z-index: 1; }
.footer-ribbon{
  position: absolute; left: 0; right: 0; top: 0; height: 6px;
  background: var(--mc-gold-grad);
  box-shadow: 0 8px 18px rgba(184,135,11,.25);
  z-index: 2;
}

.sf-head{
  font-weight: 800; letter-spacing: .02em; margin-bottom: .75rem;
}
.sf-list{ list-style: none; padding: 0; margin: 0; }
.sf-list li{ margin-bottom: .4rem; }
.sf-list a{
  color: rgba(255,255,255,.92);
  text-decoration: none;
}
.sf-list a:hover{ color: #fff; text-decoration: underline; }

.sf-contact li{ margin-bottom: .4rem; }
.sf-contact a{ color: rgba(255,255,255,.92); text-decoration: none; }
.sf-contact a:hover{ color: #fff; text-decoration: underline; }

.sf-social{
  width: 40px; height: 40px; border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  background: rgba(255,255,255,.12);
  color: #fff; text-decoration: none;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
  box-shadow: 0 8px 20px rgba(0,0,0,.18);
}
.sf-social:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.22);
  box-shadow: 0 12px 28px rgba(0,0,0,.24);
}

.sf-hr{
  border-color: rgba(255,255,255,.25);
  opacity: .6;
}



/* ===== Back to top button ===== */
.back-to-top{
  position: fixed; right: 16px; bottom: 16px; z-index: 1030;
  width: 44px; height: 44px; border: none; border-radius: 50%;
  background: var(--mc-gold-grad);
  color: #111; display: grid; place-items: center;
  box-shadow: 0 12px 28px rgba(0,0,0,.35);
  cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(8px);
  transition: opacity .25s ease, transform .25s ease, visibility .25s;
}
.back-to-top.show{ opacity: 1; visibility: visible; transform: translateY(0); }
.back-to-top i{ font-size: 16px; }

@media (max-width: 575.98px){
  .site-footer{ padding-top: 2.25rem; }
}













/* About Us */
.page-header {
  position: relative;
  padding: 120px 0;
}
.page-header .overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.5);
}
.page-header h1, 
.page-header p {
  position: relative;
  z-index: 1;
}

.cta-section {
  background: var(--mc-gold-grad);
}



















/* ---- Gallery.php Mosaic Masonry ---- */
.mc-masonry {
  column-count: 3;
  column-gap: 1rem;
}

@media (min-width: 576px) { .mc-masonry { column-count: 2; } }
@media (min-width: 992px) { .mc-masonry { column-count: 3; } }
@media (min-width: 1400px){ .mc-masonry { column-count: 4; } }

.mc-card {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin: 0 0 1rem;
  position: relative;
  border-radius: 1rem;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(0,0,0,.08);
  background: #fff;
}

.mc-card img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform .35s ease;
}

.mc-card a { display: block; position: relative; }

.mc-card figcaption {
  position: absolute;
  left: .75rem; bottom: .75rem;
  background: rgba(0,0,0,.55);
  color: #fff;
  padding: .25rem .5rem;
  border-radius: .5rem;
  font-size: .85rem;
  opacity: 0;
  transform: translateY(6px);
  transition: all .2s ease;
}

.mc-card:hover img { transform: scale(1.03); }
.mc-card:hover figcaption { opacity: 1; transform: translateY(0); }

/* Page header overlay reuse */
.page-header { position: relative; }
.page-header .overlay {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.45);
}

















/* --- Services.php  --- */
.svc-card{
  background:#fff;
  border-radius:1rem;
  padding:1.25rem;
  height:100%;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  transition:transform .25s ease, box-shadow .25s ease;
}
.svc-card:hover{ transform:translateY(-3px); box-shadow:0 14px 36px rgba(0,0,0,.09); }
.svc-card .svc-ico{
  width:56px;height:56px;
  display:grid;place-items:center;
  border-radius:14px;
  background:rgba(184,0,105,.08);
  color:var(--mc-primary);
  font-size:24px;
  margin-bottom:.75rem;
}

.svc-tags{ display:flex; flex-wrap:wrap; gap:.5rem; }
.svc-tags span{
  padding:.45rem .75rem;
  border-radius:999px;
  font-size:.9rem;
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  box-shadow:0 4px 14px rgba(0,0,0,.04);
}

.timeline{ position:relative; margin-left:.75rem; }
.timeline:before{
  content:""; position:absolute; left:18px; top:0; bottom:0;
  width:2px; background:rgba(0,0,0,.08);
}
.t-item{ position:relative; padding-left:3.5rem; margin-bottom:1.25rem; }
.t-badge{
  position:absolute; left:0; top:.15rem;
  width:36px; height:36px; border-radius:50%;
  display:grid; place-items:center;
  background:var(--mc-gold-grad);
  color:#fff; font-weight:700;
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}
.t-body h5{ margin:0 0 .25rem; }

.pkg-card{
  background:#fff; border-radius:1rem; padding:1.25rem;
  box-shadow:0 10px 30px rgba(0,0,0,.06);
  height:100%;
  border:1px solid rgba(0,0,0,.05);
}
.pkg-card.featured{
  border:2px solid var(--mc-gold-500);
  box-shadow:0 16px 40px rgba(212,175,55,.18);
}
.btn-accent{
  background:var(--mc-primary); color:#fff; border:none;
}
.btn-accent:hover{ background:var(--mc-primary-600); color:#fff; }




















/* ===== Contact page polish (brand-aligned) ===== */

/* Card */
.contact-card{
  background:#fff;
  border-radius:1rem;
  box-shadow:0 12px 40px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.05);
}

/* Info lines with icon pills */
.contact-lines li{
  display:flex; align-items:flex-start; gap:.75rem;
  margin:0 0 .75rem 0;
}
.icon-pill{
  width:40px; height:40px; flex:0 0 40px;
  display:grid; place-items:center;
  border-radius:999px;
  background:rgba(184,0,105,.1);            /* var(--mc-primary) tint */
  color:var(--mc-primary);
  box-shadow:inset 0 0 0 1px rgba(184,0,105,.18);
  font-size:16px;
}

/* “Trust” chips */
.trust-chip{
  display:inline-flex; align-items:center; gap:.35rem;
  padding:.45rem .75rem;
  border-radius:999px;
  font-size:.9rem; font-weight:500;
  background:linear-gradient(0deg, rgba(212,175,55,.12), rgba(212,175,55,.12));
  color:#5b4a12;
  border:1px solid rgba(212,175,55,.35);     /* gold */
}

/* Social buttons */
.social-btn{
  width:42px; height:42px; display:grid; place-items:center;
  border-radius:999px; text-decoration:none;
  border:1px solid rgba(0,0,0,.12);
  color:var(--mc-primary);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.social-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(184,0,105,.18);
  border-color:var(--mc-primary-400);
}

/* WhatsApp style */
.btn-whats{
  background:#25D366; color:#fff; border:0;
}
.btn-whats:hover{ background:#1fb257; color:#fff; }

/* Brand gradient primary button */
.btn-gradient{
  background: var(--mc-gold-grad);
  color:#212529; border:0;
  box-shadow:0 10px 26px rgba(212,175,55,.28);
}
.btn-gradient:hover{ filter:brightness(.95); color:#212529; }

/* Outline CTA using brand color */
.btn-outline-cta{
  border:1px solid var(--mc-primary);
  color:var(--mc-primary);
  background:transparent;
}
.btn-outline-cta:hover{
  background:var(--mc-primary);
  color:#fff;
}

/* Floating labels: improve spacing/colors */
.form-floating>.form-control,
.form-floating>.form-select{
  border-radius:.8rem;
  border:1px solid rgba(0,0,0,.12);
}
.form-floating>.form-control:focus,
.form-floating>.form-select:focus{
  border-color: var(--mc-primary-400);
  box-shadow: 0 0 0 .2rem rgba(184,0,105,.15);
}
.form-floating>label{
  color:#6c757d;
}

/* Links inside contact lines */
.contact-lines a{
  color:var(--mc-primary);
  text-decoration: none;
}
.contact-lines a:hover{
  color:var(--mc-primary-600);
  text-decoration: underline;
}













/* Quote Modal styling */
#quoteModal .modal-content { border-radius: 1rem; }
#quoteModal .modal-header { background: var(--mc-primary); background: linear-gradient(135deg, var(--mc-primary) 0%, var(--mc-primary-400) 60%); }
#quoteModal .modal-title { margin: 0; }
#quoteModal .form-floating > .form-control,
#quoteModal .form-floating > .form-select {
  border-radius: .8rem;
  border: 1px solid rgba(0,0,0,.12);
}
#quoteModal .form-floating > .form-control:focus,
#quoteModal .form-floating > .form-select:focus {
  border-color: var(--mc-primary-400);
  box-shadow: 0 0 0 .2rem rgba(184,0,105,.15);
}
