/* Keep intrinsic dimensions for loading, but scale displayed images with their containers. */
main img{height:auto}
.department img,.studio-panorama img,.vision img,.world img{height:auto}

/* Corporate pages: closer relationships between media, headings and copy. */
.section{padding:56px 0}
.page-hero{padding:44px 0 30px}
.page-hero h1{margin:14px 0 20px}
.section-head{margin-bottom:24px;gap:20px}
.section-note{margin-top:20px}
.intro-grid,.vision-layout,.copy-grid,.stream-layout,.request-layout{gap:32px}
.department-grid,.team-grid,.contact-grid{gap:32px 28px;margin-top:24px;align-items:start}
.department figure{margin:0 0 12px}
.department figcaption,.studio-panorama figcaption,.vision figcaption{margin-top:6px}
.department h3{margin:10px 0 8px}
.department p{margin:8px 0 0}
.department img{aspect-ratio:auto}
.text-department{padding-top:22px}
.studio-panorama{margin-bottom:0}
.project-detail{gap:28px;padding:32px 0}
.project-detail-character{gap:24px}
.project-copy .eyebrow{margin-top:0}
.project-copy h2{margin:10px 0 16px}
.world-grid{gap:28px 24px}
.world .world-meta{margin-top:12px}
.world h3{margin:8px 0}
.world p{margin-top:8px}
.division-list{margin-top:22px}
.division-link{padding:20px 0}
.division-detail{gap:24px;padding:28px 0}
.division-logo-loop{margin-top:14px}
.parent-node{padding:24px 0;gap:24px}
.team-profile{padding:22px 0}
.team-portrait{margin-bottom:18px}
.team-profile h2{margin:10px 0 14px}
.team-profile .eyebrow{margin-top:0}
.contact-hero-layout{gap:28px}
.contact-grid article{padding:20px 0}
.contact-grid h2{margin:10px 0 16px}
.contact-block{padding:32px 0}
.partnership-callout{padding:48px 0}
.partnership-callout .wrap{gap:28px}
.business-grid{gap:0 28px;margin-top:24px}
.business-grid article{padding:24px 0}
.growth-roadmap{margin-top:28px}
.growth-roadmap li{padding:24px 0;gap:22px}
.stream-destinations,.stream-roadmap{gap:28px;margin-top:28px}
.stream-destinations article{padding-top:20px}
.stream-brand figcaption{padding:8px 16px 14px}
.shop-grid{gap:28px}
.shop-grid article{padding-top:20px}
.shop-section,.rights-page,.stream-faq{padding-top:0}
.rights-page h2{margin-top:32px}
.site-footer{padding-top:40px}
.footer-main{gap:28px}
.copyright-row{margin-top:28px;padding-top:18px}
.policy-note{margin:28px 0}

/* The standalone Partnerships page uses its own section classes. */
.hero{min-height:0;padding-top:56px;padding-bottom:36px}
.statement{padding:60px 12vw}
.split,.dark,.matrix,.alacarte,.standards,.process,.contact{padding:56px 8vw}
.split,.standards{gap:32px}
.rule{margin-top:40px}
.tiers,.process ol{margin-top:28px}

@media(max-width:760px){
 .section{padding:36px 0}
 .page-hero{padding:30px 0 22px}
 .intro-grid,.vision-layout,.copy-grid,.stream-layout,.request-layout,.contact-hero-layout{gap:20px}
 .department-grid,.team-grid,.contact-grid{gap:28px;margin-top:20px}
 .project-detail{gap:16px;padding:24px 0}
 .project-detail-character .character-loop{margin-top:0}
 .division-detail{gap:14px;padding:24px 0}
 .division-link{gap:12px}
 .partnership-callout{padding:36px 0}
 .partnership-callout .wrap{gap:16px}
 .shop-section,.rights-page,.stream-faq{padding-top:0}
 .stream-destinations,.stream-roadmap{gap:24px}
 .hero{padding-top:36px;padding-bottom:28px}
 .statement,.split,.dark,.matrix,.alacarte,.standards,.process,.contact{padding:40px 7vw}
}
/* Compact portraits, framed in the two studio identities. */
.portrait-frame{position:relative;isolation:isolate;width:min(100%,292px);padding:10px;margin:0 0 22px;background:#101014;overflow:hidden}
.portrait-frame::before,.portrait-frame::after{content:"";position:absolute;inset:0;z-index:-1}
.portrait-frame::before{right:50%;background:repeating-linear-gradient(0deg,#f4f4f2 0 7px,#17171b 7px 17px);border-top:8px solid #f4f4f2;border-bottom:8px solid #f4f4f2}
.portrait-frame::after{left:50%;background:radial-gradient(circle at 5px 5px,#ffb629 0 3px,transparent 3.5px) 0 0/14px 14px,#1261b3;border-top:8px solid #ffd132;border-bottom:8px solid #f68b21}
main .portrait-frame .team-portrait{width:100%;height:auto;aspect-ratio:1;object-fit:cover;margin:0;border:3px solid #08080a}
.stream-brand-animated video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.stream-media-controls{display:flex;justify-content:center;gap:10px;padding:12px}
.stream-media-controls button{font:inherit;font-size:13px;color:#eee;background:#16151a;border:1px solid #655971;border-radius:20px;padding:8px 14px;cursor:pointer;min-height:40px}
.stream-media-controls button:focus-visible{outline:3px solid #b68beb;outline-offset:3px}
