:root{--jc-gold:#d4af37;--jc-gold2:#f4d879;--jc-ink:#070707;--jc-panel:rgba(17,17,17,.84);--jc-line:rgba(212,175,55,.24)}
body{background-color:var(--jc-ink);background-image:linear-gradient(rgba(0,0,0,.58),rgba(0,0,0,.72)),url('../images/luxury/black-gold-marble.svg');background-attachment:fixed;background-size:cover;color:#f6f1e7}
header,nav,.navbar{backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
section{position:relative}
section:not(.hero):not(.jc-connect){isolation:isolate}
.card,.service-card,.review-card,.area-card,.gallery-card,.feature-card,.contact-card,.about-card{background:linear-gradient(145deg,rgba(28,28,28,.88),rgba(8,8,8,.92))!important;border:1px solid var(--jc-line)!important;box-shadow:0 18px 55px rgba(0,0,0,.32),inset 0 1px rgba(255,255,255,.025)!important;border-radius:18px!important}
a{transition:color .2s ease,transform .2s ease,opacity .2s ease}
button,.btn,.cta-button{border-radius:999px!important}
img{max-width:100%}
.jc-social-float{position:fixed;right:18px;bottom:92px;z-index:189;display:flex;flex-direction:column;gap:10px}
.jc-social-float a{width:46px;height:46px;border-radius:50%;display:grid;place-items:center;text-decoration:none;background:rgba(10,10,10,.92);color:var(--jc-gold2);border:1px solid rgba(212,175,55,.35);box-shadow:0 10px 30px rgba(0,0,0,.4);font-size:18px;font-weight:700;backdrop-filter:blur(12px)}
.jc-social-float a:hover{transform:translateY(-2px);border-color:var(--jc-gold2);box-shadow:0 14px 34px rgba(212,175,55,.18)}
.jc-connect{padding:64px 20px;background:linear-gradient(135deg,rgba(5,5,5,.98),rgba(22,17,6,.92));border-top:1px solid var(--jc-line);border-bottom:1px solid var(--jc-line)}
.jc-connect-inner{width:min(1120px,100%);margin:auto;text-align:center}
.jc-connect-kicker{color:var(--jc-gold2);letter-spacing:.28em;text-transform:uppercase;font-size:.72rem;font-weight:700}
.jc-connect h2{margin:.55rem 0 .7rem;font-size:clamp(1.7rem,4vw,3rem);color:#fff}
.jc-connect p{max-width:720px;margin:0 auto 1.5rem;color:#c9c2b5}
.jc-connect-grid{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:12px}
.jc-connect-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;min-height:118px;padding:18px 12px;text-decoration:none;color:#f8f3e8;background:rgba(255,255,255,.025);border:1px solid rgba(212,175,55,.2);border-radius:16px}
.jc-connect-card strong{color:var(--jc-gold2);font-size:.86rem;letter-spacing:.08em;text-transform:uppercase}
.jc-connect-card span{font-size:.76rem;color:#aaa39a;word-break:break-word}
.jc-connect-card:hover{transform:translateY(-4px);background:rgba(212,175,55,.07);border-color:rgba(244,216,121,.55)}
@media(max-width:760px){.jc-connect-grid{grid-template-columns:1fr 1fr}.jc-connect-card:last-child{grid-column:1/-1}.jc-social-float{right:12px;bottom:82px}.jc-social-float a{width:42px;height:42px}}

/* RC110 — universal corner layout */
.jc-social-float{
  position:fixed!important;left:18px!important;right:auto!important;bottom:18px!important;z-index:2147483644!important;
  display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important;
}
.jc-social-float a{
  width:46px!important;height:46px!important;border-radius:14px!important;display:flex!important;align-items:center!important;
  justify-content:flex-start!important;overflow:hidden!important;padding:0!important;text-decoration:none!important;
  background:rgba(10,10,10,.92)!important;color:#f2cf69!important;border:1px solid rgba(212,175,55,.38)!important;
  box-shadow:0 10px 28px rgba(0,0,0,.42)!important;backdrop-filter:blur(14px)!important;
  transition:width .22s ease,transform .18s ease,border-color .18s ease,background .18s ease!important;
}
.jc-social-float a:hover,.jc-social-float a:focus-visible{width:132px!important;transform:translateX(2px)!important;background:#111!important;border-color:#e5bc45!important;outline:none!important}
.jc-social-icon{width:46px;height:46px;min-width:46px;display:grid;place-items:center}
.jc-social-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.jc-social-icon svg .fill{fill:currentColor;stroke:none}
.jc-social-label{font:700 11px/1 Inter,Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;padding-right:14px;color:#fff}
.rc35-floating-cta{display:none!important}
@media(max-width:760px){
  .jc-social-float{left:10px!important;bottom:calc(10px + env(safe-area-inset-bottom,0px))!important;gap:7px!important}
  .jc-social-float a{width:42px!important;height:42px!important;border-radius:12px!important}
  .jc-social-float a:hover,.jc-social-float a:focus-visible{width:42px!important;transform:none!important}
  .jc-social-icon{width:42px;height:42px;min-width:42px}.jc-social-icon svg{width:18px;height:18px}.jc-social-label{display:none!important}
}

/* RC111 — compact contact dock; neutralize global nav styling */
nav.jc-social-float,
.jc-social-float{
  position:fixed!important;
  top:auto!important;
  left:16px!important;
  right:auto!important;
  bottom:16px!important;
  width:auto!important;
  height:auto!important;
  min-width:0!important;
  max-width:none!important;
  padding:7px!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:flex-end!important;
  gap:7px!important;
  background:rgba(8,8,8,.78)!important;
  border:1px solid rgba(212,175,55,.22)!important;
  border-radius:18px!important;
  box-shadow:0 14px 38px rgba(0,0,0,.38)!important;
  backdrop-filter:blur(14px)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  overflow:visible!important;
  z-index:2147483644!important;
}
nav.jc-social-float::before,
nav.jc-social-float::after{display:none!important;content:none!important}
.jc-social-float a{
  flex:0 0 auto!important;
  margin:0!important;
}
@media(max-width:760px){
  nav.jc-social-float,.jc-social-float{
    top:auto!important;
    left:8px!important;
    right:auto!important;
    bottom:calc(8px + env(safe-area-inset-bottom,0px))!important;
    width:auto!important;
    height:auto!important;
    padding:5px!important;
    gap:5px!important;
    border-radius:15px!important;
  }
}
