.production-section { position: relative; height: 100vh; height: 100dvh; }
.production-section.production-motion { height: 230vh; height: 230dvh; }
.production-stage { position: sticky; top: 0; height: 100vh; height: 100dvh; padding: var(--screen-bottom) var(--gutter); }
.production-frame { position: relative; height: 100%; isolation: isolate; overflow: clip; border-radius: 30px; background: var(--ink); }
.production-photo { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; object-position: 62% 45%; }
.production-shade { position: absolute; inset: 0; background: linear-gradient(90deg, #101513c4 0%, #1015136b 50%, #10151312 100%); }
.production-copy { position: absolute; top: clamp(28px, 7dvh, 88px); left: var(--content-inset); max-width: min(54%, 900px); color: #fff; }
.production-title { margin: 0; color: #fff; font-size: clamp(26px, min(3.6vw, 6.1dvh), 60px); font-weight: 600; line-height: 1.1; letter-spacing: -.045em; overflow-wrap: anywhere; text-wrap: balance; }
.production-subtitle { margin: clamp(18px, 2.5dvh, 30px) 0 0; max-width: 36em; color: #fff; font-size: clamp(16px, 1.35vw, 23px); line-height: 1.5; }
.production-registry { position: absolute; left: var(--content-inset); bottom: var(--content-inset); display: flex; align-items: center; gap: 18px; min-height: clamp(68px, 10dvh, 96px); margin: 0; color: #fff; }
.production-registry strong { font-size: clamp(48px, 5vw, 76px); font-weight: 600; line-height: 1; letter-spacing: -.055em; }
.production-registry span { font-size: clamp(15px, 1.3vw, 21px); line-height: 1.4; }
.production-logos { position: absolute; right: var(--content-inset); bottom: var(--content-inset); display: flex; align-items: stretch; gap: 12px; }
.production-logo { display: flex; align-items: center; justify-content: center; height: clamp(68px, 10dvh, 96px); padding: 18px 24px; border-radius: 18px; background: #fff; }
.production-logo img { display: block; width: auto; height: auto; max-width: 100%; max-height: 100%; object-fit: contain; filter: grayscale(1) brightness(0); opacity: .68; }
.production-logo-minprom { width: clamp(200px, 20vw, 300px); }
.production-logo-gisp { aspect-ratio: 1; padding: 16px; }
.production-motion .production-frame { transform-origin: 50% 100%; transform: perspective(1200px) translate3d(0, var(--production-rise, 500px), var(--production-depth, -300px)) rotateX(var(--production-tilt, 5deg)) scale(var(--production-scale, .94)); opacity: var(--production-opacity, 0); }
.production-motion .production-shade { opacity: 0; }
.production-motion .production-copy, .production-motion .production-logos, .production-motion .production-registry { opacity: 0; transform: translate3d(0, 20px, 0); }
.production-motion[data-motion-ready="true"] .production-shade { transition: opacity .7s cubic-bezier(.22, 1, .36, 1); }
.production-motion[data-motion-ready="true"] .production-copy, .production-motion[data-motion-ready="true"] .production-logos, .production-motion[data-motion-ready="true"] .production-registry { transition: opacity .7s cubic-bezier(.22, 1, .36, 1), transform .7s cubic-bezier(.22, 1, .36, 1); }
.production-motion[data-revealed="true"] .production-shade { opacity: 1; }
.production-motion[data-revealed="true"] .production-copy { opacity: 1; transform: translate3d(0, 0, 0); transition-delay: .25s; }
.production-motion[data-revealed="true"] .production-logos, .production-motion[data-revealed="true"] .production-registry { opacity: 1; transform: translate3d(0, 0, 0); transition-delay: .4s; }
@media (max-width: 720px) {
  .production-frame { border-radius: 22px; }
  .production-photo { object-position: 68% 50%; }
  .production-copy { top: 28px; max-width: calc(100% - 2 * var(--content-inset)); }
  .production-title { font-size: clamp(24px, min(5.7vw, 4.1dvh), 34px); }
  .production-subtitle { font-size: 16px; line-height: 1.5; }
  .production-logos { left: var(--content-inset); right: auto; gap: 8px; }
  .production-registry { bottom: calc(var(--content-inset) + 88px); min-height: 54px; gap: 14px; }
  .production-registry strong { font-size: 54px; }
  .production-registry span { font-size: 15px; }
  .production-logo { height: 64px; padding: 12px 14px; border-radius: 14px; }
  .production-logo-minprom { width: clamp(176px, 46vw, 240px); }
  .production-logo-gisp { padding: 12px; }
}
@media (max-height: 480px) and (min-aspect-ratio: 1/1) {
  .production-copy { top: 24px; max-width: 54%; }
  .production-title { font-size: clamp(23px, 3.4vw, 30px); }
  .production-subtitle { margin-top: 12px; font-size: 15px; }
  .production-logo { height: 58px; padding: 12px 16px; border-radius: 14px; }
  .production-logo-minprom { width: 200px; }
  .production-logo-gisp { padding: 12px; }
  .production-logos { left: auto; right: var(--content-inset); }
  .production-registry { min-height: 58px; bottom: var(--content-inset); gap: 12px; }
  .production-registry strong { font-size: 48px; }
  .production-registry span { font-size: 14px; }
}
@media (prefers-reduced-motion: reduce) {
  .production-section, .production-section.production-motion { height: 100vh; height: 100dvh; }
  .production-motion .production-frame, .production-motion .production-copy, .production-motion .production-logos, .production-motion .production-registry { transform: none; opacity: 1; transition: none; }
  .production-motion .production-shade { opacity: 1; transition: none; }
}
