/* ==========================================================================
   MHKolor demo layer — self-contained. Removing this file (and the PHP guard)
   leaves a clean City Gold site behind.
   ========================================================================== */

.cg-only-sm{ display:none; }
@media (max-width:900px){ .cg-only-sm{ display:inline; } }

/* --- Floating badge ------------------------------------------------------ */
.mhk-badge{
  position:fixed; z-index:98;
  right:clamp(1rem,2.2vw,1.9rem);
  bottom:clamp(1rem,2.2vw,1.9rem);
  display:inline-flex; align-items:center; gap:.7rem;
  padding:.62rem 1.05rem .62rem .62rem;
  border-radius:999px;
  background:rgba(16,17,15,.72);
  -webkit-backdrop-filter:blur(20px) saturate(150%);
  backdrop-filter:blur(20px) saturate(150%);
  border:1px solid rgba(198,161,91,.32);
  box-shadow:0 12px 40px rgba(0,0,0,.42);
  color:var(--ivory); cursor:pointer;
  transition:transform .5s var(--ease), border-color .5s var(--ease),
             background .5s var(--ease), box-shadow .5s var(--ease);
}
.mhk-badge:hover{
  transform:translateY(-2px);
  border-color:rgba(198,161,91,.6);
  background:rgba(20,21,18,.85);
}
.mhk-badge__mark{
  width:30px; height:30px; flex:none; border-radius:50%;
  display:grid; place-items:center;
  background:linear-gradient(140deg, rgba(198,161,91,.28), rgba(198,161,91,.06));
  border:1px solid rgba(198,161,91,.35);
  color:var(--gold-light); overflow:hidden;
}
.mhk-badge__mark svg{ width:16px; height:16px; }
.mhk-badge__mark img{ width:100%; height:100%; object-fit:cover; }
.mhk-badge__txt{ display:grid; text-align:left; line-height:1.15; }
.mhk-badge__name{
  font-size:.79rem; font-weight:600; letter-spacing:.06em; color:var(--ivory);
}
.mhk-badge__sub{
  font-size:.58rem; letter-spacing:.22em; text-transform:uppercase; color:var(--gold);
}
.mhk-badge__teaser{
  max-width:0; overflow:hidden; white-space:nowrap;
  font-size:.76rem; color:var(--champagne);
  transition:max-width .7s var(--ease-out), margin .7s var(--ease-out), opacity .5s var(--ease);
  opacity:0;
}
.mhk-badge.is-teasing .mhk-badge__teaser{
  max-width:220px; margin-left:.2rem; opacity:1;
}
.mhk-badge.is-teasing{ border-color:rgba(198,161,91,.65); }

@media (max-width:760px){
  .mhk-badge{
    bottom:calc(88px + env(safe-area-inset-bottom));
    padding:.5rem .95rem .5rem .5rem;
  }
  body:not(.has-sticky) .mhk-badge{ bottom:calc(1rem + env(safe-area-inset-bottom)); }
  .mhk-badge__name{ font-size:.74rem; }
  .mhk-badge__teaser{ display:none; }
}

