/* Bordes laterales unificados con el index principal. */
:root { --ikigai-side-border-width: clamp(112px, 12vw, 190px); }

.services,
.diag-stage,
.maint-stage,
.mc-stage,
.fc-stage,
.tr-stage,
.el-stage,
.sus-stage,
.extra-stage,
.merch-stage {
  --ikigai-side-border-width: clamp(112px, 12vw, 190px);
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-left: 3px solid #111 !important;
  border-right: 3px solid #111 !important;
  border-bottom: 4px solid #111 !important;
}

.services { --index-border-width: var(--ikigai-side-border-width) !important; }
.diag-stage, .maint-stage, .mc-stage, .fc-stage, .tr-stage, .el-stage, .sus-stage, .extra-stage,
.merch-stage { --index-border-width: var(--ikigai-side-border-width) !important; }
.mc-stage { --mc-side-width: var(--ikigai-side-border-width) !important; }
.fc-stage { --fc-side-width: var(--ikigai-side-border-width) !important; }
.tr-stage { --tr-side-width: var(--ikigai-side-border-width) !important; }
.el-stage { --el-side-width: var(--ikigai-side-border-width) !important; }
.sus-stage { --sus-side-width: var(--ikigai-side-border-width) !important; }

.ikigai-side-border {
  position: absolute !important;
  z-index: 4 !important;
  top: 0 !important;
  bottom: 0 !important;
  width: var(--ikigai-side-border-width) !important;
  height: 100% !important;
  display: block !important;
  object-fit: fill !important;
  object-position: center top !important;
  max-width: none !important;
  background: transparent !important;
  background-image: none !important;
  filter: none !important;
  pointer-events: none !important;
  user-select: none !important;
}
.ikigai-side-border--left { left: 0 !important; right: auto !important; }
.ikigai-side-border--right { right: 0 !important; left: auto !important; }

.fc-stage,
.tr-stage,
.el-stage,
.sus-stage { padding-inline: var(--ikigai-side-border-width) !important; }
.mc-content { width: calc(100% - (var(--ikigai-side-border-width) * 2)) !important; }
.diag-inner { width: min(calc(100% - (var(--ikigai-side-border-width) * 2)), 1260px) !important; }
.maint-inner { width: min(calc(100% - (var(--ikigai-side-border-width) * 2)), 1320px) !important; }
.extra-content { width: min(1180px, calc(100% - (var(--ikigai-side-border-width) * 2))) !important; }

.hero,
.diag-hero,
.maint-hero,
.mc-hero,
.fc-hero,
.tr-hero,
.el-hero,
.sus-hero,
.extra-hero,
.merch-hero {
  border-left: 3px solid #111 !important;
  border-right: 3px solid #111 !important;
  border-bottom: 5px solid #111 !important;
}

@media (max-width: 1240px) {
  .services,.diag-stage,.maint-stage,.mc-stage,.fc-stage,.tr-stage,.el-stage,.sus-stage,.extra-stage,
.merch-stage {
    --ikigai-side-border-width: 104px;
  }
}
@media (max-width: 1100px) {
  .services,.diag-stage,.maint-stage,.mc-stage,.fc-stage,.tr-stage,.el-stage,.sus-stage,.extra-stage,
.merch-stage {
    --ikigai-side-border-width: 82px;
  }
}
@media (max-width: 900px) {
  .ikigai-side-border { display: none !important; }
  .fc-stage,.tr-stage,.el-stage,.sus-stage { padding-inline: 0 !important; }
  .mc-content,.diag-inner,.maint-inner,.extra-content {
    width: 100% !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}
