/* Shared poster geometry. Load after each page's typography and colour styles.
   Use intrinsic content as the minimum: enlarged text must never be clipped. */
@media screen {
 .brand-poster,.overview-hero{padding-block:28px}
 .poster-frame,.overview-frame,.overview-resources .overview-frame{
  width:100%;min-width:0;min-height:600px;aspect-ratio:16/9;display:grid;
 }
 .poster-copy,.overview-copy{min-height:0;align-self:stretch}
 .overview-photo{inset:0;width:100%;height:100%;aspect-ratio:auto}
 .overview-photo img{object-fit:cover;object-position:50% 50%}
 .overview-photo:after{display:none}
 .poster-caption,.overview-caption{
  display:flex;flex-direction:row;align-items:center;justify-content:space-between;
  gap:20px;padding-top:14px;font-size:10px;line-height:1.6;
 }
}
@media screen and (min-width:1001px){
 .brand-campaign{padding-block:28px}
 .campaign-caption{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:20px;padding-top:14px;font-size:10px;line-height:1.6}
 .campaign-main{width:100%;min-width:0;min-height:600px;aspect-ratio:16/9}
 .campaign-photo{position:absolute;inset:0}
 .campaign-photo img{width:100%;height:100%;object-fit:cover}
}
@media screen and (min-width:601px) and (max-width:1000px){
 .poster-frame,.overview-frame,.overview-resources .overview-frame{min-height:540px;aspect-ratio:auto}
 .overview-photo img{object-position:62% 50%}
}
@media screen and (max-width:600px){
 .brand-poster,.overview-hero{padding-block:16px 28px}
 .poster-frame,.overview-frame,.overview-resources .overview-frame{
  min-height:0;aspect-ratio:auto;grid-template-rows:minmax(360px,auto) 360px;
 }
 .poster-copy,.poster-partner .poster-copy,.overview-copy{
  grid-area:1/1;width:100%;min-height:0;padding:30px 23px 22px;
 }
 .poster-photo,.overview-photo{
  grid-area:2/1;position:relative;inset:auto;min-width:0;width:100%;height:100%;aspect-ratio:auto;
 }
 .poster-photo img,.overview-photo img{width:100%;height:100%;object-fit:cover;object-position:100% 50%}
 .poster-frame:after,.overview-frame:after{
  background:linear-gradient(180deg,#102333 0%,#102333 calc(100% - 360px),rgba(16,35,51,.65) calc(100% - 340px),transparent calc(100% - 300px));
 }
 .poster-caption,.overview-caption{flex-direction:column;align-items:flex-start;gap:4px;padding-top:12px}
}
