/* AD1 FILM — reusable Project/Festival stages CTA. Component-scoped; no legacy stylesheet dependency. */
.ad1-stages-cta{
  --ad1-stages-line:var(--ad1-color-border-on-light,#d8d1cc);
  position:relative;overflow:hidden;isolation:isolate;
  color:var(--ad1-color-text-dark,#131213);
  background:var(--ad1-color-background-light,#f6f2ef);
  border-block:1px solid var(--ad1-stages-line);
}
.ad1-stages-cta::before{
  content:"";position:absolute;inset:0;z-index:-2;opacity:0;
  background:linear-gradient(90deg,var(--ad1-color-background-light,#f6f2ef) 0 54%,color-mix(in srgb,var(--ad1-color-background-light,#f6f2ef) 90%,transparent) 68%,transparent 100%),var(--ad1-stages-cta-image);
  background-position:left top,right center;background-size:auto,contain;background-repeat:no-repeat;
}
.ad1-stages-cta.has-image::before{opacity:1}
.ad1-stages-cta::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,color-mix(in srgb,var(--ad1-color-background-light,#f6f2ef) 20%,transparent),transparent)}
.ad1-stages-cta__shell{position:relative;z-index:1}
.ad1-stages-cta__inner{display:grid;grid-template-columns:minmax(13rem,.72fr) minmax(0,2.55fr);grid-template-areas:"head stages" "head action";gap:1.5rem 2rem;padding-block:clamp(2.75rem,5vw,4.5rem)}
.ad1-stages-cta__head{grid-area:head;display:flex;align-items:flex-start;padding:.55rem 1.8rem 0 0;border-right:1px solid var(--ad1-stages-line)}
.ad1-stages-cta__head h2{max-width:11ch;margin:0;color:var(--ad1-color-text-dark,#131213);font-family:var(--ad1-native-h2-family);font-size:var(--ad1-native-h2-size);font-weight:var(--ad1-global-h2-weight,400);line-height:var(--ad1-native-h2-line);letter-spacing:var(--ad1-native-h2-spacing)}
.ad1-stages-cta__grid{grid-area:stages;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--ad1-stages-line);border-left:1px solid var(--ad1-stages-line)}
.ad1-stages-cta__stage{min-width:0;min-height:7.5rem;display:grid;align-content:start;gap:.65rem;padding:1rem;background:color-mix(in srgb,var(--ad1-color-background-light,#f6f2ef) 72%,transparent);border-right:1px solid var(--ad1-stages-line);border-bottom:1px solid var(--ad1-stages-line);transition:background-color .2s ease,transform .2s ease}
.ad1-stages-cta__stage:hover{background:var(--ad1-color-background-light,#f6f2ef);transform:translateY(-1px)}
.ad1-stages-cta__stage small{display:block;margin:0;color:var(--ad1-color-accent,#971d1e);font-family:var(--ad1-type-meta-family,var(--ad1-native-accent-family));font-size:var(--ad1-native-meta-size);font-weight:var(--ad1-type-meta-weight,500);line-height:var(--ad1-native-meta-line);letter-spacing:var(--ad1-native-meta-spacing)}
.ad1-stages-cta__stage h3{margin:0;color:var(--ad1-color-text-dark,#131213);font-family:var(--ad1-type-form-label-family,var(--ad1-native-accent-family));font-size:var(--ad1-type-form-label-size,var(--ad1-native-accent-size));font-weight:var(--ad1-type-form-label-weight,500);line-height:var(--ad1-type-form-label-line-height,var(--ad1-native-accent-line));letter-spacing:var(--ad1-type-form-label-letter-spacing,var(--ad1-native-accent-spacing));overflow-wrap:break-word}
.ad1-stages-cta__action{grid-area:action;display:flex;justify-content:center;align-items:center;padding-top:.15rem}
.ad1-stages-cta__button{display:inline-flex;align-items:center;justify-content:center;gap:.8rem;min-width:16rem;min-height:3.25rem;padding:.9rem 1.4rem;color:var(--ad1-color-text-light,#f6f2ef);background:var(--ad1-color-accent,#971d1e);border:1px solid var(--ad1-color-accent,#971d1e);font-family:var(--ad1-type-button-ui-family,var(--ad1-native-accent-family));font-size:var(--ad1-type-button-ui-size,var(--ad1-native-accent-size));font-weight:var(--ad1-type-button-ui-weight,500);line-height:var(--ad1-type-button-ui-line-height,1.1);letter-spacing:var(--ad1-type-button-ui-letter-spacing,.06em);text-decoration:none;transition:transform .2s ease,opacity .2s ease}
.ad1-stages-cta__button:hover,.ad1-stages-cta__button:focus-visible{color:var(--ad1-color-text-light,#f6f2ef);opacity:.9;transform:translateY(-1px)}
.ad1-stages-cta__button b{color:currentColor;transition:transform .2s ease}.ad1-stages-cta__button:hover b,.ad1-stages-cta__button:focus-visible b{transform:translateX(3px)}
@media(max-width:1100px){.ad1-stages-cta__inner{grid-template-columns:1fr;grid-template-areas:"head" "stages" "action"}.ad1-stages-cta__head{padding:0 0 1.25rem;border-right:0;border-bottom:1px solid var(--ad1-stages-line)}.ad1-stages-cta__head h2{max-width:none}.ad1-stages-cta__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.ad1-stages-cta::before{background-size:auto,contain;background-position:left top,center top}.ad1-stages-cta__inner{gap:1.1rem;padding-block:2rem}.ad1-stages-cta__grid{grid-template-columns:1fr}.ad1-stages-cta__stage{min-height:0;grid-template-columns:3rem minmax(0,1fr);align-items:center;gap:.7rem;padding:.85rem}.ad1-stages-cta__action{justify-content:stretch}.ad1-stages-cta__button{width:100%;min-width:0}}
@media(prefers-reduced-motion:reduce){.ad1-stages-cta__stage,.ad1-stages-cta__button,.ad1-stages-cta__button b{transition:none!important;transform:none!important}}


/* Stage 73 — phone stage rows keep readable words and compact number rail. */
@media(max-width:767px){
  .ad1-stages-cta__stage{grid-template-columns:2.25rem minmax(0,1fr);align-items:start;gap:.75rem;padding:.95rem .9rem}
  .ad1-stages-cta__stage small{align-self:start}
  .ad1-stages-cta__stage h3{min-width:0;max-width:none;overflow-wrap:normal;word-break:normal;hyphens:none}
}
@media(max-width:390px){.ad1-stages-cta__stage{grid-template-columns:2rem minmax(0,1fr)}}


/* Stage 77 — mobile semantic typography bridge. Geometry remains component-owned;
 * font metrics come from the Active Kit mobile roles. */
@media(max-width:767px){
  .ad1-stages-cta__stage small{
    font-size:var(--ad1-type-meta-size-mobile,var(--ad1-native-meta-size));
    line-height:var(--ad1-type-meta-line-height-mobile,var(--ad1-native-meta-line));
    letter-spacing:var(--ad1-type-meta-letter-spacing-mobile,var(--ad1-native-meta-spacing));
  }
  .ad1-stages-cta__stage h3{
    font-size:var(--ad1-type-form-label-size-mobile,var(--ad1-native-accent-size));
    line-height:var(--ad1-type-form-label-line-height-mobile,var(--ad1-native-accent-line));
    letter-spacing:var(--ad1-type-form-label-letter-spacing-mobile,var(--ad1-native-accent-spacing));
  }
  .ad1-stages-cta__button{
    font-size:var(--ad1-type-button-ui-size-mobile,var(--ad1-native-accent-size));
    line-height:var(--ad1-type-button-ui-line-height-mobile,var(--ad1-native-accent-line));
    letter-spacing:var(--ad1-type-button-ui-letter-spacing-mobile,var(--ad1-native-accent-spacing));
  }
}
