/*
 * AD1 FILM — Canonical Shared Native Hero / Stage 72
 * THEME OWNER ONLY. Typography/colours come from Elementor Active Kit.
 * All native image Heroes use protected copy left + media right on Desktop,
 * with LEFT + BOTTOM dissolve into the owning surface. Mobile is media-first
 * with its own composition and the same dissolve law. Festival Single remains
 * the approved light-editorial exception and is not targeted here.
 */
.ad1-internal-hero{
  --ad1-internal-hero-surface:var(--ad1-color-background-dark);
  --ad1-internal-hero-copy:var(--ad1-color-text-light);
  --ad1-internal-hero-muted:var(--ad1-color-meta-on-dark);
  --ad1-hero-media-start:42%;
  --ad1-hero-copy-max:36rem;
  --ad1-hero-min-h:clamp(29rem,43vw,38rem);
  --ad1-hero-mobile-media-h:clamp(15rem,70vw,24rem);
  --ad1-hero-focal-x:50%;
  --ad1-hero-focal-y:50%;
  --ad1-hero-mobile-focal-x:50%;
  --ad1-hero-mobile-focal-y:50%;
  --ad1-hero-media-fit:contain;
  /* Per-entry fade controls feed these three stops. */
  --ad1-hero-fade-soft:12%;
  --ad1-hero-fade-mid:48%;
  --ad1-hero-fade-deep:88%;
  position:relative!important;
  min-height:var(--ad1-hero-min-h)!important;
  overflow:hidden!important;
  isolation:isolate!important;
  background:var(--ad1-internal-hero-surface)!important;
  color:var(--ad1-internal-hero-copy)!important;
}
.ad1-internal-hero--light{
  --ad1-internal-hero-surface:var(--ad1-color-background-light);
  --ad1-internal-hero-copy:var(--ad1-color-text-dark);
  --ad1-internal-hero-muted:var(--ad1-color-meta-on-light);
}
.ad1-internal-hero--dark .ad1-internal-hero__copy :is(h1,h2,p),
.ad1-internal-hero--legal .ad1-internal-hero__copy :is(h1,h2,p){color:var(--ad1-internal-hero-copy)!important}
.ad1-internal-hero--dark :is([class*="meta"],[class*="date"],[class*="updated"],time),
.ad1-internal-hero--legal :is([class*="meta"],[class*="date"],[class*="updated"],time){color:var(--ad1-internal-hero-muted)!important}
.ad1-internal-hero__media{
  position:absolute!important;
  inset:0 0 0 var(--ad1-hero-media-start)!important;
  z-index:0!important;
  display:block!important;
  width:auto!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  background-color:transparent!important;
  background-repeat:no-repeat!important;
  background-size:var(--ad1-hero-media-fit)!important;
  background-position:var(--ad1-hero-focal-x) var(--ad1-hero-focal-y)!important;
  -webkit-mask:none!important;
  mask:none!important;
  filter:none;
  transform:none!important;
}
.ad1-internal-hero__media::before,.ad1-internal-hero__media::after{content:none!important;display:none!important}
.ad1-internal-hero__media>img,
.ad1-internal-hero__media picture>img,
picture.ad1-internal-hero__media>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  object-fit:var(--ad1-hero-media-fit)!important;
  object-position:var(--ad1-hero-focal-x) var(--ad1-hero-focal-y)!important;
  background:transparent!important;
  opacity:1!important;
  filter:none!important;
  transform:none!important;
}
.ad1-internal-hero__veil{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:block!important;
  pointer-events:none!important;
  background:
    radial-gradient(ellipse 62% 145% at 35% 52%,
      var(--ad1-internal-hero-surface) 0 16%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 31%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 48%,
      transparent 66%),
    linear-gradient(90deg,
      var(--ad1-internal-hero-surface) 0 28%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 38%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 50%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-soft),transparent) 61%,
      transparent 70% 100%),
    linear-gradient(0deg,
      var(--ad1-internal-hero-surface) 0 1%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 10%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 21%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-soft),transparent) 28%,
      transparent 34% 100%)!important;
}
.ad1-internal-hero__content{
  position:relative!important;
  z-index:2!important;
  display:flex!important;
  min-height:var(--ad1-hero-min-h)!important;
  flex-direction:column!important;
  justify-content:center!important;
}
.ad1-internal-hero__copy{width:100%;max-width:var(--ad1-hero-copy-max)!important}
.ad1-internal-hero.has-no-image .ad1-internal-hero__copy{max-width:48rem!important}

