@import "https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Sora:wght@400;500;600;700;800&display=swap";@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-border-style:solid;--tw-leading: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-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}}}@layer theme{:root,:host{--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--leading-tight:1.25;--default-font-family:var(--font-body);--default-mono-font-family:var(--font-mono);--font-heading:var(--font-heading)}}@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,ui-sans-serif, system-ui, 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{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}}@layer components{.shell{width:var(--container-width);margin-inline:auto}.section-shell{width:var(--container-width);padding-top:var(--section-space);margin-inline:auto}.section-divider{border-top:1px solid #ffffff14}.section-kicker{letter-spacing:.28em;text-transform:uppercase;color:var(--color-secondary);align-items:center;gap:.75rem;font-size:.78rem;display:inline-flex}.section-kicker:before{content:"";background:linear-gradient(90deg,#d0b38a1a,#d0b38acc);width:2.75rem;height:1px;display:block}.section-title{font-family:var(--font-heading);letter-spacing:-.04em;color:var(--color-text-primary);margin-top:1.25rem;font-size:clamp(1.8rem,3vw,2.5rem);line-height:1.05}.glass{background:var(--glass-bg);border:1px solid var(--glass-border);-webkit-backdrop-filter:blur(14px);box-shadow:0 18px 50px #0000001f}.desktop-navbar{border-color:#ffffff14}.neo-button{min-height:3.4rem;box-shadow:var(--shadow-soft), var(--shadow-pressed);color:var(--color-text-primary);background:linear-gradient(145deg,#1c2524f2,#101615e6);border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;padding:.95rem 1.4rem;font-weight:600;transition:transform .3s,box-shadow .3s,color .3s;display:inline-flex}.neo-button:hover,.neo-button:focus-visible{color:#fff7ee;transform:translateY(-2px);box-shadow:10px 12px 22px #070a0a4d,-6px -6px 16px #7591810f}.neo-button:focus-visible,.nav-pill:focus-visible,.project-link-chip:focus-visible,.contact-action-pill:focus-visible,.email-link-group:focus-visible,.footer-link:focus-visible,.back-to-top:focus-visible{outline:2px solid var(--color-secondary);outline-offset:3px}.neo-button-muted{color:var(--color-text-secondary)}.neo-chip{min-height:2.6rem;color:var(--color-text-secondary);background:linear-gradient(145deg,#1b2322e6,#101615e0);border:1px solid #ffffff0d;border-radius:999px;align-items:center;padding:.65rem 1rem;font-size:.95rem;display:inline-flex;box-shadow:5px 6px 14px #0406063d,-4px -4px 12px #7591810d}.avatar-brand{background:linear-gradient(145deg,#d0b38a85,#4e6e6a47);border:1px solid #ffffff1f;border-radius:999px;width:2rem;height:2rem;padding:.18rem;display:inline-flex;position:relative;box-shadow:0 10px 24px #0000002e}.avatar-brand img{border-radius:inherit;object-fit:cover;background:linear-gradient(145deg,#18201ff2,#101615f2);width:100%;height:100%}.nav-pill{min-height:2.4rem;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.14em;border:1px solid #0000;border-radius:999px;align-items:center;padding:.65rem .9rem;font-size:.85rem;transition:color .25s,background-color .25s,border-color .25s;display:inline-flex}.nav-pill:hover{color:var(--color-text-primary)}.nav-pill-active{color:var(--color-text-primary);background:#ffffff0a;border-color:#ffffff14}.nav-cv-button{white-space:nowrap;min-height:2.95rem;padding-inline:1.15rem;font-size:.88rem}.mobile-menu-button{width:2.9rem;height:2.9rem;color:var(--color-text-primary);background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.28rem;display:inline-flex}.mobile-menu-overlay{z-index:40;background:linear-gradient(#0609098f,#060909bd),#080b0b57;border:0;position:fixed;inset:0}.mobile-menu-line{background:currentColor;border-radius:999px;width:1rem;height:1.5px;transition:transform .25s,opacity .25s}.mobile-menu-line-top-open{transform:translateY(5px)rotate(45deg)}.mobile-menu-line-middle-open{opacity:0}.mobile-menu-line-bottom-open{transform:translateY(-5px)rotate(-45deg)}.mobile-menu-panel{z-index:50;-webkit-backdrop-filter:blur(12px);background:#121817e6;border:1px solid #ffffff1a;border-radius:1.45rem;width:100%;padding:.9rem;position:absolute;top:calc(100% + .75rem);left:0;right:0;box-shadow:0 24px 48px #0000003d}.mobile-menu-scroll{max-height:min(70svh,32rem);padding-right:.1rem;overflow-y:auto}.mobile-nav-pill{width:100%;min-height:2.8rem;color:var(--color-text-primary);background:#ffffff08;border:1px solid #ffffff0f;justify-content:flex-start}.mobile-nav-pill.nav-pill-active{color:var(--color-text-primary);background:#d0b38a1f;border-color:#d0b38a2e}.mobile-nav-pill:hover{background:#ffffff0d}.project-row,.project-showcase{align-items:center;gap:clamp(1.75rem,4vw,4.5rem);display:grid}.project-media,.project-showcase__media{background:linear-gradient(160deg,#18201ff2,#0d1211f2);border:1px solid #ffffff14;border-radius:1.75rem;min-height:clamp(16rem,40vw,30rem);position:relative;overflow:hidden}.project-list-item{background:#ffffff05;border:1px solid #ffffff12;border-radius:1.7rem;gap:1.4rem;padding:1.1rem;display:grid}.project-list-item__media{background:linear-gradient(160deg,#18201ff2,#0d1211f2);border:1px solid #ffffff0f;border-radius:1.2rem;min-height:13rem;overflow:hidden}.project-list-item__copy{min-width:0}.project-media:after,.project-showcase__media:after{content:"";pointer-events:none;background:linear-gradient(#f0ece505,#1016151f);position:absolute;inset:0}.project-link-chip{min-height:3rem;color:var(--color-secondary);text-transform:uppercase;letter-spacing:.16em;border:1px solid #d0b38a38;border-radius:999px;align-items:center;padding:.85rem 1.1rem;font-size:.85rem;transition:transform .3s,border-color .3s,color .3s;display:inline-flex}.project-link-chip:hover{color:var(--color-text-primary);border-color:#d0b38a73;transform:translateY(-2px)}.project-action-button{min-height:3rem;color:var(--color-text-secondary);letter-spacing:.08em;text-transform:uppercase;background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.1rem;font-size:.85rem;transition:transform .3s,border-color .3s,background-color .3s,color .3s;display:inline-flex}.project-action-button:hover{color:var(--color-text-primary);border-color:#ffffff24;transform:translateY(-2px)}.project-action-button-primary{color:var(--color-secondary);border-color:#d0b38a3d}.project-action-button-primary:hover{border-color:#d0b38a73}.project-action-button-disabled{opacity:.7;cursor:default}.status-badge{letter-spacing:.14em;text-transform:uppercase;border:1px solid #ffffff14;border-radius:999px;align-items:center;min-height:2rem;padding:.45rem .8rem;font-size:.75rem;font-weight:700;display:inline-flex}.status-concept{color:#b8d5cf;background:#4e6e6a1f}.status-prototype{color:#d5e4dd;background:#6c8a7a24}.status-in-progress{color:#f1dcc0;background:#d0b38a24}.status-completed{color:var(--color-text-primary);background:#f0ece514}.timeline{gap:2.2rem;display:grid;position:relative}.timeline-item{grid-template-columns:minmax(0,1fr);gap:1rem;padding-left:1.75rem;display:grid;position:relative}.timeline-item:before{content:"";background:linear-gradient(135deg, var(--color-secondary), var(--color-primary));border-radius:999px;width:.7rem;height:.7rem;position:absolute;top:.6rem;left:0;box-shadow:0 0 0 6px #6c8a7a14}.timeline-line{background:linear-gradient(#6c8a7a66,#ffffff05);width:1px;height:calc(100% + 1.5rem);position:absolute;top:1.7rem;left:.31rem}.timeline-year{font-family:var(--font-heading);letter-spacing:.24em;text-transform:uppercase;color:var(--color-secondary);font-size:.9rem}.contact-panel{position:relative;overflow:hidden}.contact-panel:before{content:"";pointer-events:none;background:radial-gradient(circle,#6c8a7a2e,#0000 62%);border-radius:999px;width:16rem;height:16rem;position:absolute;inset:auto -10% -30% auto}.email-link-group{align-items:center;gap:.95rem;padding-bottom:.2rem;display:inline-flex;position:relative}.email-link-group:after{content:"";transform-origin:0;background:linear-gradient(90deg,#d0b38acc,#d0b38a14);height:1px;animation:1.9s ease-in-out infinite hint-line;position:absolute;bottom:0;left:3rem;right:0}.email-hint{align-items:center;gap:.45rem;display:inline-flex}.email-hint__dot{background:var(--color-secondary);border-radius:999px;width:.55rem;height:.55rem;animation:1.8s ease-out infinite pulse-dot;box-shadow:0 0 #d0b38a47}.email-hint__line{background:var(--color-secondary);width:1.1rem;height:1px;animation:1.8s ease-in-out infinite nudge-line;transform:translate(0)}.contact-action-pill{min-height:3rem;color:var(--color-text-primary);background:#ffffff08;border:1px solid #ffffff14;border-radius:999px;justify-content:center;align-items:center;padding:.85rem 1.2rem;transition:transform .3s,background-color .3s,border-color .3s;display:inline-flex}.contact-action-pill:hover{background:#4e6e6a2e;border-color:#6c8a7a4d;transform:translateY(-2px)}.footer-link{transition:color .25s}.footer-link:hover{color:var(--color-text-primary)}.back-to-top{z-index:60;width:3.1rem;height:3.1rem;color:var(--color-text-primary);-webkit-backdrop-filter:blur(12px);opacity:0;pointer-events:none;background:#101615e0;border:1px solid #ffffff14;border-radius:999px;transition:opacity .25s,transform .25s;position:fixed;bottom:1.1rem;right:1.1rem;transform:translateY(12px)}.back-to-top-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.project-detail-grid{gap:clamp(2rem,4vw,4rem);display:grid}.detail-label{letter-spacing:.24em;text-transform:uppercase;color:var(--color-secondary);font-size:.78rem}.detail-copy{color:var(--color-text-secondary);margin-top:1rem;font-size:clamp(1rem,1.2vw,1.08rem);line-height:2rem}.feature-row{align-items:flex-start;gap:.85rem;display:flex}.feature-dot{background:linear-gradient(135deg, var(--color-secondary), var(--color-primary));border-radius:999px;flex:none;width:.6rem;height:.6rem;margin-top:.75rem;box-shadow:0 0 0 6px #6c8a7a0f}.project-gallery-item{background:linear-gradient(160deg,#18201ff2,#0d1211f2);border:1px solid #ffffff14;border-radius:1.35rem;min-height:12rem;overflow:hidden}.about-portrait{aspect-ratio:4/5;object-fit:cover;border:1px solid #ffffff14;border-radius:1rem;box-shadow:0 22px 48px #0000002e}}@layer utilities{.visible{visibility:visible}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.top-0{top:calc(var(--spacing) * 0)}.z-50{z-index:50}.mx-auto{margin-inline:auto}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-full{height:100%}.min-h-\[20rem\]{min-height:20rem}.min-h-\[40svh\]{min-height:40svh}.min-h-\[100svh\]{min-height:100svh}.w-full{width:100%}.max-w-\[20rem\]{max-width:20rem}.max-w-\[24rem\]{max-width:24rem}.max-w-\[34rem\]{max-width:34rem}.max-w-\[35rem\]{max-width:35rem}.max-w-\[38rem\]{max-width:38rem}.max-w-\[42rem\]{max-width:42rem}.max-w-\[44rem\]{max-width:44rem}.max-w-\[46rem\]{max-width:46rem}.max-w-\[48rem\]{max-width:48rem}.max-w-\[50rem\]{max-width:50rem}.max-w-\[54rem\]{max-width:54rem}.max-w-\[56rem\]{max-width:56rem}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[9rem\]{min-width:9rem}.flex-1{flex:1}.scale-\[0\.88\]{scale:.88}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.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-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-14{gap:calc(var(--spacing) * 14)}:where(.space-y-10>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 10) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 10) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-2{column-gap:calc(var(--spacing) * 2)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.self-center{align-self:center}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-clip{overflow-x:clip}.rounded-\[1\.75rem\]{border-radius:1.75rem}.rounded-\[2rem\]{border-radius:2rem}.rounded-full{border-radius:3.40282e38px}.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-white\/8{border-color:#ffffff14}@supports (color:color-mix(in lab, red, red)){.border-white\/8{border-color:color-mix(in oklab, var(--color-white) 8%, transparent)}}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-18{padding-block:calc(var(--spacing) * 18)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pb-6{padding-bottom:calc(var(--spacing) * 6)}.pb-10{padding-bottom:calc(var(--spacing) * 10)}.pb-16{padding-bottom:calc(var(--spacing) * 16)}.text-center{text-align:center}.font-heading{font-family:var(--font-heading)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.68rem\]{font-size:.68rem}.text-\[0\.98rem\]{font-size:.98rem}.text-\[clamp\(1\.05rem\,1\.3vw\,1\.15rem\)\]{font-size:clamp(1.05rem,1.3vw,1.15rem)}.text-\[clamp\(1\.8rem\,3vw\,2\.5rem\)\]{font-size:clamp(1.8rem,3vw,2.5rem)}.text-\[clamp\(1\.8rem\,3vw\,2\.8rem\)\]{font-size:clamp(1.8rem,3vw,2.8rem)}.text-\[clamp\(1\.15rem\,2vw\,1\.6rem\)\]{font-size:clamp(1.15rem,2vw,1.6rem)}.text-\[clamp\(1\.15rem\,2vw\,1\.45rem\)\]{font-size:clamp(1.15rem,2vw,1.45rem)}.text-\[clamp\(1\.65rem\,3vw\,2\.6rem\)\]{font-size:clamp(1.65rem,3vw,2.6rem)}.text-\[clamp\(1rem\,1\.2vw\,1\.1rem\)\]{font-size:clamp(1rem,1.2vw,1.1rem)}.text-\[clamp\(1rem\,1\.2vw\,1\.08rem\)\]{font-size:clamp(1rem,1.2vw,1.08rem)}.text-\[clamp\(2\.3rem\,4\.4vw\,4rem\)\]{font-size:clamp(2.3rem,4.4vw,4rem)}.text-\[clamp\(2\.5rem\,5vw\,4\.5rem\)\]{font-size:clamp(2.5rem,5vw,4.5rem)}.text-\[clamp\(2rem\,4vw\,3\.6rem\)\]{font-size:clamp(2rem,4vw,3.6rem)}.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)}.leading-\[0\.96\]{--tw-leading:.96;line-height:.96}.leading-\[0\.98\]{--tw-leading:.98;line-height:.98}.leading-none{--tw-leading:1;line-height:1}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.tracking-\[-0\.05em\]{--tw-tracking:-.05em;letter-spacing:-.05em}.tracking-\[0\.14em\]{--tw-tracking:.14em;letter-spacing:.14em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.tracking-\[0\.24em\]{--tw-tracking:.24em;letter-spacing:.24em}.tracking-\[0\.28em\]{--tw-tracking:.28em;letter-spacing:.28em}.text-\[var\(--color-muted\)\]{color:var(--color-muted)}.text-\[var\(--color-secondary\)\]{color:var(--color-secondary)}.text-\[var\(--color-text-primary\)\]{color:var(--color-text-primary)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.uppercase{text-transform:uppercase}.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,)}.last\:border-b-0:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}.last\:pb-0:last-child{padding-bottom:calc(var(--spacing) * 0)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + 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)}.focus-visible\:ring-\[var\(--color-secondary\)\]:focus-visible{--tw-ring-color:var(--color-secondary)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media (width>=40rem){.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:gap-x-3{column-gap:calc(var(--spacing) * 3)}.sm\:px-6{padding-inline:calc(var(--spacing) * 6)}.sm\:px-10{padding-inline:calc(var(--spacing) * 10)}.sm\:py-14{padding-block:calc(var(--spacing) * 14)}.sm\:pb-24{padding-bottom:calc(var(--spacing) * 24)}}@media (width>=48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:min-h-\[32rem\]{min-height:32rem}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-\[minmax\(0\,0\.72fr\)_minmax\(0\,1\.08fr\)\]{grid-template-columns:minmax(0,.72fr) minmax(0,1.08fr)}.md\:grid-cols-\[minmax\(0\,1\.08fr\)_minmax\(280px\,0\.92fr\)\]{grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr)}.md\:flex-row{flex-direction:row}.md\:items-center{align-items:center}.md\:items-end{align-items:flex-end}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:gap-6{gap:calc(var(--spacing) * 6)}.md\:gap-16{gap:calc(var(--spacing) * 16)}.md\:gap-20{gap:calc(var(--spacing) * 20)}.md\:py-16{padding-block:calc(var(--spacing) * 16)}}@media (width>=64rem){.lg\:grid-cols-\[minmax\(0\,0\.9fr\)_minmax\(0\,1\.1fr\)\]{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)}.lg\:gap-16{gap:calc(var(--spacing) * 16)}}}:root{--color-bg:#101615;--color-surface:#18201f;--color-primary:#6c8a7a;--color-secondary:#d0b38a;--color-highlight:#4e6e6a;--color-text-primary:#f0ece5;--color-text-secondary:#9fa8a3;--color-muted:#6b7470;--glass-bg:#ffffff0d;--glass-border:#ffffff1a;--shadow-soft:8px 8px 20px #070a0a42, -8px -8px 20px #75918114;--shadow-pressed:inset 1px 1px 0 #ffffff14, inset -2px -2px 10px #00000040;--container-width:min(1200px, 92vw);--section-space:clamp(4.5rem, 8vw, 8rem);--font-body:"Manrope", system-ui, sans-serif;--font-heading:"Sora", "Avenir Next", sans-serif}html{scroll-behavior:smooth}body{min-width:320px;color:var(--color-text-primary);font-family:var(--font-body);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#6c8a7a2b,#0000 28%),radial-gradient(circle at 100% 0,#d0b38a14,#0000 26%),linear-gradient(#111716 0%,#101615 35%,#0d1211 100%);margin:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}img{max-width:100%;display:block}*,:before,:after{box-sizing:border-box}::selection{color:var(--color-text-primary);background:#d0b38a3d}#root{isolation:isolate;position:relative}.ambient{filter:blur(80px);pointer-events:none;z-index:-1;border-radius:999px;position:absolute;inset:auto}.ambient-one{background:#4e6e6a33;width:16rem;height:16rem;top:12rem;right:-4rem}.ambient-two{background:#d0b38a1a;width:14rem;height:14rem;top:52rem;left:-5rem}.hero-orb{aspect-ratio:1;background:radial-gradient(circle at 35% 35%,#f0ece53d,#0000 24%),radial-gradient(circle at 60% 30%,#d0b38a38,#0000 34%),radial-gradient(circle at 50% 60%,#4e6e6a47,#0000 44%),linear-gradient(135deg,#6c8a7a59,#18201feb);border-radius:32% 68% 66% 34%/36% 31% 69% 64%;width:min(31rem,74vw);position:relative;box-shadow:inset 0 1px #ffffff1f,0 28px 80px #00000047}.hero-orb__core,.hero-orb__ring{border-radius:inherit;position:absolute;inset:0}.hero-orb__core{filter:blur(.5px);background:radial-gradient(circle at 45% 35%,#f0ece533,#0000 24%),linear-gradient(155deg,#18201f26,#1016156b);border-radius:40% 60% 58% 42%/41% 37% 63% 59%;inset:12%}.hero-orb__ring{border:1px solid #ffffff14}.hero-orb__ring-one{transform:scale(1.05)rotate(10deg)}.hero-orb__ring-two{border-color:#d0b38a29;transform:scale(.86)rotate(-16deg)}.hero-note{border-radius:1.4rem;width:min(18rem,72vw);padding:1.1rem 1.1rem 1rem;position:absolute;bottom:8%;right:max(-1rem,-3vw)}@keyframes pulse-dot{0%{transform:scale(1);box-shadow:0 0 #d0b38a47}70%{transform:scale(1.08);box-shadow:0 0 0 12px #d0b38a00}to{transform:scale(1);box-shadow:0 0 #d0b38a00}}@keyframes nudge-line{0%,to{opacity:.7;transform:translate(0)}50%{opacity:1;transform:translate(4px)}}@keyframes hint-line{0%,to{opacity:.7;transform:scaleX(.82)}50%{opacity:1;transform:scaleX(1)}}@media (width>=768px){.desktop-navbar{-webkit-backdrop-filter:blur(8px);background:#101615b8;border-radius:999px;box-shadow:0 10px 28px #0000001a}.avatar-brand{width:2.5rem;height:2.5rem}.project-row,.project-showcase{grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr)}.project-row-reverse,.project-showcase-reverse{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr)}.project-row-reverse>:first-child,.project-showcase-reverse>:first-child{order:2}.project-row-reverse>:last-child,.project-showcase-reverse>:last-child{order:1;justify-self:start}.timeline-item{grid-template-columns:9rem minmax(0,1fr);gap:2rem;padding-left:2rem}.project-detail-grid{grid-template-columns:minmax(0,1.02fr) minmax(0,.98fr);align-items:start}.project-list-item{grid-template-columns:minmax(12rem,18rem) minmax(0,1fr);align-items:center;gap:clamp(1.5rem,3vw,2.5rem);padding:1.35rem}.project-list-item__media{height:100%;min-height:11.5rem}}@media (width<=900px){.nav-cv-button{width:100%}}@media (width<=767px){.hero-note{bottom:-1rem;right:.25rem}.ambient{filter:blur(72px)}.email-link-group:after{left:0}}@supports not ((-webkit-backdrop-filter:blur(2px)) or (backdrop-filter:blur(2px))){.mobile-menu-panel{background:#0f1413f7}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important;animation:none!important}}@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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{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-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}
