@font-face{font-family:plusJakartaSans;src:url(/_next/static/media/be6419ffe34f1ed7-s.p.woff2) format("woff2");font-display:swap;font-weight:200 800}@font-face{font-family:plusJakartaSans Fallback;src:local("Arial");ascent-override:98.16%;descent-override:20.99%;line-gap-override:0.00%;size-adjust:105.75%}.__className_34a125{font-family:plusJakartaSans,plusJakartaSans Fallback}.__variable_34a125{--font-plus-jakarta-sans:"plusJakartaSans","plusJakartaSans Fallback"}

/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:host,:root{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ease-out:cubic-bezier(0,0,.2,1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-plus-jakarta-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.\!visible{visibility:visible!important}.collapse{visibility:collapse}.visible{visibility:visible}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.table{display:table}.shrink{flex-shrink:1}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.uppercase{text-transform:uppercase}.ring{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px)}.blur,.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}}:root{color-scheme:dark;--background:#101112;--surface:#1b1d1e;--foreground:#f1f0eb;--muted:#929693;--cyan:#7ff3ff;--border:#343839;--page-width:1280px;--gutter:clamp(1.25rem,5.2vw,5.5rem);--section-space:clamp(5.5rem,11vw,10rem)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:5.5rem}body{background:var(--background);min-width:320px;color:var(--foreground);font-family:var(--font-plus-jakarta-sans),sans-serif;text-rendering:optimizelegibility;margin:0;font-size:.9375rem;line-height:1.65}::selection{color:var(--foreground);background:#7ff3ff3d}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:1px solid var(--cyan);outline-offset:4px}a,button{-webkit-tap-highlight-color:transparent}.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}.page-shell{width:min(var(--page-width),calc(100% - var(--gutter) * 2));margin-inline:auto}.portfolio-pill-nav{z-index:90;justify-content:center;width:min(680px,100vw - 1.25rem);max-width:calc(100vw - .75rem);display:flex;position:fixed;top:1rem;left:50%;transform:translate(-50%)}.portfolio-staggered-nav{display:none}.portfolio-nav-source{--pn-surface:#1b1d1ef5!important;--pn-solid:#1b1d1e!important;--pn-edge:#343839!important;--pn-rim:#343839!important;--pn-shadow:0 8px 28px #00000040!important;--pn-text:#c6cac7!important;--pn-strong:#f1f0eb!important;--pn-pill:var(--cyan)!important;--pn-pill-ink:#101112!important;--pn-pill-shadow:none!important;--pn-dot:#101112!important;--pn-row-hover:#7ff3ff14!important;--pn-tile:#242829!important;--pn-tile-rim:inset 0 0 0 1px #343839!important}.hero{border-bottom:1px solid var(--border);grid-template-rows:auto auto auto;grid-template-columns:minmax(0,1.08fr) minmax(21rem,.92fr);align-items:start;gap:1.75rem clamp(2rem,5vw,5rem);min-height:100svh;padding-block:clamp(7rem,12vh,9rem) 4rem;display:grid;position:relative}.hero-main{grid-area:1/1;min-width:0;padding-block:1rem}.aside-label,.composition-label,.expand-kicker,.eyebrow,.project-card-index,.project-card-pending,.section-number{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:.66rem;font-weight:600}.eyebrow{margin:0 0 2rem}.eyebrow span{color:#59605e;margin-inline:.35rem}.hero-animation-stack{min-width:0}.hero-tech-mount{place-items:center start;min-height:clamp(6rem,17vw,13rem);display:grid}.hero-tech{width:100%;height:auto;max-height:14rem}.hero-name-fallback{color:#23abc2;letter-spacing:-.075em;text-align:left;text-wrap:balance;width:100%;max-width:100%;font-size:clamp(2.2rem,8vw,7rem);font-weight:600;line-height:.96;display:block}.hero-intro-copy{width:min(100%,34rem);margin-top:clamp(1.8rem,4vw,3rem)}.hero-intro-copy .aside-label{margin-top:.9rem}.hero-loop-mount{place-items:center;width:100%;height:clamp(13rem,20vw,18rem);margin:0;display:grid;position:relative;overflow:hidden}.hero-tech-loop{width:100%;height:auto}.hero-loop-fallback{width:max-content;color:var(--secondary-accent,#ff5a36);letter-spacing:-.04em;white-space:nowrap;font-size:clamp(1.5rem,4vw,3.8rem);font-weight:800;animation:hero-marquee 18s linear infinite}@keyframes hero-marquee{to{transform:translate(-50%)}}.hero-role{color:#c8cbc7;letter-spacing:-.015em;margin:1.6rem 0 0;font-size:clamp(.95rem,1.5vw,1.15rem);font-weight:450}.hero-links{flex-wrap:wrap;gap:1.8rem;margin-top:2.6rem;display:flex}.aside-link,.hero-links a{color:var(--foreground);border-bottom:1px solid #5e6664;align-items:center;gap:.55rem;padding-block:.25rem;font-size:.75rem;transition:border-color .16s,color .16s;display:inline-flex}.aside-link:hover,.hero-links a:hover{border-color:var(--cyan);color:var(--cyan)}.hero-aside{z-index:1;grid-area:1/2;align-self:stretch;place-items:center;width:100%;max-width:none;padding-top:0;display:grid;position:relative}.hero-lanyard{width:min(100%,29rem);height:clamp(32rem,54svh,40rem);margin:0 auto}.hero-lanyard .lanyard-host{width:100%;height:100%;margin:0;overflow:visible}.aside-rule,.note-rule{background:var(--cyan);width:2rem;height:1px;display:block}.aside-label{font-variant-numeric:tabular-nums;margin:1.2rem 0 1.1rem}.hero-description{color:var(--muted);text-wrap:pretty;margin:0;font-size:.9rem;line-height:1.85}.aside-link{color:var(--muted);margin-top:1.4rem}.hero-tech-band{grid-area:2/1/auto/-1;width:100vw;margin-inline:calc(50% - 50vw);position:relative;left:auto;overflow:hidden}.hero-footer{grid-area:3/1;min-width:0}.hero-footer .hero-links{margin-top:1.5rem}.hero-index{color:#626967;letter-spacing:.12em;font-size:.61rem;position:absolute;bottom:1.7rem;right:0}.profile-facts{flex-wrap:wrap;gap:1.5rem;display:flex}.profile-facts p{gap:.35rem;margin:0;display:grid}.profile-facts span{color:var(--muted);font-size:.65rem}.profile-facts strong{font-size:.82rem;font-weight:520}.velocity-mount{border-bottom:1px solid var(--border);width:100%;height:clamp(20rem,24vw,23rem);overflow:hidden}.velocity-mount>section{width:100%;height:100%;color:var(--muted);grid-template-rows:repeat(2,minmax(0,1fr));display:grid}.portfolio-velocity-track{align-items:center;min-width:0;min-height:0;display:flex}.portfolio-velocity-row{will-change:transform;width:max-content;min-width:max-content;line-height:1}.portfolio-velocity{color:inherit}.velocity-fallback{color:var(--muted);letter-spacing:-.04em;text-align:center;padding:2.5rem 0;font-size:clamp(.9rem,2vw,1.6rem);font-weight:650}.velocity-fallback span{color:var(--cyan);padding-inline:.8rem}.about-transition{border-bottom:1px solid var(--border);height:255svh;position:relative}.scroll-expand-mount{height:100svh;overflow-x:clip}.portfolio-scroll-expand{height:100%}.portfolio-scroll-expand .scroll-expand__stage{background:var(--surface)}.portfolio-scroll-expand .scroll-expand__media{object-fit:contain}.portfolio-scroll-expand .scroll-expand__title{letter-spacing:-.075em;font-size:clamp(2rem,7vw,6rem);font-weight:550}.portfolio-scroll-expand .scroll-expand__scrim{background:linear-gradient(#00000047,#0000001f 50%,#000000b8)}.portfolio-scroll-expand .scroll-expand__hint{color:#f1f0ebbf}.expand-kicker{color:var(--cyan);margin:0 0 .6rem}.scroll-expand__overlay h2{letter-spacing:-.07em;margin:0;font-size:clamp(2.5rem,6vw,5rem);line-height:1.05}.scroll-expand__overlay p{margin:.5rem 0}.scroll-expand__overlay .expand-copy{color:#f1f0ebc2;max-width:28rem}.scroll-expand-fallback{object-fit:cover;width:100%;height:100%}.section{padding-block:var(--section-space);border-bottom:1px solid var(--border);grid-template-columns:minmax(12rem,.7fr) minmax(0,1.3fr);align-items:start;gap:clamp(2.5rem,10vw,10rem);scroll-margin-top:5.25rem;display:grid}.section-heading{grid-template-columns:2.25rem minmax(0,1fr);gap:.9rem;display:grid}.section-number{font-variant-numeric:tabular-nums;padding-top:.65rem}.section-title{letter-spacing:-.07em;text-wrap:balance;margin:0;font-size:clamp(2rem,4vw,3.5rem);font-weight:520;line-height:1.08}.section-description{max-width:24rem;color:var(--muted);text-wrap:pretty;margin:1rem 0 0;font-size:.83rem;line-height:1.8}.profile-composition{grid-template-columns:minmax(0,1fr);align-items:center;gap:clamp(2rem,7vw,6rem);display:grid}.composition-label{letter-spacing:.1em;margin:0 0 1.2rem;font-size:.59rem}.profile-card-mount{place-items:center;min-height:30rem;display:grid}.portfolio-profile-card{max-width:23rem;--pc-frame:#1b1d1e!important;--pc-frame-edge:#343839!important;--pc-frame-highlight:#343839!important;--pc-frame-shadow:0 12px 32px #0000004d!important;--pc-tile:#242829!important;--pc-tile-edge:#343839!important;--pc-tile-highlight:#414748!important;--pc-tile-shadow:none!important}.profile-card-fallback{border:1px solid var(--border);width:min(100%,22rem);color:var(--foreground);gap:.35rem;padding:1rem;display:grid}.profile-card-fallback img{aspect-ratio:.78;object-fit:cover;width:100%}.profile-card-fallback span{color:var(--muted);font-size:.78rem}.lanyard-host{width:100%;height:clamp(22rem,40vw,34rem);position:relative;overflow:hidden}.lanyard-host .lanyard{position:absolute;inset:0}.lanyard-host.has-webgl .lanyard-fallback{opacity:0;pointer-events:none}.lanyard-fallback{flex-direction:column;justify-content:center;align-items:center;transition:opacity .25s;display:flex;position:absolute;inset:0}.lanyard-fallback-strap{object-fit:cover;width:4.4rem;height:68%;position:absolute;top:-18%}.lanyard-fallback-card{width:min(54%,14rem);margin-top:7rem;position:relative;transform:rotate(3deg);box-shadow:0 16px 40px #00000047}.hero-lanyard .lanyard-fallback-strap{width:clamp(4rem,5vw,6rem);height:82%;top:-12%}.hero-lanyard .lanyard-fallback-card{width:min(64%,19rem);max-width:19rem;margin-top:10rem}.asset-note,.lanyard-fallback p{color:var(--muted);text-align:center;margin:.8rem 0 0;font-size:.7rem}.projects-content{min-width:0}.project-card-swap-mount{place-items:center;min-height:34rem;display:grid}.portfolio-card-swap{--swap-tile:#f1f0eb!important;--swap-tile-edge:#d3d4d0!important;--swap-tile-highlight:#fff!important;--swap-shadow:0 20px 48px -30px #000000a6!important;--swap-ink:#101112!important;--swap-badge:#e1e2de!important;--swap-shade:#f1f0eb!important}.portfolio-card-swap .portfolio-project-card{color:#101112;background:#f1f0eb}.portfolio-project-card{flex-direction:column;align-items:stretch;gap:.55rem;padding:.75rem;display:flex}.project-card-index{color:#666d69}.portfolio-project-card .project-card-index{flex:none;font-size:.58rem}.project-card-cover{border-radius:max(0px,calc(var(--swap-radius) - 8px));background:#d9ddda;flex:auto;min-height:8rem;position:relative;overflow:hidden}.project-card-cover img{object-fit:cover;width:100%;height:100%;display:block}.project-card-cover>span{display:none}.project-card-cover[data-missing=true]{background:#e2e4df;place-items:center;display:grid}.project-card-cover[data-missing=true]>span{color:#59605e;font-size:.66rem;display:block}.project-card-no-cover{background:linear-gradient(145deg,#e6e8e4,#cdd3cf);flex-direction:column;justify-content:center;align-items:center;gap:.4rem;display:flex}.project-card-no-cover strong{color:#252b29;letter-spacing:-.12em;font-size:clamp(2.7rem,7vw,4.3rem);font-weight:600}.project-card-no-cover span{color:#59605e;letter-spacing:.12em;text-transform:uppercase;font-size:.58rem}.project-card-copy{flex:none;gap:.28rem;min-width:0;display:grid}.project-card-copy h3{color:#101112;letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:1.02rem;font-weight:650;overflow:hidden}.project-card-copy p{color:#59605e;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.68rem;line-height:1.4;display:-webkit-box;overflow:hidden}.project-card-links,.project-card-tech{flex-wrap:wrap;gap:.3rem;display:flex}.project-card-tech span{color:#59605e;border:1px solid #d3d4d0;padding:.12rem .32rem;font-size:.53rem;line-height:1.35}.project-card-links a{color:#273735;font-size:.58rem;font-weight:650}.project-card-links a:hover{color:#087e8f}.project-card-empty{background:#e2e4df;flex-direction:column;flex:1;justify-content:center;gap:.4rem;padding:1.2rem;display:flex}.project-card-empty strong{letter-spacing:-.06em;font-size:2rem}.project-card-empty span{color:#59605e;font-size:.72rem}.portfolio-project-card>p{color:#59605e;margin:0;font-size:.74rem}.project-card-placeholder{border:1px solid var(--border);width:min(100%,28rem);padding:2rem}.project-card-placeholder span{color:var(--muted);letter-spacing:.12em;font-size:.65rem}.project-card-placeholder h3{letter-spacing:-.04em;margin:2rem 0 .5rem;font-size:1.4rem}.project-card-placeholder img{object-fit:cover;width:100%;max-height:14rem;margin-top:1rem;display:block}.project-card-placeholder p,.project-list-note{color:var(--muted);font-size:.8rem}.project-list-note{text-align:center;margin:0}.portfolio-project-card[tabindex="0"]{cursor:pointer}.portfolio-project-card[tabindex="0"]:focus-visible{outline:2px solid var(--cyan);outline-offset:4px}.project-detail-dialog{width:min(46rem,100vw - 2rem);max-width:none;max-height:min(88dvh,54rem);color:var(--foreground,#f1f0eb);background:#17191a;border:1px solid #ffffff24;border-radius:1.15rem;padding:0;position:fixed;overflow:auto;box-shadow:0 2rem 8rem #0000008c}.project-detail-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#000000b8}.project-detail-content{gap:1rem;padding:clamp(1.25rem,4vw,2.5rem);display:grid;position:relative}.project-detail-close{width:2.5rem;height:2.5rem;color:inherit;cursor:pointer;background:#ffffff14;border:1px solid #ffffff29;border-radius:50%;place-items:center;font-size:1.5rem;display:grid;position:absolute;top:1rem;right:1rem}.project-detail-close:hover{background:#ffffff29}.project-detail-kicker{color:var(--cyan,#7ff3ff);letter-spacing:.14em;margin:.3rem 3rem 0 0;font-size:.68rem}.project-detail-content h2{letter-spacing:-.06em;margin:0;font-size:clamp(1.8rem,6vw,3.3rem);line-height:1}.project-detail-cover{object-fit:cover;background:#242728;border-radius:.7rem;width:100%;max-height:24rem;display:block}.project-detail-description,.project-detail-summary{color:#c4c8c5;white-space:pre-wrap;margin:0;font-size:.96rem;line-height:1.7}.project-detail-summary{color:#f1f0eb;font-size:1.1rem}.project-detail-links,.project-detail-tech{flex-wrap:wrap;gap:.55rem;display:flex}.project-detail-tech span{color:#d9e2df;background:#ffffff0f;border:1px solid #ffffff1f;border-radius:99px;padding:.35rem .6rem;font-size:.72rem}.project-detail-links a{color:#101112;background:var(--cyan,#7ff3ff);border-radius:99px;align-items:center;min-height:2.65rem;padding:.6rem .9rem;font-size:.82rem;font-weight:650;text-decoration:none;display:inline-flex}.project-detail-links a:hover{filter:brightness(.9)}.skills-logo-loops{grid-template-columns:repeat(2,minmax(0,1fr));align-self:stretch;gap:clamp(.8rem,2.5vw,2rem);min-width:0;height:clamp(42rem,58vw,54rem);display:grid}.skills-logo-lane{min-width:0;position:relative;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 12% 88%,#0000);mask-image:linear-gradient(#0000,#000 12% 88%,#0000)}.skills-logo-track{width:100%;animation:skill-logo-up var(--loop-duration,18s) linear infinite;will-change:transform;flex-direction:column;display:flex}.skills-logo-lane.is-reverse .skills-logo-track{animation-name:skill-logo-down}.skills-logo-lane:hover .skills-logo-track{animation-play-state:paused}.skill-logo-sequence{flex-direction:column;flex:none;gap:clamp(2.8rem,5.5vw,4.2rem);margin:0;padding:.8rem 0 2.2rem;list-style:none;display:flex}.skill-logo-item{width:100%;min-width:0;max-width:15rem;min-height:3.5rem;margin-inline:auto;display:block}.skill-logo-link{width:100%;min-height:3.5rem;color:inherit;grid-template-columns:3.35rem minmax(0,1fr);align-items:center;gap:1rem;text-decoration:none;display:grid}.skill-logo-link:focus-visible .skill-logo-label,.skill-logo-link:hover .skill-logo-label{color:var(--logo-color,var(--cyan))}.skill-logo-link:focus-visible{outline:1px solid var(--cyan);outline-offset:5px}.skill-logo-mark{background:0 0;place-items:center;width:3.35rem;height:3.35rem;display:grid;overflow:hidden}.skill-logo-mark img{object-fit:contain;width:100%;height:100%;display:block}.skill-logo-mark[data-logo=github] img,.skill-logo-mark[data-logo=vercel] img{filter:invert()}.skill-logo-mark svg{width:2.75rem;height:2.75rem;display:block;overflow:visible}.skill-logo-fallback{width:2.75rem;height:2.75rem;color:var(--logo-color);place-items:center;font-size:1.35rem;font-weight:800;display:grid}.skill-logo-label{min-width:0;color:var(--foreground);letter-spacing:-.035em;text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:clamp(.88rem,1.7vw,1.25rem);font-weight:560;overflow:hidden}.skills-loop-empty{color:var(--muted);align-self:center}@keyframes skill-logo-up{to{transform:translateY(-50%)}}@keyframes skill-logo-down{0%{transform:translateY(-50%)}to{transform:translate(0)}}.managed-projects{display:grid}.managed-project{border-top:1px solid var(--border);grid-template-columns:2.25rem minmax(0,1fr) minmax(8rem,13rem);align-items:center;gap:1rem;padding:1.2rem 0;display:grid}.managed-project-index{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.65rem}.managed-entry h3,.managed-project-copy h3{letter-spacing:-.025em;margin:0;font-size:1rem;font-weight:550}.managed-entry p,.managed-project-copy p{color:var(--muted);margin:.35rem 0 0;font-size:.75rem;line-height:1.6}.managed-project-tech{flex-wrap:wrap;gap:.4rem;margin-top:.65rem;display:flex}.managed-project-tech span{border:1px solid var(--border);color:var(--muted);padding:.2rem .4rem;font-size:.62rem}.managed-project img{object-fit:contain;background:var(--surface);width:100%;height:8rem}.managed-project-links{grid-column:2/-1;gap:1rem;display:flex}.managed-project-links a,.public-social-links a{color:var(--muted);font-size:.7rem}.managed-project-links a:hover,.public-social-links a:hover{color:var(--cyan)}.managed-entry{border-top:1px solid var(--border);grid-template-columns:2.25rem minmax(0,1fr);gap:.9rem;width:100%;padding:1.2rem 0;display:grid;position:relative}.managed-entry small{color:var(--muted);margin-top:.55rem;font-size:.75rem;line-height:1.65;display:block}.managed-entry-body{grid-template-columns:2.5rem minmax(0,1fr);gap:.8rem;display:grid}.managed-entry-logo{object-fit:contain;width:2.5rem;height:2.5rem}.history-image{object-fit:contain;object-position:left;width:min(100%,20rem);max-height:12rem;margin-top:.7rem;display:block}.history-line .managed-entry{border-left:1px solid #59605e;padding-left:1rem}.history-line .history-marker{top:1.28rem}.public-social-links{flex-wrap:wrap;gap:1rem 1.6rem;margin-bottom:1.5rem;display:flex}.entry-list{align-self:center}.empty-entry{border-bottom:1px solid var(--border);color:#d9dbd6;grid-template-columns:2rem 1fr auto;align-items:center;gap:1rem;padding-block:1.2rem;font-size:.83rem;display:grid}.entry-index,.entry-state{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.66rem}.history-line{border-left:1px solid #59605e;align-self:center;min-height:6rem;padding:1.2rem 0 0 1.5rem;position:relative}.history-marker{aspect-ratio:1;background:var(--cyan);border-radius:50%;width:.42rem;position:absolute;top:1.18rem;left:-.23rem}.history-line p{color:var(--muted);margin:0;font-size:.83rem}.contact-glow-mount{border:1px solid var(--border);min-height:29rem;position:relative;overflow:hidden}.contact-glow-mount>.glow-cursor{width:100%;height:100%;position:absolute;inset:0}.contact-glow-fallback{min-height:inherit;padding:clamp(1.2rem,4vw,3rem)}.contact-form-wrap{z-index:1;padding:clamp(1.2rem,4vw,3rem);position:relative}.form-status{color:var(--muted);margin:0 0 1.5rem;font-size:.75rem}.contact-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem;display:grid}.contact-form label{color:#c8cbc7;gap:.45rem;font-size:.72rem;display:grid}.contact-form input,.contact-form textarea{width:100%;color:var(--foreground);font:inherit;background:0 0;border:0;border-bottom:1px solid #59605e;border-radius:0;padding:.65rem 0}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#747a77}.contact-form textarea{resize:vertical}.contact-form input:focus-visible,.contact-form textarea:focus-visible{outline:1px solid var(--cyan);outline-offset:3px}.contact-honeypot{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;overflow:hidden;position:absolute!important}.form-status-error{color:#ff9a86}.form-status-success{color:var(--cyan)}.contact-submit,.form-wide{grid-column:1/-1}.contact-submit{width:max-content;color:var(--muted);font:inherit;background:0 0;border:1px solid #59605e;align-items:center;gap:1rem;padding:.75rem 1rem;font-size:.76rem;display:inline-flex}.contact-submit:hover:not(:disabled){border-color:var(--cyan);color:var(--cyan)}.contact-submit:disabled{cursor:wait;opacity:.65}.site-footer{border-top:0}.footer-inner{justify-content:space-between;align-items:center;gap:1rem;min-height:6.5rem;display:flex}.wordmark{letter-spacing:-.02em;flex:none;font-size:.8125rem;font-weight:650}.wordmark span{color:var(--cyan)}.back-to-top,.footer-inner p{color:var(--muted);margin:0;font-size:.67rem}.back-to-top:hover{color:var(--cyan)}@media (max-width:980px){.hero{grid-template-columns:minmax(0,1.08fr) minmax(18rem,.92fr);column-gap:2rem}.hero-lanyard{width:min(100%,26rem);height:clamp(30rem,54svh,36rem)}}@media (max-width:1024px){.portfolio-pill-nav{display:none}.portfolio-staggered-nav{display:block}}@media (max-width:680px){:root{--section-space:5rem;--gutter:1.25rem}.portfolio-pill-nav{display:none}.portfolio-staggered-nav{display:block}.portfolio-pill-nav{width:calc(100vw - 1.25rem);max-width:calc(100vw - .75rem);top:.65rem}.hero{grid-template-rows:auto auto auto auto;grid-template-columns:minmax(0,1fr);gap:1.25rem;min-height:auto;padding-block:7rem 5.5rem}.skills-logo-loops{height:34rem}.hero-main{grid-area:1/1;padding-block:0}.hero-tech-band{grid-area:2/1}.hero-aside{grid-area:3/1}.hero-footer{grid-area:4/1}.eyebrow{margin-bottom:1.4rem}.hero-tech-mount{min-height:6.2rem}.hero-name-fallback{font-size:clamp(2.2rem,10vw,3rem)}.hero-intro-copy{margin-top:1.6rem}.hero-loop-mount{height:8rem}.hero-lanyard{width:min(100%,21rem);height:clamp(26rem,58svh,34rem);margin-bottom:0}.hero-lanyard .lanyard-fallback-card{margin-top:7rem}.hero-index{bottom:1.3rem}.about-transition{height:255svh}.section{grid-template-columns:1fr;gap:2.5rem}.section-heading{max-width:34rem}.profile-composition{grid-template-columns:1fr;gap:3rem}.managed-project{grid-template-columns:1.75rem minmax(0,1fr)}.managed-project img{grid-column:2;width:100%;height:10rem}.managed-project-links{grid-column:2}.profile-card-mount{min-height:26rem}.profile-section .lanyard-host{width:min(100%,24rem);height:27rem;margin-inline:auto}.project-card-swap-mount{min-height:27rem}.contact-form{grid-template-columns:1fr}.form-wide{grid-column:auto}.footer-inner{flex-wrap:wrap;min-height:7rem;padding-block:1.3rem}.footer-inner p{order:1;width:100%}}@media (min-width:1025px){.portfolio-staggered-nav{display:none}}@media (max-width:390px){.hero-links{gap:1rem}.empty-entry{grid-template-columns:1.7rem 1fr}.entry-state{grid-column:2}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.velocity-mount .portfolio-velocity-row{animation-duration:4s!important;animation-iteration-count:infinite!important}.skills-logo-lane{overflow-y:auto;-webkit-mask-image:none;mask-image:none}.skills-logo-track{animation:none!important}.skill-logo-sequence[aria-hidden=true]{display:none}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}