.Page-module__UwRb4a__page{flex-direction:column;width:100%;min-height:100%;display:flex}
.StarField-module__p01ASa__root{z-index:0;pointer-events:none;position:absolute;inset:-48px;overflow:hidden}.StarField-module__p01ASa__layer{will-change:transform;position:absolute;inset:0}.StarField-module__p01ASa__star{animation:StarField-module__p01ASa__twinkle var(--star-duration,4s) ease-in-out var(--star-delay,0s) infinite;position:absolute;translate:-50% -50%}.StarField-module__p01ASa__star:before{content:"";opacity:.85;width:100%;height:100%;animation:StarField-module__p01ASa__twinkle-scale var(--star-duration,4s) ease-in-out var(--star-delay,0s) infinite;background-color:#fff;display:block;-webkit-mask:url(/star.svg) 50%/contain no-repeat;mask:url(/star.svg) 50%/contain no-repeat}.StarField-module__p01ASa__starLight:before{background-color:#061028}@keyframes StarField-module__p01ASa__twinkle{0%,to{opacity:.15}50%{opacity:var(--star-peak,1)}}@keyframes StarField-module__p01ASa__twinkle-scale{0%,to{transform:scale(.85)}50%{transform:scale(1)}}
.GradientSection-module__VDKASW__section{isolation:isolate;width:100%;color:var(--section-fg);flex-direction:column;display:flex;position:relative}.GradientSection-module__VDKASW__section[data-tone=light]{--section-fg:#0e1830}.GradientSection-module__VDKASW__section[data-tone=dark]{--section-fg:#fff}.GradientSection-module__VDKASW__withStars{overflow:hidden}.GradientSection-module__VDKASW__withStars>:not(.GradientSection-module__VDKASW__starFieldHost){z-index:1;position:relative}.GradientSection-module__VDKASW__overscrollTop{box-shadow:0 -100vh 0 100vh var(--overscroll-top,#090b1c);box-shadow:0 -100dvh 0 100dvh var(--overscroll-top,#090b1c)}.GradientSection-module__VDKASW__overscrollBottom{box-shadow:0 100vh 0 100vh var(--overscroll-bottom,#bca885);box-shadow:0 100dvh 0 100dvh var(--overscroll-bottom,#bca885)}.GradientSection-module__VDKASW__content{box-sizing:border-box;width:100%;min-width:0;max-width:72rem;padding-top:max(4rem, env(safe-area-inset-top,0px));padding-bottom:max(4rem, env(safe-area-inset-bottom,0px));padding-left:max(1.5rem, env(safe-area-inset-left,0px));padding-right:max(1.5rem, env(safe-area-inset-right,0px));flex-direction:column;flex:auto;margin-inline:auto;display:flex}
.CyclingContent-module__S3wQIG__arrow{color:inherit;opacity:.7;cursor:pointer;justify-content:center;align-items:center;padding:.15rem .35rem;line-height:1;display:inline-flex}.CyclingContent-module__S3wQIG__arrow:hover{opacity:1}.CyclingContent-module__S3wQIG__title{position:relative}.CyclingContent-module__S3wQIG__titleMeasure{visibility:hidden;pointer-events:none;flex-direction:column;display:flex;position:absolute;top:0;left:0}.CyclingContent-module__S3wQIG__titleLabel{text-align:center}.CyclingContent-module__S3wQIG__bodyViewport{position:relative;overflow:hidden}.CyclingContent-module__S3wQIG__bodyMeasure{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0}.CyclingContent-module__S3wQIG__bodyPanel{display:flow-root}.CyclingContent-module__S3wQIG__idle{opacity:1;transition:transform .32s,opacity .32s;transform:translate(0)}.CyclingContent-module__S3wQIG__exitNext{opacity:0;transition:transform .32s,opacity .32s;transform:translate(-1.25rem)}.CyclingContent-module__S3wQIG__exitPrev{opacity:0;transition:transform .32s,opacity .32s;transform:translate(1.25rem)}.CyclingContent-module__S3wQIG__enterNext{opacity:0;transition:none;transform:translate(1.25rem)}.CyclingContent-module__S3wQIG__enterPrev{opacity:0;transition:none;transform:translate(-1.25rem)}
.Button-module__3dJGfa__button{border:1px solid color-mix(in srgb, currentColor 35%, transparent);background:color-mix(in srgb, currentColor 8%, transparent);color:inherit;font:inherit;cursor:pointer;border-radius:1rem;align-items:center;gap:.4rem;padding:.35rem .75rem;font-size:1.25rem;font-weight:600;text-decoration:none;display:inline-flex}.Button-module__3dJGfa__button:hover{background:color-mix(in srgb, currentColor 14%, transparent)}.Button-module__3dJGfa__button:disabled{opacity:.55;cursor:not-allowed}.Button-module__3dJGfa__button:disabled:hover{background:color-mix(in srgb, currentColor 8%, transparent)}
.DropdownButton-module__vd2g_a__root{display:inline-block;position:relative}.DropdownButton-module__vd2g_a__caret{opacity:.7;font-size:.85em}.DropdownButton-module__vd2g_a__menu{z-index:20;border:1px solid color-mix(in srgb, currentColor 35%, transparent);background:#111735;border-radius:.4rem;min-width:100%;margin:0;padding:.35rem;list-style:none;position:absolute;top:calc(100% + .35rem);left:0;box-shadow:0 10px 30px #00000059}.DropdownButton-module__vd2g_a__option{width:100%;color:inherit;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:.3rem;padding:.45rem .7rem;font-size:1rem;font-weight:600;display:block}.DropdownButton-module__vd2g_a__option:hover{background:color-mix(in srgb, currentColor 12%, transparent)}
.LiveTime-module__GPpHoG__root{overflow-wrap:anywhere;word-break:break-word;font-weight:700}.LiveTime-module__GPpHoG__clock{white-space:nowrap;font-family:var(--font-geist-mono), ui-monospace, monospace;font-variant-numeric:tabular-nums;text-align:left;display:inline-block}
.Card-module__7fBG1G__grid{grid-template-columns:1fr;gap:1.5rem;margin-top:2.5rem;margin-bottom:2rem;display:grid}@media (min-width:768px){.Card-module__7fBG1G__grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1100px){.Card-module__7fBG1G__grid{grid-template-columns:repeat(3,1fr)}}.Card-module__7fBG1G__card{border:1px solid color-mix(in srgb, currentColor 18%, transparent);background:color-mix(in srgb, currentColor 6%, transparent);height:100%;color:inherit;border-radius:.75rem;flex-direction:column;transition:opacity .18s,border-color .18s,background-color .18s,box-shadow .18s;display:flex;overflow:hidden}.Card-module__7fBG1G__highlighted{border-color:color-mix(in srgb, currentColor 48%, transparent);background:color-mix(in srgb, currentColor 14%, transparent);box-shadow:0 8px 24px color-mix(in srgb, currentColor 12%, transparent)}.Card-module__7fBG1G__dimmed{opacity:.38}.Card-module__7fBG1G__cover{aspect-ratio:16/10;background:color-mix(in srgb, currentColor 10%, transparent);position:relative;overflow:hidden}.Card-module__7fBG1G__coverImage{object-fit:cover}.Card-module__7fBG1G__body{flex-direction:column;flex:1;gap:.5rem;padding:1.1rem 1.15rem 1.25rem;display:flex}.Card-module__7fBG1G__meta{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.Card-module__7fBG1G__subtitle{letter-spacing:.02em;text-transform:uppercase;opacity:.65;margin:0;font-size:.85rem;font-weight:600}.Card-module__7fBG1G__year{opacity:.65;flex-shrink:0;margin:0;font-size:.85rem;font-weight:600}.Card-module__7fBG1G__title{letter-spacing:-.02em;margin:0;font-size:1.35rem;font-weight:800;line-height:1.2}.Card-module__7fBG1G__description{opacity:.8;flex:1;margin:0;font-size:.98rem;line-height:1.45}.Card-module__7fBG1G__tags{flex-wrap:wrap;gap:.4rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.Card-module__7fBG1G__tag{border:1px solid color-mix(in srgb, currentColor 22%, transparent);opacity:.85;border-radius:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.Card-module__7fBG1G__tagActive{opacity:1;border-color:color-mix(in srgb, currentColor 55%, transparent);background:color-mix(in srgb, currentColor 14%, transparent)}
.ProjectModal-module__oVMW9q__root{z-index:1000;place-items:center;padding:1rem;display:grid;position:fixed;inset:0}.ProjectModal-module__oVMW9q__backdrop{cursor:pointer;background:#090b1cb8;border:0;margin:0;padding:0;position:absolute;inset:0}.ProjectModal-module__oVMW9q__dialog{z-index:1;border:1px solid color-mix(in srgb, currentColor 18%, transparent);color:#171717;background:#f7f7f5;border-radius:.9rem;flex-direction:column;width:min(100%,44rem);max-height:min(92dvh,52rem);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #090b1c59}.ProjectModal-module__oVMW9q__header{border-bottom:1px solid color-mix(in srgb, currentColor 12%, transparent);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.15rem 1.25rem 1rem;display:flex}.ProjectModal-module__oVMW9q__headerText{flex:1;min-width:0}.ProjectModal-module__oVMW9q__meta{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.ProjectModal-module__oVMW9q__subtitle,.ProjectModal-module__oVMW9q__year{letter-spacing:.02em;text-transform:uppercase;opacity:.65;margin:0;font-size:.85rem;font-weight:600}.ProjectModal-module__oVMW9q__year{text-transform:none;letter-spacing:0;flex-shrink:0}.ProjectModal-module__oVMW9q__title{letter-spacing:-.02em;margin:.35rem 0 0;font-size:clamp(1.5rem,3vw,2rem);font-weight:800;line-height:1.15}.ProjectModal-module__oVMW9q__close{border:1px solid color-mix(in srgb, currentColor 22%, transparent);background:color-mix(in srgb, currentColor 6%, transparent);width:2.25rem;height:2.25rem;color:inherit;font:inherit;cursor:pointer;border-radius:999px;flex-shrink:0;place-items:center;margin:-.2rem -.2rem 0 0;font-size:1.6rem;line-height:1;display:inline-grid}.ProjectModal-module__oVMW9q__close:hover{background:color-mix(in srgb, currentColor 12%, transparent)}.ProjectModal-module__oVMW9q__close:focus-visible{outline-offset:2px;outline:2px solid}.ProjectModal-module__oVMW9q__body{overscroll-behavior:contain;padding:1.15rem 1.25rem 1.4rem;overflow:auto}.ProjectModal-module__oVMW9q__defaultBody{flex-direction:column;gap:1rem;display:flex}.ProjectModal-module__oVMW9q__cover{aspect-ratio:16/10;background:color-mix(in srgb, currentColor 10%, transparent);border-radius:.55rem;position:relative;overflow:hidden}.ProjectModal-module__oVMW9q__coverImage{object-fit:cover}.ProjectModal-module__oVMW9q__description{opacity:.88;margin:0;font-size:1.02rem;line-height:1.5}.ProjectModal-module__oVMW9q__tags{flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.ProjectModal-module__oVMW9q__tag{border:1px solid color-mix(in srgb, currentColor 22%, transparent);opacity:.85;border-radius:.3rem;padding:.2rem .55rem;font-size:.75rem;font-weight:600}@media (max-width:640px){.ProjectModal-module__oVMW9q__root{place-items:stretch stretch;padding:0}.ProjectModal-module__oVMW9q__dialog{border-radius:0;width:100%;max-height:100dvh}}
.ProjectGrid-module__aJL61q__cardLink{height:100%;color:inherit;outline-offset:3px;border-radius:.75rem;text-decoration:none;transition:transform .18s;display:block}.ProjectGrid-module__aJL61q__cardLink:hover{transform:translateY(-2px)}.ProjectGrid-module__aJL61q__cardLink:hover>*,.ProjectGrid-module__aJL61q__cardLink:focus-visible>*{border-color:color-mix(in srgb, currentColor 42%, transparent);background:color-mix(in srgb, currentColor 12%, transparent);box-shadow:0 10px 28px color-mix(in srgb, currentColor 12%, transparent)}.ProjectGrid-module__aJL61q__filters{flex-wrap:wrap;gap:.55rem;margin-top:1.5rem;display:flex}.ProjectGrid-module__aJL61q__filterButton{padding:.3rem .7rem;font-size:.95rem}.ProjectGrid-module__aJL61q__filterButton[aria-pressed=true],.ProjectGrid-module__aJL61q__filterButton[aria-pressed=true]:hover{color:#fff;background:#171717;border-color:#171717}
.RotatingText-module__UTpsNq__root{vertical-align:baseline;line-height:1.4;display:inline-grid;position:relative;overflow:hidden}.RotatingText-module__UTpsNq__fixed{justify-items:center}.RotatingText-module__UTpsNq__measure{visibility:hidden;pointer-events:none;flex-direction:column;display:flex;position:absolute;top:0;left:0}.RotatingText-module__UTpsNq__measureWord{white-space:nowrap;font-weight:700;display:block}.RotatingText-module__UTpsNq__word{white-space:nowrap;grid-area:1/1;font-weight:700;display:inline-block}.RotatingText-module__UTpsNq__idle{opacity:1;transition:transform .35s,opacity .35s;transform:translateY(0)}.RotatingText-module__UTpsNq__exit{opacity:0;transition:transform .3s,opacity .3s;transform:translateY(-50%)}.RotatingText-module__UTpsNq__enter{opacity:0;transition:none;transform:translateY(20%)}
.Tooltip-module__O9JzEq__root{vertical-align:middle;align-items:center;display:inline-flex;position:relative}.Tooltip-module__O9JzEq__icon{cursor:help;opacity:.7;border:1.5px solid;border-radius:999px;outline:none;justify-content:center;align-items:center;width:1.1em;height:1.1em;font-size:.75em;font-weight:700;line-height:1;display:inline-flex}.Tooltip-module__O9JzEq__icon:hover,.Tooltip-module__O9JzEq__icon:focus-visible{opacity:1}.Tooltip-module__O9JzEq__tip{color:#f7f7f5;text-align:left;white-space:normal;opacity:0;visibility:hidden;pointer-events:none;z-index:10;background:#111735;border-radius:.35rem;width:max-content;max-width:16rem;padding:.4rem .6rem;font-size:.8rem;font-weight:500;line-height:1.35;transition:opacity .12s,visibility .12s;position:absolute;bottom:calc(100% + .4rem);left:50%;transform:translate(-50%)}.Tooltip-module__O9JzEq__root:hover .Tooltip-module__O9JzEq__tip,.Tooltip-module__O9JzEq__root:focus-within .Tooltip-module__O9JzEq__tip{opacity:1;visibility:visible}
.ContactForm-module__1SvrgG__form{gap:1rem;width:100%;min-width:0;max-width:100%;display:grid}.ContactForm-module__1SvrgG__row{gap:1rem;min-width:0;display:grid}@media (min-width:640px){.ContactForm-module__1SvrgG__row{grid-template-columns:1fr 1fr}}.ContactForm-module__1SvrgG__field{gap:.4rem;min-width:0;display:grid}.ContactForm-module__1SvrgG__label{font-size:.95rem;font-weight:600}.ContactForm-module__1SvrgG__optional{opacity:.65;font-weight:500}.ContactForm-module__1SvrgG__input{box-sizing:border-box;border:1px solid color-mix(in srgb, currentColor 35%, transparent);background:color-mix(in srgb, currentColor 8%, transparent);width:100%;min-width:0;max-width:100%;color:inherit;font:inherit;border-radius:.75rem;outline:none;padding:.65rem .8rem;font-size:1rem}.ContactForm-module__1SvrgG__input:focus{border-color:color-mix(in srgb, currentColor 65%, transparent);background:color-mix(in srgb, currentColor 12%, transparent)}.ContactForm-module__1SvrgG__textarea{resize:vertical;min-height:9rem;line-height:1.45}.ContactForm-module__1SvrgG__actions{justify-content:flex-start;margin-top:.25rem;display:flex}.ContactForm-module__1SvrgG__toast{z-index:50;border:1px solid #0000;border-radius:.75rem;max-width:min(22rem,100vw - 2rem);padding:.85rem 1rem;font-size:.95rem;font-weight:600;line-height:1.35;animation:.18s ease-out ContactForm-module__1SvrgG__toastIn;position:fixed;bottom:1.25rem;right:1.25rem;box-shadow:0 12px 32px #00000047}.ContactForm-module__1SvrgG__toastSuccess{color:#e8fff1;background:#173528;border-color:#7dcea08c}.ContactForm-module__1SvrgG__toastError{color:#ffe8e8;background:#3a1717;border-color:#e08a8a8c}@keyframes ContactForm-module__1SvrgG__toastIn{0%{opacity:0;transform:translateY(.5rem)}to{opacity:1;transform:translateY(0)}}
.RotatingContent-module__7mJLZW__root{background:0 0;grid-template-columns:minmax(8rem,.4fr) minmax(0,1fr);align-items:start;gap:2rem 2.5rem;display:grid}@media (max-width:700px){.RotatingContent-module__7mJLZW__root{grid-template-columns:1fr;gap:1.5rem}}.RotatingContent-module__7mJLZW__titles{position:relative}.RotatingContent-module__7mJLZW__title{color:inherit;font:inherit;text-align:left;cursor:pointer;transform-origin:0;background:0 0;border:0;flex-direction:column;align-items:flex-start;gap:.4rem;margin:0;padding:0;transition:transform .45s cubic-bezier(.22,1,.36,1),font-size .45s cubic-bezier(.22,1,.36,1),opacity .45s,font-weight .45s;display:flex;position:absolute;top:0;left:0}.RotatingContent-module__7mJLZW__titleText{display:block}.RotatingContent-module__7mJLZW__titleActive{letter-spacing:-.03em;opacity:1;cursor:default;font-size:2.15rem;font-weight:800;line-height:1.15}.RotatingContent-module__7mJLZW__titleActiveResettable{cursor:pointer}.RotatingContent-module__7mJLZW__titleInactive{opacity:.45;font-size:1.05rem;font-weight:600;line-height:1.3}.RotatingContent-module__7mJLZW__titleInactive:hover{opacity:.75}.RotatingContent-module__7mJLZW__progressTrack{border-radius:999px;width:100%;height:2px;display:block;overflow:hidden}.RotatingContent-module__7mJLZW__progressFill{border-radius:inherit;transform-origin:0;background:currentColor;width:100%;height:100%;animation-name:RotatingContent-module__7mJLZW__progressGrow;animation-timing-function:linear;animation-fill-mode:forwards;display:block;transform:scaleX(0)}@keyframes RotatingContent-module__7mJLZW__progressGrow{to{transform:scaleX(1)}}.RotatingContent-module__7mJLZW__bodyViewport{position:relative;overflow:hidden}.RotatingContent-module__7mJLZW__bodyMeasure{visibility:hidden;pointer-events:none;position:absolute;top:0;left:0}.RotatingContent-module__7mJLZW__bodyPanel{font-size:1.15rem;line-height:1.5;display:flow-root}.RotatingContent-module__7mJLZW__idle{opacity:1;transition:transform .32s,opacity .32s;transform:translateY(0)}.RotatingContent-module__7mJLZW__exit{opacity:0;transition:transform .32s,opacity .32s;transform:translateY(-.6rem)}.RotatingContent-module__7mJLZW__enter{opacity:0;transition:none;transform:translateY(.6rem)}
