.home-page .philosophy {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 1fr);
  align-items: center;
  gap: clamp(24px, 3vw, 56px);
  padding-inline: max(var(--site-gutter), calc((100% - 1240px) / 2));
}
.home-page .philosophy-inner {
  grid-area: 1 / 1;
  width: 100%;
  min-width: 0;
  margin: 0;
}
.cube-motion {
  position: relative;
  grid-area: 1 / 2;
  width: 100%;
  max-width: 580px;
  aspect-ratio: 1;
  justify-self: center;
  isolation: isolate;
}
.cube-motion::before {
  content: '';
  position: absolute;
  inset: 14%;
  z-index: -1;
  background: radial-gradient(ellipse, #8b70d817, transparent 70%);
}
.cube-motion canvas, .cube-motion-fallback {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
}
.cube-motion.is-ready .cube-motion-fallback { display: none; }
@media (max-width: 900px) {
  .home-page .philosophy { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .home-page .philosophy-inner { grid-area: 1 / 1; }
  .cube-motion { grid-area: 2 / 1; width: min(100%, 420px); }
}
@media (max-width: 600px) {
  .home-page .philosophy { padding-bottom: 50px; gap: 8px; }
  .cube-motion { max-width: 360px; }
}
