:root:not([data-kmv-mobile]) {
/* ==== KMV: section blocks (paper) v4 =================================== */
.kmv-main{ width:min(1100px, 92vw); margin: 14px auto 80px; display:grid; gap:clamp(14px,2.6vw,24px); }
.kmv-sec{ position:relative; border-radius:16px; padding: clamp(18px, 3vw, 36px); overflow:hidden; }
.kmv-sec.paper{
  background-image: url("/meta/img/paper_body.png?v=1");
  background-position: center top;
  background-repeat: repeat-y;
  background-size: 100% auto;
  box-shadow: 0 8px 20px rgba(0,0,0,.10);
}
.kmv-sec h2{ margin:0 0 .6em; font-size:clamp(20px, 3vw, 30px); }
.kmv-sec p{ margin:.4em 0; line-height:1.7; }
.kmv-cta{ display:flex; flex-wrap:wrap; gap:10px; margin-top:10px; }
.kmv-cta .btn{ white-space:nowrap; }
.kmv-cta .ghost{ display:inline-flex; align-items:center; }

.kmv-banner{ display:block; overflow:hidden; border-radius:12px;
  border: none !important;
  background:#fff; box-shadow:0 8px 20px rgba(0,0,0,.10);
}
.kmv-banner img{ width:100%; height:auto; display:block; }
.kmv-sec .char{
  position:absolute; right:-16px; bottom:-8px; max-width:min(38%, 220px);
  pointer-events:none; user-select:none;
}
@media (max-width:680px){
  .kmv-sec .char{ max-width: 160px; right:-10px; bottom:-8px; }
}
}