/* Accepted archive/People compositions. */
.ad1p-hero[data-ad1-shared-hero="archive"]{--ad1-hero-media-start:34%;--ad1-hero-copy-max:31rem}
.ad1people-archive__hero{--ad1-hero-media-start:38%;--ad1-hero-copy-max:31rem}
.single-ad1_person .ad1person-hero{--ad1-hero-media-start:43%;--ad1-hero-copy-max:34rem}
.single-ad1_person .ad1person-hero__media{background-image:none!important}

/* Project Single: image fills its protected right field without a rectangle/card. */
.single-ad1_project .ad1epk-hero{--ad1-hero-media-start:30%;--ad1-hero-copy-max:42rem;--ad1-hero-min-h:clamp(29rem,38vw,34rem);--ad1-hero-media-fit:contain}
@media(min-width:768px){
  .single-ad1_project .ad1epk-hero__content{align-items:flex-start!important;justify-content:center!important}
  .single-ad1_project .ad1epk-hero__identity{width:min(100%,42rem)!important;max-width:42rem!important}
  .single-ad1_project .ad1epk-hero__identity .ad1epk-tagline{max-width:36rem!important}
}
.single-ad1_project .ad1epk-hero.has-image .ad1epk-hero__media{position:absolute!important;inset:0 0 0 var(--ad1-hero-media-start)!important;width:auto!important;height:auto!important;min-height:0!important;display:block!important}
.single-ad1_project .ad1epk-hero.is-wide-source .ad1epk-hero__media img,
.single-ad1_project .ad1epk-hero.is-portrait-source .ad1epk-hero__media img{object-fit:contain!important;object-position:var(--ad1-hero-focal-x) var(--ad1-hero-focal-y)!important}
.single-ad1_project .ad1epk-hero__media>img,
.single-ad1_project .ad1epk-hero__media picture>img,
.single-ad1_project picture.ad1epk-hero__media>img{width:100%!important;height:100%!important;object-fit:contain!important}

/* Preserve the complete Project frame while using the same source as a soft field fill. */
.single-ad1_project .ad1epk-hero__media::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:-3%!important;
  z-index:0!important;
  background-image:var(--ad1epk-hero-bg,none)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:var(--ad1-hero-focal-x) var(--ad1-hero-focal-y)!important;
  filter:blur(12px) saturate(.86)!important;
  opacity:.34!important;
  transform:scale(1.03)!important;
}
.single-ad1_project .ad1epk-hero__media>img{position:relative!important;z-index:1!important}
.single-ad1_project .ad1epk-hero__play{z-index:3!important;left:auto!important;right:22%!important;top:50%!important;transform:translate(50%,-50%)!important}
.single-ad1_project .ad1epk-actions{display:grid!important;gap:.65rem!important;width:min(100%,36rem)!important;margin-top:1.25rem!important}
.single-ad1_project .ad1epk-actions--1{grid-template-columns:1fr!important}
.single-ad1_project .ad1epk-actions--2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.single-ad1_project .ad1epk-actions--3{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.single-ad1_project .ad1epk-actions--3 .ad1epk-button--primary{grid-column:1/-1!important}
.single-ad1_project .ad1epk-actions .ad1epk-button{min-width:0!important;width:100%!important;justify-content:center!important}
@media(min-width:1101px){
  .single-ad1_project .ad1epk-actions .ad1epk-button{white-space:nowrap!important;padding-inline:.85rem!important}
}

/* Newsroom + standard news: right media and shared dissolve. */
.ad1na-hero,.ad1n-article-hero{--ad1-hero-media-start:40%;--ad1-hero-copy-max:36rem}
.ad1na-hero__backdrop,.ad1n-article-hero__backdrop,.ad1n-feature-hero__backdrop{display:none!important}
/* Approved cinematic feature single remains full-bleed. */
.single-post .ad1n-feature-hero{--ad1-hero-media-start:0%;--ad1-hero-copy-max:44rem}
.single-post .ad1n-feature-hero .ad1-internal-hero__media{inset:0!important}
.single-post .ad1n-feature-hero__image{object-fit:cover!important}
.single-post .ad1n-feature-hero__veil{background:
  linear-gradient(90deg,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 0 18%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 36%,transparent 64%),
  linear-gradient(0deg,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 0,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-soft),transparent) 22%,transparent 42%)!important}

