/*! 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)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:-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-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--container-lg:32rem;--container-2xl:42rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5 / 2.25);--text-5xl:3rem;--text-5xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--tracking-wider:.05em;--leading-tight:1.25;--radius-sm:.25rem;--radius-2xl:1rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-background:#f7f3e9;--color-foreground:#1c1b27;--color-card:#fffdf7;--color-primary:#f3563d;--color-primary-foreground:#fffdf7;--color-secondary:#5149df;--color-secondary-foreground:#fffdf7;--color-muted:#eae4d8;--color-muted-foreground:#6e6b7a;--color-border:#d8d2c6;--color-highlight:#c8f15a;--color-surface:#ece8df;--color-blue:#5b66e9}}@layer base{*,:after,:before,::backdrop{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}html,:host{-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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{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}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,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{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-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{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}html{scroll-behavior:smooth}body{background:var(--color-background);color:var(--color-foreground);margin:0;font-family:Inter,Segoe UI,sans-serif}::selection{background:var(--color-highlight);color:var(--color-foreground)}a:focus-visible,button:focus-visible{outline:2px solid var(--color-secondary);outline-offset:4px}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:0}.inset-x-0{inset-inline:0}.top-0{top:0}.isolate{isolation:isolate}.z-0{z-index:0}.z-10{z-index:10}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-16{margin-top:calc(var(--spacing) * 16)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-10{margin-bottom:calc(var(--spacing) * 10)}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-flex{display:inline-flex}.h-1\.5{height:calc(var(--spacing) * 1.5)}.min-h-screen{min-height:100vh}.w-1\.5{width:calc(var(--spacing) * 1.5)}.w-fit{width:fit-content}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-lg{max-width:var(--container-lg)}.max-w-sm{max-width:var(--container-sm)}.shrink-0{flex-shrink:0}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.scroll-mt-24{scroll-margin-top:calc(var(--spacing) * 24)}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-1{gap:var(--spacing)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-5{column-gap:calc(var(--spacing) * 5)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--color-border)}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:2147483647px}.rounded-sm{border-radius:var(--radius-sm)}.border{border-style:var(--tw-border-style);border-width:1px}.border-y{border-block-style:var(--tw-border-style);border-block-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-border{border-color:var(--color-border)}.border-border\/80{border-color:#d8d2c6cc}@supports (color:color-mix(in lab, red, red)){.border-border\/80{border-color:color-mix(in oklab, var(--color-border) 80%, transparent)}}.border-primary\/40{border-color:#f3563d66}@supports (color:color-mix(in lab, red, red)){.border-primary\/40{border-color:color-mix(in oklab, var(--color-primary) 40%, transparent)}}.border-primary\/70{border-color:#f3563db3}@supports (color:color-mix(in lab, red, red)){.border-primary\/70{border-color:color-mix(in oklab, var(--color-primary) 70%, transparent)}}.border-white\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\/20{border-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.bg-card\/55{background-color:#fffdf78c}@supports (color:color-mix(in lab, red, red)){.bg-card\/55{background-color:color-mix(in oklab, var(--color-card) 55%, transparent)}}.bg-primary{background-color:var(--color-primary)}.bg-primary\/10{background-color:#f3563d1a}@supports (color:color-mix(in lab, red, red)){.bg-primary\/10{background-color:color-mix(in oklab, var(--color-primary) 10%, transparent)}}.bg-surface{background-color:var(--color-surface)}.p-5{padding:calc(var(--spacing) * 5)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-7{padding-block:calc(var(--spacing) * 7)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-16{padding-block:calc(var(--spacing) * 16)}.py-20{padding-block:calc(var(--spacing) * 20)}.pt-3{padding-top:calc(var(--spacing) * 3)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-24{padding-top:calc(var(--spacing) * 24)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.pl-4{padding-left:calc(var(--spacing) * 4)}.text-right{text-align:right}.font-mono{font-family:var(--font-mono)}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[11px\]{font-size:11px}.leading-6{--tw-leading:calc(var(--spacing) * 6);line-height:calc(var(--spacing) * 6)}.leading-7{--tw-leading:calc(var(--spacing) * 7);line-height:calc(var(--spacing) * 7)}.leading-8{--tw-leading:calc(var(--spacing) * 8);line-height:calc(var(--spacing) * 8)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.04em\]{--tw-tracking:-.04em;letter-spacing:-.04em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.text-foreground{color:var(--color-foreground)}.text-foreground\/90{color:#1c1b27e6}@supports (color:color-mix(in lab, red, red)){.text-foreground\/90{color:color-mix(in oklab, var(--color-foreground) 90%, transparent)}}.text-muted-foreground{color:var(--color-muted-foreground)}.text-primary{color:var(--color-primary)}.text-white\/65{color:#ffffffa6}@supports (color:color-mix(in lab, red, red)){.text-white\/65{color:color-mix(in oklab, var(--color-white) 65%, transparent)}}.uppercase{text-transform:uppercase}.blur{--tw-blur:blur(8px);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-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}@media (hover:hover){.hover\:-translate-y-1:hover{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:text-primary:hover{color:var(--color-primary)}}.focus-visible\:outline-2:focus-visible{outline-style:var(--tw-outline-style);outline-width:2px}.focus-visible\:outline-offset-4:focus-visible{outline-offset:4px}@media (width>=40rem){.sm\:mb-14{margin-bottom:calc(var(--spacing) * 14)}.sm\:block{display:block}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-\[0\.85fr_1\.65fr\]{grid-template-columns:.85fr 1.65fr}.sm\:flex-row{flex-direction:row}.sm\:items-baseline{align-items:baseline}.sm\:items-center{align-items:center}.sm\:items-end{align-items:flex-end}.sm\:justify-between{justify-content:space-between}.sm\:gap-6{gap:calc(var(--spacing) * 6)}.sm\:gap-10{gap:calc(var(--spacing) * 10)}.sm\:p-7{padding:calc(var(--spacing) * 7)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:py-14{padding-block:calc(var(--spacing) * 14)}.sm\:py-24{padding-block:calc(var(--spacing) * 24)}.sm\:py-28{padding-block:calc(var(--spacing) * 28)}.sm\:pl-5{padding-left:calc(var(--spacing) * 5)}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (width>=48rem){.md\:flex{display:flex}.md\:hidden{display:none}.md\:inline-flex{display:inline-flex}.md\:grid-cols-\[1\.4fr_0\.6fr\]{grid-template-columns:1.4fr .6fr}}@media (width>=64rem){.lg\:grid-cols-\[0\.8fr_1\.2fr\]{grid-template-columns:.8fr 1.2fr}.lg\:grid-cols-\[1\.2fr_0\.8fr\]{grid-template-columns:1.2fr .8fr}.lg\:grid-cols-\[1\.05fr_0\.95fr\]{grid-template-columns:1.05fr .95fr}.lg\:gap-12{gap:calc(var(--spacing) * 12)}.lg\:gap-20{gap:calc(var(--spacing) * 20)}.lg\:gap-24{gap:calc(var(--spacing) * 24)}.lg\:px-16{padding-inline:calc(var(--spacing) * 16)}.lg\:py-16{padding-block:calc(var(--spacing) * 16)}.lg\:pt-20{padding-top:calc(var(--spacing) * 20)}}@media (width>=80rem){.xl\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}.section-kicker{font-family:var(--font-mono);font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height));--tw-tracking:.16em;letter-spacing:.16em;color:var(--color-primary)}.section-heading{margin-top:calc(var(--spacing) * 4);font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height));--tw-leading:var(--leading-tight);line-height:var(--leading-tight);--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold);--tw-tracking:-.045em;letter-spacing:-.045em;color:var(--color-foreground)}@media (width>=40rem){.section-heading{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}}.site-backdrop{z-index:0;pointer-events:none;background:var(--color-background);position:fixed;inset:0}.site-backdrop:before{content:"";opacity:.22;background-image:radial-gradient(#1c1b271a .6px,#0000 .6px);background-size:22px 22px;position:absolute;inset:0;-webkit-mask-image:linear-gradient(135deg,#0000 10%,#000 58%,#0000 100%);mask-image:linear-gradient(135deg,#0000 10%,#000 58%,#0000 100%)}.portfolio-nav{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f7f3e9e8;border-color:#1c1b271a}.portfolio-nav>div{height:74px}.portfolio-nav>div>a:first-child{letter-spacing:-.08em;font-size:1.45rem}.portfolio-nav>div>div a{color:#2e2d39}@supports (color:color-mix(in lab, red, red)){.portfolio-nav>div>div a{color:color-mix(in srgb, var(--color-foreground) 78%, var(--color-muted-foreground))}}.portfolio-nav>div>div a:hover{color:var(--color-primary)}.portfolio-nav>div>div a:last-child{background:#f3563d12;border-color:#f3563d59;border-radius:999px}.portfolio-nav>div>div a:last-child:hover{background:var(--color-primary);color:#fff}.mobile-nav-overlay{border-bottom:1px solid var(--color-border);background:var(--color-background);box-shadow:0 18px 30px #1c1b2717}.mobile-nav-links a span{color:var(--color-primary);font:700 .55rem Courier New,monospace}.mobile-nav-links a b{color:var(--color-secondary);margin-left:auto;font-size:.85rem;transition:transform .18s}.mobile-nav-links a:hover b{transform:translate(2px,-2px)}.mobile-nav-resume{background:var(--color-primary);color:var(--color-primary-foreground);text-decoration:none}.hero-screen{isolation:isolate;background:linear-gradient(115deg, var(--color-card) 0%, var(--color-background) 61%, #efebe0 100%);min-height:min(850px,100svh);position:relative}@supports (color:color-mix(in lab, red, red)){.hero-screen{background:linear-gradient(115deg, var(--color-card) 0%, var(--color-background) 61%, color-mix(in srgb, var(--color-background) 75%, var(--color-border)) 100%)}}.hero-screen:before{z-index:-1;clip-path:polygon(22% 0,100% 0,100% 100%,0 100%);content:"";background:linear-gradient(150deg,#c8f15a33,#5b66e912 56%,#0000 90%);width:48%;height:100%;position:absolute;top:0;right:0}.hero-grid{background-image:linear-gradient(90deg,#3030430d 1px,#0000 1px),linear-gradient(#3030430d 1px,#0000 1px);background-size:68px 68px;-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000 100%);mask-image:linear-gradient(90deg,#0000 20%,#000 100%)}.hero-glow{pointer-events:none}.hero-sun{z-index:1;aspect-ratio:1;background:var(--color-highlight);width:min(39vw,540px);box-shadow:18px 18px 0 var(--color-primary);border-radius:43% 57% 54% 46%/47% 39% 61% 53%;animation:8s ease-in-out infinite alternate portrait-drift;position:absolute;top:18%;right:max(7vw,50vw - 630px);transform:rotate(-8deg)}@keyframes portrait-drift{to{border-radius:55% 45% 43% 57%/40% 56% 44% 60%;transform:rotate(3deg)translateY(-8px)}}.hero-copy{z-index:4;width:100%;max-width:660px;padding-block:4.5rem;animation:.7s cubic-bezier(.2,.7,.2,1) both copy-arrive;position:relative}.hero-kicker{color:var(--color-muted-foreground);letter-spacing:.12em;flex-wrap:wrap;align-items:center;gap:.65rem;margin:0 0 1.6rem;font:700 .68rem/1.4 Courier New,monospace;display:flex}.hero-kicker-dot{background:var(--color-highlight);border-radius:50%;width:9px;height:9px;box-shadow:0 0 0 4px #c8f15a3d}@supports (color:color-mix(in lab, red, red)){.hero-kicker-dot{box-shadow:0 0 0 4px color-mix(in srgb, var(--color-highlight) 24%, transparent)}}.hero-kicker-divider{color:var(--color-primary)}.hero-title{letter-spacing:-.085em;text-wrap:balance;max-width:690px;margin:0;font-size:clamp(3.7rem,7.1vw,7.4rem);font-weight:780;line-height:.88}.hero-title span{color:var(--color-secondary);display:inline-block;position:relative}.hero-title span:after{background:var(--color-primary);content:"";border-radius:99px;height:.065em;position:absolute;bottom:-.2em;left:.02em;right:18%;transform:rotate(-2deg)}.hero-description{max-width:540px;color:var(--color-muted-foreground);margin:1.7rem 0 0;font-size:clamp(1rem,1.35vw,1.18rem);line-height:1.65}.hero-actions{flex-wrap:wrap;gap:.75rem;margin-top:1.8rem;display:flex}.hero-button{border:1px solid #0000;border-radius:.5rem;align-items:center;gap:.8rem;padding:.9rem 1.2rem;font-size:.86rem;font-weight:750;text-decoration:none;transition:transform .2s,background .2s,box-shadow .2s;display:inline-flex}.hero-button:hover{transform:translateY(-3px)rotate(-1deg)}.hero-button-primary{color:#fff;background:var(--color-primary);box-shadow:4px 4px 0 var(--color-foreground)}.hero-button-primary:hover{background:#d94f3a}@supports (color:color-mix(in lab, red, red)){.hero-button-primary:hover{background:color-mix(in srgb, var(--color-primary) 88%, var(--color-foreground))}}.hero-button-primary:hover{box-shadow:6px 7px 0 var(--color-foreground)}.hero-button-secondary{color:var(--color-foreground);background:var(--color-card);border-color:#1c1b2730}.hero-stack-line{color:#2e2d39;flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:2rem;display:flex}@supports (color:color-mix(in lab, red, red)){.hero-stack-line{color:color-mix(in srgb, var(--color-foreground) 78%, var(--color-muted-foreground))}}.hero-stack-line{font-size:.72rem}.hero-stack-line span{color:var(--color-muted-foreground);letter-spacing:.12em;margin-right:.25rem;font:700 .6rem Courier New,monospace}.hero-stack-line strong{font-weight:750}.hero-stack-line i{color:var(--color-primary);font-style:normal}.hero-scroll-cue{z-index:12;color:#777381;letter-spacing:.13em;align-items:center;gap:.8rem;font:700 .58rem Courier New,monospace;text-decoration:none;display:flex;position:absolute;bottom:1.7rem;left:max(2rem,50vw - 576px)}.hero-scroll-cue i{background:#aaa5ad;width:42px;height:1px;position:relative;overflow:hidden}.hero-scroll-cue i:after{background:var(--color-primary);content:"";animation:1.8s ease-in-out infinite cue-sweep;position:absolute;inset:0;transform:translate(-100%)}@keyframes cue-sweep{50%,to{transform:translate(100%)}}@keyframes copy-arrive{0%{opacity:0;translate:0 18px}to{opacity:1;translate:0}}.hero-art-background{z-index:2;opacity:1;filter:drop-shadow(0 24px 20px #1c1b2721);pointer-events:auto;justify-content:center;justify-self:end;align-items:flex-end;width:min(100%,570px);height:min(70vh,690px);min-height:480px;transition:filter .35s;display:flex;position:relative;overflow:visible}.hero-art-background:before{border:2px solid var(--color-foreground);content:"";background:#fffdf729;border-radius:47% 47% .5rem .5rem;position:absolute;inset:5% 5% 0 12%;transform:rotate(2deg)}.hero-art-canvas{z-index:1;touch-action:pan-y;width:100%;height:100%;transition:filter .3s;display:block;position:relative}.hero-art-background:hover{filter:drop-shadow(0 30px 26px #5149df3d)}.hero-art-scanlines{z-index:2;mix-blend-mode:multiply;opacity:.28;pointer-events:none;background:repeating-linear-gradient(#0000 0 4px,#1c1b2726 5px 6px);position:absolute;inset:2% 8% 0;-webkit-mask-image:linear-gradient(#0000,#000 17% 87%,#0000);mask-image:linear-gradient(#0000,#000 17% 87%,#0000)}.hero-art-glitch{z-index:3;opacity:0;mix-blend-mode:multiply;pointer-events:none;background:linear-gradient(#0000 0 38%,#5b66e933 38% 39%,#0000 39% 61%,#f3563d2b 61% 62%,#0000 62%);animation:9s step-end infinite hero-art-glitch;position:absolute;inset:14% 8% 18%}@keyframes hero-art-glitch{0%,93%,to{opacity:0;transform:translate(0)}94%{opacity:.48;transform:translate(3px)}95%{opacity:.16;transform:translate(-2px)}96%{opacity:0}}.hero-art-caption{z-index:4;background:var(--color-background);color:var(--color-foreground);letter-spacing:.08em;pointer-events:none;border:1px solid #1c1b272e;border-radius:99px;align-items:center;gap:.5rem;padding:.5rem .75rem;font:700 .57rem Courier New,monospace;display:flex;position:absolute;bottom:1.3rem;right:1rem}.hero-art-caption i{background:var(--color-primary);border-radius:50%;width:7px;height:7px}.ticker-band{z-index:10;background:var(--color-secondary);color:var(--color-secondary-foreground);border-block:1px solid #1c1b2726;position:relative;overflow:hidden}.ticker-track{width:max-content;padding:.8rem 0;animation:32s linear infinite ticker-move;display:flex}.ticker-track span{letter-spacing:.035em;white-space:nowrap;padding-right:1.5rem;font-size:clamp(.9rem,1.7vw,1.15rem);font-weight:800}.ticker-track b{color:var(--color-highlight);margin:0 1rem}@keyframes ticker-move{to{translate:-50%}}.section-kicker{font-weight:750}.section-heading{max-width:720px}.about-metrics{flex-wrap:wrap;gap:.7rem;margin-top:1.7rem;display:flex}.about-metrics>div{background:var(--color-card);border:1px solid #1c1b271f;border-radius:.45rem;flex-direction:column;gap:.25rem;min-width:112px;padding:.8rem .9rem;display:flex;box-shadow:3px 3px #1c1b2712}.about-metrics strong{letter-spacing:-.06em;font-size:1.22rem;font-weight:850}.about-metrics strong span{color:var(--color-primary);letter-spacing:0;margin-left:.12rem;font-size:.68rem}.about-metrics small{color:var(--color-muted-foreground);font-size:.65rem}.skill-card{background:var(--color-card);border-color:#1c1b271c;border-radius:.65rem;transition:transform .22s,border-color .22s,box-shadow .22s;position:relative;overflow:hidden;box-shadow:3px 3px #1c1b2712}.skill-card:hover{border-color:var(--color-secondary);transform:translate(-2px,-3px);box-shadow:6px 7px #5149df26}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:1.15rem;display:grid}.project-grid-item{grid-column:span 6;min-width:0}.project-grid-item:first-child{grid-column:span 12}.project-grid-item-two-thirds{grid-column:span 7}.project-grid-item-one-third{grid-column:span 5}.project-card{background:var(--project-paper);height:100%;color:var(--project-ink);border:1px solid #1c1b2717;border-radius:1.2rem;grid-template-columns:minmax(0,1fr);align-content:start;gap:1.1rem;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;display:grid;overflow:hidden;box-shadow:5px 6px #1c1b2717}.project-card-featured{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;padding:1rem}.project-card:not(.project-card-featured){padding:.9rem}.project-card-copy{min-width:0;color:var(--project-ink);flex-direction:column;padding:.25rem .35rem .4rem;display:flex}.project-kicker{color:var(--project-ink)}@supports (color:color-mix(in lab, red, red)){.project-kicker{color:color-mix(in srgb, var(--project-ink) 64%, transparent)}}.project-featured{border:1px solid var(--project-ink);flex:none}@supports (color:color-mix(in lab, red, red)){.project-featured{border:1px solid color-mix(in srgb, var(--project-ink) 24%, transparent)}}.project-featured{color:var(--project-ink);letter-spacing:.08em;border-radius:99px;padding:.42rem .55rem;font:700 .52rem Courier New,monospace}@supports (color:color-mix(in lab, red, red)){.project-highlights li{color:color-mix(in srgb, var(--project-ink) 79%, transparent)}}.project-built-label{color:var(--project-ink)}@supports (color:color-mix(in lab, red, red)){.project-built-label{color:color-mix(in srgb, var(--project-ink) 57%, transparent)}}.project-tech{border:1px solid var(--project-ink)}@supports (color:color-mix(in lab, red, red)){.project-tech{border:1px solid color-mix(in srgb, var(--project-ink) 15%, transparent)}}.project-tech{color:var(--project-ink);background:#ffffff4f;border-radius:99px;padding:.34rem .53rem}@supports (color:color-mix(in lab, red, red)){.project-tech{color:color-mix(in srgb, var(--project-ink) 82%, transparent)}}.project-tech{font-size:.61rem}.project-links a{border:1px solid var(--project-ink);align-items:center;gap:.55rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.project-links a{border:1px solid color-mix(in srgb, var(--project-ink) 21%, transparent)}}.project-links a{color:var(--project-ink);border-radius:.4rem;padding:.58rem .78rem;font-size:.72rem;font-weight:750;text-decoration:none;transition:background .18s,color .18s,transform .18s}.project-links a:hover{background:var(--project-ink);color:var(--project-paper);transform:translateY(-2px)}.project-links a span{color:var(--project-pop)}.project-visual{background:var(--project-paper);border-radius:.85rem;flex-direction:column;min-width:0;min-height:240px;display:flex;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.project-visual{background:color-mix(in srgb, var(--project-paper) 74%, white)}}.project-visual{color:var(--project-ink)}.project-visual:before,.project-visual:after{border:1px solid var(--project-ink);position:absolute}@supports (color:color-mix(in lab, red, red)){.project-visual:before,.project-visual:after{border:1px solid color-mix(in srgb, var(--project-ink) 12%, transparent)}}.project-visual:before,.project-visual:after{content:"";pointer-events:none;border-radius:50%}.project-visual:before{aspect-ratio:1;width:65%;top:-35%;right:-10%}.project-visual:after{aspect-ratio:1;width:55%;bottom:-33%;right:-8%}.mock-window-bar,.crafts-top,.crafts-bottom,.applify-top{z-index:1;letter-spacing:.08em;justify-content:space-between;align-items:center;padding:.85rem 1rem;font:700 .52rem Courier New,monospace;display:flex;position:relative}.mock-window-bar{border-bottom:1px solid var(--project-ink)}@supports (color:color-mix(in lab, red, red)){.mock-window-bar{border-bottom:1px solid color-mix(in srgb, var(--project-ink) 12%, transparent)}}.mock-window-bar i{gap:4px;display:flex}.mock-window-bar b{background:var(--project-pop);border-radius:50%;width:7px;height:7px}.mock-window-bar b:nth-child(2){background:var(--color-secondary)}.mock-window-bar b:nth-child(3){background:var(--color-highlight)}.onepie-mock-body{z-index:1;flex:1;justify-content:center;align-items:center;gap:.8rem;padding:1.1rem;display:flex;position:relative}.mock-pdf{background:var(--color-card);border-radius:.5rem;flex-direction:column;justify-content:center;align-items:flex-start;gap:.55rem;width:57%;min-height:145px;padding:.85rem;display:flex;transform:rotate(-3deg);box-shadow:0 14px 35px #1c1b271a}.mock-pdf small{color:var(--color-muted-foreground);font:700 .42rem Courier New,monospace}.mock-pdf strong{letter-spacing:-.065em;font-size:clamp(1.1rem,2.2vw,1.8rem);line-height:.92}.mock-pdf span{background:var(--color-muted);border-radius:3px;width:75%;height:3px}.mock-pdf span:last-child{width:53%}.mock-chat{flex-direction:column;gap:.55rem;width:29%;display:flex}.mock-chat i{background:var(--project-pop);border-radius:8px 8px 8px 2px;height:17px}@supports (color:color-mix(in lab, red, red)){.mock-chat i{background:color-mix(in srgb, var(--project-pop) 20%, white)}}.mock-chat i:nth-of-type(2){background:#e0def9;align-self:flex-end;width:80%}@supports (color:color-mix(in lab, red, red)){.mock-chat i:nth-of-type(2){background:color-mix(in srgb, var(--color-secondary) 18%, white)}}.mock-chat b{background:var(--color-card);border-radius:8px;width:fit-content;padding:.4rem .55rem;font-size:.53rem}.mock-chat em{color:var(--color-secondary);font:700 .48rem Courier New,monospace}.visual-sticker{z-index:2;aspect-ratio:1;background:var(--project-pop);color:#fff;border-radius:50%;place-items:center;width:42px;font-size:1.2rem;display:grid;position:absolute;top:21%;right:8%;transform:rotate(12deg)}.project-visual-applify{background:var(--color-secondary);min-height:280px;color:var(--color-secondary-foreground);justify-content:space-between}.applify-top{color:#fffdf7cc}.applify-top strong{color:var(--color-highlight);letter-spacing:.14em;font-size:.75rem}.applify-screen{z-index:1;border:5px solid var(--color-foreground);background:var(--color-card);width:86%;min-height:185px;color:var(--color-foreground);border-bottom:0;border-radius:.75rem .75rem 0 0;grid-template-columns:.76fr 1.24fr;align-self:flex-end;gap:.75rem;margin:0 -4% -2% 0;padding:.8rem;transition:transform .4s cubic-bezier(.2,.7,.2,1);display:grid;position:relative;transform:rotate(-2.5deg)translate(5%);box-shadow:0 12px #1c1b2733}.project-card:hover .applify-screen{transform:rotate(-1deg)translate(1%)translateY(-4px)}.applify-side{border-right:1px solid var(--color-border);flex-direction:column;gap:.65rem;padding-right:.55rem;display:flex}.applify-side b{letter-spacing:.1em;font:800 .46rem Courier New,monospace}.applify-side i{background:var(--color-surface);border-radius:9px;height:7px}.applify-side i:nth-child(3){width:76%}.applify-side i:nth-child(4){background:#fcd3cd;width:89%}@supports (color:color-mix(in lab, red, red)){.applify-side i:nth-child(4){background:color-mix(in srgb, var(--color-primary) 26%, white)}}.applify-side small{color:var(--color-muted-foreground);margin-top:auto;font:600 .4rem Courier New,monospace}.applify-content{flex-direction:column;gap:.5rem;min-width:0;display:flex}.applify-content>small{color:var(--color-muted-foreground);letter-spacing:.08em;font:700 .4rem Courier New,monospace}.applify-content>strong{letter-spacing:-.05em;font-size:.82rem}.applify-risk{border-bottom:1px solid var(--color-border);align-items:end;gap:.28rem;height:74px;padding-inline:.25rem;display:flex}.applify-risk i{background:var(--color-blue);border-radius:4px 4px 0 0;flex:1;height:31%}.applify-risk i:nth-child(2){height:49%}.applify-risk i:nth-child(3){height:39%}.applify-risk i:nth-child(4){height:72%}.applify-risk i:nth-child(5){height:58%}.applify-risk i:nth-child(6){background:var(--color-primary);height:92%}.applify-risk i:nth-child(7){height:63%}.applify-content em{background:var(--color-highlight);color:var(--color-foreground);border-radius:99px;align-self:flex-start;padding:.25rem .45rem;font:800 .38rem Courier New,monospace}.applify-orbit{z-index:2;aspect-ratio:1;width:46px;color:var(--color-highlight);border:1px solid #fffdf759;border-radius:50%;place-items:center;font-size:1.25rem;display:grid;position:absolute;top:27%;left:8%}.crafts-top,.crafts-bottom{color:var(--color-foreground)}.crafts-still-life{flex:1;justify-content:center;align-items:center;min-height:150px;display:flex;position:relative}.crafts-still-life i{aspect-ratio:1;border:8px solid var(--color-card);background:radial-gradient(circle at 40% 36%, var(--color-highlight) 0 12%, var(--color-primary) 13% 32%, var(--color-secondary) 33% 57%, var(--color-foreground) 58%);border-radius:45% 55% 64% 36%/49% 43% 57% 51%;width:112px;display:block;position:absolute;transform:translate(-28px)rotate(-12deg);box-shadow:0 18px 30px #1c1b272e}.crafts-still-life i:nth-child(2){background:radial-gradient(circle at 65% 34%, var(--color-card) 0 18%, var(--color-primary) 19% 46%, var(--color-secondary) 47%);border-width:6px;width:87px;transform:translate(44px,21px)rotate(14deg)}.crafts-still-life i:nth-child(3){background:radial-gradient(circle at 35% 28%, var(--color-highlight) 0 16%, var(--color-blue) 17% 54%, var(--color-secondary) 55%);border-width:5px;width:59px;transform:translate(-82px,38px)rotate(28deg)}.crafts-still-life b{z-index:2;color:var(--color-card);font-family:Georgia,serif;font-size:1.2rem;font-style:italic;line-height:.88;position:absolute;bottom:9%;right:8%;transform:rotate(-8deg)}.crafts-bottom b{color:var(--project-pop);font-size:1rem}.project-section{border-top:1px solid #d8d2c6c2}@supports (color:color-mix(in lab, red, red)){.project-section{border-top:1px solid color-mix(in srgb, var(--color-border) 76%, transparent)}}.experience-card{background:var(--color-card);border-color:#1c1b271c;border-radius:.8rem;transition:transform .25s,border-color .25s,box-shadow .25s;box-shadow:4px 4px #1c1b2712}.experience-card:hover{border-color:#e49a88;transform:translateY(-3px)}@supports (color:color-mix(in lab, red, red)){.experience-card:hover{border-color:color-mix(in srgb, var(--color-primary) 45%, var(--color-border))}}.experience-card:hover{box-shadow:7px 8px #f3563d1f}.contact-panel{isolation:isolate;background:var(--color-secondary);color:var(--color-secondary-foreground);box-shadow:8px 9px 0 var(--color-foreground);border:1px solid #1c1b271f;border-radius:1.2rem;position:relative;overflow:hidden}.contact-panel .text-muted-foreground{color:#fffdf7bf}.contact-sun{z-index:-1;aspect-ratio:1;background:radial-gradient(circle at 45% 45%,#c8f15a4d,#c8f15a08 67%,#0000 68%);border:1px solid #ffffff2e;border-radius:50%;width:min(46vw,500px);position:absolute;top:-48%;right:-8%}.contact-sun:after{content:"";border:1px solid #ffffff26;border-radius:50%;position:absolute;inset:12%}.contact-send{background:var(--color-highlight);color:var(--color-foreground);box-shadow:4px 4px 0 var(--color-foreground);text-decoration:none}@supports (color:color-mix(in lab, red, red)){.contact-send:hover{background:color-mix(in srgb, var(--color-highlight) 84%, white)}}.contact-link{color:var(--color-secondary-foreground);text-decoration:none}.contact-link:hover{color:var(--color-highlight)}html.motion-ready [data-reveal]{opacity:0;filter:blur(3px);will-change:opacity, translate, filter;transition:opacity .65s cubic-bezier(.16,1,.3,1),translate .65s cubic-bezier(.16,1,.3,1),filter .6s;transition-delay:var(--reveal-delay,0s);translate:0 28px}html.motion-ready [data-reveal].is-visible{opacity:1;filter:blur();will-change:auto;translate:0}@supports (animation-timeline:scroll()){nav[aria-label=Main\ navigation]:after{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary), var(--color-highlight));content:"";transform-origin:0;height:3px;animation:linear both page-progress;animation-timeline:scroll(root);position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}@keyframes page-progress{to{transform:scaleX(1)}}}@media (width<=1023px){.hero-screen{min-height:auto}.hero-screen>.mx-auto.grid{grid-template-columns:minmax(0,1fr)}.hero-sun{width:min(46vw,480px);top:13%;right:3%}.hero-art-background{justify-self:center;width:min(76vw,540px);height:min(62vh,610px);min-height:410px}.hero-title{font-size:clamp(3.5rem,8vw,6rem)}.project-card-featured{grid-template-columns:minmax(0,1fr) minmax(0,.9fr)}.project-card-featured .project-visual{min-height:310px}}@media (width<=767px){.hero-screen>.mx-auto.grid{gap:0;padding-top:4.5rem;padding-bottom:4rem}.hero-copy{max-width:620px;padding-block:2rem 1rem}.hero-title{font-size:clamp(3.45rem,12.5vw,6rem)}.hero-art-background{justify-self:center;width:min(90%,460px);height:min(55vh,490px);min-height:330px;margin-top:-1.25rem}.hero-sun{width:min(75vw,380px);top:auto;bottom:12%;right:50%;transform:translate(50%)rotate(-8deg)}.hero-title span:after{right:28%}.hero-scroll-cue{bottom:1.2rem;left:1.3rem}.project-grid-item,.project-grid-item:first-child,.project-grid-item:last-child,.project-grid-item-two-thirds,.project-grid-item-one-third{grid-column:span 12}.project-card-featured{grid-template-columns:minmax(0,1fr)}.project-card-featured .project-visual{min-height:260px}}@media (width<=639px){.hero-screen>.mx-auto.grid{padding-top:4rem;padding-bottom:4rem}.hero-kicker{max-width:330px;font-size:.57rem}.hero-title{font-size:clamp(2.7rem,12vw,4.5rem)}.hero-description{margin-top:1.3rem}.hero-art-background{width:min(100%,420px);height:54vh;min-height:280px}.hero-art-caption{font-size:.48rem;bottom:.6rem;right:.4rem}.hero-sun{width:83vw;bottom:10%}.project-visual,.project-card-featured .project-visual{min-height:225px}.project-visual-applify{min-height:250px}.applify-screen{width:92%;min-height:170px;margin-right:-7%}.contact-panel{border-radius:.9rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}html.motion-ready [data-reveal]{opacity:1;filter:none;translate:none}}.portfolio-nav{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;padding-top:12px;top:0}.portfolio-nav>.navbar-shell{background:#fffdf7eb;border:1px solid #1c1b2721;border-radius:1rem;height:68px}@supports (color:color-mix(in lab, red, red)){.portfolio-nav>.navbar-shell{background:color-mix(in srgb, var(--color-card) 92%, transparent)}}.portfolio-nav>.navbar-shell{-webkit-backdrop-filter:blur(18px)saturate(120%);backdrop-filter:blur(18px)saturate(120%);padding-inline:1.25rem;box-shadow:0 8px 26px #1c1b270f}.nav-brand{color:var(--color-foreground);flex:none;align-items:center;gap:.7rem;text-decoration:none;display:inline-flex}.nav-brand>span{letter-spacing:-.09em;font-size:1.42rem;font-weight:850}.nav-brand-dot{color:var(--color-primary)}.nav-brand small{border-left:1px solid var(--color-border);color:var(--color-muted-foreground);letter-spacing:.13em;padding-left:.7rem;font:700 .53rem Courier New,monospace}.navbar-links{gap:clamp(.75rem,1.9vw,1.7rem)}.navbar-links a{color:var(--color-foreground);align-items:center;gap:.42rem;font-size:.77rem;font-weight:700;text-decoration:none;transition:color .18s;display:inline-flex}.navbar-links a>span{color:var(--color-primary);font:700 .5rem Courier New,monospace}.navbar-links a:hover{color:var(--color-secondary)}.nav-resume{background:var(--color-foreground);color:var(--color-card);border-radius:.5rem;align-items:center;gap:.7rem;padding:.72rem .9rem;font-size:.74rem;font-weight:750;text-decoration:none;transition:transform .18s,background .18s}.nav-resume:hover{background:var(--color-secondary);transform:translateY(-2px)}.nav-menu-button{border:1px solid var(--color-border);background:var(--color-card);min-height:42px;color:var(--color-foreground);letter-spacing:.1em;border-radius:.55rem;align-items:center;gap:.7rem;padding:.65rem .8rem;font:750 .61rem Courier New,monospace;display:flex}.nav-menu-icon{flex-direction:column;gap:5px;width:18px;display:flex}.nav-menu-icon b{background:currentColor;width:100%;height:1.5px;transition:transform .18s;display:block}.nav-menu-icon.is-open b:first-child{transform:translateY(3.25px)rotate(45deg)}.nav-menu-icon.is-open b:last-child{transform:translateY(-3.25px)rotate(-45deg)}.mobile-nav-overlay{visibility:hidden;border:1px solid var(--color-border);background:var(--color-card);opacity:0;pointer-events:none;border-radius:1rem;height:auto;padding:1rem 1.2rem 1.2rem;transition:opacity .22s,transform .26s cubic-bezier(.2,.7,.2,1),visibility .26s;position:absolute;top:calc(100% + 9px);left:1.5rem;right:1.5rem;overflow:hidden;transform:translateY(-8px)scale(.99);box-shadow:0 22px 55px #1c1b271f}.portfolio-nav>.mobile-nav-overlay{height:auto}.mobile-nav-overlay.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateY(0)scale(1)}.mobile-nav-label{color:var(--color-muted-foreground);letter-spacing:.14em;margin:0;font:700 .58rem Courier New,monospace}.mobile-nav-links{gap:0 1.2rem}.mobile-nav-links a{border-bottom:1px solid var(--color-border);min-width:0;color:var(--color-foreground);letter-spacing:-.04em;align-items:center;gap:.55rem;padding-block:.92rem;font-size:1rem;font-weight:750;text-decoration:none;display:flex}.mobile-nav-links a>span{color:var(--color-primary);font:700 .55rem Courier New,monospace}.mobile-nav-links a>b{color:var(--color-secondary);margin-left:auto;font-size:.8rem}.mobile-nav-resume{background:var(--color-foreground);color:var(--color-card);border-radius:.45rem;align-items:center;gap:.7rem;margin-top:1rem;padding:.72rem .9rem;font-size:.75rem;font-weight:750;text-decoration:none;display:inline-flex}.hero-screen{min-height:min(820px,100svh);padding-top:6.5rem;padding-bottom:5.5rem}.hero-sun{background:var(--color-highlight);width:min(40vw,560px);box-shadow:18px 18px 0 var(--color-primary);top:12%;right:max(8vw,50vw - 630px)}.hero-title{letter-spacing:-.085em;max-width:760px;font-size:clamp(3.6rem,6.2vw,6.9rem);line-height:.91}.hero-title span:after{display:none}.hero-description{max-width:480px}.hero-art-background{border:2px solid var(--color-foreground);background:radial-gradient(at 50% 34%,#fffdf759,#0000 54%),linear-gradient(152deg,#daf58c,#7a4cb7);border-radius:48% 48% 1rem 1rem;justify-self:end;width:min(100%,560px);height:min(72vh,690px);min-height:490px;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.hero-art-background{background:radial-gradient(ellipse at 50% 34%, color-mix(in srgb, var(--color-card) 35%, transparent), transparent 54%), linear-gradient(152deg, color-mix(in srgb, var(--color-highlight) 68%, var(--color-card)), color-mix(in srgb, var(--color-primary) 25%, var(--color-secondary)))}}.hero-art-background{box-shadow:9px 10px 0 var(--color-foreground), 0 28px 60px #1c1b2721;filter:none;transition:box-shadow .28s}.hero-art-background:before{border-radius:inherit;background-image:linear-gradient(#1c1b270d 1px,#0000 1px),linear-gradient(90deg,#1c1b270d 1px,#0000 1px);background-size:24px 24px;border:0;inset:0;transform:none}.hero-art-canvas{object-fit:contain;filter:drop-shadow(0 14px 12px #1c1b271f);width:100%;height:100%;transform:none!important}.hero-art-background:hover>.hero-art-canvas{filter:saturate(1.17)contrast(1.08)drop-shadow(0 14px 12px #1c1b271f)}.hero-art-scanlines{opacity:.18;mix-blend-mode:multiply;inset:0}.hero-art-caption{background:var(--color-card);border-color:#1c1b272e;inset:1rem auto auto 50%;transform:translate(-50%);box-shadow:3px 3px #1c1b2724}.project-grid{align-items:stretch;gap:1.35rem}.project-card{border-radius:1.25rem;height:100%;box-shadow:5px 6px #1c1b2717}.project-card:hover{transform:translateY(-6px);box-shadow:9px 12px #1c1b2721}.project-card-featured{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:clamp(1.2rem,3vw,2.6rem);padding:1.2rem}.project-card-half{grid-template-columns:minmax(0,1fr)}.project-card-copy{min-width:0;color:var(--project-ink);flex-direction:column;gap:.9rem;padding:.3rem .35rem .45rem;display:flex}.project-card-topline{justify-content:space-between;align-items:flex-start;gap:.7rem;display:flex}.project-kicker{color:var(--project-ink);margin:0}@supports (color:color-mix(in lab, red, red)){.project-kicker{color:color-mix(in srgb, var(--project-ink) 64%, transparent)}}.project-kicker{letter-spacing:.08em;text-transform:uppercase;font:700 .58rem/1.5 Courier New,monospace}.project-kicker span{color:var(--project-pop)}.project-featured{border-color:var(--project-ink);flex:none}@supports (color:color-mix(in lab, red, red)){.project-featured{border-color:color-mix(in srgb, var(--project-ink) 22%, transparent)}}.project-featured{color:var(--project-ink);letter-spacing:.06em;padding:.42rem .55rem;font:700 .49rem Courier New,monospace}.project-title{letter-spacing:-.08em;margin:0;font-size:clamp(2.2rem,4vw,3.5rem);font-weight:800;line-height:.9}.project-summary{max-width:54ch;color:var(--project-ink);margin:0}@supports (color:color-mix(in lab, red, red)){.project-summary{color:color-mix(in srgb, var(--project-ink) 78%, transparent)}}.project-summary{font-size:.9rem;line-height:1.65}.project-modules{margin-top:.25rem}.project-modules ul{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem .6rem;margin-top:.55rem;display:grid}.project-modules li{border-top:1px solid var(--project-ink);align-items:baseline;gap:.32rem;min-width:0;display:flex}@supports (color:color-mix(in lab, red, red)){.project-modules li{border-top:1px solid color-mix(in srgb, var(--project-ink) 14%, transparent)}}.project-modules li{color:var(--project-ink);padding-top:.36rem}@supports (color:color-mix(in lab, red, red)){.project-modules li{color:color-mix(in srgb, var(--project-ink) 83%, transparent)}}.project-modules li{font-size:.62rem;line-height:1.25}.project-modules li span{color:var(--project-pop);font:700 .49rem Courier New,monospace}.project-highlights{gap:.55rem;margin:.25rem 0 0;padding:0;list-style:none;display:grid}.project-highlights li{color:var(--project-ink);align-items:flex-start;gap:.55rem;display:flex}@supports (color:color-mix(in lab, red, red)){.project-highlights li{color:color-mix(in srgb, var(--project-ink) 78%, transparent)}}.project-highlights li{font-size:.73rem;line-height:1.5}.project-highlights li>span{color:var(--project-pop);flex:none;font-weight:800}.project-built{margin-top:.35rem}.project-built-label{color:var(--project-ink);margin:0}@supports (color:color-mix(in lab, red, red)){.project-built-label{color:color-mix(in srgb, var(--project-ink) 57%, transparent)}}.project-built-label{letter-spacing:.12em;font:700 .53rem Courier New,monospace}.project-built>ul{flex-wrap:wrap;gap:.38rem;margin-top:.5rem;padding:0;list-style:none;display:flex}.project-tech{border-color:var(--project-ink)}@supports (color:color-mix(in lab, red, red)){.project-tech{border-color:color-mix(in srgb, var(--project-ink) 15%, transparent)}}.project-tech{padding:.32rem .5rem;font-size:.59rem}.project-links{flex-wrap:wrap;gap:.55rem;margin-top:auto;padding-top:.25rem;display:flex}.project-links a{border-radius:.45rem;padding:.62rem .82rem;font-size:.72rem}.project-visual{isolation:isolate;min-height:270px;transform-style:preserve-3d;border-radius:.95rem}.project-visual:before{z-index:-1}.project-visual-applify{background:radial-gradient(circle at var(--pointer-x,58%) var(--pointer-y,40%), #c8f15a8c, transparent 30%), linear-gradient(135deg, #eef0e8, #e5e9de 54%, #d9e0cf);border:1px solid #1c1b271f;min-height:420px;display:block}.project-card-featured .project-visual{height:100%;min-height:460px}.project-visual-applify:before{border-color:#1c1b271c;width:58%;top:-22%;right:-12%}.project-visual-applify:after{border-color:#1c1b271a;width:60%;bottom:-31%;right:-17%}.applify-main-shot{z-index:1;border:5px solid var(--color-foreground);background:var(--color-card);width:91%;transform:perspective(1200px) rotateX(var(--tilt-x,0deg)) rotateY(var(--tilt-y,0deg)) rotate(-1.4deg);border-radius:.8rem;margin:2.25rem 0 2rem 1rem;transition:transform .3s cubic-bezier(.2,.7,.2,1),box-shadow .3s;position:relative;overflow:hidden;box-shadow:9px 12px #1c1b272e}.project-visual:hover .applify-main-shot{box-shadow:14px 18px #1c1b2733}.project-browser-bar{border-bottom:1px solid var(--color-border);background:var(--color-card);height:30px;color:var(--color-muted-foreground);letter-spacing:.06em;justify-content:space-between;align-items:center;gap:.5rem;padding-inline:.65rem;font:700 .43rem Courier New,monospace;display:flex}.browser-lights{flex:none;gap:4px;display:flex}.browser-lights i{background:var(--color-primary);border-radius:50%;width:6px;height:6px}.browser-lights i:nth-child(2){background:var(--color-highlight)}.browser-lights i:nth-child(3){background:var(--color-secondary)}.browser-page-number{color:var(--color-foreground)}.applify-main-shot img{width:100%;height:auto;display:block}.applify-float-shot{z-index:3;border:5px solid var(--color-card);background:var(--color-card);border-radius:.6rem;width:39%;margin:0;transition:transform .35s cubic-bezier(.2,.7,.2,1);position:absolute;bottom:1.9rem;right:.6rem;overflow:hidden;transform:rotate(4deg)translateZ(20px);box-shadow:0 12px 34px #1c1b273d}.project-visual:hover .applify-float-shot{transform:rotate(1deg)translate(-7px,-8px)translateZ(30px)}.applify-float-shot img{width:100%;display:block}.applify-float-shot figcaption{background:var(--color-foreground);color:var(--color-card);letter-spacing:.06em;padding:.42rem .5rem;font:700 .43rem Courier New,monospace}.applify-orbit-label{z-index:4;background:var(--color-card);color:var(--color-foreground);letter-spacing:.06em;border:1px solid #1c1b2726;border-radius:99px;align-items:center;gap:.45rem;padding:.48rem .68rem;font:700 .49rem Courier New,monospace;display:flex;position:absolute;top:1rem;right:1rem;box-shadow:3px 3px #1c1b271a}.applify-orbit-label i{background:var(--color-primary);border-radius:50%;width:7px;height:7px}.applify-visual-index{z-index:2;color:#1c1b279e;position:absolute;bottom:.8rem;left:1rem}@supports (color:color-mix(in lab, red, red)){.applify-visual-index{color:color-mix(in srgb, var(--color-foreground) 62%, transparent)}}.applify-visual-index{letter-spacing:.08em;font:700 .5rem Courier New,monospace}.crafts-store-mock{flex:1;grid-template-columns:1fr 1fr;align-items:center;gap:.8rem;min-height:170px;padding:.5rem 1.15rem .9rem;display:grid;position:relative}.crafts-copy{z-index:1;flex-direction:column;gap:.65rem;display:flex;position:relative}.crafts-copy small{color:var(--color-secondary);letter-spacing:.1em;font:700 .47rem Courier New,monospace}.crafts-copy strong{letter-spacing:-.05em;font-family:Georgia,serif;font-size:clamp(1.2rem,2.4vw,2rem);font-weight:500;line-height:.98}.crafts-copy span{color:var(--color-muted-foreground);letter-spacing:.05em;font:700 .43rem Courier New,monospace}.crafts-weave{border:6px solid var(--color-card);background:repeating-linear-gradient(45deg, #d3535d 0 6px, var(--color-highlight) 6px 11px, var(--color-secondary) 11px 16px, var(--color-primary) 16px 20px);border-radius:48% 52% 42% 58%/56% 44%;min-height:150px;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.crafts-weave{background:repeating-linear-gradient(45deg, color-mix(in srgb, var(--color-primary) 80%, var(--color-secondary)) 0 6px, var(--color-highlight) 6px 11px, var(--color-secondary) 11px 16px, var(--color-primary) 16px 20px)}}.crafts-weave{transition:transform .4s cubic-bezier(.2,.7,.2,1);transform:rotate(6deg);box-shadow:0 14px 26px #1c1b2726}.project-visual:hover .crafts-weave{transform:rotate(-5deg)scale(1.05)}.crafts-weave i{border:1px solid #fffdf7cc;border-radius:50%;position:absolute;inset:15% 20%;transform:rotate(35deg)}.crafts-weave i:nth-child(2){inset:26% 9%;transform:rotate(-35deg)}.crafts-weave i:nth-child(3){inset:5% 36%;transform:rotate(70deg)}.crafts-weave b{color:var(--color-card);font-size:1.3rem;position:absolute;top:40%;left:43%}.crafts-product-strip{color:var(--color-foreground);letter-spacing:.05em;border-top:1px solid #1c1b2724;justify-content:space-between;gap:.5rem;padding:.65rem 1rem;font:700 .48rem Courier New,monospace;display:flex}.crafts-product-strip b{color:var(--color-primary)}@media (width<=1023px){.hero-screen{min-height:auto}.hero-screen>.mx-auto.grid{grid-template-columns:minmax(0,1fr)}.hero-copy{max-width:760px}.hero-art-background{justify-self:center;width:min(78vw,560px);height:min(76vw,620px);min-height:420px;margin-top:1.25rem}.hero-sun{width:min(70vw,530px);top:auto;bottom:10%;right:50%;transform:translate(50%)rotate(-8deg)}.project-card-featured{grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr)}.project-card-featured .project-visual{min-height:420px}.project-modules ul{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.hero-screen{padding-top:6.5rem;padding-bottom:4rem}.hero-screen>.mx-auto.grid{gap:.5rem;padding-top:2rem;padding-bottom:3.5rem}.hero-copy{padding-block:1.5rem .5rem}.hero-title{font-size:clamp(3.4rem,12vw,6.2rem)}.hero-art-background{width:min(88vw,500px);height:min(92vw,500px);min-height:320px;margin-top:1rem}.hero-scroll-cue{bottom:1rem;left:1.25rem}.project-grid-item,.project-grid-item:first-child,.project-grid-item:last-child,.project-grid-item-two-thirds,.project-grid-item-one-third{grid-column:span 12}.project-card-featured{grid-template-columns:minmax(0,1fr)}.project-card-featured .project-visual{min-height:350px}.project-modules ul{grid-template-columns:repeat(3,minmax(0,1fr))}.project-visual-applify{min-height:340px}}@media (width<=639px){.portfolio-nav{padding-inline:.7rem}.portfolio-nav>.navbar-shell{height:60px;padding-inline:.75rem}.nav-brand small{padding-left:.5rem;font-size:.46rem}.nav-brand>span{font-size:1.25rem}.mobile-nav-overlay{left:.7rem;right:.7rem}.hero-screen{padding-inline:1rem}.hero-title{font-size:clamp(2.55rem,11.7vw,4.55rem)}.hero-kicker{max-width:330px;font-size:.56rem}.hero-description{font-size:1rem}.hero-stack-line{gap:.42rem;font-size:.65rem}.hero-stack-line span{width:100%}.hero-art-background{border-radius:48% 48% .8rem .8rem;width:min(94vw,440px);height:min(92vw,380px);min-height:300px}.hero-art-caption{padding:.4rem .55rem;font-size:.47rem;top:.6rem;right:.6rem}.project-grid{gap:1rem}.project-card-featured{padding:.75rem}.project-card-featured .project-visual{min-height:290px}.project-visual-applify{min-height:275px}.applify-main-shot{border-width:3px;width:96%;margin:2.8rem 0 2rem .35rem}.project-browser-bar{height:24px;padding-inline:.4rem;font-size:.34rem}.applify-float-shot{border-width:3px;width:43%;bottom:1.15rem;right:.35rem}.applify-orbit-label{font-size:.42rem;top:.55rem;right:.55rem}.applify-visual-index{font-size:.4rem;bottom:.4rem;left:.6rem}.project-modules ul{grid-template-columns:repeat(2,minmax(0,1fr))}.project-title{font-size:2.45rem}.crafts-store-mock{gap:.4rem;padding-inline:.75rem}.crafts-weave{min-height:135px}}@media (width>=768px){.portfolio-nav .nav-menu-button{display:none}}:root{--color-background:#f7f3e9;--color-foreground:#1c1b27;--color-card:#fffdf7;--color-muted:#eae4d8;--color-muted-foreground:#656171;--color-border:#d8d2c6;--color-surface:#ece8df;--color-surface-hover:#e5e0d6;--color-primary:#ff5036;--color-primary-foreground:#fffdf7;--color-secondary:#5144e8;--color-secondary-foreground:#fffdf7;--color-highlight:#d2f84c;--color-highlight-foreground:#1b1c16;--color-blue:#5866f5}html{background:var(--color-background)}body{background:var(--color-background);color:var(--color-foreground)}.site-backdrop{background:var(--color-background)}.site-backdrop:before{opacity:.82;background-image:radial-gradient(circle,#5144e873 0 1px,#0000 1.7px),radial-gradient(circle,#ff50367a 0 1px,#0000 1.8px),radial-gradient(circle,#1c1b2761 0 .8px,#0000 1.6px);background-position:8px 13px,67px 79px,134px 31px;background-size:119px 119px,173px 173px,251px 251px;animation:100s linear infinite starfield-drift;-webkit-mask-image:linear-gradient(#000,#00000094 72%,#000);mask-image:linear-gradient(#000,#00000094 72%,#000)}.site-backdrop:after{background:radial-gradient(420px circle at var(--pointer-x,50vw) var(--pointer-y,38vh), #5144e830, transparent 72%), radial-gradient(260px circle at var(--pointer-x,50vw) var(--pointer-y,38vh), #ff50361f, transparent 75%);content:"";transition:opacity .3s;position:absolute;inset:0}@keyframes starfield-drift{to{background-position:127px 6px,60px 91px,145px 18px}}.ambient-field{z-index:1;pointer-events:none;opacity:.7;width:100%;height:100%;transform:translate3d(var(--field-shift-x,0), var(--field-shift-y,0), 0);transition:transform .18s ease-out;position:fixed;inset:0;overflow:visible}.ambient-lines{fill:none;stroke:#5144e838;stroke-width:1px;vector-effect:non-scaling-stroke}.ambient-lines circle{stroke:#ff503629;stroke-dasharray:2 11;transform-box:fill-box;transform-origin:50%;animation:90s linear infinite orbit-drift}.ambient-lines circle+circle{animation-duration:125s;animation-direction:reverse}.ambient-nodes circle{fill:var(--color-primary);filter:drop-shadow(0 0 4px #ff503673);animation:star-twinkle 4.5s ease-in-out var(--star-delay,0s) infinite alternate}.ambient-stars circle{fill:var(--color-secondary);opacity:.44;animation:star-twinkle 3.8s ease-in-out var(--star-delay,0s) infinite alternate}@keyframes orbit-drift{to{transform:rotate(360deg)}}@keyframes star-twinkle{0%{opacity:.16}to{opacity:.74}}.portfolio-nav{background:linear-gradient(#f7f3e9eb,#0000)}.portfolio-nav>.navbar-shell{background:#fffdf7e6;border-color:#1c1b2721;border-radius:999px;box-shadow:0 10px 38px #1c1b271a}.nav-brand small{color:var(--color-muted-foreground)}.navbar-links a{color:var(--color-foreground)}.navbar-links a:hover,.navbar-links a:focus-visible{color:var(--color-secondary)}.navbar-links a>span{color:var(--color-primary)}.nav-resume{border:1px solid var(--color-primary);background:var(--color-primary);color:#fffdf7;border-radius:999px}.nav-menu-button{border-color:var(--color-border);background:var(--color-card);color:var(--color-foreground);border-radius:999px}.mobile-nav-overlay{border-color:var(--color-border);background:var(--color-card);box-shadow:0 22px 60px #1c1b2729}.mobile-nav-links a{border-color:var(--color-border)}.mobile-nav-resume{background:var(--color-primary);color:#fffdf7;border-radius:999px}.hero-screen{background:0 0;min-height:min(820px,100svh);padding-top:6.5rem;padding-bottom:5.5rem}.hero-screen:before{display:none}.hero-grid{opacity:.5;background-image:linear-gradient(90deg,#3030430d 1px,#0000 1px),linear-gradient(#3030430d 1px,#0000 1px);-webkit-mask-image:linear-gradient(90deg,#0000 20%,#000 100%);mask-image:linear-gradient(90deg,#0000 20%,#000 100%)}.hero-glow{background:radial-gradient(at 78% 52%,#5144e817,#0000 36%),radial-gradient(at 27% 72%,#ff503612,#0000 32%)}.hero-sun{z-index:-1;width:min(40vw,560px);box-shadow:14px 14px 0 var(--color-primary);background:radial-gradient(circle at 35% 35%,#d2f84c87,#d2f84c24 54%,#0000 72%);border:1px solid #5144e838;animation:18s ease-in-out infinite alternate portrait-drift;top:12%;right:max(8vw,50vw - 630px)}.hero-kicker{color:var(--color-muted-foreground)}.hero-kicker-dot{background:var(--color-primary);box-shadow:0 0 0 4px #ff503621}.hero-title span{color:var(--color-secondary)}.hero-description{color:var(--color-muted-foreground)}.hero-button{border-radius:999px}.hero-button-primary{background:var(--color-primary);color:#fffdf7;box-shadow:4px 4px 0 var(--color-foreground), 0 10px 28px #ff503626}.hero-button-primary:hover{box-shadow:6px 7px 0 var(--color-foreground), 0 14px 34px #ff50363d;background:#df3a25}.hero-button-secondary{background:var(--color-card);color:var(--color-foreground);border-color:#1c1b2730}.hero-button-secondary:hover{border-color:var(--color-secondary);color:var(--color-secondary)}.hero-stack-line{color:var(--color-foreground)}.hero-stack-line i{color:var(--color-primary)}.hero-art-background{border:2px solid var(--color-foreground);background:radial-gradient(at 50% 34%,#fffdf785,#0000 54%),linear-gradient(152deg,#d7f484,#7d4db3);border-radius:48% 48% 1rem 1rem}@supports (color:color-mix(in lab, red, red)){.hero-art-background{background:radial-gradient(ellipse at 50% 34%, #fffdf785, transparent 54%), linear-gradient(152deg, color-mix(in srgb, var(--color-highlight) 73%, var(--color-card)), color-mix(in srgb, var(--color-primary) 27%, var(--color-secondary)))}}.hero-art-background{box-shadow:9px 10px 0 var(--color-foreground), 0 28px 60px #1c1b2729}.hero-art-background:before{border-radius:inherit;background-image:linear-gradient(#1c1b270d 1px,#0000 1px),linear-gradient(90deg,#1c1b270d 1px,#0000 1px);border:0;transform:none}.hero-art-background:after{z-index:0;content:"";pointer-events:none;border:1px solid #5144e840;border-right-color:#ff50366b;border-radius:50%;animation:28s linear infinite art-orbit-spin;position:absolute;inset:7% 4% 4%}@keyframes art-orbit-spin{to{rotate:1turn}}.hero-art-canvas{z-index:1;filter:drop-shadow(0 14px 12px #1c1b271f)}.hero-art-pointer-glow{z-index:2;top:var(--art-y,45%);left:var(--art-x,50%);aspect-ratio:1;opacity:0;filter:blur(3px);pointer-events:none;background:radial-gradient(circle,#d2f84c3b,#5144e81f 38%,#0000 72%);border-radius:50%;width:clamp(150px,20vw,250px);transition:top .1s ease-out,left .1s ease-out,opacity .25s;position:absolute;transform:translate(-50%,-50%)}.hero-art-background.is-pointer-active .hero-art-pointer-glow{opacity:1}.hero-art-scanlines{opacity:.13;mix-blend-mode:multiply}.hero-art-glitch{opacity:0;animation:none}.hero-art-caption{background:var(--color-card);color:var(--color-foreground);border-color:#1c1b272e;box-shadow:3px 3px #1c1b271f}.hero-art-caption i{background:var(--color-primary)}.hero-scroll-cue{color:#777381}.hero-scroll-cue i{background:#aaa5ad}.ticker-band{background:var(--color-secondary);color:#fffdf7;border-color:#1c1b2726}.ticker-track b{color:var(--color-highlight)}.section-kicker{color:var(--color-primary);font-weight:800}.section-heading{letter-spacing:-.065em;max-width:820px;font-size:clamp(2.4rem,5vw,4.2rem);line-height:.98}.project-section{border-color:#d8d2c6c2}@supports (color:color-mix(in lab, red, red)){.project-section{border-color:color-mix(in srgb, var(--color-border) 76%, transparent)}}.about-metrics>div,.skill-card,.experience-card{background:var(--color-card);border-color:#1c1b271f;box-shadow:3px 4px #1c1b2712}.about-metrics small{color:var(--color-muted-foreground)}.skill-card:hover,.experience-card:hover{border-color:#e88a77}@supports (color:color-mix(in lab, red, red)){.skill-card:hover,.experience-card:hover{border-color:color-mix(in srgb, var(--color-primary) 58%, var(--color-border))}}.skill-card:hover,.experience-card:hover{box-shadow:6px 7px #ff503629}.project-card{background:var(--project-paper,var(--color-card));border-color:#1c1b271c;box-shadow:5px 6px #1c1b2717}.project-visual-applify{background:radial-gradient(circle at var(--pointer-x,58%) var(--pointer-y,40%), #d2f84c8c, transparent 30%), linear-gradient(135deg, #eef0e8, #e5e9de 54%, #d9e0cf)}.project-visual-onepie,.project-visual-crafts{background-color:var(--color-surface)}.contact-panel{background:var(--color-secondary);box-shadow:8px 9px 0 var(--color-foreground);border-color:#1c1b271f}.contact-panel .section-kicker{color:var(--color-highlight)}.contact-send{background:var(--color-highlight);color:var(--color-foreground)}.contact-send:hover{background:#e4ff83}footer{background:0 0;border-color:var(--color-border)!important}@media (width<=1023px){.hero-screen{min-height:auto;padding-top:7rem}.hero-sun{width:min(78vw,530px);top:auto;bottom:13%;right:50%;transform:translate(50%)}}@media (width<=767px){.ambient-field{opacity:.42}.ambient-lines circle{display:none}.hero-screen{padding-top:6.25rem}.hero-screen>.mx-auto.grid{padding-top:1rem}.hero-title{font-size:clamp(3rem,11.8vw,5.3rem);line-height:.98}.hero-art-background{box-shadow:6px 7px 0 var(--color-foreground), 0 18px 44px #1c1b271f}.section-heading{font-size:clamp(2.3rem,9vw,3.8rem)}.about-metrics>div{flex:1}}@media (prefers-reduced-motion:reduce){.site-backdrop:before,.ambient-lines circle,.ambient-nodes circle,.ambient-stars circle,.hero-sun,.hero-art-background:after{animation:none!important}.ambient-field{transition:none;transform:none}.hero-art-pointer-glow{display:none}}.portfolio-nav{background:0 0;padding-top:1rem}.portfolio-nav>.navbar-shell{height:68px;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;border-radius:0;padding-inline:0;position:relative;overflow:visible}.portfolio-nav[aria-label=Main\ navigation]:after{display:none!important}.portfolio-nav>.navbar-shell:after{background:linear-gradient(90deg, var(--color-primary), var(--color-secondary), var(--color-highlight));content:"";transform-origin:0;pointer-events:none;height:2px;position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}@supports (animation-timeline:scroll()){.portfolio-nav>.navbar-shell:after{animation:linear both nav-shell-progress;animation-timeline:scroll(root)}@keyframes nav-shell-progress{to{transform:scaleX(1)}}}@media (width>=768px){.navbar-links a>span{display:none}.navbar-links{gap:clamp(1.2rem,2.4vw,2rem)}}.nav-brand small{border-color:#1c1b2738}@supports (color:color-mix(in lab, red, red)){.nav-brand small{border-color:color-mix(in srgb, var(--color-foreground) 22%, transparent)}}.nav-resume{background:var(--color-primary);color:#fff}.nav-resume:hover{color:#fff;background:#df3a25}.hero-art-background{box-shadow:none;filter:drop-shadow(0 20px 22px #1c1b271f);isolation:isolate;background:0 0;border:0;border-radius:0;overflow:visible}.hero-art-background:before{background:radial-gradient(at 32% 32%,#d2f84cb3,#d2f84c3b 48%,#5144e814 74%,#0000 75%);border:1px solid #5144e83d;border-radius:50%;animation:13s ease-in-out infinite alternate portrait-orb;inset:9% 6% 7%;transform:rotate(-9deg)}.hero-art-background:after{border-style:dashed;border-color:#ff503680 #5144e86b #5144e833 #0000;border-radius:50%;animation:38s linear infinite art-orbit-spin;inset:3% 0 4%}@keyframes portrait-orb{to{border-radius:46% 54% 53% 47%;transform:rotate(7deg)scale(.96)}}.hero-art-background:hover{box-shadow:none}.hero-art-canvas{object-fit:contain;filter:drop-shadow(0 16px 14px #1c1b2726);width:100%;height:100%;-webkit-mask-image:linear-gradient(#000 0% 87%,#0000 100%);mask-image:linear-gradient(#000 0% 87%,#0000 100%)}.hero-art-pointer-glow{mix-blend-mode:soft-light}.hero-art-scanlines,.hero-art-glitch{display:none}.hero-art-caption{background:#fffdf7e0;border-color:#1c1b2726;top:4%;left:auto;right:2%;transform:none}.ambient-field{opacity:.78}.ambient-lines{stroke:#5144e84a;stroke-width:1.2px}.ambient-lines .ambient-shape{stroke:#ff50367d;stroke-width:1.4px;stroke-dasharray:5 7;transform-box:fill-box;transform-origin:50%;transition:stroke .25s,filter .25s;animation:8s ease-in-out infinite alternate geometry-float}.ambient-lines .ambient-shape:nth-of-type(2){animation-delay:-3s}.ambient-lines .ambient-shape:nth-of-type(3){animation-delay:-5s}.ambient-lines .ambient-shape:nth-of-type(4){animation-delay:-2s}.ambient-field.is-engaged .ambient-shape{stroke:var(--color-secondary);filter:drop-shadow(0 0 5px #5144e87a)}@keyframes geometry-float{to{transform:translateY(-12px)rotate(9deg)}}.project-card{isolation:isolate;transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .38s,border-color .28s;position:relative}.project-card:before{z-index:0;border-radius:inherit;background:radial-gradient(320px circle at var(--card-x,50%) var(--card-y,40%), #5144e81a, transparent 72%);content:"";opacity:0;pointer-events:none;transition:opacity .25s;position:absolute;inset:0}.project-card-copy,.project-visual{z-index:1;position:relative}.project-card.is-pointer-active:before{opacity:1}.project-card:hover{border-color:#aaa3ce;transform:translateY(-8px)scale(1.006)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{border-color:color-mix(in srgb, var(--color-secondary) 34%, var(--color-border))}}.project-card:hover{box-shadow:0 18px 38px #1c1b2726,0 0 0 1px #5144e81a}.project-visual{transition:transform .38s cubic-bezier(.2,.8,.2,1),filter .3s}.project-card:hover .project-visual{filter:saturate(1.08)}.skill-card:hover{transform:translateY(-4px)}.experience-card:hover{transform:translateY(-5px)}@media (pointer:fine){body{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='30' height='34' viewBox='0 0 30 34'%3E%3Cpath d='M2 1 3 27 10 20 15 31 20 28 15 17 25 17Z' fill='%23fffdf7' stroke='%231c1b27' stroke-width='2' stroke-linejoin='round'/%3E%3Cpath d='m5 5 1 17 4-4 5 10 2-1-5-10 6-.1Z' fill='%23d2f84c'/%3E%3Cpath d='m24 1 1.4 4 4 1.4-4 1.4-1.4 4-1.4-4-4-1.4 4-1.4z' fill='%23ff5036' stroke='%23fffdf7' stroke-width='.8'/%3E%3C/svg%3E") 2 1,auto}a,button,[role=button],[data-cursor-target]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='28' height='28' viewBox='0 0 28 28'%3E%3Ccircle cx='14' cy='14' r='9' fill='%23fffdf7' fill-opacity='.78' stroke='%235144e8' stroke-width='1.8'/%3E%3Cpath d='M14 1v4m0 18v4M1 14h4m18 0h4' stroke='%23ff5036' stroke-width='1.5' stroke-linecap='round'/%3E%3Cpath d='m14 8 1.6 4.4L20 14l-4.4 1.6L14 20l-1.6-4.4L8 14l4.4-1.6z' fill='%23d2f84c' stroke='%231c1b27' stroke-width='.8'/%3E%3C/svg%3E") 14 14,pointer}input,textarea,[contenteditable=true]{cursor:text}}@media (width<=767px){.portfolio-nav>.navbar-shell{height:60px}.portfolio-nav>.navbar-shell:after{left:0;right:0}.hero-art-background{width:min(90vw,500px);height:min(95vw,520px);min-height:320px}.hero-art-background:before{inset:10% 3% 4%}.hero-art-background:after{inset:3% -3%}.hero-art-caption{top:5%;right:2%}}@media (prefers-reduced-motion:reduce){.ambient-lines .ambient-shape,.hero-art-background:before,.hero-art-background:after{animation:none!important}}@media (width>=768px){.portfolio-nav>.navbar-shell{height:76px}.nav-brand>span{font-size:1.62rem}.nav-brand small{font-size:.62rem}.navbar-links{gap:clamp(1.4rem,2.5vw,2.2rem)}.navbar-links a{font-size:.92rem}.nav-resume{padding:.82rem 1.1rem;font-size:.86rem}}.skill-card,.experience-card,.project-card,.contact-link{transition:transform .32s cubic-bezier(.2,.75,.25,1),background-color .26s,border-color .26s,box-shadow .32s,color .22s}.skill-card:hover,.experience-card:hover{background-color:#fafce7}@supports (color:color-mix(in lab, red, red)){.skill-card:hover,.experience-card:hover{background-color:color-mix(in srgb, var(--color-card) 90%, var(--color-highlight))}}.project-card:hover{background-color:var(--project-paper,#fffdf7)}@supports (color:color-mix(in lab, red, red)){.project-card:hover{background-color:color-mix(in srgb, var(--project-paper,var(--color-card)) 94%, var(--color-highlight))}}.contact-link{border-radius:.35rem;padding-inline:.65rem}.contact-link:hover{box-shadow:inset 3px 0 0 var(--color-highlight);color:var(--color-highlight);background:#ffffff14}@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-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@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-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
