/* S02 natural flow; keep its approved media treatment and sponsor layout. */
#v3-mosaic{height:100svh!important;z-index:65}
#v3-mosaic .stage{position:relative;opacity:1!important;visibility:visible!important}
#v3-mosaic .s02-copy h2,#v3-mosaic .s02-copy p{color:#fff}

/* One bounded S03 owner. Nothing is fixed to the page or reparented. */
#b7.s03-section{height:300svh;position:relative;z-index:70;--s03-zoom:0;--s03-part:0;--s03-split:0;--s03-grid-opacity:1}
#b7.s03-enabled{height:400svh}
.s03-stage{position:sticky;top:0;height:100svh;overflow:clip;background:transparent;isolation:isolate}
.s03-stage::before{content:"";position:absolute;inset:0;background:#080909;opacity:calc(1 - var(--s03-split))}
.s03-grid{position:absolute;inset:104px 4vw 20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));gap:8px;opacity:var(--s03-grid-opacity);transform:scale(calc(1 + var(--s03-zoom)*.12));transform-origin:center}
.s03-tile{width:100%;height:100%;min-height:0;object-fit:cover;object-position:center;border:1px solid #ffffff20;background:#111}
.s03-center{position:absolute;z-index:2;left:50%;top:calc(50% + 42px*(1 - var(--s03-zoom)));transform:translate(-50%,-50%);width:calc((92vw - 16px)/3 + (100vw - (92vw - 16px)/3)*var(--s03-zoom));height:calc((100svh - 140px)/3 + (100svh - (100svh - 140px)/3)*var(--s03-zoom));opacity:calc(1 - var(--s03-split));background:#111}
.s03-sticker{width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.s03-split{position:absolute;inset:0;z-index:3;opacity:var(--s03-split);pointer-events:none}
.s03-half{position:absolute;top:0;bottom:0;width:50%;overflow:hidden}
.s03-half img{position:absolute;top:0;width:100vw;max-width:none;height:100%;object-fit:cover;object-position:50% 50%}
.s03-half-left{left:0;transform:translateX(calc(-100%*var(--s03-part)))}
.s03-half-left img{left:0}
.s03-half-right{right:0;transform:translateX(calc(100%*var(--s03-part)))}
.s03-half-right img{right:0}
/* Existing S04 is under the split only for the last .6 screen of the S03 pin. */
body.s03-enabled #b9{margin-top:-160svh}
@media(max-width:760px){
  .s03-grid{inset:82px 3vw 16px;gap:5px}
  .s03-center{top:calc(50% + 33px*(1 - var(--s03-zoom)));width:calc((94vw - 10px)/3 + (100vw - (94vw - 10px)/3)*var(--s03-zoom));height:calc((100svh - 108px)/3 + (100svh - (100svh - 108px)/3)*var(--s03-zoom))}
}
@media(prefers-reduced-motion:reduce){
  #b7.s03-enabled{height:100svh}
  .s03-stage{position:relative}
  .s03-grid{transform:none;opacity:1}
  .s03-split{display:none}
  body.s03-enabled #b9{margin-top:0}
}
