@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#141516;--ink:#f2f0eb;--muted:#a6a6a3;--accent:#cfaa7d}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Manrope,Arial,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:6px}header{padding:27px 4vw;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #ffffff18;gap:20px}.brand{line-height:1.1}.brand>span{display:block;font-size:10px;letter-spacing:.38em;margin-bottom:5px}.brand b{font-family:Georgia,serif;font-style:italic;font-weight:400;font-size:27px}.brand-dot{color:var(--accent)}nav{display:flex;gap:40px;font-size:14px}sup{font-size:10px;color:var(--muted);margin-left:4px}main{padding:0 4vw}.intro{padding:66px 0 58px;display:flex;align-items:flex-end;justify-content:space-between;gap:30px}h1{font-size:clamp(34px,4.4vw,70px);line-height:1.12;letter-spacing:-.055em;font-weight:500;margin:0}em{font-family:Georgia,serif;font-weight:400;color:var(--accent)}.intro-note{font-size:14px;color:var(--muted);padding-bottom:5px}.intro-note>span,.eyebrow{font-size:11px;letter-spacing:.13em}.intro-note p{margin:13px 0 0}.section-line{display:flex;justify-content:space-between;font-size:11px;letter-spacing:.13em;color:var(--muted);padding-bottom:17px}.grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.card{position:relative;isolation:isolate;display:block;overflow:hidden;background:#252729;min-width:0;height:660px}.card:first-child,.card:nth-child(6){grid-column:1/-1;height:min(78vw,780px)}.card img{width:100%;height:100%;object-fit:cover;transition:transform 1.2s cubic-bezier(.2,.7,.2,1),filter .8s;filter:brightness(.78) saturate(.76)}.card:after{content:'';position:absolute;inset:0;background:linear-gradient(transparent 35%,#000a);z-index:0}.card:hover img{transform:scale(1.035);filter:brightness(.95) saturate(.9)}.card .num{position:absolute;left:30px;top:25px;font-size:12px;z-index:1;letter-spacing:.1em}.card .tag{position:absolute;right:25px;top:25px;border:1px solid #ffffff55;border-radius:30px;padding:5px 12px;font-size:11px;z-index:1;backdrop-filter:blur(5px)}.card-caption{position:absolute;bottom:32px;left:32px;right:32px;z-index:1;display:flex;justify-content:space-between;align-items:flex-end;gap:14px}.card-caption h2{font-size:clamp(30px,3.9vw,64px);font-weight:500;line-height:1.1;letter-spacing:-.04em;margin:8px 0 0}.card-caption p{font-size:12px;letter-spacing:.03em;margin:0;color:#dedbd5}.round{display:grid;place-items:center;flex-shrink:0;border:1px solid #ffffff66;width:49px;height:49px;border-radius:50%;font-size:23px;transition:background .3s, color .3s}.card:hover .round{background:var(--ink);color:#171819}.contacts{padding:110px 0 90px}.contacts h2{font-size:clamp(40px,6vw,86px);line-height:1.15;letter-spacing:-.045em;font-weight:500;margin:22px 0 35px}#socials{display:flex;gap:30px;flex-wrap:wrap}#socials a{border-bottom:1px solid #777;padding-bottom:7px}#socials .pending{color:var(--muted);font-size:14px}.contacts .eyebrow{color:var(--muted)}footer{margin:0 4vw;padding:25px 0;border-top:1px solid #ffffff22;display:flex;justify-content:space-between;gap:20px;color:var(--muted);font-size:12px}.demo-note{margin:0 4vw 25px;color:#898987;font-size:12px}.skip{position:fixed;top:-100px;left:20px;z-index:5;background:#222;padding:15px}.skip:focus{top:10px}dialog{position:fixed;inset:0;border:0;padding:0;margin:0;width:100%;max-width:none;height:100%;max-height:none;background:var(--bg);color:var(--ink);overflow-y:auto}dialog::backdrop{background:#141516}body.modal-open{overflow:hidden}.dialog-bar{position:sticky;top:0;background:#141516ed;backdrop-filter:blur(18px);display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 4vw;z-index:4;border-bottom:1px solid #ffffff22;font-size:14px}.dialog-bar button{background:none;border:0;width:44px;height:44px;cursor:pointer}.dialog-bar span{color:var(--muted);font-size:12px}.project-hero{width:100%;max-height:85svh;object-fit:cover;display:block;background:#252729}.project-info{padding:60px 7vw;display:grid;grid-template-columns:1fr 1fr;gap:40px}.project-info h1{font-size:clamp(38px,6vw,88px)}.project-info p{max-width:550px;color:#bdbdb8;margin:0}.project-info small{display:block;margin-top:20px;color:var(--accent);font-size:12px}.frames{padding:0 4vw;display:grid;grid-template-columns:1fr 1fr;gap:24px}.frames figure{margin:0}.frames img{width:100%;height:65vh;object-fit:cover;display:block}.frames figure:last-child{grid-column:1/-1}.frames figure:last-child img{height:75vh}.frames figcaption{font-size:12px;color:var(--muted);padding:12px 0 25px}.next{display:flex;justify-content:space-between;align-items:center;margin:60px 4vw;padding:30px 0;border-top:1px solid #ffffff33;font-size:clamp(24px,4vw,55px);letter-spacing:-.04em}.next small{display:block;font-size:12px;color:var(--muted);letter-spacing:0}.reveal{animation:appear .8s both}@keyframes appear{from{opacity:.2;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media(min-width:1500px){.card{height:800px}}@media(max-width:700px){header{padding:22px 5vw}.brand b{font-size:21px}nav{gap:19px;font-size:12px}nav sup{display:none}main{padding:0 5vw}.intro{padding:40px 0;display:block}.intro-note{margin-top:25px;display:flex;justify-content:space-between;gap:15px;font-size:12px}.intro-note>span{font-size:9px;max-width:125px}.intro-note p{margin:0}.grid{grid-template-columns:1fr;gap:16px}.card,.card:first-child,.card:nth-child(6){height:76svh;min-height:430px;max-height:850px;grid-column:auto}.card-caption{left:23px;right:23px;bottom:28px}.card-caption h2{font-size:39px}.card .num{left:23px}.card .tag{right:23px}.contacts{padding:75px 0 60px}footer{margin:0 5vw;flex-wrap:wrap;font-size:11px}.demo-note{margin:0 5vw 25px}.project-info{display:block;padding:35px 5vw}.project-info p{margin-top:25px}.frames{padding:0 5vw;grid-template-columns:1fr;gap:10px}.frames img,.frames figure:last-child img{height:auto;max-height:85svh;object-fit:contain}.project-hero{height:72svh;object-fit:cover}.dialog-bar{padding:10px 5vw}.dialog-bar span{display:none}.next{margin:35px 5vw}.round{width:44px;height:44px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
/* Desktop composition: small project shortcuts over a personal photograph. */
body{min-height:100svh;background:#16191b}body:before{content:'';position:fixed;inset:0;z-index:-2;background:linear-gradient(90deg,#101417cc,#11151855 50%,#101417aa),linear-gradient(0deg,#111518dd,transparent 40%,#14171955),url('assets/backstage-1.jpg') center 40%/cover no-repeat;filter:saturate(.35);pointer-events:none}header{height:86px;padding:16px 3vw;background:#11151848;backdrop-filter:blur(15px);border-bottom:1px solid #ffffff13}.desktop-meta{font-size:10px;letter-spacing:.19em;color:#d5d4ce}.contact-link{font-size:13px}.desktop{position:relative;height:calc(100svh - 86px);min-height:640px;padding:0;max-width:1600px;margin:auto}.desktop-heading{position:absolute;left:43%;top:36%;font-size:clamp(24px,3vw,46px);line-height:1.2;font-weight:400;letter-spacing:-.035em;opacity:.8;pointer-events:none;text-shadow:0 3px 20px #0008}.desktop-heading em{color:#e0c5a3}.grid{display:block;position:absolute;inset:0 0 150px}.shortcut{position:absolute;display:flex;align-items:center;flex-direction:column;width:156px;padding:14px 10px 11px;border:1px solid transparent;border-radius:8px;transition:background .2s,border-color .2s,transform .3s;text-align:center}.shortcut:hover,.shortcut:focus-visible{background:#ffffff12;border-color:#ffffff28;backdrop-filter:blur(8px);transform:translateY(-4px)}.thumbnail{position:relative;width:100px;height:100px;display:block;filter:drop-shadow(0 8px 12px #0007)}.thumbnail img{width:100%;height:100%;object-fit:cover;border:4px solid #e8e5de;border-radius:2px}.shortcut:nth-child(2n) .thumbnail{width:114px;height:80px;margin:10px 0}.shortcut:nth-child(3n) .thumbnail img{border-color:#26292b;border-width:5px}.shortcut-arrow{position:absolute;bottom:-2px;left:-5px;background:#edebe4;color:#212528;border-radius:2px;font:700 14px/20px Arial;width:20px;height:20px;box-shadow:0 2px 4px #0008}.shortcut h2{font-size:14px;font-weight:600;line-height:1.3;margin:12px 0 0;text-shadow:0 1px 5px #000,0 1px 15px #000;letter-spacing:0}.file-kind{font-size:10px;color:#d0d0cc;margin-top:3px;letter-spacing:.05em;text-shadow:0 1px 8px #000}.shortcut:nth-child(1){left:12%;top:8%}.shortcut:nth-child(2){left:39%;top:3%}.shortcut:nth-child(3){left:71%;top:10%}.shortcut:nth-child(4){left:24%;top:46%}.shortcut:nth-child(5){left:65%;top:51%}.shortcut:nth-child(6){left:5%;top:70%}.shortcut:nth-child(7){left:82%;top:65%}.desktop-hint{position:absolute;bottom:128px;left:0;right:0;text-align:center;font-size:11px;letter-spacing:.07em;color:#deddd4}.dock{position:fixed;bottom:36px;left:50%;transform:translateX(-50%);z-index:3;display:flex;gap:14px;align-items:center;padding:10px 18px 8px;border-radius:18px;border:1px solid #ffffff30;background:#43484a66;box-shadow:0 12px 45px #0007,inset 0 1px #ffffff12;backdrop-filter:blur(24px)}.dock a{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:10px;color:#e2e2de;min-width:56px}.dock-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:11px;background:linear-gradient(145deg,#d7bd94,#967858);color:#232a2f;font:30px/1 Georgia;box-shadow:0 3px 7px #0005;transition:transform .2s}.dock a:hover .dock-icon{transform:translateY(-7px)}.vk-icon{background:linear-gradient(145deg,#5a91c4,#254e7a);color:white;font:700 24px Arial;letter-spacing:-2px}.mail-icon{background:linear-gradient(145deg,#d7d8cf,#939b99);font:27px Arial}.dock-divider{width:1px;height:43px;background:#ffffff30;margin:0 2px}footer{position:fixed;bottom:0;left:0;right:0;padding:8px 3vw;margin:0;border:none;font-size:10px;color:#c2c3bd;pointer-events:none}.demo-note{margin:0;color:inherit;font-size:10px}dialog{inset:5vh 5vw;margin:auto;width:min(1120px,90vw);height:90vh;max-height:90svh;border:1px solid #ffffff35;border-radius:12px;box-shadow:0 30px 100px #000a}dialog::backdrop{background:#06090b88;backdrop-filter:blur(8px)}.dialog-bar{padding:8px 24px;background:#24282bf2}.dialog-bar span{font-size:10px}.dialog-bar button{width:35px;height:35px;border-radius:6px}.dialog-bar button:hover{background:#b56244}.project-hero{max-height:65vh}.project-info{padding:36px 35px}.project-info h1{font-size:clamp(32px,5vw,65px)}.frames{padding:0 35px;gap:20px}.frames img{height:48vh}.frames figure:last-child img{height:60vh}.next{margin:40px 35px}.contacts{padding:40px}.contacts h2{font-size:44px}#contact-window{width:min(520px,90vw);height:fit-content;max-height:85svh}#contact-window .dialog-bar span{display:block}#socials a{font-size:17px}
@media(max-width:700px){header{height:78px;padding:15px 5vw}.desktop-meta{display:none}.brand b{font-size:23px}.contact-link{font-size:12px}body:before{background-position:center,center,55% 30%;background-size:cover}.desktop{height:auto;min-height:calc(100svh - 78px);padding:20px 5vw 170px}.desktop-heading{position:static;text-align:center;font-size:27px;margin:5px 0 24px}.desktop-heading br{display:none}.desktop-heading em{margin-left:5px}.grid{position:static;display:grid;grid-template-columns:1fr 1fr;gap:14px 16px;align-items:start}.shortcut,.shortcut:nth-child(n){position:relative;left:auto;top:auto;width:100%;padding:12px 6px}.shortcut:nth-child(2n){transform:translateY(30px)}.shortcut:nth-child(2n):hover{transform:translateY(26px)}.thumbnail{width:85px;height:85px}.shortcut:nth-child(2n) .thumbnail{width:98px;height:69px;margin:8px 0}.shortcut h2{font-size:14px}.file-kind{font-size:10px}.desktop-hint{position:static;margin:28px 0 0;font-size:11px}.dock{bottom:33px;gap:14px;padding:8px 15px 6px;border-radius:16px}.dock-icon{width:42px;height:42px}.dock a{min-width:48px}footer{padding:7px 4vw;background:#13171899;font-size:9px}.demo-note{font-size:9px}dialog{inset:8px;margin:auto;width:calc(100% - 16px);height:calc(100svh - 16px);max-height:calc(100svh - 16px);border-radius:10px}.dialog-bar{padding:8px 14px;font-size:12px}.project-hero{height:58svh}.project-info{padding:28px 20px}.frames{padding:0 20px}.frames img,.frames figure:last-child img{height:auto}.next{margin:30px 20px}.contacts{padding:30px 22px}.contacts h2{font-size:35px}#contact-window{width:calc(100% - 28px)}}
@media(min-width:701px) and (max-height:760px){.desktop{min-height:540px}.thumbnail{width:78px;height:78px}.shortcut:nth-child(2n) .thumbnail{width:94px;height:66px;margin:6px 0}.shortcut:nth-child(6),.shortcut:nth-child(7){top:67%}.shortcut h2{margin-top:8px}.desktop-hint{bottom:114px}}
@media(prefers-reduced-motion:reduce){.shortcut:hover,.dock a:hover .dock-icon{transform:none}}
.shortcut{transform-origin:center;transition:background .2s,border-color .2s,transform .28s cubic-bezier(.2,.8,.2,1)}
.shortcut:hover,.shortcut:focus-visible{transform:translateY(-5px) scale(1.09)}
@media(max-width:700px){.shortcut:nth-child(2n):hover,.shortcut:nth-child(2n):focus-visible{transform:translateY(26px) scale(1.06)}}
@media(prefers-reduced-motion:reduce){.shortcut:hover,.shortcut:focus-visible{transform:none}.shortcut:nth-child(2n):hover,.shortcut:nth-child(2n):focus-visible{transform:translateY(30px)}}
.video-icon{background:linear-gradient(145deg,#d99b6b,#874a32);color:#fff;font:20px Arial;padding-left:3px}
#video-window{position:fixed;inset:auto 28px 118px auto;margin:0;width:clamp(150px,11vw,190px);height:auto;max-height:88svh;overflow:hidden;border-radius:10px;transition:width .45s cubic-bezier(.2,.8,.2,1),box-shadow .45s}
#video-window.is-expanded{width:min(33vw,560px);overflow:auto;box-shadow:0 28px 90px #000c}
#video-window .dialog-bar{padding:4px 8px 4px 11px}
#video-window .dialog-bar span{font-size:9px;letter-spacing:.04em}
#video-window .dialog-bar button{width:26px;height:26px;font-size:12px}
.about-video{padding:6px}
#about-player{aspect-ratio:16/9;background:#080a0b;border-radius:7px;overflow:hidden}
#about-player video{width:100%;height:100%;display:block;object-fit:contain;background:#080a0b}
.video-placeholder{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;background-position:center;background-size:cover;text-align:center;color:#e9e7e1}
.video-placeholder p{display:none;margin:16px 20px 0;font-size:14px}
.big-play{display:grid;place-items:center;width:38px;height:38px;padding-left:3px;border:1px solid #ffffffaa;border-radius:50%;background:#11161ab3;font-size:14px;transition:transform .25s,background .25s}
#about-player{cursor:pointer}
#about-player:hover .big-play{transform:scale(1.12);background:#171d20e8}
.about-caption{display:none;justify-content:space-between;gap:24px;padding:18px 6px 8px;align-items:flex-end}
#video-window.is-expanded .about-caption{display:flex}
#video-window.is-expanded .video-placeholder p{display:block}
#video-window.is-expanded .big-play{width:70px;height:70px;padding-left:5px;font-size:25px}
.about-caption h2{margin:3px 0 0;font-size:30px;line-height:1.1;font-weight:500;letter-spacing:-.04em}
.about-caption p{margin:0;max-width:235px;color:var(--muted);font-size:13px;line-height:1.5}
@media(max-width:700px){.dock{gap:7px;padding-left:9px;padding-right:9px}.dock a{min-width:45px}.dock-divider{margin:0}.about-video{padding:6px}.about-caption{flex-direction:column;align-items:flex-start;gap:12px;padding:18px 8px 8px}.about-caption h2{font-size:35px}#video-window{right:12px;bottom:116px;width:140px;height:auto}#video-window.is-expanded{width:calc(100vw - 24px)}#video-window.is-expanded .big-play{width:58px;height:58px}}
