.kim-ov{
  position:fixed;inset:0;z-index:10050;
  background:rgba(25,40,30,.45);backdrop-filter:blur(3px);
  opacity:0;visibility:hidden;transition:opacity .3s ease, visibility .3s;
  display:flex;align-items:center;justify-content:center;padding:24px;
  font-family:'Jost',sans-serif;
}
.kim-ov.kim-open{opacity:1;visibility:visible;}
.kim-panel{
  position:relative;
  width:min(860px, 100%);max-height:min(86vh, 900px);
  background:#FDFCF9;border-radius:24px;
  box-shadow:0 40px 100px rgba(20,35,26,.35);
  display:flex;flex-direction:column;overflow:hidden;
  transform:translateY(18px) scale(.98);
  transition:transform .35s cubic-bezier(.22,.9,.3,1);
}
.kim-ov.kim-open .kim-panel{transform:translateY(0) scale(1);}
.kim-head{
  display:flex;align-items:center;justify-content:space-between;
  padding:26px 34px 18px;border-bottom:1px solid rgba(78,118,84,.14);
  flex:none;
}
.kim-head h2{
  margin:0;font-family:'Cormorant Garamond',serif !important;font-weight:600 !important;
  font-size:34px !important;color:#4E7654 !important;line-height:1.1 !important;
}
.kim-head span{display:block;font-family:'Jost',sans-serif;font-size:13.5px;font-weight:300;color:#5c6b5e;margin-top:5px;letter-spacing:.4px;}
.kim-close{
  width:44px;height:44px;border-radius:14px;border:none;cursor:pointer;flex:none;
  background:rgba(78,118,84,.10);color:#2f3d33;font-size:19px;
  transition:background .3s ease, transform .3s ease;
}
.kim-close:hover{background:rgba(78,118,84,.20);transform:rotate(90deg);}
.kim-body{
  overflow-y:auto;padding:10px 34px 36px;
  font-size:15px;font-weight:300;line-height:1.75;color:#3d4a3f;
}
.kim-body h3{
  font-family:'Cormorant Garamond',serif !important;font-weight:600 !important;
  font-size:23px !important;color:#2f4636 !important;
  margin:26px 0 8px !important;line-height:1.25 !important;
}
.kim-body h4{
  font-family:'Jost',sans-serif !important;font-weight:500 !important;
  font-size:14px !important;letter-spacing:1.6px;text-transform:uppercase;
  color:#4E7654 !important;margin:18px 0 4px !important;
}
.kim-body p{margin:0 0 10px;}
.kim-body a{color:#4E7654;text-decoration:underline;text-underline-offset:3px;}
.kim-body a:hover{color:#2f4636;}
.kim-body ul{margin:6px 0 12px 20px;padding:0;}
.kim-body li{margin:4px 0;}
.kim-sep{height:1px;background:rgba(78,118,84,.12);margin:24px 0;}
@media (max-width:640px){
  .kim-ov{padding:12px;}
  .kim-head{padding:20px 20px 14px;}
  .kim-head h2{font-size:27px !important;}
  .kim-body{padding:8px 20px 28px;}
}