/* Native forms, Legal and Festival Archive all consume this same contract. */
.ad1-form-page__hero,.ad1spr-hero{--ad1-hero-media-start:43%;--ad1-hero-copy-max:34rem;--ad1-hero-media-fit:contain}
.ad1festival-archive__hero{--ad1-hero-media-start:45%;--ad1-hero-copy-max:34rem}
.ad1-legal__hero{--ad1-internal-hero-surface:var(--ad1-color-background-light);--ad1-internal-hero-copy:var(--ad1-color-text-dark);--ad1-internal-hero-muted:var(--ad1-color-meta-on-light);--ad1-hero-media-start:43%;--ad1-hero-copy-max:34rem;--ad1-hero-media-fit:cover;--ad1-hero-min-h:clamp(26rem,35vw,31rem);padding:0!important;border-bottom:1px solid var(--ad1-color-border-on-light)!important}
.ad1spr-hero__media{background-image:var(--ad1spr-image,none)!important;background-size:var(--ad1-hero-media-fit)!important;background-position:var(--ad1-hero-focal-x) var(--ad1-hero-focal-y)!important}
/* Generic form media: complete foreground image + softly filled background field, never a framed rectangle. */
.ad1-form-page__hero-media::before{
  content:""!important;
  display:block!important;
  position:absolute!important;
  inset:-3%!important;
  z-index:0!important;
  background-image:var(--ad1-form-hero-image,none)!important;
  background-repeat:no-repeat!important;
  background-size:cover!important;
  background-position:var(--ad1-hero-focal-x) var(--ad1-hero-focal-y)!important;
  filter:blur(14px) saturate(.82)!important;
  opacity:.32!important;
  transform:scale(1.03)!important;
}
.ad1-form-page__hero-media>img{position:relative!important;z-index:1!important;object-fit:contain!important}
/* Legal is a light shared Hero: one grayscale media layer, no letterbox/duplicate blurred card. */
.ad1-legal__hero-media::before{content:none!important;display:none!important}
.ad1-legal__hero .ad1-legal__hero-media{min-height:0!important;background:var(--ad1-color-background-light)!important}
.ad1-legal__hero .ad1-legal__hero-image{position:relative!important;z-index:1!important;min-height:0!important;object-fit:cover!important;object-position:var(--ad1-hero-focal-x) var(--ad1-hero-focal-y)!important;filter:grayscale(1) saturate(0)!important;opacity:1!important}
.ad1festival-archive__hero-media>img{object-fit:contain!important}
.ad1-form-page__hero .ad1-internal-hero__veil,.ad1spr-hero .ad1-internal-hero__veil,.ad1festival-archive__hero .ad1-internal-hero__veil{
  background:
    radial-gradient(ellipse 70% 150% at 34% 50%,var(--ad1-internal-hero-surface) 0 18%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 34%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 53%,transparent 70%),
    linear-gradient(90deg,var(--ad1-internal-hero-surface) 0 31%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 41%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 52%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-soft),transparent) 65%,transparent 75% 100%),
    linear-gradient(0deg,var(--ad1-internal-hero-surface) 0 3%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 13%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 27%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-soft),transparent) 34%,transparent 42% 100%)!important;
}
.ad1-legal__hero .ad1-internal-hero__veil{
  background:
    radial-gradient(ellipse 66% 150% at 34% 50%,
      var(--ad1-internal-hero-surface) 0 14%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 28%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 44%,
      transparent 64%),
    linear-gradient(90deg,
      var(--ad1-internal-hero-surface) 0 29%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 39%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 52%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-soft),transparent) 62%,
      transparent 70% 100%),
    linear-gradient(0deg,
      var(--ad1-internal-hero-surface) 0 2%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 12%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 26%,
      color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-soft),transparent) 34%,
      transparent 43% 100%)!important;
}

