/* Shared type and motion for the product and manufacturing pages. */
#main :is(h1,h2,h3) {
  font-family: inherit;
  font-weight: 700;
}
#main :is(.catalog-heading,.studio-heading) h1 {
  letter-spacing: -.035em;
}
#main .catalog-total strong {
  font-family: inherit;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
#main :is(.eyebrow,.button), .site-header :is(nav,.header-cta) {
  font-weight: 650;
}

/* The same moving light crosses the page and its dark sections. */
body {
  isolation: isolate;
}
.site-light {
  position: fixed;
  inset: 0;
  z-index: -1;
  overflow: hidden;
  pointer-events: none;
}
#main .home-process-section {
  position: relative;
  isolation: isolate;
  overflow: hidden;
}
.site-light::before,
#main :is(.sole-hero,.home-process-section)::before {
  content: "";
  position: absolute;
  inset: -22% -8%;
  z-index: -1;
  pointer-events: none;
  background: radial-gradient(ellipse 37% 55% at 49% 50%, var(--flow-glow,#7895833d), transparent),
              radial-gradient(ellipse 21% 46% at 62% 40%, var(--flow-edge,#c6d7c63a), transparent);
  animation: page-light-flow 15s ease-in-out -4s infinite alternate;
}
#main :is(.sole-hero,.home-process-section) {
  --flow-glow: #a6b9ab55;
  --flow-edge: #b9cab92a;
}
#main .sole-hero::before {
  inset: -24% -6% -24% 0;
}
#main :is(.brand-product-section,.technical-section,.factory-environment-section) {
  background-color: #e3ebe387;
}
#main .home-partners {
  background-color: #edf2ee80;
}
#main .home-partners::before {
  opacity: .45;
}
body[data-page] .site-footer {
  background-color: #edf1eb9c;
}
body[data-light-paused="true"] .site-light::before,
body[data-light-paused="true"] #main :is(.sole-hero,.home-process-section)::before {
  animation-play-state: paused;
}
@keyframes page-light-flow {
  from { transform: translate3d(25%,-6%,0) rotate(-17deg); }
  to   { transform: translate3d(-25%,8%,0) rotate(-17deg); }
}

.background-motion-toggle {
  padding: 5px 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: transparent;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.site-footer .footer-bottom {
  flex-wrap: wrap;
  gap: 8px 18px;
}

.sole-hero-controls svg {
  width: 17px;
  height: 17px;
}
.sole-hero-controls :is(.sole-play-icon,[aria-pressed="true"] .sole-pause-icon) {
  display: none;
}
.sole-hero-controls [aria-pressed="true"] .sole-play-icon {
  display: block;
}
.sole-hero-controls [aria-pressed="true"] {
  background: #eef2e522;
}

@media (prefers-reduced-motion:reduce) {
  .site-light::before,
  #main :is(.sole-hero,.home-process-section)::before {
    animation: none;
    transform: rotate(-17deg);
  }
  .background-motion-toggle,
  .sole-hero-controls [data-sole-pause] {
    display: none;
  }
}