/* --- Drawer -------------------------------------------------------------- */
.mhk-drawer{
  position:fixed; inset:0 0 0 auto; z-index:140;
  width:min(880px,100%);
  background:linear-gradient(160deg,#111210 0%, #16170f 100%);
  border-left:1px solid rgba(198,161,91,.24);
  box-shadow:-30px 0 90px rgba(0,0,0,.55);
  transform:translateX(102%);
  transition:transform .62s var(--ease-out);
  overflow-y:auto; -webkit-overflow-scrolling:touch;
}
.mhk-drawer.is-open{ transform:none; }
.mhk-drawer__close{ position:absolute; top:1.4rem; right:1.4rem; }
.mhk-drawer__in{
  display:grid; grid-template-columns:1fr 1fr;
  gap:clamp(2rem,4vw,3.5rem);
  padding:clamp(3.4rem,6vw,5rem) clamp(1.5rem,4vw,3.5rem);
  min-height:100%;
  align-content:center;
}
.mhk-drawer__intro{ display:grid; gap:1.3rem; align-content:start; }
.mhk-drawer__intro h2{ font-size:clamp(1.75rem,3vw,2.5rem); }
.mhk-services{ display:grid; gap:.7rem; margin-top:.3rem; }
.mhk-services li{
  display:grid; grid-template-columns:auto 1fr; gap:.8rem; align-items:center;
  font-size:.94rem; color:var(--champagne);
}
.mhk-services svg{ width:16px; height:16px; color:var(--gold); }
.mhk-drawer__links{ display:grid; gap:.9rem; justify-items:start; margin-top:.6rem; }
.mhk-drawer__form{
  background:rgba(244,240,232,.03);
  border:1px solid var(--line-soft);
  border-radius:22px;
  padding:clamp(1.5rem,2.6vw,2.2rem);
  align-self:start;
}
.mhk-drawer__form h3{ font-size:1.55rem; margin-bottom:1.3rem; }

@media (max-width:900px){
  .mhk-drawer__in{ grid-template-columns:1fr; align-content:start; }
}
@media (max-width:600px){
  .mhk-drawer{ display:none; }
}

/* --- Mobile bottom sheet ------------------------------------------------- */
.mhk-sheet{
  position:fixed; inset:auto 0 0 0; z-index:140;
  background:linear-gradient(160deg,#131410,#191a12);
  border-top:1px solid rgba(198,161,91,.3);
  border-radius:24px 24px 0 0;
  padding:1.1rem var(--gutter) calc(1.6rem + env(safe-area-inset-bottom));
  transform:translateY(102%);
  transition:transform .5s var(--ease-out);
  display:none;
}
@media (max-width:600px){ .mhk-sheet{ display:block; } }
.mhk-sheet.is-open{ transform:none; }
.mhk-sheet h3{ font-size:1.45rem; margin-bottom:.6rem; }
.mhk-sheet p{ font-size:.9rem; margin-bottom:1.2rem; }
.mhk-sheet__actions{ display:grid; gap:.6rem; }

/* --- Mid-page CTA -------------------------------------------------------- */
.mhk-cta{
  background:
    radial-gradient(90% 130% at 82% 20%, rgba(198,161,91,.14), transparent 62%),
    var(--ink-2);
  border-block:1px solid rgba(198,161,91,.18);
}
.mhk-cta__in{
  display:grid; grid-template-columns:1.6fr auto;
  gap:2rem 3.5rem; align-items:center;
}
.mhk-cta h2{ font-size:clamp(1.9rem,3.4vw,2.9rem); }
@media (max-width:900px){ .mhk-cta__in{ grid-template-columns:1fr; } }

/* --- Final CTA ----------------------------------------------------------- */
.mhk-final{
  position:relative;
  padding-block:clamp(4.5rem,9vw,8rem);
  text-align:center;
  background:
    radial-gradient(70% 120% at 50% 0%, rgba(198,161,91,.15), transparent 60%),
    linear-gradient(180deg, var(--ink), #0e0f0d);
  border-top:1px solid rgba(198,161,91,.2);
}
.mhk-final__in{ display:grid; gap:1.3rem; justify-items:center; }
.mhk-final .eyebrow{ justify-content:center; margin-bottom:.4rem; }
.mhk-final h2{ font-size:clamp(2.2rem,4.6vw,3.8rem); max-width:18ch; }
.mhk-final p{ max-width:52ch; text-align:center; font-size:var(--fs-lead); color:var(--champagne); }
.mhk-final .btn-group{ justify-content:center; margin-top:.9rem; }

@media (prefers-reduced-motion:reduce){
  .mhk-badge,.mhk-drawer,.mhk-sheet{ transition:none!important; }
  .mhk-badge.is-teasing .mhk-badge__teaser{ max-width:0; opacity:0; }
}
