@layer component{.styles-module__BtLlBq__logo{display:block;position:relative}.styles-module__BtLlBq__section{--side-panel-width:200px;grid-template-columns:var(--side-panel-width) 1fr var(--side-panel-width);gap:var(--space-5);padding:var(--space-6) var(--app-inset);color:#fff;display:grid}.styles-module__BtLlBq__section:before{content:"";background-image:linear-gradient(#0006 0%,#0000 100%);width:100vw;display:block;position:absolute;inset:0 0 0 calc(50% - 50vw)}.styles-module__BtLlBq__contactContainer{position:relative}.styles-module__BtLlBq__contact>a{color:inherit;text-decoration:none}@media (max-width:500px){.styles-module__BtLlBq__contact{display:none}}}
@layer ui{.styles-module__2G-fVG__base{--spinner-length:1.5rem;width:var(--spinner-length);height:var(--spinner-length)}.styles-module__2G-fVG__spinner{--inset-position:calc(var(--spinner-length) * .333);background:conic-gradient(transparent 0%, transparent 20%, color-mix(in srgb, currentColor 0%, transparent) 20%, currentColor 100%);width:100%;height:100%;-webkit-mask:radial-gradient(transparent var(--inset-position), #fff var(--inset-position));mask:radial-gradient(transparent var(--inset-position), #fff var(--inset-position));border-radius:50%;animation:1s linear infinite styles-module__2G-fVG__spinner-rotation;display:inline-block}@keyframes styles-module__2G-fVG__spinner-rotation{to{transform:rotate(360deg)}}}
@layer component{@keyframes styles-module__H_sW9W__pulse{0%{background-color:#fff}to{background-color:var(--slate-3)}}.styles-module__H_sW9W__image{object-fit:contain;object-position:center;width:auto;height:100%}.styles-module__H_sW9W__image.styles-module__H_sW9W__isLoading{animation:1s linear infinite alternate styles-module__H_sW9W__pulse}.styles-module__H_sW9W__spinner{--spinner-length:2rem;margin:auto;position:absolute;inset:0}}
@layer ui{.styles-module__U-M5Bq__track{scroll-snap-type:x mandatory;scroll-behavior:smooth;gap:var(--gap);contain:paint;display:flex;overflow:auto hidden}}
@layer component{.styles-module__atuGwq__dialog{color:var(--slate-1);background-color:var(--slate-12);grid-template:"dialog"1fr;display:grid}.styles-module__atuGwq__spotlight{flex:auto;grid-area:dialog;display:flex;position:relative}.styles-module__atuGwq__actions{align-items:end;gap:var(--gap--small);padding:var(--gap);flex:none;grid-template-columns:1fr 1fr 1fr;display:grid}@media (max-width:600px){.styles-module__atuGwq__actions{grid-template-columns:1fr}}.styles-module__atuGwq__image{object-fit:contain;object-position:top center}.styles-module__atuGwq__close{--distance:2px;inset:var(--gap--small) var(--gap--small) auto auto;filter:drop-shadow(0 0 var(--distance) var(--black-a6));z-index:1;color:var(--slate-11);padding:var(--space-1);transition-property:filter,scale;transition-duration:var(--transition-duration);background-color:#fff;position:fixed}.styles-module__atuGwq__close:hover:not(:active){--distance:8px}.styles-module__atuGwq__close:hover:active{box-shadow:inset 0 0 1em var(--black-a4);transition:none;scale:.95}.styles-module__atuGwq__download{align-items:center;gap:var(--gap--tiny);display:flex}@media (max-width:600px){.styles-module__atuGwq__file{padding:var(--gap--small);max-width:300px;font-size:var(--size-2);filter:drop-shadow(0 0 2px var(--black-a7));position:fixed;inset:0 auto auto 0}}.styles-module__atuGwq__filename{text-overflow:ellipsis;min-width:0;max-width:100%;color:var(--slate-10);overflow:hidden}.styles-module__atuGwq__slide{scroll-snap-align:center;flex:none;width:100vw;position:relative}.styles-module__atuGwq__slideDown{transition-property:transform;transition-duration:var(--transition-duration--slow);transition-timing-function:var(--swift-in)}@starting-style{.styles-module__atuGwq__slideDown{transform:translateY(calc(var(--gap) * -1))}}dialog:not([open]) .styles-module__atuGwq__slideDown{transform:translateY(calc(var(--gap) * -1))}.styles-module__atuGwq__slideUp{transition-property:transform;transition-duration:var(--transition-duration--slow);transition-timing-function:var(--swift-in)}@starting-style{.styles-module__atuGwq__slideUp{transform:translateY(100%)}}dialog:not([open]) .styles-module__atuGwq__slideUp{transform:translateY(100%)}.styles-module__atuGwq__arrows{justify-self:center}}
@layer components{.styles-module__BTNHza__actions{align-items:center;gap:var(--gap--small);display:flex}@media (max-width:500px){.styles-module__BTNHza__actions:not(.styles-module__BTNHza__extended){flex-direction:column-reverse;align-items:flex-end}}}
@layer component{.styles-module__osefdq__list{flex-wrap:wrap}.styles-module__osefdq__button{position:relative}.styles-module__osefdq__button:after{content:"";background-color:var(--color-primary);transition-property:opacity;transition-duration:var(--transition-duration);opacity:.5;position:absolute;inset:0}.styles-module__osefdq__button:not(.styles-module__osefdq__isActive):after{opacity:0}.styles-module__osefdq__button:active:hover{opacity:.5}@keyframes styles-module__osefdq__pulse{0%{background-color:#fff}to{background-color:var(--slate-3)}}.styles-module__osefdq__thumbnail{object-fit:cover;pointer-events:none;width:50px;height:50px}.styles-module__osefdq__thumbnail.styles-module__osefdq__isLoading{animation:1s linear infinite alternate styles-module__osefdq__pulse}}
@layer component{.styles-module__jr1NOq__label{gap:var(--gap--tiny);display:inline-flex}.styles-module__jr1NOq__button{position:relative}.styles-module__jr1NOq__button:before{content:"";background-color:inherit;border-radius:inherit;pointer-events:none;display:block;position:absolute;inset:0}@keyframes styles-module__jr1NOq__grow{to{opacity:0;transform:scaleX(1.4)scaleY(1.8)}}.styles-module__jr1NOq__pending:before{animation:styles-module__jr1NOq__grow var(--transition-duration--slow) forwards}@keyframes styles-module__jr1NOq__fadeIn{0%{opacity:0;transform:scale(0)}}.styles-module__jr1NOq__fadeIn{animation:styles-module__jr1NOq__fadeIn var(--transition-duration) forwards}}
@layer ui{.styles-module__7L8pJq__fieldset{gap:var(--space-1);flex-direction:column;align-items:flex-start;display:flex}}
@layer ui{.styles-module__7uX_Kq__heading{font-size:var(--jsxFontSize,1rem);text-align:var(--jsxTextAlign,inherit);color:var(--color-text--heavy);text-wrap:balance;max-width:var(--line-length);line-height:var(--line-height--compact);word-break:break-word;font-weight:900}.styles-module__7uX_Kq__heading>a:hover{color:var(--color-link)}}
@layer ui{.styles-module__rkj1bW__placeholder{justify-content:center;align-items:center;gap:var(--gap--tiny);color:var(--color-text--light);flex-direction:column;display:flex}}
@layer component{.styles-module__TMV8QG__card{--card-width:400px;width:var(--card-width);content-visibility:auto;contain-intrinsic-width:400px;contain-intrinsic-height:395px;max-width:100cqw}.styles-module__TMV8QG__description{margin-block:var(--gap--tiny) var(--gap);--lines:3;-webkit-line-clamp:var(--lines);text-overflow:ellipsis;line-clamp:var(--lines);-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.styles-module__TMV8QG__media{aspect-ratio:var(--golden-ratio) / 1;background-color:var(--slate-2);display:flex}.styles-module__TMV8QG__media:active:hover{opacity:.8}.styles-module__TMV8QG__image{flex:auto;max-width:100%}.styles-module__TMV8QG__placeholder{color:var(--slate-8);flex:auto;place-items:center;display:grid}.styles-module__TMV8QG__contain{margin-bottom:var(--gap);position:relative}}
@layer composition{.styles-module__evsucG__list{gap:var(--gap--huge) var(--gap--large);flex-wrap:wrap;display:flex;container:projectList/inline-size}.styles-module__evsucG__list.styles-module__evsucG__overscroll{flex-wrap:nowrap}.styles-module__evsucG__item{flex:none}.styles-module__evsucG__snap{max-width:calc(100cqw - calc(var(--gap--large)));scroll-snap-align:center}}
@layer layout{.styles-module__vQc7iG__list:after{content:"";flex:0 0 var(--app-inset);margin-left:calc(var(--gap--large) * -1);display:block}}
@layer layout{.styles-module__PJ0Bgq__projects{padding-top:var(--gap--huge)}.styles-module__PJ0Bgq__list{margin-top:var(--gap)}@container not (min-width:500px){.styles-module__PJ0Bgq__heading{flex-direction:column}}.styles-module__PJ0Bgq__nav{z-index:1;margin-inline:auto;position:absolute;inset:0 0 auto;overflow:hidden}}
@layer ui{.styles-module__AaalJW__lightbox{border-radius:var(--radius--large);box-shadow:var(--shadow-elevation--high);background-color:#fff}.styles-module__AaalJW__close{inset:var(--gap--small) var(--gap--small) auto auto;position:absolute}}
@layer components{.styles-module__23qr9a__dialog{padding:var(--gap);inset:0}.styles-module__23qr9a__lightbox{grid-template:"dialogHeader""dialogContent"1fr"dialogFooter";min-height:0;max-height:100%;display:grid}.styles-module__23qr9a__header{padding-block:var(--gap);grid-area:dialogHeader}@container not (max-width:500px){.styles-module__23qr9a__header{padding-block:var(--gap--large)}}.styles-module__23qr9a__content{overscroll-behavior-inline:contain;min-height:0;padding-bottom:var(--gap);grid-area:dialogContent;overflow:hidden scroll}@container not (max-width:500px){.styles-module__23qr9a__content{padding-bottom:var(--gap--large)}}.styles-module__23qr9a__footer{border-top:1px solid var(--color-border);padding-block:var(--gap--small);background-color:var(--slate-2);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;grid-area:dialogFooter}}
