.site-header[data-astro-cid-3ef6ksr2]{position:fixed;z-index:50;top:0;left:0;display:grid;width:100%;grid-template-columns:max-content minmax(220px,305px) max-content max-content 119px;align-items:center;justify-content:space-between;gap:22px;padding:10px;font:400 11px/1.1 var(--mono);color:var(--ink);transition:color .3s ease,opacity .3s ease}.site-header[data-astro-cid-3ef6ksr2].light{color:var(--inverse)}.brand[data-astro-cid-3ef6ksr2],.clock[data-astro-cid-3ef6ksr2],.contact[data-astro-cid-3ef6ksr2],.status[data-astro-cid-3ef6ksr2]{display:flex;flex-direction:column;gap:2px}.intro[data-astro-cid-3ef6ksr2]{width:min(305px,28vw);margin:0;font-weight:500}.intro[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{color:color-mix(in srgb,currentColor 60%,transparent)}@media(max-width:720px){.site-header[data-astro-cid-3ef6ksr2]{position:fixed;grid-template-columns:1fr;align-content:start;align-items:start;justify-content:start;min-height:0;gap:24px;pointer-events:none}.site-header[data-astro-cid-3ef6ksr2] a[data-astro-cid-3ef6ksr2]{pointer-events:auto}.clock[data-astro-cid-3ef6ksr2],.contact[data-astro-cid-3ef6ksr2],.status[data-astro-cid-3ef6ksr2]{display:none}.intro[data-astro-cid-3ef6ksr2]{width:min(305px,calc(100vw - 20px))}}:root{--bg: #ffffff;--ink: #1d1d1d;--muted: rgba(29, 29, 29, .48);--inverse: #ffffff;--hairline: rgba(29, 29, 29, .12);--mono: "JetBrains Mono", "SFMono-Regular", Consolas, monospace;color-scheme:light;font-family:var(--mono);font-size:11px;line-height:1.1;background:var(--bg);color:var(--ink)}*{box-sizing:border-box}html,body{min-height:100%;margin:0;background:var(--bg)}body{overflow-x:hidden;text-transform:uppercase;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{color:inherit;font:inherit;text-transform:inherit}img{display:block;max-width:100%}video{display:block}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::selection{background:var(--ink);color:var(--inverse)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.project-browser{min-height:100svh;background:#fff;color:var(--ink)}.stage{min-height:100svh}.empty-state{position:fixed;inset:0;display:grid;place-items:center;pointer-events:none}.empty-state img{width:101px;height:101px;opacity:.1}.intro-loader{position:fixed;z-index:60;inset:0;display:none;place-items:center;pointer-events:none;background:#fff}html.ruval-intro .intro-loader{display:grid}.intro-loader[hidden]{display:none}.intro-loader img{width:101px;height:101px}html.ruval-intro .site-header,html.ruval-intro .project-nav{opacity:0;transform:translateY(4px)}.project-nav{position:fixed;z-index:35;right:0;bottom:0;left:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(144px,1fr);grid-template-columns:none;align-items:stretch;justify-content:start;gap:10px;height:124px;padding:10px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;background:transparent;scrollbar-width:none;-webkit-overflow-scrolling:touch}.project-nav::-webkit-scrollbar{display:none}.project-nav button{display:grid;min-width:0;height:100%;min-height:0;grid-template-rows:minmax(0,1fr) 27px;gap:5px;padding:0;cursor:pointer;text-align:left;border:0;background:transparent;color:var(--ink);opacity:1;transition:transform .22s ease}.project-nav button:hover .thumb,.project-nav button:focus-visible .thumb,.project-nav button.selected .thumb{opacity:1}.project-nav button:hover .meta,.project-nav button:focus-visible .meta,.project-nav button.selected .meta{opacity:1}.project-nav button:focus-visible,.video-controls button:focus-visible,.video-controls input:focus-visible,.video-hit:focus-visible{outline:0px}.project-nav .thumb{display:block;width:clamp(62px,42%,144px);height:100%;min-height:0;overflow:hidden;background:linear-gradient(135deg,#eceae5,#c6d3cb 48%,#1d1d1d);color:#fff;opacity:.2;transition:opacity .22s ease,filter .42s ease,transform .42s ease}.project-nav button:nth-child(1) .thumb{width:79px}.project-nav button:nth-child(2) .thumb{width:137px}.project-nav button:nth-child(3) .thumb{width:75px}.project-nav button:nth-child(4) .thumb{width:144px}.project-nav .thumb img{width:100%;height:100%;object-fit:cover;filter:saturate(.92)}.project-nav .thumb span{display:grid;height:100%;place-items:center;font:400 12px/1.1 var(--mono)}.project-nav .meta{display:flex;height:27px;min-height:0;flex-direction:column;font:400 12px/1.1 var(--mono);text-transform:none;color:var(--ink);opacity:.35;transform:translateY(0);transition:opacity .26s ease,transform .36s ease}.project-nav .meta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}.project-nav .meta span:last-child{opacity:.4}.project-browser.is-about .project-nav .thumb{opacity:.45;filter:blur(8px) saturate(.8);transform:scale(1.02)}.project-browser.is-about .project-nav .meta{opacity:0;transform:translateY(6px)}.photo-project{position:fixed;inset:46px 0 124px;display:flex;align-items:center;overflow:hidden}.embla{width:100%;height:100%;overflow:hidden;cursor:grab}.embla:active{cursor:grabbing}.embla-track{display:flex;height:100%;gap:10px;padding:10px;touch-action:pan-y pinch-zoom}.photo-slide{flex:0 0 auto;height:100%;margin:0}.photo-slide img{width:auto;height:100%;object-fit:contain}.video-project{position:fixed;inset:74px 10px 124px;display:grid;align-items:stretch;justify-items:center;overflow:hidden}.video-shell{display:flex;width:100%;height:100%;align-items:center;justify-content:center;flex-direction:column}.video-hit{position:relative;display:grid;place-items:center;flex:0 0 auto;min-height:0;padding:0;overflow:hidden;cursor:pointer;border:0;background:transparent}.video-hit video{height:100%;object-fit:contain;background:#efefef}.play-state{position:absolute;top:10px;right:10px;padding:3px 5px;background:#ffffffb8;opacity:0;transition:opacity .18s ease}.video-shell.is-paused .play-state,.video-hit:hover .play-state,.video-hit:focus-visible .play-state{opacity:1}.video-controls{display:grid;grid-template-columns:48px 1fr 66px 78px;align-items:center;gap:10px;margin-top:8px}.video-controls button{min-width:0;padding:0;cursor:pointer;border:0;background:transparent;text-align:left}.video-controls input{width:100%;accent-color:var(--ink)}.about-main{position:fixed;z-index:40;inset:0;min-height:100svh;overflow:hidden;background:#ffffff0d;backdrop-filter:blur(16px);color:var(--ink)}.about-symbol{display:none}.about-panel{position:relative;z-index:4;min-height:100svh;padding:clamp(180px,25.96svh,290px) 10px 150px;color:#151515;--about-copy-x: clamp(220px, 19.55vw, 338px);--about-image-x: clamp(520px, 42.48vw, 734px);--about-copy-y: clamp(180px, 25.96svh, 290px);--about-image-y: clamp(260px, 35.27svh, 394px)}.about-copy{position:absolute;top:var(--about-copy-y);left:var(--about-copy-x);width:420px;font:400 11px/1.1 var(--mono)}.about-copy p{margin:0 0 20px}.about-contact{display:flex;width:132px;flex-direction:column}.about-portrait{position:absolute;top:var(--about-image-y);left:var(--about-image-x);width:260px;height:329px;margin:0;overflow:hidden}.about-portrait img{width:100%;height:100%;object-fit:cover}@media(max-width:720px){.stage{min-height:100svh}.photo-project{inset:93px 0 155px;align-items:stretch}.embla-track{padding:0 10px}.photo-slide{height:100%}.video-project{inset:93px 10px 155px;align-items:stretch}.video-shell{width:100%}.video-hit video{width:100%;height:100%;object-fit:contain}.video-controls{grid-template-columns:48px 1fr 66px}.video-controls span{grid-column:1 / -1}.project-nav{left:0;width:100%;height:155px;grid-auto-flow:column;grid-auto-columns:140px;grid-template-columns:none;justify-content:start;gap:53px;overflow-x:auto;overflow-y:hidden;margin-left:11px;overscroll-behavior-x:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none}.project-nav button:last-child{margin-right:11px}.project-nav::-webkit-scrollbar{display:none}.project-nav button{opacity:1;scroll-snap-align:start}.project-nav .thumb,.project-nav button:nth-child(n) .thumb{width:100%;height:106px}.project-nav .meta{color:var(--ink)}.about-symbol{display:none}.about-panel{display:block;min-height:100svh;padding:180px 10px 190px;color:var(--ink)}.about-copy{position:static;width:min(305px,calc(100vw - 20px))}.about-portrait{position:fixed;inset:auto 10px 190px auto;width:min(260px,calc(100vw - 20px));height:min(329px,34svh)}}
