@media (max-width: 1099px) {

  

  
  body { min-width: 0; }
  body::after { content: none; display: none; }

  
  :root { --campaign: 100%; }
  .campaign { width: 100%; box-shadow: none; }
  .ambient { inset: -14%; }

  

  

  .panel,
  .panel--hero,
  .panel--luxury,
  .panel--reasons,
  .panel--training,
  .panel--roles,
  .panel--flow,
  .panel--faq,
  .panel--entry {
    display: flex;
    flex-direction: column;
    align-items: center;
    height: auto;
    min-height: 0;
    padding: 84px 20px 92px;
  }

  
  .panel__bg { inset: -40px; }
  .panel__paper { position: absolute; inset: 0; }

  
  .panel--luxury { margin-top: 0; clip-path: none; }
  .panel--reasons { margin-top: 0; clip-path: none; }
  .panel--training { margin-top: 0; clip-path: none; }
  .panel--roles {
    margin-top: -7vw;
    clip-path: polygon(0 7vw, 100% 0, 100% 100%, 0 100%);
    padding-top: calc(84px + 7vw);
  }
  .panel--flow {
    margin-top: -6vw;
    clip-path: polygon(0 6vw, 100% 0, 100% 100%, 0 100%);
    padding-top: calc(84px + 6vw);
  }
  .panel--faq { margin-top: 0; clip-path: none; }
  .panel--entry {
    margin-top: -5vw;
    clip-path: polygon(0 0, 50% 5vw, 100% 0, 100% 100%, 0 100%);
    padding-top: calc(84px + 5vw);
  }

  
  .panel--roles .panel__paper { clip-path: polygon(0 7vw, 0 7vw, 0 100%, 0 100%); }
  .panel--roles.is-slash-open .panel__paper { clip-path: polygon(0 7vw, 100% 0, 100% 100%, 0 100%); }
  
  .slash-line { display: none; }
  .panel--roles::before { background: linear-gradient(174deg, rgba(0, 0, 0, .82) 7vw, transparent 40vw); }

  

  .artwork-head,
  .artwork-head--floor,
  .artwork-head--reasons,
  .artwork-head--rookie,
  .artwork-head--positions,
  .artwork-head--flow,
  .artwork-head--faq,
  .venue-comparison,
  .venue-comparison--single,
  .reason-ledger,
  .salary-lockup,
  .salary-lockup--artwork,
  .salary-lockup--training,
  .position-gates,
  .flow-lab,
  .faq-sampler,
  .faq-sampler--single,
  .entry-copy,
  .panel--entry footer,
  .brand-lockup {
    position: static;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    width: 100%;
    height: auto;
    transform: none;
  }

  
  .hero-copy--poster {
    position: absolute;
    top: 0;
    right: auto;
    bottom: auto;
    left: 50%;
    width: calc(100% - 40px);
    height: auto;
    transform: translateX(-50%);
  }

  
  .artwork-head[data-reveal],
  .venue-comparison[data-reveal],
  .entry-copy[data-reveal] { transform: translateY(40px) scale(.985); }
  .artwork-head[data-reveal].is-visible,
  .venue-comparison[data-reveal].is-visible,
  .entry-copy[data-reveal].is-visible { transform: none; }
  .hero-copy[data-reveal] { transform: translate(-50%, 40px) scale(.985); }
  .hero-copy[data-reveal].is-visible { transform: translateX(-50%); }

  
  .artwork-head h2,
  .entry-copy h2,
  .hero-copy h1,
  .hero-copy--poster h1 {
    width: 92%;
    margin: 14px auto 0;
  }
  .entry-copy h2 { margin-bottom: 26px; }
  .artwork-head h2 img,
  .hero-copy h1 img,
  .hero-copy--poster h1 img,
  .entry-copy h2 img { width: 100%; height: auto; }

  
  .section-caption,
  .section-caption--wide {
    width: 100%;
    margin-top: 16px;
    font-size: 14px;
    line-height: 1.85;
    letter-spacing: .01em;
    text-wrap: balance;
  }
  .artwork-head > p { font-size: 9px; letter-spacing: .34em; }

  

  
  .panel--hero {
    justify-content: center;
    min-height: 100vh;
    min-height: min(100svh, 1000px);
    padding: 96px 20px 120px;
  }
  .hero-copy--poster > p { font-size: 9px; letter-spacing: .34em; }
  .hero-copy--poster > strong { margin-top: 14px; font-size: 10px; letter-spacing: .2em; }
  .hero-copy strong i { width: 34px; }
  .hero-copy__jp { margin-top: 18px; font-size: 15px; letter-spacing: .22em; text-indent: .22em; }
  
  .hero-sidecopy { display: none; }
  
  .hero-scroll {
    right: auto;
    bottom: 92px;
    left: 50%;
    transform: translateX(-50%);
  }
  .hero-scroll i { height: 34px; }

  

  
  .venue-comparison--single .frame-study,
  .venue-window { width: 100%; }
  
  .flare { display: none; }

  
  .venue-window--ornate.is-light-revealed .venue-window__frame { animation-duration: 1.4s; }
  .venue-window--ornate.is-light-revealed .venue-window__frame-light {
    animation-duration: 2.2s;
    animation-delay: .3s;
  }
  .venue-window--ornate.is-light-revealed::before {
    animation-duration: 1.6s;
    animation-delay: .5s;
  }
  .venue-window--ornate.is-light-revealed::after {
    animation-duration: 1.4s;
    animation-delay: .7s;
  }
  .venue-window--ornate.is-light-revealed .venue-window__screen video {
    animation-duration: 1.5s;
    animation-delay: .9s;
  }

  
  .venue-window video { filter: saturate(.96) contrast(1.04) brightness(1.16) sepia(0); }
  .venue-window__screen { box-shadow: inset 0 0 9px rgba(0, 0, 0, .42); }
  @keyframes floorVideoReveal {
    0% { opacity: 0; transform: scale(1.045); filter: saturate(.35) contrast(1.22) brightness(.18) sepia(.24); }
    58% { opacity: 1; filter: saturate(1) contrast(1.06) brightness(1.42) sepia(0); }
    100% { opacity: 1; transform: scale(1); filter: saturate(.96) contrast(1.04) brightness(1.16) sepia(0); }
  }

  

  .reason-ledger { border: 1px solid rgba(239, 199, 111, .22); }
  .reason-card { min-height: 0; padding: 0 20px; }
  .reason-card__content {
    grid-template-columns: 1fr;
    gap: 6px;
    min-height: 0;
    padding: 26px 0 24px;
  }
  .reason-card strong { font-size: 24px; }
  .reason-card__content > span { font-size: 13px; line-height: 1.7; text-wrap: pretty; }
  
  .reason-card__cue {
    position: static;
    align-self: end;
    margin: 0 0 20px;
    opacity: 1;
    transform: none;
    text-align: right;
  }
  .reason-card[aria-pressed="true"] .reason-card__cue { color: #efc56b; }

  

  .salary-lockup--artwork,
  .salary-lockup--training { align-items: center; padding: 0; }
  .salary-lockup__label { width: min(62%, 260px); }
  
  .salary-lockup--training > .salary-lockup__amount-wrap {
    width: 92%;
    margin: 4px auto 0;
  }
  .salary-lockup__amount,
  .salary-lockup--training .salary-lockup__amount-wrap > .salary-lockup__amount {
    width: 100%;
    margin: 0;
  }

  

  .position-gates {
    display: grid;
    grid-template-columns: 1fr;
    gap: 12px;
    overflow: visible;
    box-shadow: none;
  }
  .position-gates a {
    flex: none;
    min-height: 0;
    padding: 30px 22px 28px;
    border: 1px solid rgba(245, 205, 116, .24);
  }
  .position-gates:hover a:not(:hover) { flex: none; filter: none; }
  .position-gates a:hover,
  .position-gates a:focus-visible { flex: none; }
  .role-card strong,
  .role-card--cast strong,
  .role-card--internal strong,
  .role-card--management strong {
    width: auto;
    margin-top: 12px;
    font-size: 30px;
    letter-spacing: -.01em;
    transform: none;
  }
  .position-gates span { margin-top: 12px; font-size: 14px; }
  
  .role-card__detail {
    max-height: none;
    margin-top: 18px;
    padding-top: 16px;
    overflow: visible;
    border-color: rgba(240, 193, 91, .28);
    opacity: 1;
    transform: none;
  }
  .role-card__detail p { max-width: none; font-size: 12.5px; text-wrap: pretty; }
  .position-gates i { top: 22px; right: 18px; }
  
  .role-card:is(:hover, :focus-visible) > img {
    transform: none;
    filter: grayscale(.18) sepia(.34) hue-rotate(-16deg) saturate(.76) contrast(1.11) brightness(.62);
  }
  .role-card--cast:is(:hover, :focus-visible) > img { filter: grayscale(.18) sepia(.34) hue-rotate(-16deg) saturate(.76) contrast(1.11) brightness(.54); }
  .role-card--internal:is(:hover, :focus-visible) > img { filter: grayscale(.18) sepia(.34) hue-rotate(-16deg) saturate(.76) contrast(1.11) brightness(.76); }
  .role-card--management:is(:hover, :focus-visible) > img { filter: grayscale(.18) sepia(.34) hue-rotate(-16deg) saturate(.76) contrast(1.11) brightness(.56); }
  .role-card--management:is(:hover, :focus-visible) strong { letter-spacing: -.01em; }
  .role-card:is(:hover, :focus-visible) .role-card__detail {
    max-height: none;
    margin-top: 18px;
    padding-top: 16px;
  }

  

  .flow-lab__grid { display: block; width: 100%; margin: 0; }
  .flow-option,
  .flow-option__scene,
  .flow-option--stack .flow-option__scene { height: auto; }
  .flow-option { padding: 0; }
  .flow-option__scene { margin-top: 0; }
  .flow-option--stack .flow-option__scene {
    grid-template-rows: none;
    gap: 44px;
  }
  .flow-option--stack .flow-option__scene > span {
    grid-template-columns: 46px 1fr;
    gap: 2px 16px;
    align-items: start;
    padding: 24px 20px;
  }
  .flow-option--stack .flow-option__scene small {
    grid-row: 1 / 3;
    align-self: center;
    font-size: 22px;
  }
  .flow-option--stack .flow-option__scene b { grid-column: 2; font-size: 17px; }
  .flow-option--stack .flow-option__scene em { grid-column: 2; margin-top: 6px; font-size: 13px; text-wrap: pretty; }
  .flow-option--stack .flow-option__scene > span:not(:last-of-type)::after { bottom: -26px; }
  .flow-option--selected:hover { transform: none; }

  

  .faq-study--crystal { gap: 8px; }
  .faq-drawer { clip-path: polygon(0 0, 96% 0, 100% 22px, 100% 100%, 4% 100%, 0 calc(100% - 22px)); }
  
  .faq-drawer > button {
    grid-template-columns: 30px 1fr 34px;
    gap: 0 8px;
    align-items: center;
    min-height: 74px;
    padding: 18px 16px;
  }
  .faq-drawer > button b { font-size: 17px; }
  .faq-drawer > button span { font-size: 14.5px; line-height: 1.65; text-wrap: pretty; }
  
  .faq-drawer > button i::after { font-size: 8.5px; letter-spacing: .1em; }
  .faq-drawer__answer p { margin: 0 16px 0 60px; font-size: 13.5px; text-wrap: pretty; }
  .faq-drawer.is-open .faq-drawer__answer p { padding-bottom: 26px; }

  

  .entry-copy > strong {
    width: 100%;
    font-size: 14.5px;
    line-height: 1.95;
    text-wrap: balance;
  }
  .entry-actions { width: 100%; margin-top: 34px; }
  .entry-actions a { min-height: 118px; padding: 26px 22px; }
  .entry-actions span { font-size: 16px; }
  .entry-actions i { width: 40px; }
  .entry-actions a:hover i { width: 40px; }
  .panel--entry footer { margin-top: 44px; text-align: center; }
  .brand-lockup {
    grid-template-columns: 1fr;
    justify-items: center;
    gap: 14px;
    margin-top: 34px;
  }
  .brand-lockup img { width: 74px; }
  .brand-lockup span,
  .brand-lockup span:first-child { text-align: center; }
  .brand-lockup span { font-size: 7px; letter-spacing: .1em; }

  

  .floating-contact {
    right: 12px;
    bottom: 12px;
    left: 12px;
    width: auto;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
  }
  .floating-contact.is-muted { transform: translateY(28px); }
  .floating-contact__button {
    grid-template-columns: 38px 1fr;
    min-height: 54px;
    padding: 0 12px 0 8px;
  }
  .floating-contact__button:hover,
  .floating-contact__button:focus-visible { transform: none; }
  .floating-contact__icon { width: 24px; height: 24px; }
  .floating-contact__icon--trial { width: 23px; height: 23px; }
  .floating-contact__button span { padding-left: 10px; font-size: 13px; }
  
  .panel--entry { padding-bottom: 132px; }

  

  
  .cinema-intro__lockup {
    top: calc(var(--screen-h, 100vh) / 2);
    right: 24px;
    left: 24px;
    width: auto;
    transform: translateY(-50%);
  }
  .cinema-intro__lockup img { width: 100%; margin: 16px 0 8px; }
  .cinema-intro__lockup span { width: 100%; }
  
  .cinema-intro__letterbox { height: min(9vh, 78px); }
  .cinema-intro__credit { font-size: 9px; letter-spacing: .38em; text-indent: .38em; }

  

  
  .trial-modal {
    width: calc(100vw - 24px);
    max-width: none;
    max-height: calc(100dvh - 24px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  .trial-modal__panel { padding: 34px 20px 26px; }
  .trial-modal__title { font-size: 20px; }
  .trial-modal__lead { margin-bottom: 22px; font-size: 12.5px; }
  .trial-field { margin-bottom: 16px; }
  .trial-modal__submit { padding: 17px 22px; }
  
  .trial-field input,
  .trial-field select,
  .trial-field textarea { font-size: 16px; }

  
  html.mobile-stability .atmosphere,
  html.mobile-stability .particles,
  html.mobile-stability .living-flare,
  html.mobile-stability .panel__light,
  html.mobile-stability .panel__gold-dust,
  html.mobile-stability .flare { display: none !important; }

  html.mobile-stability.mobile-particles .particles--mid { display: block !important; }

  html.mobile-stability .panel__bg {
    filter: none !important;
    transform: none !important;
    will-change: auto !important;
    background-color: rgba(10, 0, 0, .34);
    background-blend-mode: multiply;
  }
  html.mobile-stability .panel--reasons > .panel__bg,
  html.mobile-stability .panel--faq > .panel__bg { background-color: rgba(0, 0, 0, .62); }
  html.mobile-stability .panel--roles > .panel__bg { background-color: rgba(4, 0, 0, .5); }

  html.mobile-stability [data-reveal] {
    filter: none;
    transition: opacity .35s ease, transform .35s ease;
  }
  html.mobile-stability [data-soft-rise] {
    --soft-rise: 1 !important;
    filter: none !important;
    transform: none !important;
    will-change: auto !important;
  }
  html.mobile-stability .panel.is-motion-active .artwork-head h2::before,
  html.mobile-stability .panel.is-motion-active .artwork-head h2::after,
  html.mobile-stability .panel.is-motion-active .entry-copy h2::before,
  html.mobile-stability .panel.is-motion-active .entry-copy h2::after,
  html.mobile-stability .panel--training.is-motion-active .salary-lockup__amount-wrap::before,
  html.mobile-stability .panel--training.is-motion-active .salary-lockup__amount-wrap::after,
  html.mobile-stability .salary-lockup--artwork::before,
  html.mobile-stability .hero-scroll i { animation: none !important; }

  
  html.mobile-stability .cinema-intro__film {
    animation: none !important;
    transform: none !important;
  }
  html.mobile-stability .cinema-intro__grain { display: none; }

  
  html.mobile-stability .venue-window__screen {
    background: #050100 url("./assets/opening-film-poster.jpg") center / cover no-repeat;
  }
  html.mobile-stability .venue-window video,
  html.mobile-stability .reason-card__video,
  html.mobile-stability .reason-card__cue { display: none !important; }
  html.mobile-stability.mobile-floor-video .venue-window video { display: block !important; }
  html.mobile-stability .reason-card:disabled { cursor: default; }

  
  html.mobile-stability .role-card[aria-disabled="true"] {
    cursor: default;
    pointer-events: none;
  }
  html.mobile-stability .role-card,
  html.mobile-stability .role-card > img,
  html.mobile-stability .role-card__detail {
    transition: none !important;
    transform: none !important;
    will-change: auto !important;
  }

  
  html.mobile-stability .faq-drawer {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    clip-path: none;
    background: rgba(20, 7, 3, .72);
  }
  html.mobile-stability .faq-drawer::after { display: none; }
  html.mobile-stability .faq-drawer__answer,
  html.mobile-stability .faq-drawer__answer p {
    transition: none !important;
    filter: none !important;
    transform: none !important;
  }

  
  html.mobile-stability .glass-surface,
  html.mobile-stability .entry-actions a,
  html.mobile-stability .floating-contact__button,
  html.mobile-stability .trial-modal,
  html.mobile-stability .trial-modal::backdrop {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
  }
}

@media (min-width: 641px) and (max-width: 1099px) {
  
  :root { --campaign: min(860px, 100%); }
  .campaign {
    width: min(860px, 100%);
    box-shadow: 0 0 110px #000;
  }

  .panel,
  .panel--hero,
  .panel--luxury,
  .panel--reasons,
  .panel--training,
  .panel--roles,
  .panel--flow,
  .panel--faq,
  .panel--entry { padding-right: 0; padding-left: 0; }

  
  .artwork-head,
  .venue-comparison,
  .venue-comparison--single,
  .reason-ledger,
  .salary-lockup,
  .salary-lockup--artwork,
  .salary-lockup--training,
  .position-gates,
  .flow-lab,
  .faq-sampler,
  .faq-sampler--single,
  .entry-copy,
  .panel--entry footer,
  .brand-lockup {
    width: min(740px, calc(100% - 56px));
    margin-inline: auto;
  }
  
  .hero-copy--poster { width: min(860px, 100%); }
  .hero-copy--poster h1 { width: min(810px, calc(100% - 32px)); }
  .artwork-head h2 { width: min(719px, calc(100% - 32px)); }

  .floating-contact {
    right: auto;
    left: 50%;
    width: min(420px, calc(100% - 24px));
    transform: translateX(-50%);
  }
  .floating-contact.is-muted { transform: translate(-50%, 28px); }
}

@media (max-width: 400px) {
  .panel,
  .panel--hero,
  .panel--luxury,
  .panel--reasons,
  .panel--training,
  .panel--roles,
  .panel--flow,
  .panel--faq,
  .panel--entry { padding-right: 16px; padding-left: 16px; }
  .reason-card { padding: 0 16px; }
  .position-gates a { padding: 26px 18px 24px; }
  .flow-option--stack .flow-option__scene > span { padding: 20px 16px; }
  .faq-drawer > button { grid-template-columns: 26px 1fr 30px; gap: 0 8px; padding: 16px 14px; }
  .faq-drawer > button b { font-size: 15px; }
  .faq-drawer > button span { font-size: 14px; }
  .faq-drawer > button i::after { font-size: 7.5px; letter-spacing: .04em; }
  .faq-drawer__answer p { margin: 0 14px 0 48px; }
  .floating-contact__button span { font-size: 12px; }
}

@media (max-width: 640px) {
  .ambient { display: none; }

  
  .venue-comparison--single .frame-study {
    position: relative;
    left: 50%;
    width: 108.4vw;
    transform: translateX(-50%);
  }
}

@media (max-width: 359px) {
  .role-card--management > img { object-position: center 13.7%; }
}
@media (min-width: 360px) and (max-width: 399px) {
  .role-card--management > img { object-position: center 16.7%; }
}
@media (min-width: 400px) and (max-width: 439px) {
  .role-card--management > img { object-position: center 18.7%; }
}
@media (min-width: 440px) and (max-width: 519px) {
  .role-card--management > img { object-position: center 20.4%; }
}
@media (min-width: 520px) and (max-width: 599px) {
  .role-card--management > img { object-position: center 21.3%; }
}
@media (min-width: 600px) and (max-width: 699px) {
  .role-card--management > img { object-position: center 22.4%; }
}
@media (min-width: 700px) and (max-width: 1099px) {
  .role-card--management > img { object-position: center 23.3%; }
}