/* Start Project keeps its approved route-card composition inside the same Hero owner. */
@media(min-width:768px){
  .ad1-form-page .ad1-form-page__hero-inner.ad1-internal-hero__content{align-items:flex-start!important;justify-content:center!important}
  .ad1-form-page .ad1-form-page__hero-inner .ad1-internal-hero__copy{margin-inline:0!important}
}

@media(min-width:768px){
  .ad1spr .ad1spr-hero__inner.ad1-internal-hero__content{
    width:min(1280px,calc(100% - 96px))!important;
    display:grid!important;
    grid-template-columns:minmax(0,520px) minmax(0,1fr)!important;
    grid-template-rows:minmax(0,1fr) auto!important;
    column-gap:52px!important;
    row-gap:26px!important;
    align-items:center!important;
    padding-block:2.25rem 1.5rem!important;
  }
  .ad1spr .ad1spr-hero__copy{grid-column:1!important;grid-row:1!important;max-width:520px!important}
  .ad1spr .ad1spr-audience-routes{grid-column:1/-1!important;grid-row:2!important;width:min(920px,100%)!important}
}

@media(min-width:768px) and (max-width:1024px){
  .ad1-internal-hero{--ad1-hero-media-start:39%;--ad1-hero-copy-max:31rem;--ad1-hero-min-h:clamp(28rem,54vw,34rem)}
  .ad1p-hero[data-ad1-shared-hero="archive"]{--ad1-hero-media-start:36%}
  .single-ad1_person .ad1person-hero{--ad1-hero-media-start:42%}
}

