

:root{
  --zjm-gold:#C49A3A;
  --zjm-gold-deep:#A87F26;
  --zjm-gold-bright:#D4AC52;
  --zjm-expo:cubic-bezier(.16,1,.3,1);
  --zjm-soft:cubic-bezier(.22,.61,.21,1);
}


[id]{scroll-margin-top:96px}


html.zjm body{opacity:0}
html.zjm body.zjm-in{opacity:1;transition:opacity .55s ease-out}


.zjm-progress{
  position:fixed;top:0;left:0;right:0;height:3px;z-index:1200;pointer-events:none;
  background:linear-gradient(90deg,var(--zjm-gold) 0%,var(--zjm-gold-bright) 60%,#E9CF94 100%);
  box-shadow:0 1px 8px rgba(196,154,58,.45);
  transform-origin:0 50%;transform:scaleX(0);
}


html.zjm [data-rv],
html.zjm .zjm-rv{
  animation:none !important;
  opacity:0;
  transform:translateY(26px);
  transition:opacity .9s var(--zjm-expo),transform .9s var(--zjm-expo);
  transition-delay:var(--rvd,0ms);
  will-change:opacity,transform;
}
html.zjm [data-rv].zjm-in,
html.zjm .zjm-rv.zjm-in{opacity:1;transform:none}


.zjm-nav{transition:box-shadow .4s var(--zjm-soft),border-color .4s var(--zjm-soft),background .4s var(--zjm-soft)}
.zjm-nav.zjm-scrolled{
  border-color:rgba(212,172,82,.5) !important;
  background:linear-gradient(160deg,rgba(255,255,255,.9),rgba(255,255,255,.74)) !important;
  box-shadow:0 16px 44px rgba(60,46,12,.17),inset 0 1px 0 rgba(255,255,255,.95) !important;
}


.zjm-burger{
  display:none;position:relative;width:38px;height:38px;border-radius:999px;flex:none;
  border:1px solid rgba(212,172,82,.45);background:rgba(255,255,255,.75);cursor:pointer;
  align-items:center;justify-content:center;padding:0;margin-left:8px;
  -webkit-tap-highlight-color:transparent;
  transition:background .25s,border-color .25s,box-shadow .25s;
}
@media (max-width:960px){.zjm-burger{display:inline-flex}}
.zjm-burger:hover{background:#F7F2E4;border-color:rgba(196,154,58,.65)}
.zjm-burger span{
  position:absolute;left:10px;right:10px;height:1.8px;border-radius:2px;background:#8C6A1F;
  transition:transform .35s var(--zjm-expo),opacity .25s;
}
.zjm-burger span:nth-child(1){transform:translateY(-5px)}
.zjm-burger span:nth-child(2){transform:translateY(0)}
.zjm-burger span:nth-child(3){transform:translateY(5px)}
.zjm-burger.zjm-open span:nth-child(1){transform:translateY(0) rotate(45deg)}
.zjm-burger.zjm-open span:nth-child(2){opacity:0}
.zjm-burger.zjm-open span:nth-child(3){transform:translateY(0) rotate(-45deg)}

.zjm-drawer{
  position:fixed;left:16px;right:16px;top:92px;z-index:99;padding:10px;
  border-radius:24px;border:1px solid rgba(212,172,82,.35);
  background:linear-gradient(165deg,rgba(255,255,255,.95),rgba(252,250,244,.92));
  backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);
  box-shadow:0 30px 70px rgba(60,46,12,.22);
  opacity:0;transform:translateY(-10px) scale(.98);pointer-events:none;
  transition:opacity .35s var(--zjm-expo),transform .35s var(--zjm-expo);
}
.zjm-drawer.zjm-open{opacity:1;transform:none;pointer-events:auto}
.zjm-drawer a{
  display:flex;align-items:center;gap:10px;padding:13px 16px;border-radius:14px;
  font-size:15px;color:#4A463D;text-decoration:none;line-height:1.4;
  opacity:0;transform:translateY(8px);
  transition:opacity .4s var(--zjm-expo),transform .4s var(--zjm-expo),background .2s;
  transition-delay:var(--dd,0ms);
}
.zjm-drawer.zjm-open a{opacity:1;transform:none}
.zjm-drawer a:hover{background:#F4EFE3}
.zjm-drawer a.zjm-on{color:var(--zjm-gold-deep);font-weight:600}
.zjm-drawer a svg{flex:none}


.zjm-top{
  position:fixed;right:22px;bottom:26px;z-index:90;width:44px;height:44px;border-radius:999px;
  border:1px solid rgba(212,172,82,.5);background:rgba(255,255,255,.85);
  backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);
  color:var(--zjm-gold-deep);cursor:pointer;display:grid;place-items:center;padding:0;
  box-shadow:0 12px 30px rgba(60,46,12,.16);
  opacity:0;transform:translateY(14px);pointer-events:none;
  transition:opacity .4s var(--zjm-expo),transform .4s var(--zjm-expo),box-shadow .25s;
}
.zjm-top:hover{box-shadow:0 16px 38px rgba(60,46,12,.22)}
.zjm-top.zjm-show{opacity:1;transform:none;pointer-events:auto}
.zjm-top svg{display:block}


.zjm-link{
  background-image:linear-gradient(currentColor,currentColor);
  background-repeat:no-repeat;background-position:0 100%;background-size:0% 1.5px;
  padding-bottom:2px;transition:background-size .4s var(--zjm-expo);
}
.zjm-link:hover{background-size:100% 1.5px}



.card img{transition:transform .8s var(--zjm-expo)}
.card:hover img{transform:scale(1.05)}

[data-rv]>img{transition:transform .8s var(--zjm-expo)}
[data-rv]:hover>img{transform:scale(1.05)}

[data-rv] img[src*="assets/partners/"]{
  opacity:.88;filter:saturate(.85);
  transition:transform .4s var(--zjm-expo),opacity .4s,filter .4s;
}
[data-rv] img[src*="assets/partners/"]:hover{opacity:1;filter:none;transform:translateY(-3px) scale(1.04)}


.art .content img{transition:transform .5s var(--zjm-soft),box-shadow .5s var(--zjm-soft)}
.art .content img:hover{transform:scale(1.012);box-shadow:0 16px 40px rgba(60,46,12,.13)}


#contactForm input,#contactForm textarea,
#zjContactForm input,#zjContactForm textarea{transition:border-color .25s,box-shadow .25s}
#contactForm input:focus,#contactForm textarea:focus,
#zjContactForm input:focus,#zjContactForm textarea:focus{
  outline:none;border-color:var(--zjm-gold) !important;box-shadow:0 0 0 4px rgba(196,154,58,.16);
}


#zjContactMask>div{animation:zjmPop .42s var(--zjm-expo)}
@keyframes zjmPop{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}


.zjm-tilt{will-change:transform;transform-style:preserve-3d}


@media (prefers-reduced-motion:reduce){
  html.zjm body{opacity:1}
  html.zjm [data-rv],html.zjm .zjm-rv{transition:none !important;opacity:1 !important;transform:none !important}
  .zjm-progress{display:none}
  .card img,[data-rv]>img,[data-rv] img[src*="assets/partners/"],.art .content img{
    transition:none !important;transform:none !important;
  }
  #zjContactMask>div{animation:none}
}
@media print{
  .zjm-progress,.zjm-top,.zjm-burger,.zjm-drawer{display:none !important}
}
