/* User-pinned capability artwork: pastel 3D character series, four distinct actions.
   Native copy stays bilingual; generated scenes carry no text or client claims. */
#caps .cap-heading-part { display: inline-block; white-space: nowrap; }
#caps .cap {
  background: #f5f8ec;
  color: #073c24;
  border: 0;
  border-radius: 24px;
  isolation: isolate;
}
#caps .cap-img {
  aspect-ratio: 1;
  object-fit: cover;
  background: #f5f8ec;
}
#caps .cap-body {
  flex: 1;
  min-height: 250px;
  gap: 14px;
  padding: 18px 20px 70px;
  margin-top: -1px;
  background: linear-gradient(180deg, #f5f8ec, #f1f6e9);
}
#caps .cap-k {
  padding: 8px 14px;
  background: #073c24;
  color: #fff;
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: 0;
}
#caps .cap-t {
  margin: 0;
  padding: 0;
  max-width: none;
  color: #073c24;
  font-size: clamp(17px, 1.35vw, 20px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: -.015em;
}
#caps .cap-stat {
  display: block;
  margin: -2px 0 10px;
  font-family: var(--sans);
  font-size: clamp(44px, 3.5vw, 54px);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -.04em;
  white-space: nowrap;
}
#caps .cap-summary {
  display: block;
  font-size: 20px;
  line-height: 1.3;
}
#caps .cap-note {
  display: block;
  margin-top: 10px;
  color: #244b36;
  font-family: var(--sans);
  font-size: 14px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: 0;
}
#caps .cap-go {
  right: 20px;
  bottom: 18px;
  width: 46px;
  height: 46px;
  border: 1.5px solid #073c24;
  color: #073c24;
  background: transparent;
}
#caps .cap:hover .cap-go {
  color: #fff;
  background: #073c24;
}
#caps .cap:focus-visible {
  outline: 3px solid #073c24;
  outline-offset: 5px;
}
@media (max-width: 1080px) {
  #caps .cap-body { min-height: 228px; }
  #caps .cap-t { font-size: 21px; }
  #caps .cap-stat { font-size: 56px; }
}
@media (max-width: 760px) {
  #caps .cap-body { min-height: 226px; padding: 20px 24px 72px; }
  #caps .cap-t { font-size: 21px; }
  #caps .cap-stat { font-size: 58px; }
  #caps .cap-summary { font-size: 23px; }
  #caps .cap-note { font-size: 16px; }
  #caps .cap-k { font-size: 12px; padding: 8px 16px; }
  #caps .cap-go { right: 24px; bottom: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  #caps .cap, #caps .cap-img, #caps .cap-go { transition: none; }
  #caps .cap:hover, #caps .cap:hover .cap-img { transform: none; }
}