@media(max-width:767px){
  .ad1-internal-hero{
    --ad1-hero-min-h:0px;
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
    overflow:hidden!important;
  }
  .ad1-internal-hero.has-image .ad1-internal-hero__media{
    position:relative!important;
    inset:auto!important;
    order:0!important;
    width:100%!important;
    height:var(--ad1-hero-mobile-media-h)!important;
    flex:0 0 var(--ad1-hero-mobile-media-h)!important;
    background-size:var(--ad1-hero-media-fit)!important;
    background-position:var(--ad1-hero-mobile-focal-x) var(--ad1-hero-mobile-focal-y)!important;
  }
  .single-ad1_project .ad1epk-hero.has-image .ad1epk-hero__media{position:relative!important;inset:auto!important;order:0!important;width:100%!important;height:var(--ad1-hero-mobile-media-h)!important;min-height:0!important;flex:0 0 var(--ad1-hero-mobile-media-h)!important}
  .single-ad1_project .ad1epk-hero.is-wide-source .ad1epk-hero__media img,
  .single-ad1_project .ad1epk-hero.is-portrait-source .ad1epk-hero__media img{object-fit:contain!important;object-position:var(--ad1-hero-mobile-focal-x) var(--ad1-hero-mobile-focal-y)!important}
  .ad1-internal-hero.has-image .ad1-internal-hero__media>img,
  .ad1-internal-hero.has-image .ad1-internal-hero__media picture>img,
  picture.ad1-internal-hero__media>img{
    width:100%!important;
    height:100%!important;
    object-fit:var(--ad1-hero-media-fit)!important;
    object-position:var(--ad1-hero-mobile-focal-x) var(--ad1-hero-mobile-focal-y)!important;
  }
  .ad1-internal-hero__veil{
    inset:0 0 auto 0!important;
    height:calc(var(--ad1-hero-mobile-media-h) + 5rem)!important;
    background:
      radial-gradient(ellipse 82% 120% at 0% 54%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 0 8%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-mid),transparent) 30%,transparent 58%),
      linear-gradient(90deg,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 0 7%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-soft),transparent) 25%,transparent 43%),
      linear-gradient(0deg,var(--ad1-internal-hero-surface) 0 2%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-deep),transparent) 14%,color-mix(in srgb,var(--ad1-internal-hero-surface) var(--ad1-hero-fade-soft),transparent) 29%,transparent 46%)!important;
  }
  .ad1-internal-hero__content{order:2!important;max-width:100%!important;min-width:0!important;min-height:0!important;margin-inline:auto!important;padding-top:1.25rem!important;padding-bottom:2rem!important}
  .ad1-internal-hero__copy{max-width:none!important;width:100%!important}
  .ad1spr .ad1spr-hero__inner.ad1-internal-hero__content{width:calc(100% - 28px)!important;display:flex!important;flex-direction:column!important;align-items:stretch!important;padding:1.1rem 0 1.4rem!important}
  .ad1spr .ad1spr-audience-routes{width:100%!important;margin-top:1.1rem!important}
  .single-ad1_project .ad1epk-actions{grid-template-columns:1fr!important;width:100%!important;gap:.55rem!important}
  .single-ad1_project .ad1epk-actions>*{grid-column:1!important;width:100%!important;min-width:0!important}
  .single-ad1_project .ad1epk-hero__play{top:calc(var(--ad1-hero-mobile-media-h)/2)!important;right:50%!important;transform:translate(50%,-50%)!important}
  .single-ad1_person .ad1person-hero__content{display:block!important}
  .single-ad1_person .ad1person-hero-facts{position:relative!important;inset:auto!important;width:100%!important}
  .single-post .ad1n-feature-hero .ad1-internal-hero__media{position:relative!important;inset:auto!important}
  .single-post .ad1n-feature-hero__image{object-fit:cover!important}
  .ad1-legal__hero{padding:0!important}
  .ad1-legal__hero.has-image .ad1-legal__hero-image{min-height:0!important;object-fit:cover!important;object-position:var(--ad1-hero-mobile-focal-x) var(--ad1-hero-mobile-focal-y)!important}
}
/* Stage 69 final desktop Hero anchor — this is intentionally last so page-specific
 * focal rules cannot re-introduce a blank band above contain media. */
@media(min-width:768px){
  .ad1-internal-hero.has-image .ad1-internal-hero__media{background-position:var(--ad1-hero-focal-x) top!important}
  .ad1-internal-hero.has-image .ad1-internal-hero__media>img,
  .ad1-internal-hero.has-image .ad1-internal-hero__media picture>img,
  .ad1-internal-hero.has-image picture.ad1-internal-hero__media>img,
  .single-ad1_project .ad1epk-hero.is-wide-source .ad1epk-hero__media img,
  .single-ad1_project .ad1epk-hero.is-portrait-source .ad1epk-hero__media img{object-position:var(--ad1-hero-focal-x) top!important}
  /* Legal focal controls are intentional composition controls, not top-anchor guards. */
  .ad1-legal__hero.has-image .ad1-legal__hero-media{background-position:var(--ad1-hero-focal-x) var(--ad1-hero-focal-y)!important}
  .ad1-legal__hero.has-image .ad1-legal__hero-image{object-position:var(--ad1-hero-focal-x) var(--ad1-hero-focal-y)!important}
}

@media(prefers-reduced-motion:reduce){.ad1-internal-hero__media,.ad1-internal-hero__media img{transition:none!important;transform:none!important}}

