/* Work art direction: large imagery, distinct scenes, measured motion. Desktop only. */
.work-fashion-echo,.work-macro-detail{display:none}
.work-format-desktop{display:none}
@media(min-width:768px){
  .work-format-mobile{display:none}
  .work-format-desktop{display:inline}
  .page-work{--lime:#c9ff1b;--ink:#17191b;background:#fff;color:var(--ink)}
  .page-work .site-header{position:relative;z-index:40;background:#fff;padding-bottom:18px;min-height:82px}
  .page-work .site-header nav{box-shadow:0 12px 35px #1111;border-color:#1111}

  .page-work .festival-hero{height:calc(100svh - 82px);min-height:650px;max-height:930px;padding:8vh var(--pad) 45px;overflow:hidden;isolation:isolate;background:#fff}
  .page-work .festival-hero h1,.page-work:lang(ru) .festival-hero h1{font-size:clamp(47px,4.9vw,78px);line-height:.98;letter-spacing:-.065em;max-width:44%;margin:4vh 0 4vh;font-weight:430;position:relative;z-index:2}
  .page-work .festival-overline{position:relative;z-index:3;margin:0;font-size:10px;letter-spacing:.12em}
  .page-work .work-opening-art{inset:0 0 0 42%;z-index:0;perspective:1400px;transform:translate3d(0,var(--hero-y,0px),0) rotateY(var(--hero-turn,0deg));transform-origin:75% 50%;backface-visibility:hidden}
  .page-work .opening-fashion{inset:0;width:100%;height:100%;box-shadow:none;overflow:hidden}
  .page-work .opening-fashion img{width:100%;height:100%;object-fit:cover;object-position:52% 44%;background:#141414;transform:scale(1.035);transition:transform 1s cubic-bezier(.2,.7,.2,1)}
  .page-work .festival-hero:hover .opening-fashion img{transform:scale(1.075)}
  .page-work .opening-sheet,.page-work .opening-object{display:none}
  .page-work .work-opening-copy{width:40%;max-width:525px;margin:0;position:relative;z-index:2}
  .page-work .work-opening-copy>p{font-size:clamp(23px,2.35vw,36px);line-height:1.22;letter-spacing:-.035em;font-weight:430;max-width:24ch;margin:0 0 4vh}
  .page-work .work-opening-copy>div{font-size:clamp(13px,1.05vw,16px);line-height:1.65;max-width:32ch}
  .page-work .work-action{display:flex;align-items:center;justify-content:space-between;min-width:0;width:min(290px,100%);margin-top:4vh;padding:9px 0 13px;background:transparent;border-bottom:1px solid #17191b;font-size:11px;letter-spacing:.02em;transition:padding .3s}
  .page-work .work-action:hover{padding-left:8px;text-decoration:none}
  .page-work .work-action span{display:grid;place-items:center;width:42px;height:42px;background:var(--lime);font-size:22px}

  .page-work .work-ribbon{margin:0;background:var(--lime);padding:15px 0;z-index:4}
  .page-work .work-ribbon span{font-size:clamp(22px,3vw,44px);font-weight:450;letter-spacing:-.045em;animation:work-ticker 24s linear infinite;will-change:transform}
  @keyframes work-ticker{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
  .page-work .work-films-heading{padding:clamp(45px,6vw,86px) var(--pad) clamp(35px,5vw,65px);gap:25px 4vw;background:#fff;position:relative;z-index:4}
  .page-work .work-films-heading h2{font-size:clamp(35px,4vw,58px);letter-spacing:-.052em;font-weight:430;transform:none!important;will-change:auto}
  .page-work .work-films-heading h2 em{font-weight:400}
  .page-work .work-films-heading p{font-size:clamp(13px,1.2vw,17px);justify-self:end;max-width:27ch}

  .page-work .film-stack{margin:0;padding:0;background:#121416;isolation:isolate}
  .page-work .film-stack .festival-film,.page-work:not(.work-motion) .film-stack .festival-film{position:sticky;top:0;width:100%;height:100svh;min-height:650px;max-height:none;margin:0!important;padding:clamp(28px,3.7vw,58px)!important;border:0;box-shadow:0 -12px 25px #0003;overflow:hidden;scroll-margin-top:0;isolation:isolate}
  .page-work .film-stack .film-overline{position:relative;z-index:7;font-size:10px;letter-spacing:.08em;border-bottom:1px solid currentColor;opacity:.78;padding:0 0 17px;margin:0!important}
  .page-work .film-stack h2{font-size:clamp(30px,3.45vw,54px)!important;line-height:1.05!important;letter-spacing:-.055em!important;font-weight:430!important;margin:0 0 24px}
  .page-work .film-stack .work-film-short{font-size:clamp(13px,1.1vw,16px)!important;line-height:1.65!important;max-width:32ch;margin:0 0 30px}
  .page-work .film-stack .festival-film{perspective:1400px}
  .page-work .film-stack .festival-player{position:relative;z-index:3;transform:perspective(1400px) translate3d(0,var(--scene-y,0px),0) rotateY(var(--scene-turn,0deg)) scale(var(--scene-scale,1));transition:none;backface-visibility:hidden;will-change:transform}
  .page-work .film-stack .festival-player video{display:block;object-fit:contain}
  .page-work .film-stack .festival-player figcaption{font-size:9px;letter-spacing:.04em;opacity:.85;padding-top:8px}

  .page-work .film-stack .festival-film.fashion-cut{background:#fafbf8;grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);grid-template-rows:auto 1fr;gap:28px 35px}
  .page-work .fashion-cut::before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,#ffffffd4 7%,#ffffff00 65%);pointer-events:none;z-index:1}
  .page-work .film-stack .fashion-cut-copy{position:relative;z-index:5;align-self:center;grid-column:1;grid-row:2;padding-bottom:0}
  .page-work .film-stack .fashion-cut .festival-player{grid-column:2;grid-row:2;align-self:center;justify-self:start;width:min(41vw,42.75svh,430px);max-width:none;margin-left:2vw;filter:drop-shadow(18px 22px 25px #1114)}
  .page-work .film-stack .fashion-cut .portrait-player video{width:100%;height:auto;aspect-ratio:9/16;max-height:76svh;object-fit:cover;background:#111}
  .page-work .film-stack .fashion-cut .work-fashion-echo{display:block;position:absolute;z-index:1;right:0;top:9%;width:35%;height:86%;overflow:hidden;transform:perspective(1400px) translate3d(var(--hover-x,0px),calc(var(--echo-y,0px) + var(--hover-y,0px)),38px) rotateY(calc(var(--echo-turn,0deg) + var(--hover-turn,0deg)));transform-origin:100% 50%;backface-visibility:hidden;will-change:transform}
  .page-work .film-stack .fashion-cut .work-fashion-echo img{width:100%;height:100%;object-fit:cover;object-position:48% 40%;filter:contrast(1.1)}
  .page-work .fashion-cut .brief-film{display:inline-block;padding:8px 0;border-bottom:1px solid currentColor;font-size:11px}

  .page-work .film-stack .festival-film.macro-cut{background:radial-gradient(ellipse at 74% 67%,#e3ff95 0%,#f6f9ed 46%,#fff 76%);display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;gap:25px;color:var(--ink)}
  .page-work .macro-cut::before{content:"";position:absolute;z-index:0;left:-9%;top:27%;width:43vw;height:43vw;max-width:660px;max-height:660px;border-radius:50%;background:radial-gradient(circle,#c9ff1b99,transparent 67%);filter:blur(46px);transform:translate3d(var(--spot-x,0px),var(--spot-y,0px),0);pointer-events:none}
  .page-work .film-stack .macro-title{position:relative;z-index:4;grid-column:1;grid-row:2;align-self:start}
  .page-work .macro-title>div{display:grid!important;grid-template-columns:1fr 1fr;align-items:end;gap:30px}
  .page-work .film-stack .macro-title h2{max-width:100%;margin:0}
  .page-work .film-stack .macro-title .work-film-short{max-width:30ch;justify-self:end;margin:0}
  .page-work .film-stack .macro-cut .work-macro-detail{display:block;position:absolute;z-index:1;top:37%;left:5%;width:27%;height:45%;margin:0;transform:perspective(1300px) translate3d(var(--hover-x,0px),calc(var(--detail-y,0px) + var(--hover-y,0px)),55px) rotateY(calc(var(--detail-turn,0deg) + var(--hover-turn,0deg))) rotate(-4deg);transform-origin:0 50%;backface-visibility:hidden;will-change:transform;box-shadow:16px 23px 34px #14210e36}
  .page-work .film-stack .macro-cut .work-macro-detail img{width:100%;height:100%;object-fit:cover;object-position:35% center}
  .page-work .film-stack .macro-cut .work-macro-detail figcaption{position:absolute;left:12px;bottom:12px;background:#ffffffe6;padding:8px 10px;font-size:8px;letter-spacing:.08em;color:#17191b}
  .page-work .film-stack .macro-cut>.festival-player{grid-column:1;grid-row:3;align-self:center;justify-self:end;width:min(76%,990px);margin-right:2vw;filter:drop-shadow(20px 26px 28px #16200d45)}
  .page-work .film-stack .macro-cut video{width:100%;max-height:58svh;background:#e9ece5}

  .page-work .film-stack .festival-film.character-cut{background:radial-gradient(ellipse at 65% 73%,#24282c 0%,#101112 68%);display:grid;grid-template-columns:1fr;grid-template-rows:auto auto 1fr;gap:23px;color:#f7f8f5}
  .page-work .character-cut::before{content:"";position:absolute;z-index:0;inset:0;background:radial-gradient(circle at var(--cursor-x,70%) var(--cursor-y,55%),#c9ff1b14,transparent 34%);pointer-events:none}
  .page-work .film-stack .character-heading{position:relative;z-index:3;grid-column:1;grid-row:2;align-self:start}
  .page-work .character-heading>div{display:grid!important;grid-template-columns:1fr 1fr;gap:30px;align-items:end}
  .page-work .film-stack .character-heading h2{max-width:100%;margin:0}
  .page-work .film-stack .character-heading .work-film-short{max-width:31ch;justify-self:end;margin:0}
  .page-work .film-stack .character-cut>.festival-player{grid-column:1;grid-row:3;align-self:center;justify-self:center;width:100%;filter:drop-shadow(15px 25px 30px #0008)}
  .page-work .film-stack .character-cut video{width:100%;max-height:67svh;background:#111}

  .page-work .festival-formats{display:grid;grid-template-columns:minmax(230px,.58fr) minmax(0,1fr);gap:25px 6vw;padding:clamp(60px,7vw,110px) var(--pad);border:0;background:#fff;position:relative;z-index:5}
  .page-work .formats-heading{display:block;margin:0;align-self:start;position:sticky;top:85px}
  .page-work .formats-heading h2{font-size:clamp(30px,3.2vw,49px);line-height:1.1;letter-spacing:-.04em}
  .page-work .service-rows{grid-column:2;grid-row:1}
  .page-work .festival-formats .service-row{grid-template-columns:26px minmax(140px,.75fr) minmax(175px,1fr);gap:15px;padding:25px 0;border-top:1px solid #17191b3b;align-items:start;transition:padding-left .3s,background .3s}
  .page-work .festival-formats .service-row:hover{padding-left:13px;background:#c9ff1b24}
  .page-work .festival-formats .service-row h3{font-size:clamp(18px,1.6vw,26px);line-height:1.1;font-weight:430}
  .page-work .festival-formats .service-row p{font-size:12px;line-height:1.55}
  .page-work .festival-formats .service-row .row-meta{font-size:11px;grid-column:2/-1;text-align:left}
  .page-work .festival-formats>.small-note{grid-column:2;font-size:11px;line-height:1.5;max-width:60ch}

  .page-work .service-depth{padding:clamp(65px,8vw,120px) var(--pad);background:#f8f9f6}
  .page-work .service-depth>h2{font-size:clamp(34px,3.6vw,56px);line-height:1.1;font-weight:420}
  .page-work .work-capability-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,.72fr);gap:clamp(30px,5vw,90px);align-items:start;margin:45px 0 55px}
  .page-work .work-capability-visual{display:block!important;order:2;position:sticky;top:105px;min-width:0}
  .page-work .capability-images{aspect-ratio:.88;background:#e8eae5;box-shadow:18px 22px 35px #1112}
  .page-work .capability-images img{object-fit:cover;transition:opacity 1.25s ease,transform 2.1s cubic-bezier(.2,.7,.2,1)}
  .page-work .capability-images img.is-current{transform:scale(1)}
  .page-work .capability-images img:nth-child(2){object-fit:cover;background:#fff}
  .page-work .work-capability-visual>p{font-size:9px;letter-spacing:.1em;text-transform:uppercase;margin-top:15px}
  .page-work .work-service-list{order:1;min-width:0}
  .page-work .work-service-list article{padding:28px 0 31px;border-color:#17191b40}
  .page-work .work-service-list h3{font-size:clamp(24px,2.8vw,42px);letter-spacing:-.035em}
  .page-work .work-service-list p{font-size:14px;max-width:62ch}
  .page-work .work-service-list article:hover,.page-work .work-service-list article:focus-visible{background:transparent;padding-left:20px;border-left:4px solid var(--lime)}
  .page-work .work-hover-image{width:225px;height:285px;transform:translate(-50%,-50%) rotate(-5deg);border:5px solid #fff}

  .page-work .project-cta{padding:clamp(75px,8vw,125px) var(--pad);background:#121416;color:#fff}
  .page-work .project-cta h2,.page-work:lang(ru) .project-cta h2{font-size:clamp(45px,6vw,91px);line-height:.99;font-weight:430}
  .page-work .project-cta h2 a>span{background:var(--lime);color:var(--ink);width:70px;height:70px;font-size:32px}
  .page-work .site-footer{background:#121416;color:#fff;border-color:#fff4}
}
@media(min-width:768px) and (max-width:1050px){
  .page-work .festival-hero{min-height:690px;padding-top:90px}
  .page-work .festival-hero h1{margin:20px 0 35px!important}
  .page-work .work-opening-copy{width:40%}
  .page-work .work-opening-copy>p{font-size:clamp(20px,2.6vw,29px)}
  .page-work .film-stack .festival-film{min-height:720px;padding:32px!important}
  .page-work .film-stack .fashion-cut .festival-player{width:min(41vw,42.75svh,430px);margin-left:2vw}
  .page-work .film-stack .fashion-cut .work-fashion-echo{width:31%;top:12%;height:75%}
  .page-work .film-stack .fashion-cut .portrait-player video{height:auto;aspect-ratio:9/16;max-height:76svh;object-fit:cover}
  .page-work .film-stack .macro-cut .work-macro-detail{left:4%;width:29%;height:40%}
  .page-work .film-stack .macro-cut>.festival-player{width:78%;margin-right:0}
  .page-work .festival-formats{gap:20px 35px;grid-template-columns:minmax(200px,.5fr) minmax(0,1fr)}
  .page-work .work-capability-layout{grid-template-columns:minmax(0,1fr) minmax(250px,.7fr);gap:27px}
  .page-work .festival-formats .service-row{grid-template-columns:24px 1fr;gap:9px 17px}
  .page-work .festival-formats .service-row p,.page-work .festival-formats .service-row .row-meta{grid-column:2}
}
@media(prefers-reduced-motion:reduce){
  .page-work .opening-fashion img,.page-work .film-stack .festival-player,.page-work .capability-images img{transition:none}
  .page-work .work-ribbon span{animation:none}
}
@media(min-width:768px){
  .page-work.work-motion .work-ribbon span{animation:work-ticker 24s linear infinite}
}
@media(max-width:767px){
  .page-work{--lime:#c9ff1b;--ink:#202024;background:#fff;color:var(--ink)}
  .page-work .festival-hero{display:flex;flex-direction:column;position:relative;min-height:0;height:auto;padding:28px 20px 0;background:#fff;overflow:hidden}
  .page-work .festival-hero .work-desktop{display:block}
  .page-work .festival-overline{order:1;display:block;margin:0;font-size:9px;letter-spacing:.11em}
  .page-work .festival-overline>span:not(:first-child){display:none}
  .page-work .festival-hero h1,.page-work:lang(ru) .festival-hero h1{order:2;display:flex;justify-content:space-between;align-items:center;white-space:normal;font-size:clamp(49px,13vw,68px)!important;line-height:1!important;letter-spacing:-.06em!important;font-weight:400;margin:29px 0 23px}
  .page-work .title-spark{color:#a9da00;font-size:.32em}
  .page-work .work-opening-copy{order:3;position:relative;width:100%;max-width:none;margin:0;padding:0 0 29px}
  .page-work .work-opening-copy>p{font-size:clamp(21px,6vw,29px);line-height:1.22;letter-spacing:-.035em;margin:0 0 18px}
  .page-work .work-opening-copy>div{font-size:14px;line-height:1.55;max-width:30ch}
  .page-work .work-action{display:flex;align-items:center;justify-content:space-between;width:100%;max-width:300px;margin-top:24px;padding:0 0 8px;border-bottom:1px solid #20202455;font-size:11px}
  .page-work .work-action span{display:grid;place-items:center;width:43px;height:43px;background:var(--lime);font-size:23px}
  .page-work .work-opening-art{order:4;position:relative;inset:auto;z-index:1;width:calc(100% + 40px);height:clamp(350px,104vw,475px);margin:0 -20px;transform:none!important;perspective:none}
  .page-work .opening-fashion{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;box-shadow:none}
  .page-work .opening-fashion img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 42%}
  .page-work .opening-sheet,.page-work .opening-object,.page-work .feature-stage,.page-work .feature-selector{display:none!important}
}
