/* Apple homepage entertainment layout measurements: paired fixed-size galleries. */
.cinema-section{--feature-width:1250px;--feature-height:668px;--service-width:470px;--service-height:264px;background:#f5f5f7;padding:62px 0 20px;overflow:hidden;scroll-margin-top:85px}
.cinema-heading{padding:0 20px 28px;text-align:center}
.cinema-heading h2{font-size:56px;line-height:60px;font-weight:600;letter-spacing:-2px;margin:0}
.cinema-stage{position:relative;width:100%;height:var(--feature-height);overflow:hidden}
.cinema-primary-track{display:flex;width:max-content;gap:13px;will-change:transform;transition:transform 700ms cubic-bezier(.22,.61,.36,1)}
.cinema-primary-track.reset-frame{transition:none}
.cinema-card{position:relative;flex-shrink:0;width:var(--feature-width);height:var(--feature-height);background:#fff;color:#fff;opacity:.55;transition:opacity .65s;overflow:hidden}
.cinema-card.current{opacity:1}
.feature-art{position:relative;isolation:isolate;display:block;width:100%;height:100%;padding:22px 32px 112px;border:0;background:#111;cursor:pointer}
.feature-art::before,.service-art::before{content:'';position:absolute;inset:-30px;z-index:-1;background-size:cover;background-position:center;filter:blur(25px) brightness(.55)}
.art-ready .feature-art::before,.art-ready .service-art::before{background-image:var(--art)}
.feature-art img{position:relative;display:block;width:100%;height:100%;object-fit:contain;max-width:none;filter:drop-shadow(0 12px 24px #0003)}
.feature-art .feature-web-intake{display:none}
.feature-caption{position:absolute;left:0;right:0;bottom:0;min-height:100px;padding:25px 50px;display:flex;align-items:center;gap:20px;background:linear-gradient(transparent,#000b);color:#fff}
.feature-caption p{font-size:20px;line-height:1.3;margin:0}.feature-caption b{font-weight:600}
.feature-inquiry{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;background:#fff;color:#101010;border-radius:30px;padding:12px 22px;font-size:14px;white-space:nowrap}
.feature-inquiry:hover{background:var(--green)}
.cinema-secondary{height:calc(var(--service-height) + 13px);padding-top:13px;overflow:hidden}
.cinema-secondary-track{display:flex;width:max-content;margin-left:calc((100% - var(--service-width))/2 - 2*(var(--service-width) + 13px));animation:service-drift var(--secondary-duration) linear infinite}
.service-set{display:flex;gap:13px;padding-right:13px}
.service-card{position:relative;width:var(--service-width);height:var(--service-height);flex-shrink:0;background:#101010;color:#fff;overflow:hidden}
.service-art{position:relative;isolation:isolate;display:block;width:100%;height:100%;padding:12px 15px 60px;border:0;background:#111;cursor:pointer}
.service-art img{position:relative;width:100%;height:100%;object-fit:contain;max-width:none}
.service-caption{position:absolute;left:0;right:0;bottom:0;padding:13px 18px;display:flex;justify-content:space-between;align-items:center;gap:15px;min-height:55px;background:linear-gradient(transparent,#000b)}
.service-caption b{font-size:13px;line-height:1.3;font-weight:600}
.service-caption a{border-radius:25px;background:#fff;color:#101010;padding:10px 17px;font-size:12px;white-space:nowrap}
.service-caption a:hover{background:var(--green)}
@keyframes service-drift{to{transform:translateX(-50%)}}
.cinema-controls{position:relative;display:flex;align-items:center;justify-content:center;height:56px}
.cinema-dots{display:flex;align-items:center;justify-content:center;gap:0;height:56px;padding:0 16px}
.cinema-dots button{position:relative;border:0;padding:8px;width:24px;height:24px;background:none;transition:width .25s}
.cinema-dots button.active{width:48px}
.cinema-dots button span{display:block;position:relative;width:8px;height:8px;border-radius:20px;background:#929292;overflow:hidden}
.cinema-dots button.active span{width:32px;background:#a6a6a6}
.cinema-dots button.active span::after{content:'';position:absolute;inset:0;border-radius:20px;background:#333;transform-origin:left;animation:feature-progress 6.5s linear forwards}
@keyframes feature-progress{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.cinema-play{position:absolute;right:12px;bottom:16px;width:24px;height:24px;border:0;border-radius:50%;padding:0;font-size:11px;background:#ddd;color:#555}
.cinema-section.is-paused .cinema-secondary-track,.cinema-section.is-paused .cinema-dots button.active span::after{animation-play-state:paused}
.cinema-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(max-width:1440px){.cinema-section{--feature-width:930px;--feature-height:523px;--service-width:417px;--service-height:234px}.feature-caption{padding:22px 36px}.feature-caption p{font-size:17px}}
@media(max-width:1068px){.cinema-section{--feature-width:688px;--feature-height:367px;--service-width:188px;--service-height:254px}.cinema-heading h2{font-size:32px;line-height:36px;letter-spacing:-.7px}.feature-art{padding:14px 24px 86px}.feature-caption{padding:16px 24px;min-height:80px}.feature-caption p{font-size:14px}.feature-inquiry{font-size:12px;padding:11px 16px}.service-art{padding:12px 10px 80px}.service-caption{flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px;min-height:78px}.service-caption b{font-size:10px}.service-caption a{font-size:10px;padding:8px 12px}}
@media(max-width:734px){.cinema-section{--feature-width:275px;--feature-height:496px;padding-top:42px}.cinema-heading{padding-bottom:24px}.feature-art{padding:15px 12px 145px}.feature-caption{padding:17px 19px;min-height:142px;flex-direction:column;align-items:flex-start;gap:13px}.feature-caption p{font-size:13px}.feature-inquiry{font-size:11px;padding:11px 16px}.cinema-play{right:10px}.cinema-primary-track{transition-duration:500ms}}
@media(prefers-reduced-motion:reduce){.cinema-secondary-track,.cinema-dots button.active span::after{animation:none}.cinema-primary-track,.cinema-card{transition:none}}
@media(max-width:734px){.feature-web .feature-art{display:flex;flex-direction:column;gap:12px}.feature-web .feature-art img{min-height:0;flex:1}.feature-web .feature-art .feature-web-intake{display:block}}
