/* The image leads. Only the opening zoom asks for extra scroll. */
.motion-on .hero{height:165svh}
.section{padding-top:100px;padding-bottom:100px}
.section-heading{margin-bottom:55px}
.work-grid{gap:65px 5vw}
.work-card:nth-child(1){grid-column:1 / span 7}
.work-card:nth-child(2){grid-column:9 / span 4;padding-top:130px}
.work-card:nth-child(3){grid-column:1 / span 5;padding-top:0}
.work-card:nth-child(4){grid-column:7 / span 6;padding-top:80px}
.work-card:nth-child(n) .work-image{aspect-ratio:1.75}
.work-card:nth-child(2) .work-image{aspect-ratio:1.2}
.work-caption h3{font-size:clamp(24px,2.5vw,36px)}
/* An expanding contact strip, never a scroll trap. */
.frame-sequence,.motion-on .frame-sequence{height:auto;overflow:hidden;background:#0d1015}
.frame-stage,.motion-on .frame-stage{position:relative;top:auto;height:auto;min-height:0;padding:90px var(--gutter)}
.frame-intro,.motion-on .frame-intro{position:relative;inset:auto;display:flex;align-items:end;justify-content:space-between;padding:0;gap:30px;opacity:1;transform:none}
.frame-intro h2,.motion-on .frame-intro h2{font-size:clamp(48px,6.5vw,94px);line-height:1.02;max-width:800px}
.frame-intro p{font-size:14px;color:var(--muted);max-width:190px;line-height:1.7}
.frame-space,.motion-on .frame-space{position:relative;inset:auto;display:flex;gap:12px;margin:45px 0 28px;height:clamp(330px,43vw,610px);perspective:none;transform-style:flat;pointer-events:auto}
.frame-card,.motion-on .frame-card{position:relative;inset:auto;flex:1;min-width:0;width:auto!important;margin:0;aspect-ratio:auto!important;opacity:1;visibility:visible;transform:none;overflow:hidden;box-shadow:none;transition:flex .7s cubic-bezier(.22,.7,.15,1)}
.frame-card:first-child{flex:3}
.frame-space:has(.frame-card:hover) .frame-card,.frame-space:has(.frame-card:focus-visible) .frame-card{flex:1}
.frame-space .frame-card:hover,.frame-space .frame-card:focus-visible{flex:5;outline-offset:-3px}
.frame-card .frame-source{width:100%;height:100%;object-fit:cover;opacity:1;clip-path:none;transition:transform 1s cubic-bezier(.2,.7,.2,1)}
.frame-card:hover .frame-source,.frame-card:focus-visible .frame-source{transform:scale(1.04)}
.frame-card:after{content:'';position:absolute;inset:60% 0 0;z-index:1;background:linear-gradient(transparent,#0009);pointer-events:none}
.frame-title{opacity:0;transform:none;z-index:3;bottom:24px;left:20px;right:68px;font-size:14px}
.frame-card:first-child .frame-title,.frame-card:hover .frame-title,.frame-card:focus-visible .frame-title{opacity:1}
.frame-space:has(.frame-card:hover) .frame-card:not(:hover) .frame-title{opacity:0}
.frame-collection-link,.motion-on .frame-collection-link{position:relative;inset:auto;margin:0 0 0 auto}
/* A three-part, visitor-controlled color study. */
.color-section,.motion-on .color-section{height:auto}
.color-stage,.motion-on .color-stage{position:relative;top:auto;height:auto;min-height:0;padding:90px var(--gutter);display:grid;grid-template-columns:1fr 1.3fr;gap:30px 7vw}
.color-section h2,.motion-on .color-section h2{grid-column:1;grid-row:1;font-size:clamp(48px,5.7vw,86px);max-width:none}
.scene-selectors{display:flex;flex-wrap:wrap;gap:10px}
.scene-selectors button{font:500 13px var(--body);min-height:44px;min-width:44px;padding:10px 20px;color:var(--muted);border:1px solid var(--line);border-radius:30px;background:transparent;cursor:pointer;transition:color .2s,background .2s}
.scene-selectors button:hover,.scene-selectors button[aria-pressed=true]{background:#dcecf6;color:#10151c;border-color:#dcecf6}
.scene-selectors button:focus-visible{outline:2px solid var(--accent);outline-offset:4px}
.color-selectors{grid-column:1;grid-row:2;align-self:start}
.color-art,.motion-on .color-art,.motion-off .color-art{position:relative;inset:auto;grid-column:2;grid-row:1 / span 4;width:100%;height:auto;min-height:360px;margin:0;display:grid;grid-template-columns:1fr;gap:16px;align-self:center}
.color-plate,.motion-on .color-plate,.motion-off .color-plate{position:relative;inset:auto;width:100%;height:auto;aspect-ratio:1.55;transform:none!important;opacity:1!important;overflow:hidden;pointer-events:auto}
.color-plate>img{width:100%;height:100%;object-fit:cover}
.color-plate>span:not(.media-affordance),.motion-on .color-plate>span:not(.media-affordance){display:block}
.color-copy,.motion-on .color-copy{position:relative;inset:auto;grid-column:1;grid-row:3;width:auto;height:auto;min-height:205px;margin:0;display:grid;grid-template-columns:1fr;gap:25px}
.color-step,.motion-on .color-step{position:relative;inset:auto;opacity:1!important;transform:none!important}
.color-step h3,.motion-on .color-step h3{font-size:27px;margin-bottom:16px}
.color-step p,.motion-on .color-step p{font-size:16px;line-height:1.7;max-width:430px}
.color-bottom,.motion-on .color-bottom{position:relative;inset:auto;grid-column:1;grid-row:4;margin:0}
.color-selectors,.quote-selectors{display:none}
.experience-ready .color-selectors,.experience-ready .quote-selectors{display:flex}
[hidden]{display:none!important}
/* One quotation at a time; the reader sets the pace. */
.quote-sequence,.motion-on .quote-sequence{height:auto;margin-top:85px}
.quote-stage,.motion-on .quote-stage{position:relative;top:auto;height:auto;min-height:0;padding:75px var(--gutter);overflow:hidden}
.quote-space,.motion-on .quote-space{position:relative;inset:auto;display:grid;grid-template-columns:1fr;gap:35px;perspective:none;pointer-events:auto;min-height:260px}
.quote-card,.motion-on .quote-card{position:relative;inset:auto;width:min(950px,100%);margin:0 auto;padding:0;transform:none!important;opacity:1!important;visibility:visible!important}
.quote-card blockquote,.motion-on .quote-card blockquote{font-size:clamp(30px,4.1vw,58px);line-height:1.18;letter-spacing:-.035em;color:var(--fg);animation:none;text-wrap:balance}
.quote-card figcaption,.motion-on .quote-card figcaption{margin-top:28px;font-size:15px}
.quote-selectors{justify-content:center;margin-top:32px}
.quote-selectors button{padding:8px 14px}
.motion-on.experience-ready .quote-card:not([hidden]){animation:quote-arrive .55s cubic-bezier(.2,.7,.2,1)}
.motion-on.experience-ready .color-plate:not([hidden])>img{animation:color-arrive .65s cubic-bezier(.2,.7,.2,1)}
@keyframes quote-arrive{from{filter:blur(4px);translate:35px 12px}to{filter:blur(0);translate:0 0}}
@keyframes color-arrive{from{clip-path:inset(0 15% 0 0);scale:1.06}to{clip-path:inset(0);scale:1}}
.dit-layout{margin-bottom:95px}
.studio-image{height:75svh;min-height:560px}
.about{padding-bottom:0}
.image-interlude{padding-top:65px;padding-bottom:65px}
.home-resources .resource-list{grid-template-columns:1fr 1fr;gap:0 40px}
.career-section.career-pinned{height:230svh}
@media(max-width:900px){
 .color-stage,.motion-on .color-stage{gap:28px 35px;grid-template-columns:1fr 1fr}
 .color-copy,.motion-on .color-copy{min-height:250px}
 .frame-intro p{display:none}
}
@media(max-width:799px){
 .section{padding-top:75px;padding-bottom:75px}
 .hero-sticky{padding-top:125px}
 .work-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px 20px}
 .work-card:nth-child(n){grid-column:auto;width:100%;padding:0;justify-self:stretch}
 .work-card:nth-child(n) .work-image{aspect-ratio:1.35}
 .work-card:nth-child(2n){padding-top:50px}
 .work-caption h3,.work-card:nth-child(n) .work-caption h3{font-size:24px}
 .work-caption h3 span{font-size:12px}.work-caption p{font-size:12px}
 .frame-stage,.motion-on .frame-stage{padding:75px var(--gutter)}
 .frame-space,.motion-on .frame-space{display:grid;grid-template-columns:1fr 1fr;height:auto;gap:14px;margin-top:30px}
 .frame-card,.motion-on .frame-card,.motion-on .frame-card.frame-focal,.motion-on .frame-card.frame-finale{grid-column:auto;aspect-ratio:1.3!important}
 .frame-card:first-child,.motion-on .frame-card.frame-focal{grid-column:1/-1;aspect-ratio:1.85!important}
 .frame-card:last-child,.motion-on .frame-card.frame-finale{grid-column:1/-1;aspect-ratio:2.1!important}
 .frame-title{display:none}.frame-card .media-affordance{width:34px;height:34px;right:10px;bottom:10px}
 .color-stage,.motion-on .color-stage{display:flex;flex-direction:column;padding:75px var(--gutter);gap:26px}
 .color-section h2,.motion-on .color-section h2{font-size:clamp(48px,9vw,70px)}
 .color-art,.motion-on .color-art,.motion-off .color-art{min-height:0;width:100%;margin:0}
 .color-plate,.motion-on .color-plate,.motion-off .color-plate{width:100%;aspect-ratio:1.85}
 .color-copy,.motion-on .color-copy{min-height:180px;display:block}
 .scene-selectors button{padding:10px 17px}
 .quote-stage,.motion-on .quote-stage{padding-top:55px;padding-bottom:55px}
 .quote-space,.motion-on .quote-space{min-height:270px}
 .quote-card blockquote,.motion-on .quote-card blockquote{font-size:clamp(30px,5.8vw,43px)}
 .quote-selectors{gap:6px}.quote-selectors button{padding:8px 12px}
 .dit-layout{gap:65px;margin-bottom:45px}.small-frame{bottom:-45px;right:-2%}
 .studio-image{height:65svh;min-height:480px}
 .about{padding-bottom:0}.quote-sequence,.motion-on .quote-sequence{margin-top:65px}
 .home-resources .resource-list{grid-template-columns:1fr}
}
@media(max-width:420px){.work-grid{gap:35px 16px}.work-caption h3,.work-card:nth-child(n) .work-caption h3{font-size:21px}.quote-space,.motion-on .quote-space{min-height:290px}}
@media(max-height:779px){.motion-on .hero{height:auto}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.frame-card,.frame-source,.scene-selectors button{transition:none!important}.quote-card,.color-plate>img{animation:none!important}}
.motion-off .frame-card,.motion-off .frame-source{transition:none!important}

.frame-space,.motion-on .frame-space{align-items:stretch}.frame-space .frame-card,.motion-on .frame-space .frame-card{align-self:stretch;height:100%}
@media(max-width:799px){.frame-space .frame-card,.motion-on .frame-space .frame-card{height:auto}}
/* A compact introduction, native-scrolling film credits, and clear project roles. */
.hero-entry{margin-top:24px}.hero-entry .round-link{margin-top:0}.hero-reels,.hero-social{display:flex;gap:22px;flex-wrap:wrap;font-size:13px}.hero-reels{margin-top:18px}.hero-social{margin-top:24px;color:var(--muted)}.hero-reels a:hover,.hero-social a:hover{color:var(--accent)}
.credits-intro{display:flex;align-items:start;justify-content:space-between;gap:40px;margin:24px 0 40px}.credits-intro p{max-width:620px;font-size:22px;line-height:1.5}.poster-gallery{margin-bottom:65px}.poster-controls{display:flex;align-items:center;justify-content:space-between;gap:20px}.poster-controls button{width:44px;height:44px;border:1px solid #555;background:transparent;color:inherit;border-radius:50%;font-size:22px;cursor:pointer;margin-left:8px}.poster-controls button:disabled{opacity:.25;cursor:default}.poster-track{display:flex;gap:26px;overflow-x:auto;padding:30px 8px 22px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#616570 transparent}.credit-poster{flex:0 0 235px;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px}.credit-poster img{width:100%;height:350px;object-fit:contain;object-position:bottom;background:#101115;transition:transform .35s ease,filter .35s ease;transform-origin:50% 95%;box-shadow:0 12px 28px #0005}.credit-poster:hover img,.credit-poster:focus-visible img{transform:translateY(-10px) rotate(-1.2deg);filter:brightness(1.08)}.credit-title{font-size:19px;line-height:1.2;margin-top:10px}.credit-role{font-size:12px;color:#b4b8c2;min-height:32px}.credit-imdb{font-size:11px;color:#adbfe0;text-transform:uppercase;letter-spacing:.08em}.ai-intro strong{display:block;color:#e6ebf4;margin-bottom:8px}.interlude-frame{position:relative}.interlude-label{position:absolute;left:18px;right:18px;bottom:18px;font-size:15px;text-shadow:0 2px 12px #000}.interlude-label small{display:block;font-size:11px;margin-top:7px}.interlude-frame:after{content:'';position:absolute;inset:40% 0 0;background:linear-gradient(transparent,#000b);pointer-events:none}.interlude-label,.interlude-frame .media-affordance{z-index:2}.interlude-frame .media-affordance{top:15px;bottom:auto}.work-caption h3{font-size:clamp(22px,2vw,36px)}
@media(min-width:800px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 35px}.work-card:nth-child(n){grid-column:auto;width:100%;padding:0;justify-self:stretch}.work-card:nth-child(n) .work-image{aspect-ratio:1.95}.work-card:nth-child(2n){padding-top:40px}.work-caption{align-items:start}.work-caption p{max-width:45%;text-align:right}.hero-description{max-width:460px}.hero-copy{padding-top:0}}
@media(max-width:799px){.hero-entry{margin-top:16px}.hero-reels,.hero-social{gap:18px;font-size:12px}.hero-social{margin-top:16px}.credits-intro{display:block}.credits-intro p{font-size:19px;margin-bottom:24px}.credit-poster{flex-basis:210px}.credit-poster img{height:310px}.poster-track{gap:20px}.poster-controls .eyebrow{font-size:10px}.poster-controls button{width:38px;height:38px}.poster-gallery{margin-bottom:45px}.work-caption{display:block}.work-caption p{margin-top:8px}.work-card:nth-child(n) .work-image{aspect-ratio:1.5}.interlude-label{font-size:12px;left:12px;bottom:12px}.interlude-label small{font-size:10px}}
@media(prefers-reduced-motion:reduce){.credit-poster img{transition:none}.credit-poster:hover img{transform:none}}
.motion-off .credit-poster img{transition:none}.motion-off .credit-poster:hover img{transform:none}
@media(max-width:799px){
 .hero-sticky,.motion-on .hero-sticky{height:max(860px,100svh);min-height:860px}
 .hero-entry{position:relative;z-index:6;margin-top:10px}
 .hero-entry .round-link{position:static;margin:0;gap:12px;font-size:14px}
 .hero-entry .play-icon{width:38px;height:38px;flex:0 0 38px}
 .hero-entry .round-link small{font-size:8px}
 .hero-reels,.hero-social{margin-top:8px;font-size:11px}
 .hero-films .layer-front{top:60%}.hero-films .layer-middle{top:58%}.hero-films .layer-back{top:57%}
}
