/* Decorative, AI-generated architectural illustrations; content stays in HTML. */
.company-process-list .company-visual-card,
.principles-grid .company-visual-card {
  position: relative;
  isolation: isolate;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 440px;
  padding: 26px 24px 30px;
  overflow: hidden;
  color: #f6f7f2;
  background: #10271a;
  border-color: rgba(255, 255, 255, .22);
}
.company-visual-card > img,
.company-visual-card::after {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.company-visual-card > img {
  z-index: -2;
  object-fit: cover;
  object-position: center 35%;
}
.company-visual-card::after {
  z-index: -1;
  content: "";
  background: linear-gradient(180deg, rgba(5, 18, 11, .12) 0%, rgba(5, 18, 11, .18) 30%, rgba(5, 18, 11, .86) 61%, #091c12 100%);
}
.company-visual-card > span {
  align-self: flex-start;
  margin-bottom: auto;
  padding: 6px 9px;
  color: #8df4b7;
  background: rgba(7, 26, 16, .88);
  border: 1px solid rgba(141, 244, 183, .3);
  line-height: 1;
}
.company-visual-card > strong,
.company-visual-card > h3 {
  margin: 112px 0 14px;
  color: #fff;
  font-size: clamp(23px, 1.8vw, 28px);
  line-height: 1.15;
}
.company-visual-card > p {
  margin: 0;
  color: #edf4ef;
  font-size: 15px;
  line-height: 1.6;
}
.company-visual-note {
  margin-top: 18px;
  margin-bottom: 0;
  color: #5d6b62;
  font-size: 12px;
  line-height: 1.5;
}
.company-principles .company-visual-note { color: #a9bbb0; }
@media (max-width: 680px) {
  .company-process-list .company-visual-card,
  .principles-grid .company-visual-card { min-height: 400px; }
}
