.jvp-projects{
  --jvp-accent:#d6aa57;
  --jvp-ink:#172033;
  --jvp-muted:#70798b;
  --jvp-surface:#fff;
  --jvp-border:rgba(23,32,51,.09);
  width:100%;
  font-family:inherit;
  box-sizing:border-box;
}
.jvp-projects *, .jvp-projects *::before, .jvp-projects *::after{box-sizing:border-box}
.jvp-heading-wrap{text-align:center;margin:0 auto 34px;max-width:760px}
.jvp-kicker{display:inline-block;color:#9a7431;font-size:13px;font-weight:700;letter-spacing:.03em;margin-bottom:6px}
.jvp-heading{margin:0;color:var(--jvp-ink);font-size:clamp(26px,3vw,38px);line-height:1.35;font-weight:800}
.jvp-heading-line{display:block;width:62px;height:3px;border-radius:10px;background:var(--jvp-accent);margin:14px auto 0}
.jvp-grid{display:grid;grid-template-columns:repeat(var(--jvp-columns),minmax(0,1fr));gap:24px;width:100%}
.jvp-card{position:relative;background:var(--jvp-surface);border:1px solid var(--jvp-border);border-radius:20px;overflow:hidden;box-shadow:0 10px 35px rgba(19,31,55,.07);transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease}
.jvp-card:hover{transform:translateY(-6px);box-shadow:0 18px 45px rgba(19,31,55,.13);border-color:rgba(214,170,87,.45)}
.jvp-card-button{display:block;width:100%;padding:0;margin:0;border:0;background:none;text-align:right;color:inherit;font:inherit;cursor:pointer}
.jvp-media{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#eef1f5}
.jvp-image{display:block;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.jvp-card:hover .jvp-image{transform:scale(1.055)}
.jvp-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,rgba(5,10,20,0) 45%,rgba(5,10,20,.45) 100%);opacity:0;transition:opacity .25s ease}
.jvp-card:hover .jvp-overlay{opacity:1}
.jvp-zoom{display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.92);color:#1f2b42;font-size:29px;line-height:1;box-shadow:0 8px 25px rgba(0,0,0,.18)}
.jvp-card-body{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 18px 19px}
.jvp-project-title{display:block;font-size:17px;line-height:1.7;font-weight:800;color:var(--jvp-ink)}
.jvp-project-label{flex:0 0 auto;color:#9a7431;font-size:12px;font-weight:700;white-space:nowrap}
.jvp-placeholder{position:absolute;inset:0;display:grid;place-items:center;color:#8b94a4;font-size:14px}
.jvp-lightbox{position:fixed;z-index:999999;inset:0;background:rgba(4,8,16,.92);display:flex;align-items:center;justify-content:center;padding:28px;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}
.jvp-lightbox.is-open{opacity:1;visibility:visible}
.jvp-lightbox-inner{max-width:min(1100px,94vw);max-height:88vh;display:flex;flex-direction:column;align-items:center;gap:14px}
.jvp-lightbox-image{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 25px 80px rgba(0,0,0,.4)}
.jvp-lightbox-title{color:#fff;font-size:17px;font-weight:700;text-align:center}
.jvp-lightbox-close{position:absolute;top:18px;left:22px;width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(255,255,255,.08);color:#fff;font-size:32px;line-height:1;cursor:pointer}
body.jvp-no-scroll{overflow:hidden!important}
.jvp-empty{padding:22px;border:1px dashed #d7dce5;border-radius:14px;text-align:center;color:#727b8c}
@media (max-width:1024px){.jvp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.jvp-grid{grid-template-columns:1fr;gap:16px}.jvp-card{border-radius:16px}.jvp-card-body{padding:15px}.jvp-project-label{display:none}.jvp-heading-wrap{margin-bottom:24px}.jvp-lightbox{padding:16px}.jvp-lightbox-close{top:12px;left:12px}}
