@font-face{font-family:Helvetica Neue;src:url(../media/HelveticaNeue-Bold.627180b5.woff2)format("woff2"),url(../media/HelveticaNeue-Bold.5860b5ca.woff)format("woff");font-weight:700;font-style:normal;font-display:swap}:root{--background:#fff;--color:#000;--app-height:100svh;--padding:10px;--fs-s:12px;--side:390px;--line:1px solid var(--color)}@media (max-width:780px){:root{--side:100%}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-moz-text-size-adjust:100%;text-size-adjust:100%}img,picture,video,svg{max-width:100%;display:block}.media{aspect-ratio:4/5;object-fit:cover;object-position:50% 50%;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;content-visibility:auto;contain-intrinsic-size:auto 480px;width:100%;height:auto;display:block}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none}ul,ol{list-style:none}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}html,body{width:100%;height:var(--app-height);background:var(--background);color:var(--color);overscroll-behavior:contain;overflow:hidden}body{font-family:Helvetica Neue,Helvetica,Arial,sans-serif;font-weight:700;font-size:var(--fs-s);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;line-height:1.1}::selection{background:var(--color);color:var(--background)}*{scrollbar-width:none;-ms-overflow-style:none}::-webkit-scrollbar{display:none}.app{height:var(--app-height);background:var(--background);grid-template-columns:var(--side)1fr;grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"brand projects""info projects""contacts projects";display:grid;overflow:hidden}.main{display:contents}.brand{grid-area:brand}.infoCol{min-height:0;padding:0 var(--padding)var(--padding);grid-area:info;overflow-y:auto}.contacts{padding:var(--padding);grid-area:contacts}.projectsWrap{grid-area:projects;min-width:0;min-height:0;overflow:hidden}.brandRow{justify-content:space-between;align-items:flex-start;gap:var(--padding);padding:var(--padding)var(--padding)0;display:flex}.brandRow a{white-space:nowrap}.brandFull{white-space:nowrap;animation:.4s both brandFadeIn;display:inline-block}@keyframes brandFadeIn{0%{opacity:0}to{opacity:1}}.navLink[data-active=true]{text-decoration:none}.tagline{max-width:32em}.app[data-page=home] [data-page-section=info]{display:none}.contactsRow{justify-content:space-between;align-items:flex-end;gap:var(--padding);text-transform:uppercase;display:flex}@media (max-width:780px){.app{height:var(--app-height);grid-template:none;display:block;position:relative;overflow:hidden}.brand{z-index:10;background:var(--background);position:absolute;top:0;left:0;right:0}.contacts{z-index:10;background:var(--background);padding-bottom:calc(var(--padding) + env(safe-area-inset-bottom));position:absolute;bottom:0;left:0;right:0}.main{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;height:100%;padding-top:calc(var(--padding) + 1.1em);padding-bottom:calc(2*var(--padding) + 1.1em + env(safe-area-inset-bottom));display:block;overflow:hidden auto}.infoCol{overflow:visible}.projectsWrap{margin-top:200px;overflow:visible}.app[data-page=info] .projectsWrap{display:none}.app[data-page=home] .brand,.app[data-page=home] .contacts{background:0 0}:root[data-project-open] .contactsRow>span:first-child{text-transform:none}:root[data-project-contrast]{--color:#212121}}
