@import url(https://db.onlinewebfonts.com/c/12ff62164c9778917bddb93c6379cf47?family=Aeonik+Pro+Regular);:root{font-family:Aeonik Pro Regular,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--font-display:var(--font-fraunces),Georgia,"Times New Roman",serif;--font-body:"Aeonik Pro Regular",Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;--dark-bg-color:#131313;--dark-text-color:#e6e6e6;--dark-text-secondary:#999;--dark-text-tertiary:#666;--dark-btn-bg:#202020;--dark-card-bg:#1a1a1a;--dark-card-border:#262626}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);text-wrap:balance}*{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;background-color:var(--dark-bg-color)}img{width:100%;height:100%;object-fit:cover}.container.page-post,.container.page-projects{padding:.5em;width:50%;margin:5em auto}.container{padding:.5em}h1{font-size:16px}h1,p{color:var(--dark-text-color);font-weight:500;line-height:20px}p{font-size:14px;text-wrap:pretty}a,p{text-decoration:none}@media (max-width:900px){.container,.container.page-post,.container.page-projects{width:100%}}::view-transition-new(root),::view-transition-old(root){animation-duration:.36s;animation-timing-function:cubic-bezier(.22,1,.36,1)}::view-transition-old(root){animation-name:page-out}::view-transition-new(root){animation-name:page-in}@keyframes page-out{to{opacity:0;transform:translateY(-6px)}}@keyframes page-in{0%{opacity:0;transform:translateY(10px)}}::view-transition-new(dock),::view-transition-old(dock){animation:none}@media (prefers-reduced-motion:reduce){::view-transition-new(root),::view-transition-old(root){animation-duration:.01ms}}@font-face{font-family:__Fraunces_ae2eaa;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/287637279c44650d-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__Fraunces_ae2eaa;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/b387097da7407747-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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}@font-face{font-family:__Fraunces_ae2eaa;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_next/static/media/cb9f64d62d112b41-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__Fraunces_Fallback_ae2eaa;src:local("Times New Roman");ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.00%;size-adjust:115.45%}.__className_ae2eaa{font-family:__Fraunces_ae2eaa,__Fraunces_Fallback_ae2eaa;font-style:normal}.__variable_ae2eaa{--font-fraunces:"__Fraunces_ae2eaa","__Fraunces_Fallback_ae2eaa"}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/886030b0b59bc5a7-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/0aa834ed78bf6d07-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/67957d42bae0796d-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/f911b923c6adde36-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/939c4f875ee75fbb-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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}@font-face{font-family:__JetBrains_Mono_3c557b;font-style:normal;font-weight:100 800;font-display:swap;src:url(/_next/static/media/bb3ef058b751a6ad-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:__JetBrains_Mono_Fallback_3c557b;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_3c557b{font-family:__JetBrains_Mono_3c557b,__JetBrains_Mono_Fallback_3c557b;font-style:normal}.__variable_3c557b{--font-jetbrains-mono:"__JetBrains_Mono_3c557b","__JetBrains_Mono_Fallback_3c557b"}.dock-container{position:fixed;bottom:1.5em;left:50%;transform:translateX(-50%);view-transition-name:dock;padding:7px 9px;background:linear-gradient(180deg,#212121,#141414);border-radius:999px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),inset 0 -1px 0 rgba(0,0,0,.5),0 1px 1px hsla(0,0%,100%,.03),0 4px 8px -2px rgba(0,0,0,.5),0 28px 64px -22px rgba(0,0,0,.8);cursor:default;z-index:1200}.dock,.dock-container{display:flex;justify-content:center}.dock{margin:0 auto;align-items:flex-end;padding:0;list-style:none}.dock-divider{width:1px;height:22px;margin:0 8px;align-self:center;background:linear-gradient(180deg,transparent,hsla(0,0%,100%,.08) 50%,transparent);list-style:none;pointer-events:none}.dock-item{position:relative;width:36px;height:36px;margin:0 calc(4px + var(--dock-item-proximity, 0) * 12px);border-radius:50%;display:flex;justify-content:center;align-items:center;transform:scale(var(--dock-item-scale,1));transform-origin:bottom;transition:transform .14s cubic-bezier(.16,1,.3,1),margin .14s cubic-bezier(.16,1,.3,1);will-change:transform}.dock-item[data-visible=false]{width:0;margin:0;opacity:0;pointer-events:none;overflow:hidden;transition:width .26s cubic-bezier(.22,1,.36,1),margin .26s cubic-bezier(.22,1,.36,1),opacity .18s cubic-bezier(.22,1,.36,1),transform .12s cubic-bezier(.22,1,.36,1)}.dock-item-external[data-visible=true]{transition:width .28s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),margin .28s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),opacity .22s cubic-bezier(.22,1,.36,1) var(--reveal-delay,0ms),transform .12s cubic-bezier(.22,1,.36,1)}.dock-item a,.dock-item button{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;border:none;border-radius:inherit;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.06),inset 0 -1px 0 rgba(0,0,0,.45),inset 0 0 0 1px #303030;cursor:pointer;font:inherit;padding:0;background:linear-gradient(180deg,#262626,#1a1a1a);color:var(--dark-text-tertiary);background:linear-gradient(180deg,color-mix(in oklch,#262626,#303030 calc(var(--dock-item-proximity, 0) * 100%)),color-mix(in oklch,#1a1a1a,#212121 calc(var(--dock-item-proximity, 0) * 100%)));color:color-mix(in oklch,var(--dark-text-tertiary),var(--dark-text-color) calc(var(--dock-item-proximity, 0) * 100%))}.dock-item[data-active=true] a{color:var(--dark-text-color);background:linear-gradient(180deg,#303030,#212121)}.dock-item a:focus-visible,.dock-item button:focus-visible{outline:2px solid var(--dark-text-secondary);outline-offset:4px}.dock-item a:before,.dock-item button:before{content:"";position:absolute;inset:-2px}.dock-item-link-wrap{position:absolute;inset:0;display:flex;justify-content:center;align-items:center;pointer-events:none}.dock-icon{color:currentColor}.dock-icon-iso{width:22px;height:22px;color:initial;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dock-item-label{position:absolute;bottom:calc(100% + 14px);left:50%;padding:4px 9px;background:#141414;border:1px solid #292929;border-radius:6px;color:var(--dark-text-color);font-family:var(--font-body,"Aeonik Pro Regular"),sans-serif;font-size:11px;font-weight:500;letter-spacing:.02em;white-space:nowrap;opacity:0;pointer-events:none;transform:translate(-50%,4px);box-shadow:0 6px 16px -4px rgba(0,0,0,.7);transition:opacity .16s ease,transform .2s cubic-bezier(.22,1,.36,1)}.dock-item[data-visible=true]:has(:focus-visible) .dock-item-label,.dock-item[data-visible=true]:hover .dock-item-label{opacity:1;transform:translate(-50%)}.dock-item[data-visible=false] .dock-item-label{display:none}@media (max-width:900px){.dock-container{bottom:1em;padding:6px 7px}.dock-item{height:44px}.dock-item[data-visible=true]{width:44px;margin:0 2px}.dock-divider{height:26px;margin:0 6px}.dock-item-label{display:none}.dock-item a:before,.dock-item button:before{inset:0}}@media (prefers-reduced-motion:reduce){.dock-item,.dock-item a,.dock-item button,.dock-item-external[data-visible=true],.dock-item-label,.dock-item[data-visible=false]{transition:none}.dock-item{--dock-item-scale:1;--dock-item-proximity:0}}.page-work{width:100%;display:flex;gap:.5em;margin-bottom:10em}.col{flex:1 1;width:100%;height:100%}.work-item{position:relative;border:1px solid var(--dark-card-border);border-radius:8px;overflow:hidden;margin-bottom:.5em;padding:.25em}.work-item.type-img{padding:0}.work-item-img{position:relative}.work-item-info{position:absolute;bottom:0;width:100%;display:flex;justify-content:space-between;padding:1em}.work-item-date{color:var(--dark-text-tertiary)}.work-item-cta-link{display:block;width:100%;margin-top:.3em;padding:1em 0;border-radius:8px;background-color:var(--dark-btn-bg);color:var(--dark-text-color);font-size:14px;font-weight:500;line-height:20px;text-align:center}.work-item-img-wrapper{width:100%;height:100%;border-radius:8px;overflow:hidden}.work-item-img-wrapper img{transform:scale(1.125)}.work-200 img{height:200px}.work-250 img{height:250px}.work-300 img{height:300px}.work-350 img{height:350px}.work-400 img{height:400px}.work-450 img{height:450px}.work-500 img{height:500px}.work-550 img{height:550px}@media (max-width:900px){.page-work{flex-direction:column}}.projects-heading{margin:0 0 .75em;padding:0 1em;font-family:var(--font-display,"Aeonik Pro Regular"),sans-serif;font-size:clamp(22px,3vw,32px);font-weight:500;line-height:1.1;letter-spacing:-.02em;color:var(--dark-text-color)}.project-item{position:relative;width:100%;display:flex;flex-direction:column;border-radius:10px;overflow:hidden;transition:opacity .3s,filter .3s,background-color .3s}.project-item:hover{background-color:var(--dark-card-bg)}.project-item.not-hovered{opacity:.5;filter:blur(5px)}.project-row{width:100%;display:flex;align-items:center;gap:.5em;padding:1em;background:none;border:none;color:inherit;font:inherit;text-align:left;cursor:pointer}.project-row:disabled{cursor:default}.project-row:focus-visible{outline:2px solid var(--dark-text-secondary);outline-offset:-2px;border-radius:10px}.project-copy,.project-title{flex-shrink:0}.project-copy p{color:var(--dark-text-tertiary)}.project-divider{flex-grow:1;height:1px;background-color:var(--dark-card-border);margin-left:.5em;margin-right:.5em}.project-year{flex-shrink:0}.project-year p{color:var(--dark-text-secondary)}.project-caret{flex-shrink:0;display:inline-flex;align-items:center;margin-left:.25em;color:var(--dark-text-tertiary);transition:transform .3s cubic-bezier(.22,1,.36,1)}.project-item.is-expanded .project-caret{transform:rotate(180deg);color:var(--dark-text-secondary)}.project-details{display:grid;grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1)}.project-details[data-open=true]{grid-template-rows:1fr}.project-details>ul{overflow:hidden;min-height:0;margin:0;padding:0 1.25em 1.25em 1em;list-style:none;visibility:hidden;transition:visibility 0s linear .4s}.project-details[data-open=true]>ul{visibility:visible;transition:visibility 0s linear 0s}.project-details li{position:relative;max-width:72ch;padding-left:1.1em;margin-bottom:.65em;color:var(--dark-text-secondary);font-size:.92rem;line-height:1.55}.project-details li:last-child{margin-bottom:0}.project-details li:before{content:"";position:absolute;left:0;top:.62em;width:5px;height:5px;border-radius:50%;background-color:var(--dark-text-tertiary)}@media (max-width:900px){.project-copy{display:none}}@media (prefers-reduced-motion:reduce){.project-item.not-hovered{filter:none}.project-caret,.project-details,.project-details>ul{transition:none}}.page-photos{width:100%;display:flex;gap:.5em;margin-bottom:10em}.page-photos img{position:relative;height:600px;padding-bottom:.5em}@media (max-width:900px){.page-photos{flex-direction:column}}.post-header{width:100%;display:flex;justify-content:space-between}.post-link{width:40px;height:40px;margin-top:0;padding:0;display:flex;justify-content:center;align-items:center;border-radius:100%;background-color:var(--dark-card-bg);border:1px solid var(--dark-card-border);color:var(--dark-text-secondary);cursor:pointer}.post-link:focus-visible{outline:2px solid var(--dark-text-secondary);outline-offset:4px}.post-link-icon{color:currentColor}.post-info{margin-bottom:2em}.post-info h1{margin-bottom:.25em}.post-info p{color:var(--dark-text-tertiary)}.post-content p{margin-bottom:.75em}.post-img{margin:1em 0;border-radius:8px;overflow:hidden}.white-space{width:100%;height:200px}.site-footer{width:100%;margin-top:14vh;border-top:1px solid var(--dark-card-border)}.site-footer__inner{width:min(820px,92%);margin:0 auto;padding:3.5em 0 7em;display:flex;align-items:center;justify-content:space-between;gap:2em}.site-footer__signature{flex:none;width:clamp(150px,32%,220px);height:auto;color:var(--dark-text-secondary);transform:rotate(7deg);transform-origin:center}.site-footer__contact{display:flex;flex-direction:column;align-items:flex-end;gap:.5em;text-align:right;text-decoration:none;color:var(--dark-text-color);transition:transform .12s cubic-bezier(.2,0,0,1)}.site-footer__contact:active{transform:scale(.96)}.site-footer__contact-email{font-size:clamp(1.35rem,4.5vw,2.1rem);font-weight:500;letter-spacing:-.015em;line-height:1.05;background-image:linear-gradient(currentColor,currentColor);background-repeat:no-repeat;background-position:0 100%;background-size:0 1px;transition:background-size .32s cubic-bezier(.22,1,.36,1)}.site-footer__contact-cta{display:inline-flex;align-items:center;gap:.4em;font-size:.78rem;letter-spacing:.12em;text-transform:uppercase;color:var(--dark-text-tertiary);transition:color .2s ease}.site-footer__contact-cta svg{transition:transform .28s cubic-bezier(.22,1,.36,1)}.site-footer__contact:focus-visible .site-footer__contact-email,.site-footer__contact:hover .site-footer__contact-email{background-size:100% 1px}.site-footer__contact:focus-visible .site-footer__contact-cta,.site-footer__contact:hover .site-footer__contact-cta{color:var(--dark-text-secondary)}.site-footer__contact:focus-visible .site-footer__contact-cta svg,.site-footer__contact:hover .site-footer__contact-cta svg{transform:translateX(4px)}.site-footer__contact:focus-visible{outline:2px solid var(--dark-text-secondary);outline-offset:6px;border-radius:4px}@media (max-width:560px){.site-footer__inner{flex-direction:column;align-items:flex-start;gap:2.5em}.site-footer__contact{align-self:stretch;align-items:flex-start;text-align:left}}@media (prefers-reduced-motion:reduce){.site-footer__contact,.site-footer__contact-cta,.site-footer__contact-cta svg,.site-footer__contact-email{transition:none}.site-footer__contact:active{transform:none}}