/* Homepage-only correction. Original portrait pixels, no synthetic backdrop.
   Reference 02 measured camera plane: 99.4141% width, +1.72521% horizontal offset.
   Mobile composition depends on width; browser toolbar height cannot shrink it. */
.home .brand-campaign-photo::before,
.home .brand-campaign-photo::after { content:none; }
.home .brand-campaign-photo {
  background:none;
  -webkit-mask-image:none;
  mask-image:none;
}
.home .brand-campaign-photo img {
  object-fit:contain;
  object-position:50% 50%;
  filter:none;
}
@media (max-width:899px) {
  .home .brand-campaign {
    height:auto;
    min-height:0;
    max-height:none;
    padding-top:58px;
    padding-bottom:max(24px,env(safe-area-inset-bottom));
    grid-template-rows:auto auto auto auto;
    align-content:start;
    gap:0;
  }
  .home .brand-campaign-identity {
    width:100%;
    max-width:none;
    justify-self:stretch;
  }
  .home .brand-campaign-photo {
    position:relative;
    inset:auto;
    grid-column:1;
    grid-row:2;
    align-self:start;
    width:calc(100% + var(--edge) + var(--edge));
    height:auto;
    aspect-ratio:1;
    margin:0 calc(-1 * var(--edge));
    overflow:visible;
    -webkit-mask-image:none;
    mask-image:none;
  }
  .home .brand-campaign-photo img {
    position:absolute;
    width:99.4141%;
    height:auto;
    max-width:none;
    left:1.72521%;
    right:auto;
    top:-27.52%;
    /* Reveal original studio atmosphere behind the type. Edge transparency is
       confined to empty camera background: all subjects remain fully opaque. */
    -webkit-mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 85%,transparent),linear-gradient(to right,transparent,#000 12%,#000 90%,transparent);
    mask-image:linear-gradient(to bottom,transparent,#000 18%,#000 85%,transparent),linear-gradient(to right,transparent,#000 12%,#000 90%,transparent);
    -webkit-mask-composite:source-in;
    mask-composite:intersect;
  }
  .home .brand-campaign-message {
    position:relative;
    grid-column:1;
    grid-row:3;
    inset:auto;
    max-width:none;
    margin:0 0 12px;
  }
  .home .brand-listen {
    grid-column:1;
    grid-row:4;
    width:100%;
    max-width:none;
    justify-self:stretch;
  }
}
@media (max-width:599px) {
  /* Freeze the existing approved compact branding across mobile heights. */
  .home .ac-header { height:56px;padding-block:4px; }
  .home .mobile-host-label { font-size:13px; }
  .home .mobile-host-label>span { font-size:11px;margin-top:3px; }
  .home .brand-hero-symbol { width:108px;margin-bottom:4px; }
  .home .brand-name { font-size:13.7vw; }
  .home .brand-cancelled { font-size:19.2vw;margin-top:3px; }
  .home .brand-cancelled::after { height:4px;margin-top:4px; }
  .home .brand-campaign-message { font-size:26px; }
  .home .brand-listen { min-height:50px;font-size:21px;padding-block:10px; }
}
@media (min-width:900px) {
  .home .brand-campaign-photo img {
    height:112%;
    width:auto;
    top:-2%;
    right:-3%;
    left:auto;
    /* This fade is confined to empty left-edge studio background. */
    -webkit-mask-image:linear-gradient(to right,transparent,#000 14%);
    mask-image:linear-gradient(to right,transparent,#000 14%);
  }
}
