*{box-sizing:border-box}html{background:#fff;scroll-behavior:smooth}body{margin:0;color:#111;font-family:Arial,Helvetica,sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:2px solid #ff79bc;outline-offset:6px}
.masthead{position:absolute;inset:0 0 auto;display:flex;justify-content:space-between;padding:22px 25px;font-size:12px;font-weight:700;letter-spacing:.04em;z-index:2;pointer-events:none}
#gallery{position:relative;display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-auto-rows:clamp(140px,19vw,265px);padding:105px 5vw 175px;align-items:start;background:#fff;min-height:100svh}
.work{grid-column:var(--column)/span 2;grid-row:var(--row);justify-self:center;position:relative;margin:var(--drop) 0 0;width:max-content;max-width:100%;z-index:1}
.image-button{display:block;position:relative;padding:0;border:0;background:none;cursor:zoom-in;touch-action:manipulation}
.work img{display:block;width:auto;height:auto;max-width:clamp(36px,9vw,140px);max-height:min(155px,calc((100svh - 180px)/5));object-fit:contain;transform-origin:center;transition:transform 420ms cubic-bezier(.2,.65,.3,1),box-shadow 420ms;pointer-events:none;transform:translate(0,0) scale(1)}
.work.is-expanded{z-index:20}.work.is-expanded .image-button{cursor:zoom-out}.work.is-expanded img{transform:translate(var(--zoom-x,0px),var(--zoom-y,0px)) scale(5);box-shadow:0 3px 10px #0002}
.work figcaption{margin-top:9px;display:flex;justify-content:space-between;gap:12px;color:#777;font-size:10px;text-transform:uppercase;letter-spacing:.04em;pointer-events:none}.work.is-expanded figcaption{opacity:0}
.identity{position:fixed;top:50%;left:0;width:100%;transform:translateY(-54%);z-index:30;text-align:center;color:#ff79bc;pointer-events:none;padding:0 20px}.identity h1{margin:0;font-size:clamp(2.5rem,8.5vw,10rem);line-height:.94;letter-spacing:-.065em;font-weight:900}.identity h1 span{display:block}.phone{display:inline-block;pointer-events:auto;font-size:clamp(1.3rem,3vw,3.2rem);line-height:1.2;letter-spacing:-.055em;margin-top:25px;font-weight:700}.phone:hover{text-decoration:underline;text-underline-offset:6px}
.bottom-bar{position:fixed;bottom:0;left:0;width:100%;z-index:40;background:#fff;min-height:80px;padding:16px 25px;display:flex;align-items:center;justify-content:center;gap:24px;border-top:1px solid #eee}.credit{font-size:14px;line-height:1.5;font-weight:700}.credit span{display:block;color:#666;font-size:12px;font-weight:400}nav{display:flex;gap:22px}nav button{border:0;background:none;color:#72726e;font-size:14px;padding:10px 0;cursor:pointer;white-space:nowrap}nav button.active{color:#111}nav button.active:before{content:'●';font-size:8px;display:inline-block;margin-right:7px;vertical-align:middle}nav button:hover{color:#111}sup{font-size:10px;margin-left:3px}.contact{font-size:14px;white-space:nowrap}.contact span{font-size:22px;margin-left:18px}.progress{position:fixed;bottom:0;left:0;height:3px;width:100%;transform:scaleX(0);transform-origin:left;background:#ff79bc;z-index:41}.sr-only,.skip:not(:focus){position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;top:10px;left:10px;background:white;padding:12px;z-index:50}
@media(max-width:700px){.masthead{padding:16px 12px;font-size:10px}.edition{display:none}#gallery{padding:85px 4vw 160px;grid-auto-rows:145px}.work{grid-column:var(--mobile-column)/span 3;margin-top:var(--mobile-drop)}.work img{max-width:clamp(36px,10vw,70px)}.work figcaption{font-size:9px;letter-spacing:0;margin-top:6px}.work figcaption span:last-child{display:none}.identity{padding:0 10px;transform:translateY(-65%)}.identity h1{font-size:9.4vw;line-height:1;letter-spacing:-.07em}.phone{font-size:6vw;margin-top:16px}.bottom-bar{padding:12px 14px;min-height:64px;gap:6px;flex-wrap:wrap}.credit{font-size:12px}.credit span{font-size:10px}.contact{font-size:12px}.contact span{margin-left:6px}nav{order:3;justify-content:center;width:100%;gap:22px}nav button{font-size:14px;padding:6px 0}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work img{transition:none}}
#gallery{grid-auto-rows:clamp(130px,16vw,220px)}
.work img{max-width:calc(clamp(36px,10vw,145px)*var(--picture-size));max-height:calc(min(150px,calc((100svh - 180px)/5))*var(--picture-size));border:3px solid #fff;outline:1px solid #dedbd7;box-shadow:1px 3px 7px #00000012}
.work:nth-child(4n+2) img{border:2px solid #252525;outline-color:#252525}
.work:nth-child(4n+3) img{border:4px solid #faf8f5;outline-color:#d8c8b6}
.work figcaption{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
@media(max-width:700px){#gallery{grid-auto-rows:120px}.work img{max-width:calc(clamp(38px,12vw,75px)*var(--picture-size))}}
.work.detail img{width:calc(clamp(36px,10vw,145px)*var(--picture-size));height:calc(clamp(36px,10vw,145px)*var(--picture-size));object-fit:cover;object-position:var(--detail-position,center);object-view-box:inset(12%)}
@media(max-width:700px){.work.detail img{width:calc(clamp(38px,12vw,75px)*var(--picture-size));height:calc(clamp(38px,12vw,75px)*var(--picture-size))}}
.work.is-floating{--drift-x:calc(clamp(10px,2vw,28px)*var(--drift-strength));--drift-y:calc(clamp(14px,2.6vw,36px)*var(--drift-strength));animation:gallery-drift var(--drift-duration) ease-in-out var(--drift-delay) infinite var(--drift-direction)}
.work.is-drift-paused{animation-play-state:paused}
@keyframes gallery-drift{
 0%,100%{transform:translate(0,0)}
 18%{transform:translate(calc(var(--drift-x)*.65),calc(var(--drift-y)*-.8))}
 39%{transform:translate(calc(var(--drift-x)*-.75),calc(var(--drift-y)*-.35))}
 61%{transform:translate(var(--drift-x),calc(var(--drift-y)*.6))}
 82%{transform:translate(calc(var(--drift-x)*-.4),var(--drift-y))}
}
@media(max-width:700px){.work.is-floating{--drift-x:calc(8px*var(--drift-strength));--drift-y:calc(14px*var(--drift-strength))}}
@media(prefers-reduced-motion:reduce){.work.is-floating{animation:none}}
#gallery .work img{border:0;outline:0;box-shadow:none}
#gallery.gallery-large{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;gap:2px;padding:0 0 var(--footer-height,80px);min-height:0;align-items:start}
.portfolio-column{display:flex;flex-direction:column;gap:2px;min-width:0}
#gallery.gallery-large .work{display:block;width:100%;max-width:none;margin:0;overflow:hidden;animation:none;transform:none}
#gallery.gallery-large .work img{width:100%;height:auto;max-width:none;max-height:none;aspect-ratio:var(--cell-ratio,4 / 5);object-fit:cover;object-view-box:none;transform:scale(1)}
#gallery.gallery-large .edge-piece img{height:clamp(60px,15vw,240px);aspect-ratio:auto;object-position:center 35%}
@media(hover:hover) and (pointer:fine){#gallery.gallery-large .work:hover img{transform:scale(1.03)}}
@media(max-width:700px){#gallery.gallery-large{padding-bottom:var(--footer-height,108px)}}
.work.is-floating img{max-width:min(calc(clamp(36px,10vw,145px)*var(--picture-size)),var(--native-width));max-height:min(calc(min(150px,calc((100svh - 180px)/5))*var(--picture-size)),var(--native-height))}
@media(max-width:700px){.work.is-floating img{max-width:min(calc(clamp(38px,12vw,75px)*var(--picture-size)),var(--native-width))}}

@font-face{font-family:Akony;src:url("assets/fonts/AKONY.otf") format("opentype");font-weight:400;font-style:normal;font-display:swap}
.identity h1,.identity .phone{font-family:Akony,Arial,sans-serif;font-weight:400;letter-spacing:0;font-synthesis:none}

.identity h1{font-size:clamp(1rem,5.2vw,6.2rem);line-height:1.12}
@media(max-width:700px){.identity h1{font-size:5.2vw}.identity .phone{font-size:4.5vw}}


.identity .phone{font-family:Akony,Arial,sans-serif;font-weight:400;filter:url("#telegram-thin")}
