:root{--sidebar-selected-stroke:5px}.option-wheel{--ow-text-color:#a6a6a6;--ow-active-color:#ffffff;--ow-font-size:3rem;--ow-inset:80px;--ow-left-room:32px;position:relative;left:calc(0px - var(--ow-left-room));width:calc(100% + var(--ow-left-room));height:100%;overflow:hidden;contain:layout paint style;cursor:grab;user-select:none;touch-action:none;outline:none;mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent);-webkit-mask-image:linear-gradient(180deg,transparent 0,#000 12%,#000 88%,transparent)}.option-wheel--dragging{cursor:grabbing}.option-wheel--horizontal{left:0;width:100%;touch-action:none;overscroll-behavior:contain;-webkit-touch-callout:none;cursor:ew-resize;mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 8%,#000 92%,transparent)}.option-wheel--horizontal .option-wheel__item{top:49%;left:50%;transform-origin:center center}.option-wheel--horizontal .option-wheel__curved-label{display:block;width:var(--ow-curved-label-width);height:1.6em;overflow:visible;fill:currentColor;font:inherit}.option-wheel--horizontal .option-wheel__curved-label-text{fill:currentColor;font:inherit;font-size:180px;letter-spacing:inherit}.dotted-text-bold{-webkit-text-stroke:.4px currentColor;paint-order:stroke fill}.selected-text-outline{-webkit-text-stroke:var(--sidebar-selected-stroke) rgb(0 0 0/.95);paint-order:stroke fill;text-shadow:none}.sidebar-name-outline{-webkit-text-stroke:2px rgb(0 0 0/.95);paint-order:stroke fill;text-shadow:none}.option-wheel:focus-visible{outline:1px solid color-mix(in srgb,var(--ow-active-color) 55%,transparent);outline-offset:4px;border-radius:.5rem}.option-wheel__item{position:absolute;top:50%;left:calc(var(--ow-inset) + var(--ow-left-room));white-space:nowrap;font-size:var(--ow-font-size);line-height:1;font-weight:200;transform-origin:left center;backface-visibility:hidden;cursor:pointer;text-shadow:0 0 7px rgba(0,0,0,1),0 0 36px rgba(0,0,0,.95),0 2px 7px rgba(0,0,0,.9);color:color-mix(in srgb,var(--ow-active-color) calc(var(--ow-p, 0) * 100%),var(--ow-text-color))}.option-wheel--animating .option-wheel__item,.option-wheel--dragging .option-wheel__item{will-change:transform,opacity}.option-wheel--right .option-wheel__item{left:auto;right:var(--ow-inset);transform-origin:right center}.option-wheel__item--selected{font-weight:500}.option-wheel.font-dotted .option-wheel__item,.option-wheel.font-dotted .option-wheel__item--selected{font-weight:300;-webkit-text-stroke:.4px currentColor;paint-order:stroke fill;text-shadow:none}.option-wheel.font-dotted .option-wheel__item--selected{-webkit-text-stroke:var(--sidebar-selected-stroke) rgb(0 0 0/.95)}.glass-surface{overflow:hidden;background:rgb(255 255 255/var(--glass-frost,.1));border:1px solid rgb(255 255 255/.2);backdrop-filter:blur(var(--glass-blur,10px)) saturate(var(--glass-saturation,1.8)) brightness(var(--glass-brightness,1.2));-webkit-backdrop-filter:blur(var(--glass-blur,10px)) saturate(var(--glass-saturation,1.8)) brightness(var(--glass-brightness,1.2));box-shadow:inset 0 1px 0 rgb(255 255 255/.2),inset 0 -1px 0 rgb(255 255 255/.1);transition:opacity .26s ease-out}.glass-surface,.glass-surface__content{position:relative;display:flex;align-items:center;justify-content:center}.glass-surface__content{z-index:1;width:100%;height:100%;padding:.5rem;border-radius:inherit}@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.glass-surface{background:rgb(15 18 17/.88)}}.glass-surface:focus-visible{outline:2px solid #0a84ff;outline-offset:2px}.tilted-card-figure{position:relative;margin:0;width:100%;height:100%;perspective:900px;display:flex;flex-direction:column;align-items:center;justify-content:center}.tilted-card-mobile-alert{position:absolute;top:1rem;text-align:center;font-size:.875rem;display:none}@media (max-width:640px){.tilted-card-mobile-alert{display:block}.tilted-card-caption{display:none}}.tilted-card-inner{position:relative;transform-style:preserve-3d;backface-visibility:hidden;will-change:transform}.tilted-card-img{position:absolute;top:0;left:0;object-fit:cover;border-radius:15px}.tilted-card-base{position:absolute;inset:0;z-index:1;transform:translateZ(0);transform-style:preserve-3d}.tilted-card-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:2;transform:translate(0);backface-visibility:hidden;will-change:transform}.tilted-glass-card{position:relative;transform-style:preserve-3d}.tilted-glass-card:before{content:"";position:absolute;inset:3px;border-radius:inherit;background:transparent;border:1px solid rgb(121 194 160/.14);box-shadow:0 28px 48px rgb(0 0 0/.55);transform:translateZ(-22px);pointer-events:none}.tilted-glass-card__surface{transform:translateZ(0)}.tilted-card-portrait-frame{box-shadow:-1px -1px 0 rgb(255 255 255/.12),1px 1px 0 rgb(121 194 160/.12),0 5px 10px rgb(0 0 0/.28)}.tilted-card-glass-rule,.tilted-card-glass-section:before,.tilted-card-portrait-anchor,.tilted-card-project-list:before,.tilted-card-proof-list:before,.tilted-card-resume-link:after{pointer-events:none;transform:translate(var(--overlay-counter-x,0),var(--overlay-counter-y,0))}.tilted-card-portrait-anchor{box-shadow:inset 0 0 18px rgb(121 194 160/.025),0 18px 34px rgb(0 0 0/.58)}.arrow-link.tilted-card-resume-link{position:relative;border-bottom-color:transparent}.tilted-card-resume-link:after{content:"";position:absolute;right:0;bottom:-1px;left:0;height:1px;background:currentColor}.tilted-card-project-list:before{content:"";position:absolute;top:0;right:0;left:0;height:1px;background:var(--rule)}.tilted-card-proof-list{position:relative}.tilted-card-proof-list:before{content:"";position:absolute;top:0;bottom:0;left:0;width:1px;background:rgb(121 194 160/.6)}.tilted-card-glass-rule{background-color:var(--rule)}.tilted-card-glass-section{position:relative;isolation:isolate}.tilted-card-glass-section:before{content:"";position:absolute;z-index:-1;inset:0;pointer-events:none}[data-card-row-link]:hover .tilted-card-glass-rule{background-color:var(--accent)}@media (hover:hover) and (pointer:fine){.tilted-card-headline{position:relative;text-shadow:0 -1px 0 rgb(255 255 255/.025),0 2px 1px rgb(0 0 0/.3),0 6px 14px rgb(0 0 0/.42)}}.tilted-card-caption{pointer-events:none;position:absolute;left:0;top:0;border-radius:4px;background-color:#fff;padding:4px 10px;font-size:10px;color:#2d2d2d;opacity:0;z-index:3}@media (prefers-reduced-motion:reduce){.tilted-card-glass-rule,.tilted-card-glass-section:before,.tilted-card-inner,.tilted-card-overlay,.tilted-card-portrait-anchor,.tilted-card-project-list:before,.tilted-card-proof-list:before,.tilted-card-resume-link:after{transform:none!important}}.contact-panel-box{position:relative}.contact-panel-box:before{border:1px dashed rgb(255 255 255/.07);background:linear-gradient(112deg,rgb(8 10 9/.29),rgb(10 12 11/.2)),rgb(10 12 11/.23);box-shadow:inset 0 1px 0 rgb(255 255 255/.018),inset 0 0 34px rgb(0 0 0/.16)}.contact-detail-row a{overflow-wrap:anywhere}.skill-tag{display:inline-flex;min-height:2rem;align-items:center;gap:.5rem;border:1px solid rgb(255 255 255/.1);background:rgb(255 255 255/.035);padding:.35rem .65rem;font-family:var(--font-geist-mono),monospace;font-size:.75rem;font-weight:500;color:rgb(238 239 235/.85);box-shadow:inset 0 1px 0 rgb(255 255 255/.025),0 4px 10px rgb(0 0 0/.1);transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease}.skill-tag__icon{width:.95rem;height:.95rem;flex:none;color:var(--accent)}@media (hover:hover) and (pointer:fine){.skill-tag:hover{transform:translateY(-1px);border-color:rgb(121 194 160/.4);background:rgb(121 194 160/.07);color:var(--fg)}}.project-case-study-box{position:relative}.project-case-study-box:before{border:1px dashed rgb(255 255 255/.07);background:linear-gradient(112deg,rgb(8 10 9/.29),rgb(10 12 11/.2)),rgb(10 12 11/.23);box-shadow:inset 0 1px 0 rgb(255 255 255/.018),inset 0 0 34px rgb(0 0 0/.16)}.project-selector-button{min-width:0;border:1px solid rgb(255 255 255/.075);background:linear-gradient(115deg,rgb(20 24 22/.42),rgb(8 10 9/.24)),rgb(9 11 10/.3);box-shadow:inset 0 1px 0 rgb(255 255 255/.025),inset 0 -1px 0 rgb(0 0 0/.16),0 6px 14px rgb(0 0 0/.12);transition:background-color .15s ease,border-color .15s ease,box-shadow .15s ease,color .15s ease,transform .15s ease}.project-selector-button--selected{border-color:rgb(121 194 160/.62);background:linear-gradient(115deg,rgb(121 194 160/.12),rgb(9 13 11/.36)),rgb(9 12 10/.42);box-shadow:inset 0 1px 0 rgb(255 255 255/.04),inset 0 -2px 0 rgb(121 194 160/.8),0 8px 18px rgb(0 0 0/.18)}@media (hover:hover) and (pointer:fine){.project-selector-button:hover{transform:translateY(-1px);border-color:rgb(121 194 160/.42);color:var(--fg)}}