@font-face{font-family:Manrope;src:url(manrope-cyrillic.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Manrope;src:url(manrope-latin.woff2) format("woff2");font-weight:200 800;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-2199,U+2212}
@font-face{font-family:Condensed;src:url(roboto-condensed-cyrillic.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Condensed;src:url(roboto-condensed-latin.woff2) format("woff2");font-weight:100 900;font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-2199,U+2212}
@font-face{font-family:Prata;src:url(prata-cyrillic.woff2) format("woff2");font-display:swap;unicode-range:U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:Prata;src:url(prata-latin.woff2) format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+2000-206F,U+2190-2199,U+2212}
:root{font-family:Manrope,Arial,sans-serif;scroll-behavior:smooth;color-scheme:dark}
*{box-sizing:border-box}
body{margin:0;background:var(--base);color:var(--ink);--line:color-mix(in srgb,var(--ink) 17%,transparent);--sub:color-mix(in srgb,var(--ink) 72%,var(--base));--panel:color-mix(in srgb,var(--ink) 5%,var(--base));--ease:cubic-bezier(.22,1,.36,1)}
body.light{color-scheme:light}
body.sans{--display:Manrope,Arial,sans-serif;--weight:800;--track:-.079em}
body.condensed{--display:Condensed,Arial,sans-serif;--weight:850;--track:-.046em}
body.serif{--display:Prata,Georgia,serif;--weight:400;--track:-.071em}
a{color:inherit;text-decoration:none}
a,button{-webkit-tap-highlight-color:transparent}
button{font:inherit;color:inherit;cursor:pointer}
img{display:block;max-width:100%}
h1,h2,h3,p,figure,dl,dd{margin:0}
::selection{background:var(--accent);color:var(--button-ink)}
:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
:where(section[id]){scroll-margin-top:20px}
.wrap{width:min(100% - 112px,1392px);margin-inline:auto}
.skip{position:fixed;z-index:10;top:10px;left:10px;background:var(--accent);color:var(--button-ink);padding:12px;transform:translateY(-150%)}
.skip:focus{transform:none}
.top{border-bottom:1px solid var(--line)}
.top .wrap{min-height:77px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:26px}
.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;font-size:clamp(17px,2vw,25px);letter-spacing:-.064em;line-height:1.08;width:fit-content}
.brand-mark{width:27px;height:27px;flex:none;background:var(--accent);display:grid;place-items:center;color:var(--button-ink);border-radius:var(--mark-radius,5px);font:800 14px Manrope,Arial,sans-serif}
.top nav{display:flex;align-items:center;gap:clamp(19px,2.8vw,47px);font-size:14px;font-weight:700}
.top nav a{padding-block:12px}
.top nav a:hover,.text-link:hover,.foot a:hover{color:var(--accent)}
.top-cta{justify-self:end}
.btn{display:inline-flex;justify-content:center;align-items:center;gap:16px;min-height:52px;padding:10px 17px;border:1px solid transparent;border-radius:var(--radius);font-size:14px;font-weight:800;line-height:1.25;transition:transform .3s var(--ease),background .2s,color .2s}
.btn:hover{transform:translateY(-2px)}
.btn.primary{background:var(--accent);color:var(--button-ink)}
.btn.primary:hover{background:color-mix(in srgb,var(--accent) 82%,var(--ink))}
.btn.ghost{min-height:44px;border-color:var(--line);background:transparent}
.btn.ghost:hover{background:var(--ink);color:var(--base)}
.arrow{font-family:Arial,sans-serif;font-size:1.18em;line-height:1;flex:none}
.text-link{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:14px;font-weight:800;transition:color .2s}
.kicker,.label,.photo-caption,.foot-note{font:600 11px/1.45 Manrope,sans-serif;letter-spacing:.135em;text-transform:uppercase}
.kicker{display:flex;align-items:center;gap:10px;color:var(--sub)}
.kicker::before{content:"";width:7px;height:7px;background:var(--accent);flex:none;box-shadow:0 0 15px color-mix(in srgb,var(--accent) 55%,transparent);border-radius:50%}
.hero{position:relative}
.hero-inner{min-height:clamp(565px,47vw,730px);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:center;gap:clamp(24px,3.6vw,56px);padding-block:42px}
.hero-copy{position:relative;z-index:2;min-width:0}
.hero h1,.section-title,.contact h2,.dialog h2{font-family:var(--display);font-weight:var(--weight);letter-spacing:var(--track);line-height:.99}
.hero h1{font-size:clamp(52px,6.55vw,112px);margin-top:28px}
.hero h1 span{display:block;width:fit-content;padding-right:.09em}
.hero h1 span+span{color:var(--accent)}
.hero-desc{color:var(--sub);font-size:clamp(16px,1.42vw,21px);max-width:41ch;line-height:1.55;margin-top:27px}
.hero-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px 22px;margin-top:25px}
.hero-media{min-width:0;position:relative;margin:0;border-radius:var(--radius);isolation:isolate}
.hero-media img{width:100%;height:100%;object-fit:cover}
.hero-media picture{display:block;width:100%;height:100%;overflow:hidden;border-radius:inherit}
.hero-media::after{content:"";position:absolute;inset:0;pointer-events:none;border:1px solid #ffffff28;border-radius:inherit}
.hero-media .photo-caption{position:absolute;bottom:16px;right:16px;margin-left:16px;color:#fff;background:#101114dc;padding:8px 10px;border-radius:3px;z-index:2}
.hero-copy{animation:arrive .65s var(--ease) both}
.hero-media{animation:arrive .9s var(--ease) both}
@keyframes arrive{from{opacity:0;transform:translateY(13px)}}
.split .hero-media{aspect-ratio:1.2}
.split .hero::before,.atelier .hero::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 77% 50%,color-mix(in srgb,var(--accent) 10%,transparent),transparent 60%);pointer-events:none}
.reverse .hero-inner{grid-template-columns:minmax(0,1.02fr) minmax(0,1fr)}
.reverse .hero-media{grid-column:1;grid-row:1;aspect-ratio:1.12}
.reverse .hero-copy{grid-column:2;grid-row:1;padding-left:clamp(8px,3vw,48px)}
.reverse .hero-media{box-shadow:-12px 12px 0 color-mix(in srgb,var(--accent) 32%,var(--base))}
.cinema .hero{background:#111214;color:#f9f8f4;--sub:#e1dfdb;--line:#fff4}
.cinema .hero-inner{position:relative;display:flex;align-items:end;padding-block:84px 71px;min-height:clamp(560px,48vw,745px)}
.cinema .hero-copy{max-width:690px}
.cinema .hero-media{position:absolute;inset:0 max(-56px,calc((1392px - 100vw)/2)) 0 22%;border-radius:0}
.cinema .hero-media::after{border:0;background:linear-gradient(90deg,#111214 1%,#111214db 20%,#11121400 70%),linear-gradient(0deg,#111214b0,transparent 58%)}
.cinema .hero-media .photo-caption{bottom:25px}
.cinema .hero h1{font-size:clamp(59px,7.1vw,116px)}
.poster .hero-inner{display:block;min-height:0;padding-top:51px;padding-bottom:0}
.poster .hero-copy{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.72fr);gap:0 38px;align-items:end;margin-bottom:35px}
.poster .kicker{grid-column:1/-1}
.poster .hero h1{grid-row:2/4}
.poster .hero-desc{margin-top:17px;align-self:end}
.poster .hero-actions{margin-top:15px;align-self:end}
.poster .hero-media{height:clamp(280px,30vw,500px);border-bottom-left-radius:0;border-bottom-right-radius:0}
.atelier .hero-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:clamp(30px,5vw,88px)}
.atelier .hero-media{aspect-ratio:1.2;border:1px solid var(--line);padding:11px;border-radius:var(--radius)}
.atelier .hero-media::after{inset:11px}
.atelier .photo-caption{bottom:24px;right:24px}
.frame .hero-inner{grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);position:relative}
.frame .hero-inner::before{content:"";position:absolute;inset:22px 0;background-image:linear-gradient(90deg,var(--line) 1px,transparent 1px),linear-gradient(var(--line) 1px,transparent 1px);background-size:42px 42px;mask-image:linear-gradient(90deg,transparent 25%,#000);opacity:.5}
.frame .hero-media{aspect-ratio:1.25;box-shadow:9px 9px 0 var(--accent)}
.frame .hero h1 span{text-transform:uppercase}
.facts{background:var(--panel);border-block:1px solid var(--line)}
.facts .wrap{display:grid;grid-template-columns:1.1fr 1.1fr .7fr}
.fact{padding:21px 23px;border-left:1px solid var(--line);display:flex;flex-direction:column;gap:7px;justify-content:center;min-height:96px}
.fact:first-child{padding-left:0;border-left:0}
.fact dd{font-size:clamp(14px,1.35vw,19px);font-weight:800;line-height:1.4}
.label{color:var(--sub)}
.fact a:hover{color:var(--accent)}
.section{padding-block:clamp(63px,8vw,110px)}
.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:31px}
.section-title,.contact h2{font-size:clamp(47px,6.2vw,92px)}
.section-head .kicker,.contact .kicker{margin-bottom:13px}
.service-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--line)}
.service{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) 38px;align-items:center;gap:13px;padding:17px 18px 17px 0;border-bottom:1px solid var(--line);min-height:98px}
.service:nth-child(2n){padding-left:18px;border-left:1px solid var(--line)}
.service h3{font-size:clamp(19px,2.3vw,33px);font-weight:800;letter-spacing:-.065em;line-height:1.14}
.service a{display:grid;place-items:center;min-width:38px;min-height:38px;border:1px solid var(--line);border-radius:50%;transition:background .2s,color .2s}
.service a:hover{background:var(--accent);color:var(--button-ink)}
.atelier .service-list,.reverse .service-list{grid-template-columns:1fr}
.atelier .service,.reverse .service{padding-left:0;border-left:0}
.atelier .service h3,.reverse .service h3{font-size:clamp(25px,3.1vw,47px)}
.frame .service-list,.poster .service-list{gap:10px;border-top:0}
.frame .service,.poster .service{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:20px 16px}
.gallery{background:var(--panel);border-block:1px solid var(--line)}
.gallery-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:15px}
.gallery-grid.single{grid-template-columns:minmax(0,1fr)}
.gallery-card{position:relative;display:block;width:100%;height:100%;border:0;padding:0;text-align:left;background:transparent;color:var(--ink)}
.gallery-card img{width:100%;aspect-ratio:1.5;object-fit:cover;border-radius:var(--radius);transition:filter .25s}
.gallery-card:hover img{filter:brightness(1.12)}
.gallery-grid.single img{aspect-ratio:2.5}
.gallery-grid .gallery-card:nth-child(2) img{aspect-ratio:1.2}
.gallery-card .arrow{position:absolute;right:12px;top:12px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#151515dc;color:white}
.gallery-card span.caption{display:block;padding-block:10px 2px;font-size:13px;font-weight:700}
.contact .wrap{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:30px 54px;align-items:center}
.contact{background:radial-gradient(ellipse at 15% 85%,color-mix(in srgb,var(--accent) 11%,var(--base)),var(--base) 65%)}
.contact dl{border-top:1px solid var(--line)}
.contact-row{padding:15px 0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:98px minmax(0,1fr);align-items:start;gap:15px}
.contact-row dd{font-weight:750;line-height:1.4}
.contact-row a:hover{color:var(--accent)}
.contact .links{display:flex;flex-wrap:wrap;gap:8px;margin-top:17px}
.contact .links .btn{min-height:44px}
.contact .route{margin-top:22px}
.foot{border-top:1px solid var(--line);padding:22px 0;color:var(--sub);font-size:12px}
.foot .wrap{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.dialog{color:var(--ink);background:var(--base);border:1px solid var(--line);border-radius:var(--radius);max-width:min(100% - 28px,1050px);max-height:calc(100% - 28px);padding:10px;margin:auto;overflow:auto}
.dialog::backdrop{background:#050608df}
.dialog img{object-fit:contain;max-height:calc(100dvh - 105px)}
.dialog p{padding:10px 43px 4px 4px;font-size:13px}
.dialog-close{position:absolute;right:14px;top:14px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%;border:1px solid #ffffff40;background:#111;color:white;font:22px Arial,sans-serif}
@media(max-width:1100px){
  .wrap{width:calc(100% - 72px)}
  .cinema .hero-media{right:-36px}
}
@media(max-width:850px){
  .wrap{width:calc(100% - 42px)}
  .top .wrap{min-height:65px;grid-template-columns:1fr auto;gap:12px}
  .top nav{display:none}
  .hero h1,.cinema .hero h1{font-size:clamp(50px,8.8vw,79px)}
  .hero-inner,.reverse .hero-inner,.atelier .hero-inner,.frame .hero-inner{grid-template-columns:1fr;gap:27px;padding-block:37px 24px;min-height:0}
  .reverse .hero-copy,.reverse .hero-media{grid-column:auto;grid-row:auto;padding-left:0}
  .reverse .hero-media{box-shadow:-6px 6px 0 color-mix(in srgb,var(--accent) 32%,var(--base))}
  .hero .hero-media{aspect-ratio:1.55;max-height:470px}
  .frame .hero-media{box-shadow:5px 5px 0 var(--accent)}
  .hero h1{margin-top:18px}
  .hero-desc{margin-top:17px}
  .hero-actions{margin-top:19px}
  .cinema .hero-inner{min-height:0;display:block;padding-block:38px 0}
  .cinema .hero-media{position:relative;inset:auto;width:calc(100% + 42px);margin:24px -21px 0}
  .cinema .hero-media::after{background:linear-gradient(0deg,#11121470,transparent 38%)}
  .cinema .hero-media .photo-caption{bottom:14px}
  .poster .hero-inner{padding-top:38px}
  .poster .hero-copy{display:block;margin-bottom:24px}
  .poster .hero-media{height:auto}
  .facts .wrap{grid-template-columns:1fr 1fr}
  .fact{padding:15px 12px;min-height:76px}
  .fact:last-child{grid-column:1/-1;border-left:0;border-top:1px solid var(--line);padding-left:0;min-height:62px}
  .contact .wrap{grid-template-columns:1fr}
}
@media(max-width:550px){
  .wrap{width:calc(100% - 32px)}
  .top-cta{font-size:12px;gap:7px;padding-inline:9px}
  .brand{gap:7px}
  .brand-mark{width:23px;height:23px;font-size:13px}
  .hero h1,.cinema .hero h1{font-size:clamp(39px,11vw,61px)}
  .hero .hero-media{aspect-ratio:1.29}
  .hero-desc{line-height:1.48}
  .cinema .hero-media{width:calc(100% + 32px);margin-inline:-16px}
  .hero-media .photo-caption{font-size:9px;right:9px;bottom:9px}
  .atelier .hero-media .photo-caption{right:19px;bottom:19px}
  .section-head{align-items:start;flex-direction:column;gap:6px;margin-bottom:22px}
  .section-title,.contact h2{font-size:clamp(43px,11vw,60px)}
  .service-list,.frame .service-list,.poster .service-list{grid-template-columns:1fr}
  .service,.service:nth-child(2n){min-height:70px;grid-template-columns:minmax(0,1fr) 38px;gap:7px;border-left:0;padding-inline:0}
  .frame .service,.poster .service{border:1px solid var(--line);padding-inline:10px}
  .gallery-grid{grid-template-columns:1fr;gap:19px}
  .gallery-grid.single img,.gallery-grid .gallery-card:nth-child(2) img{aspect-ratio:1.5}
  .contact-row{grid-template-columns:70px minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){
  :root{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
.service-list.single{grid-template-columns:1fr}
.service-list.single .service{grid-template-columns:minmax(0,1fr) 38px}
@media(max-width:550px){.service-list.single .service{grid-template-columns:minmax(0,1fr) 38px}}
@media(min-width:851px){.hero-copy.compact h1{font-size:clamp(46px,5.6vw,96px)}}