/* Stage 68 mobile guard — form copy always spans the safe content width. */
@media(max-width:767px){
  .ad1-form-page .ad1-form-page__hero-inner.ad1-internal-hero__content{align-items:stretch!important}
}


/* Stage 73 — canonical Mobile/Web-App Hero geometry.
 * This stays in the Shared Hero owner because historical page CSS still carries
 * higher-specificity Desktop-derived mobile geometry. Typography remains Active-Kit owned. */
@media(max-width:767px){
  .ad1p .ad1p-hero.ad1-internal-hero,
  .ad1people-archive .ad1people-archive__hero.ad1-internal-hero,
  .single-ad1_project .ad1epk-hero.ad1-internal-hero,
  .single-ad1_person .ad1person-hero.ad1-internal-hero,
  .ad1na .ad1na-hero.ad1-internal-hero,
  .ad1festival-archive .ad1festival-archive__hero.ad1-internal-hero,
  .ad1-form-page .ad1-form-page__hero.ad1-internal-hero{
    min-height:0!important;
    display:flex!important;
    flex-direction:column!important;
  }
  .ad1p .ad1p-hero.ad1-internal-hero,
  .ad1people-archive .ad1people-archive__hero.ad1-internal-hero,
  .ad1na .ad1na-hero.ad1-internal-hero,
  .ad1festival-archive .ad1festival-archive__hero.ad1-internal-hero{
    --ad1-hero-mobile-media-h:clamp(13.5rem,62vw,20rem);
  }
  .single-ad1_project .ad1epk-hero.ad1-internal-hero,
  .single-ad1_person .ad1person-hero.ad1-internal-hero{
    --ad1-hero-mobile-media-h:clamp(17rem,82vw,25rem);
  }
  .ad1-form-page .ad1-form-page__hero.ad1-internal-hero{
    --ad1-hero-mobile-media-h:clamp(14rem,64vw,20rem);
  }

  .ad1p .ad1p-hero.has-image .ad1p-hero__media.ad1-internal-hero__media,
  .ad1people-archive .ad1people-archive__hero.has-image .ad1people-archive__hero-image.ad1-internal-hero__media,
  .single-ad1_project .ad1epk-hero.has-image .ad1epk-hero__media.ad1-internal-hero__media,
  .single-ad1_person .ad1person-hero.has-image .ad1person-hero__media.ad1-internal-hero__media,
  .ad1na .ad1na-hero.has-image .ad1na-hero__media.ad1-internal-hero__media,
  .ad1festival-archive .ad1festival-archive__hero.has-image .ad1festival-archive__hero-media.ad1-internal-hero__media,
  .ad1-form-page .ad1-form-page__hero.has-image .ad1-form-page__hero-media.ad1-internal-hero__media{
    position:relative!important;
    inset:auto!important;
    order:0!important;
    width:100%!important;
    height:var(--ad1-hero-mobile-media-h)!important;
    min-height:0!important;
    flex:0 0 var(--ad1-hero-mobile-media-h)!important;
    margin:0!important;
  }

  .ad1p .ad1p-hero__content.ad1-internal-hero__content,
  .ad1people-archive .ad1people-archive__hero-inner.ad1-internal-hero__content,
  .single-ad1_project .ad1epk-hero__content.ad1-internal-hero__content,
  .single-ad1_person .ad1person-hero__content.ad1-internal-hero__content,
  .ad1na .ad1na-hero__inner.ad1-internal-hero__content,
  .ad1festival-archive .ad1-internal-hero__content,
  .ad1-form-page .ad1-form-page__hero-inner.ad1-internal-hero__content{
    position:relative!important;
    order:2!important;
    min-width:0!important;
    max-width:100%!important;
    min-height:0!important;
    margin-inline:auto!important;
    justify-content:flex-start!important;
    padding-top:1.15rem!important;
    padding-bottom:1.8rem!important;
    transform:none!important;
  }
  .ad1-form-page .ad1-form-page__hero-inner.ad1-internal-hero__content{
    width:calc(100% - 28px)!important;
    align-items:stretch!important;
  }

  .ad1p .ad1p-hero__content .ad1-internal-hero__copy,
  .ad1people-archive .ad1people-archive__hero-inner .ad1-internal-hero__copy,
  .single-ad1_project .ad1epk-hero__identity.ad1-internal-hero__copy,
  .single-ad1_person .ad1person-hero__copy.ad1-internal-hero__copy,
  .ad1na .ad1na-hero__inner .ad1-internal-hero__copy,
  .ad1festival-archive .ad1-internal-hero__copy,
  .ad1-form-page .ad1-internal-hero__copy{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-inline:0!important;
    transform:none!important;
  }

  .single-ad1_project .ad1epk-hero.has-image .ad1epk-hero__media img,
  .single-ad1_person .ad1person-hero.has-image .ad1person-hero__media img,
  .ad1p .ad1p-hero.has-image .ad1p-hero__media img,
  .ad1people-archive .ad1people-archive__hero.has-image .ad1people-archive__hero-image img,
  .ad1na .ad1na-hero.has-image .ad1na-hero__media img,
  .ad1festival-archive .ad1festival-archive__hero.has-image .ad1festival-archive__hero-media img,
  .ad1-form-page .ad1-form-page__hero.has-image .ad1-form-page__hero-media img{
    max-width:100%!important;
    min-height:0!important;
    object-position:var(--ad1-hero-mobile-focal-x) var(--ad1-hero-mobile-focal-y)!important;
  }

  .single-ad1_project .ad1epk-hero__play{
    top:calc(var(--ad1-hero-mobile-media-h)/2)!important;
    right:50%!important;
    transform:translate(50%,-50%)!important;
  }
  .single-ad1_project .ad1epk-actions{
    grid-template-columns:1fr!important;
    width:100%!important;
    max-width:100%!important;
  }
  .single-ad1_project .ad1epk-actions>*{
    grid-column:1!important;
    width:100%!important;
    min-width:0!important;
  }
}


