@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.xuaO2J-f.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-400-normal.DMdlQ8Kv.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-cyrillic-400-normal.BSMlKf0J.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-400-normal.CEL4l2ZJ.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-vietnamese-400-normal.BulugwFq.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-400-normal.DDuiU_S-.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-ext-400-normal.BmRBH3aV.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-400-normal.D3D2R8hC.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/_astro/ibm-plex-mono-latin-400-normal.DMJ8VG8y.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-400-normal.CvHOgSBP.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BqneJy0T.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-ext-500-normal.BIfNGwUT.woff) format("woff");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-cyrillic-500-normal.Bq9vWWag.woff2) format("woff2"),url(/_astro/ibm-plex-mono-cyrillic-500-normal.Ael50iVv.woff) format("woff");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-vietnamese-500-normal.DZ4AoWbu.woff2) format("woff2"),url(/_astro/ibm-plex-mono-vietnamese-500-normal.C8zxqsMH.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-ext-500-normal.CAhNIIs5.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-ext-500-normal.CZ70TYgx.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/_astro/ibm-plex-mono-latin-500-normal.DSY6xOcd.woff2) format("woff2"),url(/_astro/ibm-plex-mono-latin-500-normal.CB9ihrfo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{font-size:max(calc(100vw / 192),9.2px)}@media(max-width:991px){html{font-size:calc(100vw / 76.8)}}@media(max-width:479px){html{font-size:calc(100vw / 37.5)}}:root{--font-display: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--font-body: var(--font-display);--font-ui: var(--font-display);--case-ui: uppercase;--tracking-ui: -.02em;--tracking-display: -.04em;--tracking-hold: .04em;--weight-display: 400;--weight-body: 400;--weight-ui: 400;--weight-medium: 500;--text-display: 6.4rem;--lh-display: .85;--text-lead: 1.6rem;--lh-lead: 1.3;--text-body: 1.6rem;--lh-body: 1.4;--text-ui: 1.2rem;--lh-ui: 1.15;--text-micro: 1.1rem;--lh-micro: 1.15;--color-bg: #0a0a0a;--color-surface: #2c2c2f;--color-text: #f1f1f1;--color-muted: #9a9a9a;--color-accent: #f1f1f1;--color-on-accent: #0a0a0a;--color-border: #2b2b2b;--color-control-border: #6e6e6e;--color-error: #ff5a4e;--color-panel: #ffffff;--color-on-panel: #010101;--color-shutter: #ffffff;--color-logo: #ffffff;--opacity-disabled: .4;--blur-out: .3rem;--dim-out: .5;--link-rest: .55;--blur-enter: 1.4rem;--video-dim: brightness(.78);--video-enter: brightness(.78) grayscale(100%) blur(10px);--label-alpha: .5;--space-1: .4rem;--space-2: .8rem;--space-3: 1.2rem;--space-4: 1.6rem;--space-5: 2.4rem;--space-6: 3.2rem;--space-7: 4.8rem;--space-8: 6.4rem;--edge: var(--space-3);--grid-cols: 12;--grid-gap: var(--space-3);--radius-control: 0;--radius-block: 0;--radius-pill: .18em;--border-width: 1px;--control-height: 4rem;--focus-width: 1px;--focus-offset: .3rem;--pill-pad: .3em .4em;--hold-size: 5.6rem;--bar-height: 1px;--menu-width: 36rem;--gallery-depth: 3000px;--gallery-perspective: 900px;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-snap: cubic-bezier(.22, 1, .36, 1);--ease-shutter: cubic-bezier(.75, 0, 0, 1);--ease-in: cubic-bezier(.55, 0, 1, .45);--duration-fast: .15s;--duration-ui: .45s;--duration-snap: .4s;--snap-delay: .3s;--duration-exit: .52s;--duration-enter: .95s;--duration-menu: .92s;--duration-link: .4s;--gallery-ease: .08;--duration-shutter: 1s;--duration-video-in: 2s;--duration-video-out: .45s;--autoplay: 20s;--delay-stagger: 30ms;--reveal-distance: 2.2rem}@media(min-width:992px){:root{--text-display: 18rem;--text-body: 1.4rem;--control-height: 4rem}}@media(max-width:991px){:root{--control-height: 4.4rem}}[data-theme=light]{--color-bg: #ffffff;--color-surface: #ececec;--color-text: #000000;--color-muted: #666666;--color-accent: #000000;--color-on-accent: #ffffff;--color-border: #c9c9c9;--color-control-border: #8a8a8a;--color-error: #c4231a;--color-panel: #000000;--color-on-panel: #ffffff;--color-shutter: #000000;--color-logo: #000000}@media(prefers-reduced-motion:reduce){:root{--duration-fast: 0ms;--duration-ui: 0ms;--duration-snap: 0ms;--duration-exit: 0ms;--duration-enter: 0ms;--duration-menu: 0ms;--duration-link: 0ms;--duration-shutter: 0ms;--duration-video-in: 0ms;--duration-video-out: 0ms;--delay-stagger: 0ms;--reveal-distance: 0px;--blur-enter: 0px;--gallery-ease: 1;--video-enter: brightness(.78)}}.reduce-motion{--duration-fast: 0ms;--duration-ui: 0ms;--duration-snap: 0ms;--duration-exit: 0ms;--duration-enter: 0ms;--duration-menu: 0ms;--duration-link: 0ms;--duration-shutter: 0ms;--duration-video-in: 0ms;--duration-video-out: 0ms;--delay-stagger: 0ms;--reveal-distance: 0px;--blur-enter: 0px;--gallery-ease: 1;--video-enter: brightness(.78)}*,*:before,*:after{box-sizing:border-box}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-ui);font-size:var(--text-ui);line-height:var(--lh-ui);font-weight:var(--weight-ui);letter-spacing:var(--tracking-ui);text-transform:var(--case-ui);-webkit-font-smoothing:antialiased;transition:background-color var(--duration-ui) var(--ease-out),color var(--duration-ui) var(--ease-out)}::selection{background:var(--color-accent);color:var(--color-on-accent)}:focus-visible{outline:var(--focus-width) solid currentColor;outline-offset:var(--focus-offset)}button,input,textarea,select{font:inherit;color:inherit;letter-spacing:inherit;text-transform:inherit}button{background:none;border:0;padding:0;cursor:pointer}a{color:inherit;text-decoration:none}[hidden]{display:none!important}.t-micro{font-size:var(--text-micro);line-height:var(--lh-micro)}.t-ui{font-size:var(--text-ui);line-height:var(--lh-ui)}.t-body{font-size:var(--text-body);line-height:var(--lh-body)}.t-lead{font-size:var(--text-lead);line-height:var(--lh-lead)}.t-display{font-size:var(--text-display);line-height:var(--lh-display);letter-spacing:var(--tracking-display);font-weight:var(--weight-display)}.t-muted{color:var(--color-muted)}.t-medium{font-weight:var(--weight-medium)}.difference-txt{color:#fff;mix-blend-mode:difference}.link{opacity:var(--link-rest);transition:opacity var(--duration-link) var(--ease-out)}.link:hover,.link:focus-visible,.link.is-hover,.link.is-current{opacity:1}.focus-group>*{transition:filter var(--duration-ui) var(--ease-out),opacity var(--duration-ui) var(--ease-out)}.focus-group:has(>:hover)>:not(:hover),.focus-group:has(>:focus-visible)>:not(:focus-visible),.focus-group>.is-out{filter:blur(var(--blur-out));opacity:var(--dim-out)}.btn{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-3);border-radius:var(--radius-pill);color:var(--color-text);background:transparent;white-space:nowrap;transition:background-color var(--duration-ui) var(--ease-out),color var(--duration-ui) var(--ease-out),opacity var(--duration-ui) var(--ease-out)}.btn:before{content:"→"}.btn:hover,.btn.is-hover{background:var(--color-accent);color:var(--color-on-accent)}.btn:active,.btn.is-active{background:var(--color-accent);color:var(--color-on-accent);opacity:.8}.btn:disabled,.btn.is-disabled{opacity:var(--opacity-disabled);cursor:not-allowed;background:transparent;color:var(--color-text)}.btn.is-focus{outline:var(--focus-width) solid var(--color-text);outline-offset:var(--focus-offset)}.btn.is-loading{pointer-events:none}.btn.is-loading:before{content:"◐";animation:btn-spin .9s steps(4,end) infinite}@keyframes btn-spin{to{transform:rotate(360deg)}}.field{display:grid;grid-template-rows:auto var(--control-height) minmax(2.4em,auto);align-content:start;gap:var(--space-1)}.field_label{font-size:var(--text-micro);color:var(--color-muted)}.field_input{width:100%;height:var(--control-height);padding:0;border:0;border-bottom:var(--border-width) solid var(--color-control-border);border-radius:var(--radius-control);background:transparent;font-size:var(--text-body);outline:none;transition:border-color var(--duration-ui) var(--ease-out)}.field_input::placeholder{color:var(--color-muted)}.field_input:focus,.field.is-focus .field_input{border-bottom-color:var(--color-text)}.field_msg{font-size:var(--text-micro);color:var(--color-muted)}.field.is-error .field_input{border-bottom-color:var(--color-error)}.field.is-error .field_msg{color:var(--color-error)}.switch{display:inline-flex;gap:.6em}.switch_opt{color:var(--color-muted);transition:color var(--duration-link) var(--ease-out)}.switch_opt.is-on,.switch_opt:hover{color:var(--color-text)}.clock_colon{transition:opacity var(--duration-fast) linear}.clock_colon.is-off{opacity:.15}.brand{display:inline-flex;align-items:center;gap:var(--space-3)}.brand_logo{display:block;width:2.4rem;height:2.4rem;background:currentColor;-webkit-mask:var(--logo-url) center / contain no-repeat;mask:var(--logo-url) center / contain no-repeat}.menu{position:absolute;top:var(--edge);right:var(--edge);width:var(--menu-width);max-width:calc(100% - 2 * var(--edge));background:var(--color-panel);color:var(--color-on-panel);padding:var(--space-3);display:grid;gap:var(--space-5);z-index:3;clip-path:inset(0 0 100% 0);visibility:hidden;transition:clip-path var(--duration-menu) var(--ease-out),width var(--duration-menu) var(--ease-out),visibility 0s linear var(--duration-menu)}.menu.is-open{clip-path:inset(0 0 0 0);visibility:visible;transition:clip-path var(--duration-menu) var(--ease-out),width var(--duration-menu) var(--ease-out),visibility 0s}.menu.is-about{width:calc(100% - 2 * var(--edge))}.menu_head{display:flex;justify-content:space-between;align-items:center}.menu_cols{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3)}.menu.is-about .menu_cols{grid-template-columns:1fr 1fr 2fr}.menu_nav,.menu_contacts{display:grid;gap:var(--space-1);align-content:start;justify-items:start}.menu_role{opacity:.65}.menu_about{display:none;grid-template-columns:1fr 1fr;gap:var(--space-3)}.menu.is-about .menu_about{display:grid}.menu_about .t-body{text-transform:none}.status:before{content:"";display:inline-block;width:.6em;height:.6em;margin-right:.5em;background:currentColor;border-radius:50%;vertical-align:.05em}.status.is-busy{opacity:.65}.status.is-busy:before{background:transparent;box-shadow:inset 0 0 0 var(--border-width) currentColor}.works{display:grid;gap:var(--space-1);justify-items:start}.works_item{display:inline-flex;gap:var(--space-3);color:var(--color-muted);transition:color var(--duration-link) var(--ease-out),filter var(--duration-ui) var(--ease-out),opacity var(--duration-ui) var(--ease-out)}.works_num{min-width:2ch}.works_item:hover,.works_item.is-current{color:var(--color-text)}.works_item.is-current .works_num:before{content:"→ "}.works_item.is-soon{pointer-events:none;opacity:var(--dim-out)}.works_item.is-soon:after{content:"скоро";font-size:var(--text-micro)}.works:has(.works_item:hover) .works_item:not(:hover){filter:blur(var(--blur-out));opacity:var(--dim-out)}.next{display:grid;gap:var(--space-2);width:20rem;font-size:var(--text-micro)}.next_row{display:flex;justify-content:space-between;gap:var(--space-3)}.next_track{height:var(--bar-height);background:color-mix(in srgb,currentColor 25%,transparent);overflow:hidden}.next_bar{height:100%;background:currentColor;transform:scaleX(var(--p, 0));transform-origin:left center}.next.is-paused .next_label:after{content:" · пауза"}.scene{position:relative;overflow:hidden;background:var(--color-surface)}.scene_media{position:absolute;inset:0;filter:var(--video-dim);transition:filter var(--duration-video-in) var(--ease-out),opacity var(--duration-video-out) linear}.scene_media.is-entering{filter:var(--video-enter)}.scene_media.is-leaving{opacity:0}.counter{display:flex;align-items:flex-start;gap:var(--space-2)}.counter_num{font-size:var(--text-display);line-height:var(--lh-display);letter-spacing:var(--tracking-display)}.counter_total{font-size:var(--text-micro);padding-top:.4em}.info{display:grid;grid-template-columns:auto 1fr;gap:var(--space-2) var(--space-5);font-size:var(--text-micro);margin:0}.info dd{margin:0}.info_label{color:var(--color-muted)}.ribbon{overflow-y:auto;scrollbar-width:none;overscroll-behavior:contain}.ribbon::-webkit-scrollbar{display:none}.ribbon_track{display:grid;justify-items:center;gap:var(--space-2)}.ribbon_item{transition:filter var(--duration-ui) var(--ease-out),opacity var(--duration-ui) var(--ease-out)}.ribbon.is-horizontal{overflow-x:auto;overflow-y:hidden}.ribbon.is-horizontal .ribbon_track{grid-auto-flow:column;align-items:center}.hold{display:inline-flex;align-items:center;gap:var(--space-3)}.hold_label{font-size:var(--text-micro);letter-spacing:var(--tracking-hold)}.hold_ring{width:var(--hold-size);height:var(--hold-size);transform:rotate(-90deg)}.hold_ring circle{fill:none;stroke-width:1;stroke:color-mix(in srgb,var(--color-text) 28%,transparent)}.hold_ring .hold_progress{stroke:var(--color-text);stroke-dasharray:100;stroke-dashoffset:calc(100 - var(--hold, 0) * 100)}.gallery{position:relative;overflow:hidden;perspective:var(--gallery-perspective);cursor:grab;touch-action:none;user-select:none;background:var(--color-bg)}.gallery.is-dragging{cursor:grabbing}.gallery_world{position:absolute;left:50%;top:50%;transform-style:preserve-3d}.gallery_tile{position:absolute;width:22rem;aspect-ratio:4 / 3;margin:-8.25rem 0 0 -11rem;overflow:hidden;will-change:transform,opacity}.gallery_tile figcaption{position:absolute;left:var(--space-2);bottom:var(--space-2);font-size:var(--text-micro)}.gallery_hint{position:absolute;left:var(--edge);bottom:var(--edge);font-size:var(--text-micro);pointer-events:none}.shutter{position:absolute;left:0;right:0;bottom:0;height:0;background:var(--color-shutter);mix-blend-mode:difference;pointer-events:none;z-index:5}.reveal{opacity:0;filter:blur(var(--blur-enter));transform:translateY(var(--reveal-distance))}.reveal.is-in{opacity:1;filter:blur(0);transform:none;transition:opacity var(--duration-enter) var(--ease-out),filter var(--duration-enter) var(--ease-out),transform var(--duration-enter) var(--ease-out);transition-delay:calc(var(--i, 0) * var(--delay-stagger))}.brief{display:grid;gap:var(--space-5)}.brief_head{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-micro)}.brief_steps{display:flex;gap:var(--space-2)}.brief_step{color:var(--color-muted)}.brief_step.is-on{color:var(--color-text)}.brief_fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(22rem,1fr));gap:var(--space-3) var(--space-5);align-items:start}.brief_nav{display:flex;justify-content:space-between}:root{--logo-url: url(/logo.svg);--view-pt: 9rem;--view-pb: 7rem;--ribbon-w: 48rem;--info-col: 44rem;--menu-small: var(--menu-width);--weight-ui: 500;--weight-body: 500;--weight-display: 500}body{font-weight:var(--weight-ui)}html,body{height:100%}body{overflow:hidden;overscroll-behavior:none}img,video{display:block;max-width:100%}p{margin:0}.t-muted-on{opacity:.55}.t-body{text-transform:none}.page_scene{position:fixed;inset:0;z-index:0;background:#000;transition:opacity var(--duration-ui) var(--ease-out),visibility 0s linear var(--duration-ui)}body:not([data-view=home]) .page_scene{opacity:0;visibility:hidden}body[data-view=home] .page_scene{transition:opacity var(--duration-ui) var(--ease-out),visibility 0s}.scene_media>img,.scene_media>video{width:100%;height:100%;object-fit:cover}.top,.bottom{position:fixed;left:0;right:0;z-index:4;padding:var(--edge);display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-3);font-size:var(--text-micro);transition:color var(--duration-ui) var(--ease-out);pointer-events:none}.top>*,.bottom>*{pointer-events:auto}.top{top:0;align-items:start}.bottom{bottom:0;align-items:end}body[data-view=home] .top,body[data-view=home] .bottom,body[data-view=home] .home{color:#fff}body[data-view=home] .switch_opt{color:#ffffff8c}body[data-view=home] .switch_opt.is-on,body[data-view=home] .switch_opt:hover{color:#fff}.top_intro{display:grid;gap:var(--space-1)}.top_name{margin:0;font:inherit;display:grid;gap:var(--space-1)}.top_menu-btn{justify-self:center;font-size:var(--text-ui)}.top_right{justify-self:end;width:var(--info-col);display:flex;justify-content:space-between;gap:var(--space-3)}.top_clock{order:-1}.bottom_counter{grid-column:1;grid-row:1;justify-self:start;margin-bottom:-.12em}.bottom_tg{grid-column:1;grid-row:1;justify-self:start}.bottom_social{grid-column:3;grid-row:1;justify-self:end;display:flex;gap:var(--space-5)}.bottom_tools{grid-column:2;grid-row:1;display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-2) var(--space-5)}.bottom_next{grid-column:3;grid-row:1;justify-self:end;width:var(--info-col)}.views{position:fixed;inset:0;z-index:1}.view{position:absolute;inset:0;padding:var(--view-pt) 0 var(--view-pb);overflow-y:auto;scrollbar-width:none}.padding-global{padding-inline:var(--edge);height:100%}.container-large{height:100%}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.ghost{position:fixed;inset:0;z-index:2;pointer-events:none}.view::-webkit-scrollbar{display:none}.home{display:grid;grid-template-rows:1fr}.home_mid{display:grid;grid-template-columns:1fr auto;align-items:start;align-self:center;gap:var(--space-5)}.home_works .works_item{color:#ffffff8c}.home_works .works_item:hover,.home_works .works_item.is-current{color:#fff}.home_info{justify-self:end}.home_bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:var(--space-5)}.info{width:var(--info-col);grid-template-columns:17ch minmax(0,1fr);align-content:start;min-height:24rem}.info dt{color:inherit;opacity:var(--label-alpha)}.info_link{justify-self:start}.info dd:has(>.info_link){margin-top:var(--space-2)}.info .info_project{display:none}.works-view{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-5);align-items:center;overflow:hidden}.section_works{padding-block:0}.works-view_side{margin-top:calc(var(--view-pt) - var(--view-pb))}.loop{position:relative;height:100dvh;width:var(--ribbon-w);overflow:hidden;touch-action:none;user-select:none;cursor:grab}.loop.is-dragging{cursor:grabbing}.loop_track{position:absolute;inset:0}.loop .ribbon_item{position:absolute;left:0;top:0;will-change:transform}.loop .ribbon_item img{pointer-events:none;-webkit-user-drag:none}.ribbon_item{position:relative;width:var(--ribbon-w);aspect-ratio:16 / 9;overflow:hidden;background:var(--color-surface);cursor:inherit;transition:filter var(--duration-ui) var(--ease-out),opacity var(--duration-ui) var(--ease-out)}.ribbon_item:not(.is-active){filter:blur(var(--blur-out));opacity:var(--dim-out)}.ribbon_item img{width:100%;height:100%;object-fit:cover}.ribbon_cap{position:absolute;left:var(--space-2);bottom:var(--space-2);font-size:var(--text-micro);color:#fff;mix-blend-mode:difference}.works-view_side{display:grid;gap:var(--space-6);justify-items:end;align-content:center}.works-view_list{width:var(--info-col);align-content:start}.works-view_side .info{min-height:0}.contact{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:1fr;gap:var(--space-6)}.contact_intro,.contact_brief{grid-column:1;grid-row:1}.contact_timer{grid-column:2;grid-row:1;align-self:center;width:var(--info-col);flex-direction:column;align-items:flex-start;gap:var(--space-2)}.contact_timer .counter_num{font-size:calc(var(--info-col) / 3.05)}.contact_timer .counter_total{text-align:left;padding-top:0}.contact_text{max-width:60rem;white-space:pre-line;text-wrap:balance}.contact .t-body{text-transform:var(--case-ui)}.brief_result{text-wrap:balance}.contact_timer .counter_num{font-variant-numeric:tabular-nums}.contact_intro{align-self:center;display:grid;gap:var(--space-4);justify-items:start;max-width:64rem}.contact_title{margin:0;font-weight:400}.contact_cta{margin-top:var(--space-3);opacity:1;font-size:var(--text-ui)}.contact_cta:before{content:"→ "}.top>*,.bottom>*,.contact_intro>*,.contact_timer{transition:filter var(--duration-ui) var(--ease-out),opacity var(--duration-ui) var(--ease-out)}.brief_btn{opacity:1;font-size:var(--text-ui)}.brief_btn:before{content:"→ "}.brief_btn.is-back:before{content:"← "}.brief_btn.is-loading{pointer-events:none;opacity:var(--link-rest)}.brief_head,.brief_page>*,.brief_nav>*{transition:filter var(--duration-ui) var(--ease-out),opacity var(--duration-ui) var(--ease-out)}body:has(.contact_cta:hover,.brief_btn:hover) :is(.top>*,.bottom>*,.contact_intro>:not(.contact_cta),.contact_timer,.brief_head,.brief_page>:not(.brief_nav),.brief_nav>:not(:hover)){filter:blur(var(--blur-out));opacity:var(--dim-out)}.contact_brief{align-self:center;max-width:120rem;width:100%}.contact_links{display:flex;gap:var(--space-5);justify-content:flex-end;font-size:var(--text-micro)}.brief_fields{grid-template-columns:repeat(2,minmax(0,1fr))}.brief_nav{grid-column:1 / -1;padding-top:var(--space-3)}.brief_result{max-width:60rem}.choice{border:0;padding:0;margin:0;min-width:0;grid-template-rows:auto auto minmax(2.4em,auto)}.choice .field_label{padding:0;margin-bottom:var(--space-2)}.choice_opts{display:flex;flex-wrap:wrap;gap:var(--space-2)}.choice_opt{position:relative}.choice_opt input{position:absolute;opacity:0;pointer-events:none}.choice_opt span{display:inline-flex;align-items:center;min-height:var(--control-height);padding:0 var(--space-3);border:var(--border-width) solid var(--color-control-border);border-radius:var(--radius-pill);cursor:pointer;transition:background-color var(--duration-ui) var(--ease-out),color var(--duration-ui) var(--ease-out),border-color var(--duration-ui) var(--ease-out)}.choice_opt span:hover{border-color:var(--color-text)}.choice_opt input:checked+span{background:var(--color-accent);color:var(--color-on-accent);border-color:var(--color-accent)}.choice_opt input:focus-visible+span{outline:var(--focus-width) solid var(--color-text);outline-offset:var(--focus-offset)}.consent{grid-column:1 / -1;grid-template-rows:auto minmax(2.4em,auto)}.consent_row{display:flex;gap:var(--space-2);align-items:flex-start;font-size:var(--text-micro);cursor:pointer}.consent_box{margin:0;width:1.4rem;height:1.4rem;accent-color:var(--color-text);flex:none}.consent .link{opacity:1}.text-view{display:grid;gap:var(--space-4);align-content:center;justify-items:start;max-width:80rem}.text-view :is(h1,h2){margin:0;font-weight:400;font-size:var(--text-lead)}.menu{position:fixed;z-index:10;top:var(--edge);left:50%;right:auto;translate:-50% 0;width:var(--menu-width);max-width:calc(100vw - 2 * var(--edge));font-size:var(--text-ui);transition:none;visibility:hidden}.menu.is-open{visibility:visible;transition:none}.menu_logo{width:2.4rem;height:2.4rem}.menu_foot{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3)}.menu .switch_opt{color:color-mix(in srgb,var(--color-on-panel) 50%,transparent)}.menu .switch_opt.is-on,.menu .switch_opt:hover{color:var(--color-on-panel)}.blur-scope .link{transition:opacity var(--duration-link) var(--ease-out),filter var(--duration-ui) var(--ease-out)}.blur-scope:has(.link:hover) .link:not(:hover){filter:blur(var(--blur-out));opacity:calc(var(--link-rest) * var(--dim-out))}.status:before{animation:status-blink 1.6s ease-in-out infinite}@keyframes status-blink{50%{opacity:.15}}@media(prefers-reduced-motion:reduce){.status:before{animation:none}}.menu .link.is-disabled{opacity:.3;cursor:default}.blur-scope:has(.link:hover) .link.is-disabled{opacity:.15}.menu_nav button.link{text-align:left}.menu_nav .link.is-current{opacity:1}.page_shutter{position:fixed;top:0;bottom:auto;z-index:20;background:#fff}.about{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--space-6);align-items:center}.about_text{display:grid;gap:var(--space-3);align-content:center;max-width:52rem}.about_name{margin:0;font:inherit;font-size:var(--text-body);opacity:var(--label-alpha)}.about .t-body{text-transform:var(--case-ui)}.about_text .status{margin-top:var(--space-3)}.about_photo{height:calc(100dvh - var(--view-pt) - var(--view-pb));width:auto;aspect-ratio:3 / 4;object-fit:cover;object-position:50% 30%}.about_awards{display:grid;gap:var(--space-2);align-content:center;justify-self:end;width:var(--info-col);font-size:var(--text-body);line-height:var(--lh-body)}.about_label{opacity:var(--label-alpha)}.about_list{list-style:none;margin:0 0 var(--space-5);padding:0;display:grid;gap:var(--space-3)}.works_item.is-current .works_name:before{content:"→ "}@media(max-width:991px){:root{--view-pt: 11rem;--view-pb: 12rem;--ribbon-w: 40rem;--info-col: 40rem}.top_right{width:auto;gap:var(--space-4)}.top_clock{order:0}.home_mid{grid-template-columns:1fr;align-content:end}.home_info{justify-self:start;margin-top:var(--space-6)}.section_works{padding-block:var(--view-pt) var(--view-pb)}.works-view{grid-template-columns:1fr;grid-template-rows:1fr auto 1fr;align-content:stretch}.works-view_list,.works-view_gap{display:none}.loop{grid-row:2;width:auto;height:calc(var(--ribbon-w) * 9 / 16);margin-inline:calc(-1 * var(--edge))}.works-view_side{grid-row:3;align-self:start;margin-top:var(--space-5);justify-items:center;align-content:start}.works-view_side .info{min-height:0;width:auto}.works-view_side .info .info_project{display:block}.bottom{grid-template-columns:1fr auto 1fr;row-gap:var(--space-4)}.bottom_counter{grid-column:1 / -1;grid-row:1}.bottom_next{grid-column:1 / -1;grid-row:2;width:100%}.bottom_tools{grid-column:1 / -1;grid-row:3;justify-self:center;justify-content:center}body[data-view=contact] .bottom_tools{margin-bottom:var(--space-5)}.bottom_tg{grid-column:1;grid-row:4}.bottom_social{display:contents}.bottom_social>:first-child{grid-column:2;grid-row:4;justify-self:center}.bottom_social>:last-child{grid-column:3;grid-row:4;justify-self:end}.section_home{padding-bottom:calc(var(--view-pb) + var(--text-display))}.about{grid-template-columns:1fr;align-items:start;justify-items:start;gap:var(--space-6)}.about_photo{order:-1;width:calc(100% + 2 * var(--edge));max-width:none;height:auto;margin-inline:calc(-1 * var(--edge));margin-top:calc(-1 * var(--view-pt))}.about_text,.about_awards{width:100%;max-width:60rem;justify-self:start}.about .t-body,.about_name,.about_awards{font-size:var(--text-ui);line-height:var(--lh-body)}.contact{grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center}.contact_intro,.contact_brief{grid-column:1;grid-row:1}.contact_timer{grid-column:1;grid-row:2;align-items:flex-start;width:auto}.contact_timer .counter_num{font-size:var(--text-display)}.contact_timer .counter_total{text-align:left;white-space:normal}}@media(max-width:767px){:root{--view-pt: 9rem;--view-pb: 16rem;--ribbon-w: 28rem;--info-col: 100%;--menu-small: calc(100vw - 2 * var(--edge))}.top_sub,.top_line,.top_lang{display:none}.bottom_counter{grid-column:1 / -1;grid-row:1}.bottom_next{grid-column:1 / -1;grid-row:2;width:100%}.bottom_tools{grid-row:3;gap:var(--space-2) var(--space-4)}.bottom_tg,.bottom_social>:first-child,.bottom_social>:last-child{grid-row:4}.section_home{padding-bottom:calc(var(--view-pb) + var(--text-display))}.home_mid{grid-template-columns:1fr}.info{min-height:0}.info_awards{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.brief_fields{grid-template-columns:1fr}.section_contact{padding-bottom:calc(var(--view-pb) + 3rem)}}.works_item.is-soon:after,.works_item.is-soon-label:after{content:attr(data-soon);font-size:var(--text-micro)}.next.is-paused .next_label:after{content:none}.next_right{display:inline-flex;gap:var(--space-3);align-items:baseline}.next_toggle{opacity:1;text-decoration:none}.next.is-held .next_toggle{opacity:1}.next_toggle:before{content:"❚❚ ";font-size:.8em}.next.is-held .next_toggle:before{content:"▶ "}.works_item.is-soon-muted{opacity:var(--dim-out)}.works-view_list .works_item{text-align:left}.works:has(.works_item:hover) .works_item:not(:hover){filter:blur(1px);opacity:.35}.top,.bottom,.views,.menu{will-change:opacity}.astro-route-announcer{position:absolute;left:0;top:0;clip:rect(0 0 0 0);clip-path:inset(50%);overflow:hidden;white-space:nowrap;width:1px;height:1px}@keyframes astroFadeInOut{0%{opacity:1}to{opacity:0}}@keyframes astroFadeIn{0%{opacity:0;mix-blend-mode:plus-lighter}to{opacity:1;mix-blend-mode:plus-lighter}}@keyframes astroFadeOut{0%{opacity:1;mix-blend-mode:plus-lighter}to{opacity:0;mix-blend-mode:plus-lighter}}@keyframes astroSlideFromRight{0%{transform:translate(100%)}}@keyframes astroSlideFromLeft{0%{transform:translate(-100%)}}@keyframes astroSlideToRight{to{transform:translate(100%)}}@keyframes astroSlideToLeft{to{transform:translate(-100%)}}@media(prefers-reduced-motion){::view-transition-group(*),::view-transition-old(*),::view-transition-new(*){animation:none!important}[data-astro-transition-scope]{animation:none!important}}
