@font-face{font-family:DM Sans;font-style:normal;font-weight:300 700;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;src:url(/fonts/dm-sans-300_700-latin-ext.woff2)format("woff2")}@font-face{font-family:DM Sans;font-style:normal;font-weight:300 700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/fonts/dm-sans-300_700-latin.woff2)format("woff2")}@font-face{font-family:Kodchasan;font-style:normal;font-weight:300;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;src:url(/fonts/kodchasan-300-latin-ext.woff2)format("woff2")}@font-face{font-family:Kodchasan;font-style:normal;font-weight:300;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/fonts/kodchasan-300-latin.woff2)format("woff2")}@font-face{font-family:Kodchasan;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;src:url(/fonts/kodchasan-400-latin-ext.woff2)format("woff2")}@font-face{font-family:Kodchasan;font-style:normal;font-weight:400;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/fonts/kodchasan-400-latin.woff2)format("woff2")}@font-face{font-family:Kodchasan;font-style:normal;font-weight:500;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;src:url(/fonts/kodchasan-500-latin-ext.woff2)format("woff2")}@font-face{font-family:Kodchasan;font-style:normal;font-weight:500;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/fonts/kodchasan-500-latin.woff2)format("woff2")}@font-face{font-family:Kodchasan;font-style:normal;font-weight:600;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;src:url(/fonts/kodchasan-600-latin-ext.woff2)format("woff2")}@font-face{font-family:Kodchasan;font-style:normal;font-weight:600;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/fonts/kodchasan-600-latin.woff2)format("woff2")}@font-face{font-family:Kodchasan;font-style:normal;font-weight:700;font-display:swap;unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;src:url(/fonts/kodchasan-700-latin-ext.woff2)format("woff2")}@font-face{font-family:Kodchasan;font-style:normal;font-weight:700;font-display:swap;unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;src:url(/fonts/kodchasan-700-latin.woff2)format("woff2")}*{box-sizing:border-box;margin:0;padding:0}:root{--ink:#111110;--muted:#5f5e5a;--line:#e2e0da;--hover:#f0eee9;--paper:#f8f7f4}html{-webkit-text-size-adjust:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"kern" 1, "liga" 1, "calt" 1;background-color:var(--paper);color:#000;letter-spacing:-.011em;font-family:DM Sans,sans-serif;line-height:1.5}button{font-family:inherit;font-size:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;text-align:inherit;-webkit-font-smoothing:inherit;-moz-osx-font-smoothing:inherit;background:0 0;border:none;margin:0;padding:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}h1,h2,h3,h4,h5,h6,p{margin:0;padding:0}h3{font-size:1rem}:focus-visible{outline-offset:3px;outline:2px solid #000}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.pill{background:var(--ink);min-height:48px;color:var(--paper);font:inherit;cursor:pointer;border:0;border-radius:999px;align-items:center;gap:.625rem;padding:0 1.375rem;font-size:1rem;font-weight:500;text-decoration:none;transition:opacity .2s;display:inline-flex}@media (hover:hover){.pill:hover{color:var(--paper)}}.pill:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.pill:disabled{opacity:.6;cursor:not-allowed}.quiet-link{min-height:44px;color:var(--ink);text-underline-offset:5px;align-items:center;gap:.375rem;font-size:1rem;text-decoration:underline 1px;display:inline-flex}@media (hover:hover){.quiet-link:hover{color:var(--muted)}}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.view-transition-group{display:contents}.figure-host{pointer-events:none;position:absolute}.figure-host canvas{opacity:0;width:100%;height:100%;transition:opacity .6s ease-in-out;display:block}.asset-modal{z-index:1000;overscroll-behavior:contain;background:#000000d9;justify-content:center;align-items:center;animation:.2s asset-modal-in;display:flex;position:fixed;inset:0}.asset-modal-content{cursor:default;max-width:92vw;max-height:88vh;animation:.2s asset-content-in;position:relative}.asset-modal-content :is(img,video){object-fit:contain;max-width:100%;max-height:88vh;display:block}.asset-modal-close{z-index:1;color:#f8f7f4;border:1px solid #f8f7f4;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.75rem;line-height:1;display:flex;position:absolute;top:1rem;right:1rem}@media (hover:hover){.asset-modal-close:hover{color:#000;background:#f8f7f4}}@keyframes asset-modal-in{0%{opacity:0}to{opacity:1}}@keyframes asset-content-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.work-hover-preview{z-index:5;opacity:0;pointer-events:none;border-radius:8px;width:320px;transition:opacity .2s;position:fixed;top:0;left:0;overflow:hidden;transform:translate(-999px,-999px);box-shadow:0 16px 45px #1111102e}.work-hover-preview.is-visible{opacity:1}.work-hover-preview img{object-fit:cover;filter:grayscale();width:100%;max-height:300px;animation:1.45s forwards preview-colour;display:block}@keyframes preview-colour{to{filter:grayscale(0)}}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference){html body,html a,html button,html input,html select,html textarea,html label[for],html .cursor-hover-none{cursor:none}}html:not(.cursor-on) .cursor-outer,html:not(.cursor-on) .cursor-inner{display:none}.cursor-outer[data-astro-cid-qmueewfo],.cursor-inner[data-astro-cid-qmueewfo]{z-index:999;pointer-events:none;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s ease-in-out,height .2s ease-in-out,width .2s ease-in-out;display:flex;position:fixed;top:0;left:0;transform:translate(-50%,-50%)}.cursor-inner[data-astro-cid-qmueewfo]{background-color:#000;width:8px;height:8px}.cursor-outer[data-astro-cid-qmueewfo]{background-color:#0006;width:35px;height:35px}.nav-bar{pointer-events:none;z-index:100;width:100%;height:100dvh;font-family:Kodchasan,sans-serif;position:fixed;top:0}@media screen and (width<=992px){.nav-bar{display:none}}.nav-section-block{pointer-events:all;height:100%;display:flex;position:absolute;top:0}.nav-section-block.left{left:0}.nav-section-block.right{border-left:1px solid #000;right:0}.nav-section-block a{writing-mode:vertical-lr;color:#000;cursor:pointer;background-color:#f8f7f4;border-right:1px solid #000;justify-content:space-between;align-items:center;width:50px;height:100%;padding:2rem 0;text-decoration:none;transition:background-color .3s .2s,color .3s .2s;display:flex}.nav-section-block a .num,.nav-section-block a .label,.nav-section-block a .logo{will-change:transform;transition:transform .5s cubic-bezier(.4,0,.2,1)}.nav-section-block a .num{letter-spacing:3px;font-size:.83rem;font-weight:700}.nav-section-block a .label{font-size:1rem;font-weight:700}.nav-section-block a .logo{width:25px;transition:transform .5s cubic-bezier(.4,0,.2,1),filter .3s .2s}@media (hover:hover){.nav-section-block a:hover .num,.nav-section-block a:hover .label,.nav-section-block a:hover .logo{transform:translateY(-1rem)}}.nav-section-block a:focus-visible{outline-offset:-8px;outline:2px solid}.nav-section-block a.active{color:#f8f7f4;background:#000}.nav-section-block a.active .logo{filter:invert()}.mobile-nav{width:100%;height:calc(60px + env(safe-area-inset-bottom));padding:0 .5rem env(safe-area-inset-bottom);box-sizing:border-box;-webkit-backdrop-filter:blur(12px);z-index:100;background:#f8f7f4eb;border-top:1px solid #000;font-family:Kodchasan,sans-serif;display:none;position:fixed;bottom:0;left:0}@media screen and (width<=992px){.mobile-nav{display:flex}}.mobile-link{color:#0000006b;-webkit-tap-highlight-color:transparent;flex:1;justify-content:center;align-items:center;gap:.2rem;min-width:0;text-decoration:none;transition:color .3s;display:flex;position:relative}.mobile-link .num{letter-spacing:1px;font-size:.625rem;font-weight:700}.mobile-link .label{white-space:nowrap;font-size:.8125rem;font-weight:700}.mobile-link.active{color:#000}.mobile-link:focus-visible{outline-offset:-6px;outline:2px solid #000}.active-mark{background:#000;height:3px;position:absolute;top:-1px;left:22%;right:22%}::view-transition-old(nav-L-home),::view-transition-old(nav-L-about),::view-transition-old(nav-L-work),::view-transition-old(nav-L-contact),::view-transition-old(nav-R-home),::view-transition-old(nav-R-about),::view-transition-old(nav-R-work),::view-transition-old(nav-R-contact){animation:.2s ease-out both nav-link-out}::view-transition-new(nav-L-home),::view-transition-new(nav-L-about),::view-transition-new(nav-L-work),::view-transition-new(nav-L-contact){view-transition-name:none;animation:.45s cubic-bezier(.645,.045,.355,1) .15s both nav-link-slide}::view-transition-new(nav-R-home),::view-transition-new(nav-R-about),::view-transition-new(nav-R-work),::view-transition-new(nav-R-contact){animation:.45s cubic-bezier(.645,.045,.355,1) .15s both nav-link-slide-right}@keyframes nav-link-out{to{opacity:0}}@keyframes nav-link-slide{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes nav-link-slide-right{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}.astro-route-announcer{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;top:0;left:0;overflow:hidden}.layout-grid{grid-template-columns:auto 1fr;width:100%;min-height:100dvh;display:grid;overflow:hidden}@media screen and (width<=992px){.layout-grid{grid-template-columns:1fr}}.skip-link{z-index:300;color:#f8f7f4;background:#000;padding:.6rem 1rem;font-size:.9rem;text-decoration:none;position:fixed;top:.75rem;left:.75rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}@media screen and (width<=992px){.nav-section{z-index:100;width:100%;position:fixed;bottom:0}}.main-content{padding-left:var(--main-padding-left);padding-right:var(--main-padding-right);justify-content:center;align-items:center;width:100%;height:100dvh;transition:padding .5s;display:flex;position:relative;overflow:auto}.main-content:focus{outline:none}@media screen and (width<=992px){.main-content{padding-left:0;padding-right:0;padding-bottom:calc(60px + env(safe-area-inset-bottom))}}.page-content{flex-direction:column;align-self:flex-start;width:100%;min-height:100%;display:flex}::view-transition-old(root){opacity:0;transition:opacity .15s ease-out;animation:none}::view-transition-new(root){opacity:1;animation:none}@keyframes page-fade-in{0%{opacity:0}to{opacity:1}}html[data-astro-transition-fallback=old]::view-transition-old(root),html[data-astro-transition-fallback=new]::view-transition-new(root){animation:.25s both page-fade-in}