/* Stage 74 — Project Single actions remain inside the protected copy column.
 * Do not shrink button-ui typography; give the action row enough geometry instead. */
@media(min-width:1200px){
  .single-ad1_project .ad1epk-hero__identity{width:min(100%,44rem)!important;max-width:44rem!important;}
  .single-ad1_project .ad1epk-actions{width:min(100%,40rem)!important;max-width:40rem!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  .single-ad1_project .ad1epk-actions .ad1epk-button{
    min-width:0!important;
    max-width:100%!important;
    padding-inline:.9rem!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }
}
@media(min-width:768px) and (max-width:1199px){
  .single-ad1_project .ad1epk-actions .ad1epk-button{overflow-wrap:break-word!important;word-break:normal!important;}
}
@media(max-width:767px){
  .single-ad1_project .ad1epk-actions .ad1epk-button{overflow-wrap:break-word!important;word-break:normal!important;}
}


/* Stage 77 — phone media windows for page-backed archive Heroes.
 * Desktop/tablet are locked. A dedicated mobile image may fill the mobile frame;
 * horizontal fallback images keep the preservation/contain contract. */
@media(max-width:767px){
  .ad1p .ad1p-hero.ad1-internal-hero{
    --ad1-hero-mobile-media-h:clamp(20rem,96vw,26rem);
  }
  .ad1festival-archive .ad1festival-archive__hero.ad1-internal-hero{
    --ad1-hero-mobile-media-h:clamp(18rem,84vw,23rem);
  }
  .ad1p .ad1p-hero.has-image .ad1p-hero__media.has-mobile-source img,
  .ad1festival-archive .ad1festival-archive__hero.has-image .ad1festival-archive__hero-media.has-mobile-source img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:var(--ad1-hero-mobile-focal-x) var(--ad1-hero-mobile-focal-y)!important;
  }
}
