/* Current-event feature and its dedicated page share the established brand. */
.casting-button { display: inline-flex; align-items: center; justify-content: space-between; gap: 36px; min-height: 52px; padding: 15px 25px; border: 1px solid rgb(201 173 122 / .7); border-radius: 100px; background: transparent; color: var(--ivory); font: 400 13px/1.5 Montserrat, sans-serif; cursor: pointer; transition: background .25s ease, border-color .25s ease; }
.casting-button > span { font-size: 20px; line-height: 1; transition: transform .25s ease; }
.casting-button:hover { background: rgb(201 173 122 / .09); border-color: var(--gold); }
.casting-button:hover > span { transform: translate(2px,-2px); }
.casting-status { display: inline-block; width: 6px; height: 6px; margin: 0 9px 2px 0; border-radius: 50%; background: var(--gold); box-shadow: 0 0 10px rgb(201 173 122 / .25); }
.casting-feature { display: grid; grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr); align-items: center; gap: clamp(40px,7vw,112px); background: #081523; border-bottom: 1px solid rgb(201 173 122 / .18); }
.casting-feature__visual { position: relative; display: block; width: min(100%,400px); justify-self: center; border: 1px solid rgb(201 173 122 / .25); background: #080909; }
.casting-feature__visual img { display: block; width: 100%; height: auto; }
.casting-feature__visual-label { display: flex; justify-content: space-between; align-items: center; padding: 17px 20px; background: #101d2c; font-size: 11px; color: var(--gold); }
.casting-feature__visual-label > span { font-size: 18px; transition: transform .25s ease; }
.casting-feature__visual:hover .casting-feature__visual-label > span { transform: translate(2px,-2px); }
.casting-feature .eyebrow { margin-bottom: 28px; }
.casting-feature h2 { font-size: clamp(44px,5.8vw,88px); line-height: 1.02; }
.casting-feature h2 em { font-style: normal; color: var(--gold); }
.casting-feature__signature { font-size: 11px; line-height: 1.8; letter-spacing: .1em; text-transform: uppercase; margin: 25px 0; }
.casting-feature__description { max-width: 47ch; font-size: 14px; line-height: 1.95; color: #dacfbf; margin: 0 0 30px; }
.casting-feature__location { margin: 25px 0 0; color: #c4b9a7; font-size: 11px; line-height: 1.9; }
.casting-feature__location > span { margin: 0 7px; color: var(--gold); }

.casting-page { background: #0a1a2e; }
.casting-page :is(h2,h3) { font-family: 'Bodoni Moda',serif; font-weight: 400; }
.casting-page h2 { margin: 0; font-size: clamp(36px,4.4vw,64px); line-height: 1.08; letter-spacing: -.02em; }
.casting-page :is(#candidature,#casting-main) { scroll-margin-top: 110px; }
.casting-header { position: sticky; top: 0; z-index: 30; display: flex; justify-content: space-between; align-items: center; padding: 16px 6.8%; border-bottom: 1px solid rgb(201 173 122 / .22); background: #0a1a2e; }
.casting-brand { display: block; flex: none; width: 155px; }
.casting-brand img { display: block; width: 100%; height: auto; }
.casting-header nav { display: flex; align-items: center; gap: 35px; font-size: 12px; }
.casting-header__back { min-height: 44px; display: inline-flex; gap: 12px; align-items: center; }
.casting-header__apply { display: inline-flex; align-items: center; gap: 26px; min-height: 44px; padding: 12px 20px; border: 1px solid rgb(201 173 122 / .55); border-radius: 100px; }
.casting-header nav a { transition: color .25s ease, border-color .25s ease; }
.casting-header nav a:hover { color: var(--gold); border-color: var(--gold); }
.casting-cover { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); align-items: center; gap: clamp(40px,6vw,96px); padding: 64px 6.8% 80px; background: radial-gradient(ellipse at 100% 40%,rgb(201 173 122 / .055),transparent 60%),#0a1a2e; }
.casting-cover__copy { padding-block: 20px; }
.casting-cover .eyebrow { margin-bottom: 35px; }
.casting-cover__edition { font-size: 10px; line-height: 1.8; text-transform: uppercase; letter-spacing: .21em; margin: 0 0 18px; color: var(--gold); }
.casting-cover h1 { font-size: clamp(48px,6vw,91px); line-height: 1.03; letter-spacing: -.025em; }
.casting-cover h1 em { font-style: normal; color: var(--gold); }
.casting-cover__audience { margin: 24px 0 0; font: 400 27px/1.4 'Bodoni Moda',serif; }
.casting-cover__intro { margin: 20px 0 28px; max-width: 36ch; color: #d4c8b6; font-size: 14px; line-height: 1.9; }
.casting-cover__meta { display: grid; gap: 18px; border-top: 1px solid rgb(201 173 122 / .25); padding-top: 26px; margin-top: 35px; font-size: 12px; line-height: 1.8; }
.casting-cover__meta p { margin: 0; }
.casting-cover__meta span { display: block; color: var(--gold); text-transform: uppercase; letter-spacing: .12em; font-size: 9px; margin-bottom: 5px; }
.casting-cover__poster { width: min(100%,490px); margin: 0; justify-self: end; }
.casting-cover__poster a { display: block; border: 1px solid rgb(201 173 122 / .3); }
.casting-cover__poster img { display: block; width: 100%; height: auto; }
.casting-cover__poster figcaption { display: flex; justify-content: space-between; gap: 20px; margin-top: 15px; color: #c5b99f; font-size: 10px; }
.casting-cover__poster figcaption > span { white-space: nowrap; }
.casting-story { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 8vw; padding: 100px 6.8%; background: #e8dcc8; color: #122b47; }
.casting-story .eyebrow { color: #715933; }
.casting-story__body p { font-size: 14px; line-height: 1.95; margin: 0 0 22px; }
.casting-story__body strong { font-weight: 400; }
.casting-story__body .casting-note { margin: 30px 0 0; border-top: 1px solid rgb(18 43 71 / .2); padding-top: 22px; font-size: 12px; }
.casting-process { padding: 100px 6.8%; background: #122b47; }
.casting-process__heading { max-width: 700px; }
.casting-steps { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 40px; list-style: none; padding: 0; margin: 55px 0 0; }
.casting-steps li { border-top: 1px solid rgb(201 173 122 / .4); padding-top: 26px; }
.casting-steps li > span { color: var(--gold); font: 400 35px/1 'Bodoni Moda',serif; }
.casting-steps h3 { margin: 25px 0 15px; font-size: 30px; line-height: 1.2; }
.casting-steps p { font-size: 13px; line-height: 1.95; color: #e2d7c4; max-width: 35ch; margin: 0; }
.casting-application { display: grid; grid-template-columns: minmax(0,.9fr) minmax(0,1.1fr); gap: 8vw; padding: 110px 6.8%; background: #081523; }
.casting-application__intro > p:not(.eyebrow) { font-size: 14px; line-height: 1.9; color: #d4c8b6; max-width: 36ch; margin: 30px 0; }
.casting-contact-number { display: block; width: fit-content; font: 400 clamp(25px,3vw,40px)/1.4 'Bodoni Moda',serif; margin-bottom: 15px; }
.casting-application__intro .text-link { font-size: 11px; gap: 18px; }
.casting-form { display: grid; align-content: start; gap: 25px; padding-top: 5px; min-width: 0; }
.casting-form__pair { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
.casting-form label { display: block; font-size: 12px; line-height: 1.8; margin-bottom: 9px; }
.casting-form label span { color: #c2b69f; font-size: 10px; }
.casting-form :is(input,textarea) { display: block; width: 100%; min-width: 0; border: 1px solid #5f6a74; border-radius: 0; background: #122b47; color: var(--ivory); min-height: 50px; padding: 13px 15px; font: 400 16px/1.6 Montserrat,sans-serif; }
.casting-form textarea { resize: vertical; }
.casting-form :is(input,textarea)::placeholder { color: #bdb5a6; font-size: 12px; opacity: 1; }
.casting-form :is(input,textarea):focus-visible { outline: 1px solid var(--gold); outline-offset: 3px; border-color: var(--gold); }
.casting-form__help { color: #c5bba9; font-size: 11px; line-height: 1.9; margin: 0; }
.casting-form .casting-button { width: 100%; }
.casting-footer { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 28px; padding: 40px 6.8%; border-top: 1px solid rgb(201 173 122 / .2); background: #0a1a2e; }
.casting-footer .casting-brand { width: 130px; }
.casting-footer p { font-size: 11px; color: #d4c8b6; }
.casting-footer .text-link { font-size: 11px; }
@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
  .casting-cover__copy { animation: casting-arrive .9s ease both; }
  .casting-cover__poster { animation: casting-arrive 1s .15s ease both; }
  .casting-reveal { transition: opacity .8s ease, transform .8s cubic-bezier(.2,.65,.3,1); }
  .casting-reveal.is-pending { opacity: 0; transform: translateY(22px); }
  @keyframes casting-arrive { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: translateY(0); } }
}
@media (max-width: 1000px) {
  .casting-feature { gap: 40px; }
  .casting-cover { gap: 35px; }
  .casting-cover h1 { font-size: clamp(44px,6.3vw,70px); }
  .casting-application { gap: 45px; }
  .casting-form__pair { grid-template-columns: minmax(0,1fr); gap: 25px; }
}
@media (max-width: 850px) {
  .casting-cover { grid-template-columns: minmax(0,1fr); padding-top: 50px; }
  .casting-cover h1 { font-size: clamp(48px,9vw,80px); }
  .casting-cover__poster { width: min(100%,500px); justify-self: center; }
  .casting-cover__meta { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .casting-story, .casting-application { grid-template-columns: minmax(0,1fr); gap: 40px; }
  .casting-steps { gap: 25px; }
  .casting-steps h3 { font-size: 25px; }
  .casting-form__pair { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 20px; }
}
@media (max-width: 700px) {
  .casting-feature { grid-template-columns: minmax(0,1fr); gap: 36px; }
  .casting-feature__copy { grid-row: 1; }
  .casting-feature__visual { max-width: 380px; }
  .casting-feature h2 { font-size: clamp(44px,11vw,68px); }
  .casting-header { padding: 14px 24px; }
  .casting-header .casting-brand { width: 125px; }
  .casting-header nav { gap: 15px; }
  .casting-header__back { font-size: 11px; }
  .casting-header__apply { display: none; }
  .casting-cover, .casting-story, .casting-process, .casting-application { padding: 56px 26px; }
  .casting-cover__copy { padding: 0; }
  .casting-cover .eyebrow { margin-bottom: 25px; }
  .casting-cover__edition { font-size: 9px; letter-spacing: .14em; }
  .casting-cover h1 { font-size: clamp(42px,10.5vw,64px); }
  .casting-cover__meta { grid-template-columns: minmax(0,1fr); }
  .casting-steps { grid-template-columns: minmax(0,1fr); gap: 30px; margin-top: 35px; }
  .casting-steps h3 { font-size: 29px; margin-top: 18px; }
  .casting-steps p { max-width: none; }
  .casting-form__pair { grid-template-columns: minmax(0,1fr); gap: 25px; }
  .casting-footer { padding: 35px 26px; align-items: flex-start; flex-direction: column; gap: 15px; }
  .casting-footer p { margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .casting-button, .casting-button > span, .casting-feature__visual-label > span { transition: none; }
}
