/* Full-width photographs preserve their proportions with individual framing. */
.home-slideshow-hero { position: relative; isolation: isolate; overflow: hidden; background: #141619; padding: 42px 0 68px; }
.home-slideshow-media { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.home-factory-slide { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: var(--photo-position, 50% 60%); opacity: 0; transition: opacity 1s ease-in-out; }
.home-factory-slide.is-active { opacity: 1; }
.home-slideshow-media::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,18,23,.76), rgba(14,18,23,.28) 58%, rgba(14,18,23,.74)), linear-gradient(0deg, rgba(14,18,23,.30), transparent 55%); }
.home-slideshow-hero .intro-heading { min-height: 330px; margin: 30px 0 20px; }
.home-slideshow-hero .intro-heading h1 { font-size: clamp(64px, 6.8vw, 100px); color: #fff; text-shadow: 0 2px 24px #0003; }
.home-slideshow-hero .intro-heading h1 em, .home-slideshow-hero .intro-aside>p { color: #fff; }
.home-slideshow-hero .intro-meta, .home-slideshow-hero .intro-aside>span { color: #f0eeea; }
.home-slideshow-hero .intro-aside .textlink { color: #fff; border-color: #ffffff80; }
.home-slideshow-controls { position: absolute; right: max(28px, calc((100% - 1380px) / 2)); bottom: 16px; display: flex; align-items: center; gap: 12px; }
.home-slideshow-controls[hidden] { display: none; }
.home-slideshow-navigation { display: flex; align-items: center; background: #141619b8; border: 1px solid #ffffff70; }
.home-slideshow-navigation button { display: grid; place-items: center; width: 44px; height: 42px; padding: 0; border: 0; background: transparent; color: #fff; font: 20px Arial, sans-serif; cursor: pointer; }
.home-slideshow-navigation button:hover { background: #ffffff20; }
.home-slideshow-count { min-width: 58px; color: #fff; text-align: center; font: 12px Arial, sans-serif; font-variant-numeric: tabular-nums; }
.home-slideshow-toggle { min-height: 44px; padding: 10px 14px; border: 1px solid #ffffff70; background: #141619b8; color: #fff; font: 12px Arial, sans-serif; cursor: pointer; }
.home-slideshow-toggle:hover { background: #182431; border-color: #fff; }
.home-slideshow-controls button:focus-visible { outline: 2px solid #fff; outline-offset: 4px; }
@media (max-width: 640px) {
  .home-slideshow-hero { padding: 26px 0 72px; }
  .home-slideshow-hero .intro-heading { min-height: 0; margin: 30px 0 22px; }
  .home-slideshow-hero .intro-heading h1 { font-size: clamp(44px, 12.5vw, 72px); line-height: 1.04; }
  .home-slideshow-hero .intro-aside { margin-top: 26px; max-width: 400px; }
  .home-slideshow-hero .intro-aside>span { font-size: 13px; line-height: 1.7; }
  .home-slideshow-hero .intro-aside .textlink { margin-top: 8px; font-size: 12px; }
  .home-slideshow-media::after { background: linear-gradient(90deg, #0e1217c4, #0e121790), linear-gradient(0deg, #0e121780, transparent); }
  .home-factory-slide { object-position: var(--photo-mobile-position, 50% 60%); }
  .home-slideshow-controls { right: 16px; left: 16px; bottom: 14px; justify-content: flex-end; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) { .home-factory-slide { transition: none; } }
