:root{font-family:Arial,Helvetica,sans-serif;color:#1d1d1f;background:#f7f7f7;font-synthesis:none;--edge:clamp(22px,3.2vw,56px);--cube:min(35vw,43vh,410px)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:5px}a:focus-visible,button:focus-visible{outline:2px solid #1757ff;outline-offset:7px}::selection{background:#c4ff4d}nav a{position:fixed;z-index:20;font-size:clamp(16px,1.5vw,22px);line-height:1.3;letter-spacing:-.035em;padding:8px 0}.name{top:var(--edge);left:var(--edge)}.about{top:var(--edge);right:var(--edge)}.cv{bottom:var(--edge);left:var(--edge)}.telegram{bottom:var(--edge);right:var(--edge)}body.home{overflow:hidden}#stage{position:fixed;inset:0;display:grid;place-items:center;perspective:1800px;touch-action:none;cursor:grab;overflow:hidden}#stage.dragging{cursor:grabbing}#scene{width:var(--cube);height:var(--cube);transform-style:preserve-3d;will-change:transform}#cube{width:100%;height:100%;position:relative;transform-style:preserve-3d;will-change:transform}.face{position:absolute;inset:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:#e4e4e4;outline-offset:-6px!important}.face:after{content:'';position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff24;pointer-events:none;transition:background .2s}.face:hover:after{background:#ffffff0b}.face:nth-child(1){transform:translateZ(calc(var(--cube)/2))}.face:nth-child(2){transform:rotateY(90deg) translateZ(calc(var(--cube)/2))}.face:nth-child(3){transform:rotateY(180deg) translateZ(calc(var(--cube)/2))}.face:nth-child(4){transform:rotateY(-90deg) translateZ(calc(var(--cube)/2))}.face:nth-child(5){transform:rotateX(90deg) translateZ(calc(var(--cube)/2))}.face:nth-child(6){transform:rotateX(-90deg) translateZ(calc(var(--cube)/2))}.crop{position:relative;width:100%;height:100%;overflow:hidden;display:block}.crop img{position:absolute;max-width:none;pointer-events:none;user-select:none;-webkit-user-drag:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page{max-width:1600px;margin:auto;padding:150px var(--edge) 140px}.back{display:inline-block;font-size:16px;margin-bottom:45px}.eyebrow{font-size:14px;margin:0 0 22px;color:#666}.page h1{font-size:clamp(42px,6.8vw,100px);font-weight:400;letter-spacing:-.065em;line-height:1.02;max-width:1100px;margin:0 0 34px}.intro{max-width:660px;font-size:clamp(18px,2vw,25px);line-height:1.45;letter-spacing:-.025em;margin-bottom:65px}.gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;align-items:start}.story{aspect-ratio:488/957;background:#eee;border-radius:22px;overflow:hidden}.next{display:flex;justify-content:space-between;gap:30px;border-top:1px solid #ccc;margin-top:80px;padding:24px 0;font-size:18px}.about-page{max-width:1200px}.about-page .intro{max-width:800px;font-size:clamp(23px,3vw,38px)}.experience{display:grid;grid-template-columns:1fr 1fr;gap:40px;border-top:1px solid #ccc;padding-top:28px;margin-top:60px}.experience h2{font-weight:400;font-size:22px;margin:0 0 15px}.experience p{font-size:18px;line-height:1.6;margin:0}.about-links{display:flex;gap:30px;font-size:18px;margin-top:50px}body:not(.home) nav a{background:#f7f7f7eb;box-shadow:0 0 12px 10px #f7f7f7eb}@media(max-width:700px){:root{--cube:min(53vw,35svh);--edge:20px}nav a{font-size:16px}.page{padding-top:120px}.gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.story{border-radius:14px}.experience{grid-template-columns:1fr;gap:30px}.intro{margin-bottom:38px}.back{margin-bottom:34px}.next{font-size:16px}.page h1{font-size:48px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Four independently clickable rounded image tiles on each of six faces. */
:root{--cube:min(39vw,48vh,460px)}
.face{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:calc(var(--cube)*.025);padding:calc(var(--cube)*.0125);background:transparent}
.face:after{display:none}.tile{display:block;position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:calc(var(--cube)*.035);background:#eee;backface-visibility:hidden;-webkit-backface-visibility:hidden;cursor:grab;isolation:isolate}
.tile img{display:block;width:100%;height:100%;object-fit:cover;pointer-events:none;user-select:none;-webkit-user-drag:none;transition:filter .18s}.tile:hover img{filter:brightness(1.08)}.tile:focus-visible{outline-offset:-4px}.dragging .tile{cursor:grabbing}
.case-page{max-width:1380px}.case-page h1{font-size:clamp(42px,5.5vw,82px);max-width:1180px}.case-page .intro{max-width:850px;font-size:clamp(18px,2vw,25px)}.case-image{display:block;width:100%;border-radius:16px;overflow:hidden}.case-image img{width:100%;height:auto;display:block}.case-section{margin-top:100px}.case-section h2{font-size:clamp(22px,2.5vw,32px);font-weight:600;letter-spacing:-.035em;text-transform:uppercase;line-height:1.15;margin:0 0 22px}.case-section>p,.case-preface{max-width:850px;font-size:clamp(18px,2vw,25px);line-height:1.4;letter-spacing:-.025em;margin:0 0 40px}.case-preface{margin:60px 0}.case-images{display:grid;gap:30px;margin-bottom:36px}.case-images.pair{grid-template-columns:1fr 1fr}.dark{background:#141414;color:#f5f5f5}.dark nav a{background:#141414eb!important;box-shadow:0 0 12px 10px #141414eb!important}.dark .eyebrow,.dark .experience p,.about-description,.tools{color:#949494}.dark .next,.dark .experience{border-color:#474747}.about-description{font-size:20px;line-height:1.4;max-width:760px}.tools{text-align:right;font-size:14px;margin-top:60px}.about-page h1{text-transform:uppercase;font-weight:600;font-size:clamp(38px,5.5vw,82px)}
@media(max-width:700px){:root{--cube:min(60vw,37svh)}.case-section{margin-top:55px}.case-images{gap:14px}.case-images.pair{grid-template-columns:1fr}.case-image{border-radius:10px}.case-page h1{font-size:40px}.case-section>p{margin-bottom:24px}.about-description{font-size:18px}}
/* Strong typography; only the cube screen keeps corner navigation fixed. */
body.home>nav a{font-size:clamp(25px,3vw,52px);font-weight:700;letter-spacing:-.065em;line-height:1.02}
body.inner-page>nav.page-navigation{position:static;display:flex;align-items:baseline;gap:clamp(20px,3vw,50px);padding:var(--edge);padding-bottom:0}
body.inner-page>nav.page-navigation a{position:static!important;padding:0;background:none!important;box-shadow:none!important;font-size:clamp(16px,1.45vw,22px);font-weight:600;white-space:nowrap;letter-spacing:-.045em}
body.inner-page>nav.page-navigation .name{margin-right:auto;font-size:clamp(23px,2.5vw,38px);font-weight:750;letter-spacing:-.065em}
.inner-page .page{padding-top:80px;padding-bottom:60px}
.case-page h1{font-weight:750;font-size:clamp(40px,7vw,108px);letter-spacing:-.067em;line-height:.98;max-width:1240px;margin-bottom:40px;text-wrap:balance}
.case-page .eyebrow{font-size:16px;font-weight:500;letter-spacing:-.025em;margin-bottom:22px}
.case-page .intro,.case-section>p,.case-preface{font-size:clamp(19px,2.15vw,28px);line-height:1.38;letter-spacing:-.035em;font-weight:400;text-wrap:pretty;max-width:920px}
.case-section h2{font-size:clamp(25px,3.1vw,44px);font-weight:750;letter-spacing:-.055em;line-height:1.06;text-wrap:balance}
.case-pagination{display:grid;grid-template-columns:1fr auto 1fr;gap:25px;border-top:1px solid #ccc;margin-top:100px;padding:30px 0}
.case-pagination a{position:static!important;padding:0!important;background:none!important;box-shadow:none!important;font-size:clamp(16px,1.7vw,24px);line-height:1.2;font-weight:600;letter-spacing:-.045em}
.case-pagination a:last-child{text-align:right}.case-pagination a:nth-child(2){text-align:center}.dark .case-pagination{border-color:#474747}
.interactive-composition{position:relative;display:block}.prototype-control{position:absolute;border:0;padding:0;margin:0;overflow:hidden;background:transparent;cursor:pointer;border-radius:clamp(3px,1vw,18px)}
.prototype-control img{position:absolute;inset:0;width:100%;height:100%;object-fit:fill;opacity:0;transition:opacity .3s ease-out;pointer-events:none}.prototype-control img.active{opacity:1}.prototype-control:focus-visible{outline:3px solid #568dff;outline-offset:-3px;z-index:2}
@media(max-width:700px){body.inner-page>nav.page-navigation{flex-wrap:wrap;gap:18px 24px}body.inner-page>nav.page-navigation .name{flex-basis:100%;margin-bottom:8px}.inner-page .page{padding-top:54px}.case-page h1{font-size:clamp(35px,8.7vw,57px);letter-spacing:-.055em}.case-pagination{grid-template-columns:1fr 1fr;gap:24px 14px;margin-top:60px}.case-pagination a:nth-child(2){grid-column:1/-1;grid-row:2;text-align:center}.case-pagination a{font-size:17px}.case-pagination a:first-child{text-align:left}.case-pagination a:last-child{grid-column:2;grid-row:1}.about-page h1{font-size:clamp(30px,7vw,44px)}}
@media(prefers-reduced-motion:reduce){.prototype-control img{transition:none}}

/* Original videos sit inside the same responsive Figma compositions. */
.media-composition{position:relative}.video-frame{position:absolute;inset:0;overflow:hidden;border-radius:inherit}.video-frame video{display:block;width:100%;height:100%;object-fit:cover;background:#141414}.hover-video{opacity:0;pointer-events:none;transition:opacity .3s ease-out}.hover-video.revealed{opacity:1;pointer-events:auto}.video-toggle{position:absolute;top:12px;left:12px;z-index:3;border:0;border-radius:30px;background:#fff;color:#141414;padding:10px 16px;font:600 14px/1.2 Arial,sans-serif;cursor:pointer}.video-toggle:focus-visible{outline:3px solid #568dff;outline-offset:3px}@media(prefers-reduced-motion:reduce){.hover-video{transition:none}}

/* CV occupies the upper-right corner; About occupies the lower-left. */
body.home>nav .cv{top:var(--edge);right:var(--edge);bottom:auto;left:auto}body.home>nav .about{bottom:var(--edge);left:var(--edge);top:auto;right:auto}
.about-view .about-page{max-width:1600px;padding-top:100px}.about-view .about-page h1{font-size:clamp(34px,4.8vw,92px);line-height:1.045;letter-spacing:-.03em;font-weight:600;max-width:none;margin:0 0 32px}.about-view .about-page .intro{font-size:clamp(24px,2.1vw,40px);line-height:1.2;font-weight:500;margin:0 0 32px;max-width:1250px}.about-view .about-description{font-size:clamp(18px,1.46vw,28px);line-height:1.4;color:#adadad;max-width:1210px}.about-description p{margin:0 0 1.4em}.about-view .experience{gap:64px;margin-top:48px;padding-top:48px}.about-view .experience h2{font-size:clamp(23px,1.78vw,34px);line-height:1.24;font-weight:600;margin-bottom:16px}.about-view .experience p{font-size:clamp(18px,1.46vw,28px);line-height:1.4;color:#c2c2c2}.about-view .experience .experience-date{font-size:clamp(16px,1.2vw,23px);color:#949494;margin-bottom:16px}.about-tools{margin-top:48px}.about-tools h2{font-size:clamp(22px,1.56vw,30px);font-weight:600;margin:0 0 18px}.about-tools p{font-size:clamp(17px,1.25vw,24px);line-height:1.5;color:#949494;margin:0}.about-view>nav .name{display:flex;align-items:center;gap:12px}.about-avatar{width:44px;height:44px;object-fit:cover;object-position:center 20%;border-radius:50%}.about-view>nav .about{text-decoration:underline;text-underline-offset:5px}@media(max-width:700px){.about-view .about-page{padding-top:54px}.about-view .experience{gap:36px;padding-top:32px;margin-top:36px}.about-view .about-page h1{font-size:clamp(28px,6.3vw,44px);overflow-wrap:anywhere}.about-view .about-page .intro br{display:none}.about-avatar{width:36px;height:36px}}
