/*! 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-border-style:solid;--tw-font-weight:initial;--tw-tracking:initial;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-animation-delay:0s;--tw-animation-direction:normal;--tw-animation-duration:initial;--tw-animation-fill-mode:none;--tw-animation-iteration-count:1;--tw-enter-blur:0;--tw-enter-opacity:1;--tw-enter-rotate:0;--tw-enter-scale:1;--tw-enter-translate-x:0;--tw-enter-translate-y:0;--tw-exit-blur:0;--tw-exit-opacity:1;--tw-exit-rotate:0;--tw-exit-scale:1;--tw-exit-translate-x:0;--tw-exit-translate-y:0}}}@layer theme{:root,:host{--font-sans:"DM Sans", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--container-md:28rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-7xl:4.5rem;--text-7xl--line-height:1;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--tracking-tight:-.025em;--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:"DM Sans", sans-serif;--default-mono-font-family:var(--font-mono);--font-display:"Space Grotesk", sans-serif;--color-background:var(--background);--color-foreground:var(--foreground);--color-border:var(--border)}}@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;-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}*{border-color:var(--color-border)}h1,h2,h3,h4,h5,h6{letter-spacing:-.035em}body{background-color:var(--color-background);color:var(--color-foreground);font-family:var(--font-sans);margin:0;overflow-x:clip}html{scroll-behavior:smooth;overflow-x:clip}button,a{-webkit-tap-highlight-color:transparent}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.relative{position:relative}.container{width:100%}@media (width>=40rem){.container{max-width:40rem}}@media (width>=48rem){.container{max-width:48rem}}@media (width>=64rem){.container{max-width:64rem}}@media (width>=80rem){.container{max-width:80rem}}@media (width>=96rem){.container{max-width:96rem}}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.inline-flex{display:inline-flex}.size-11{width:calc(var(--spacing) * 11);height:calc(var(--spacing) * 11)}.h-9{height:calc(var(--spacing) * 9)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-auto{height:auto}.min-h-screen{min-height:100vh}.max-w-md{max-width:var(--container-md)}.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,)}.animate-spin{animation:var(--animate-spin)}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.border{border-style:var(--tw-border-style);border-width:1px}.border-border{border-color:var(--border)}.border-destructive{border-color:var(--destructive)}.border-input{border-color:var(--input)}.border-primary{border-color:var(--primary)}.border-secondary{border-color:var(--secondary)}.border-signal{border-color:var(--signal)}.border-transparent{border-color:#0000}.bg-background{background-color:var(--background)}.bg-destructive{background-color:var(--destructive)}.bg-primary{background-color:var(--primary)}.bg-secondary{background-color:var(--secondary)}.bg-signal{background-color:var(--signal)}.bg-transparent{background-color:#0000}.p-0{padding:0}.px-0{padding-inline:0}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-5{padding-inline:calc(var(--spacing) * 5)}.px-7{padding-inline:calc(var(--spacing) * 7)}.py-2{padding-block:calc(var(--spacing) * 2)}.text-center{text-align:center}.text-7xl{font-size:var(--text-7xl);line-height:var(--tw-leading,var(--text-7xl--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))}.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-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-foreground{color:var(--foreground)}.text-muted-foreground{color:var(--muted-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-signal{color:var(--signal)}.text-signal-foreground{color:var(--signal-foreground)}.underline-offset-4{text-underline-offset:4px}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.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,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-\[transform\,background-color\,color\,border-color\]{transition-property:transform,background-color,color,border-color;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.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))}.duration-300{--tw-duration:.3s;transition-duration:.3s}@media (hover:hover){.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:border-primary:hover{border-color:var(--primary)}.hover\:bg-accent:hover{background-color:var(--accent)}.hover\:bg-destructive\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, var(--destructive) 90%, transparent)}}.hover\:bg-primary\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, var(--primary) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, var(--secondary) 80%, transparent)}}.hover\:bg-signal\/90:hover{background-color:var(--signal)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-signal\/90:hover{background-color:color-mix(in oklab, var(--signal) 90%, transparent)}}.hover\:text-primary:hover{color:var(--primary)}.hover\:underline:hover{text-decoration-line:underline}}.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-ring:focus-visible{--tw-ring-color:var(--ring)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}:root{--radius:.25rem;--background:oklch(95% .01 250);--foreground:oklch(18% .01 260);--card:oklch(100% 0 0);--card-foreground:oklch(12.9% .042 264.695);--popover:oklch(100% 0 0);--popover-foreground:oklch(12.9% .042 264.695);--primary:oklch(53% .23 261);--primary-foreground:oklch(98% .005 250);--secondary:oklch(96.8% .007 247.896);--secondary-foreground:oklch(20.8% .042 265.755);--muted:oklch(96.8% .007 247.896);--muted-foreground:oklch(55.4% .046 257.417);--accent:oklch(90% .02 250);--accent-foreground:oklch(18% .01 260);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.4% .003 247.858);--border:oklch(18% .01 260/.16);--input:oklch(92.9% .013 255.508);--ring:oklch(70.4% .04 256.788);--chart-1:oklch(64.6% .222 41.116);--chart-2:oklch(60% .118 184.704);--chart-3:oklch(39.8% .07 227.392);--chart-4:oklch(82.8% .189 84.429);--chart-5:oklch(76.9% .188 70.08);--sidebar:oklch(98.4% .003 247.858);--sidebar-foreground:oklch(12.9% .042 264.695);--sidebar-primary:oklch(20.8% .042 265.755);--sidebar-primary-foreground:oklch(98.4% .003 247.858);--sidebar-accent:oklch(96.8% .007 247.896);--sidebar-accent-foreground:oklch(20.8% .042 265.755);--sidebar-border:oklch(92.9% .013 255.508);--sidebar-ring:oklch(70.4% .04 256.788);--signal:oklch(53% .23 261);--signal-foreground:oklch(98% .005 250);--chrome:oklch(95% .01 250);--ink:oklch(18% .01 260);--gold:oklch(86% .17 91)}.dark{--background:oklch(15% .01 260);--foreground:oklch(95% .01 250);--card:oklch(20.8% .042 265.755);--card-foreground:oklch(98.4% .003 247.858);--popover:oklch(20.8% .042 265.755);--popover-foreground:oklch(98.4% .003 247.858);--primary:oklch(65% .19 258);--primary-foreground:oklch(98% .005 250);--secondary:oklch(27.9% .041 260.031);--secondary-foreground:oklch(98.4% .003 247.858);--muted:oklch(27.9% .041 260.031);--muted-foreground:oklch(70.4% .04 256.788);--accent:oklch(23% .02 260);--accent-foreground:oklch(98.4% .003 247.858);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.4% .003 247.858);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.1% .027 264.364);--chart-1:oklch(48.8% .243 264.376);--chart-2:oklch(69.6% .17 162.48);--chart-3:oklch(76.9% .188 70.08);--chart-4:oklch(62.7% .265 303.9);--chart-5:oklch(64.5% .246 16.439);--sidebar:oklch(20.8% .042 265.755);--sidebar-foreground:oklch(98.4% .003 247.858);--sidebar-primary:oklch(48.8% .243 264.376);--sidebar-primary-foreground:oklch(98.4% .003 247.858);--sidebar-accent:oklch(27.9% .041 260.031);--sidebar-accent-foreground:oklch(98.4% .003 247.858);--sidebar-border:oklch(100% 0 0/.1);--sidebar-ring:oklch(55.1% .027 264.364);--signal:oklch(86% .17 91);--signal-foreground:oklch(18% .01 260);--chrome:oklch(95% .01 250);--ink:oklch(18% .01 260);--gold:oklch(86% .17 91)}h1,h2,h3,h4,h5,h6,.section-heading h2,.hero-title-wrap h1,.code-content h1,.dev-content-hero h1,.dev-section-title h2,.contact-section h2,.case-hero h1,.case-intro>h2,.case-cta h2,.profile-headline,.profile-card-title,.profile-discipline-title,.dev-glass-title,.work-section-heading h2,.dev-case>header h1{letter-spacing:-.05em}.portfolio-shell,.case-study{background:var(--background);min-height:100vh;color:var(--foreground);transition:background-color .55s,color .55s}.mode-development{--background:oklch(94% .01 250);--foreground:oklch(18% .01 260);--card:oklch(98% .005 250);--card-foreground:oklch(18% .01 260);--border:oklch(18% .01 260/.16);--muted-foreground:oklch(42% .02 260);--signal:oklch(53% .23 261);--signal-foreground:oklch(98% .005 250)}.dark .mode-design{--background:oklch(14% .012 260);--foreground:oklch(95% .01 250);--card:oklch(18% .015 260);--card-foreground:oklch(95% .01 250);--border:oklch(95% .01 250/.16);--muted-foreground:oklch(72% .015 250);--signal:oklch(86% .17 91);--signal-foreground:oklch(18% .01 260)}.dark .mode-development{--background:oklch(11% .01 260);--foreground:oklch(95% .01 250);--card:oklch(16% .015 260);--card-foreground:oklch(95% .01 250);--border:oklch(95% .01 250/.16);--muted-foreground:oklch(72% .015 250);--signal:oklch(86% .17 91);--signal-foreground:oklch(18% .01 260)}.site-header{z-index:50;-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);background:#ffffffdb;border:1px solid #ffffffa6;border-radius:999px;justify-content:space-between;align-items:center;gap:1.5rem;width:calc(100% - 2.5rem);max-width:82rem;height:4.25rem;margin:1.25rem auto 0;padding:0 .85rem 0 1.5rem;transition:background .35s,border-color .35s,box-shadow .35s;display:flex;position:sticky;top:1.25rem;transform:translateZ(0);box-shadow:0 18px 50px #0a12241f}.mode-development .site-header{-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);background:#ffffffdb;border:1px solid #ffffffa6;box-shadow:0 18px 50px #0a12241f}.dark .site-header{-webkit-backdrop-filter:blur(30px)saturate(160%);backdrop-filter:blur(30px)saturate(160%);background:#0a1224e0;border:1px solid #ffffff2e;box-shadow:0 18px 42px #0a122440,inset 0 1px #ffffff29}.case-header{z-index:30;background:var(--background);justify-content:space-between;align-items:center;gap:1.5rem;max-width:90rem;height:5rem;margin:0 auto;padding:0 2.5rem;display:flex;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.case-header{background:color-mix(in oklab, var(--background) 85%, transparent)}}.case-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border)}.brand{min-width:0;font-family:var(--font-display);color:var(--foreground);align-items:center;gap:.75rem;font-weight:600;text-decoration:none;display:flex}.brand-mark{background:var(--primary);color:#fff;letter-spacing:.04em;width:2.25rem;height:2.25rem;box-shadow:0 4px 12px var(--primary);border-radius:9999px;place-items:center;font-size:.75rem;font-weight:700;display:grid}@supports (color:color-mix(in lab, red, red)){.brand-mark{box-shadow:0 4px 12px color-mix(in oklch, var(--primary) 35%, transparent)}}.brand-name{white-space:nowrap;letter-spacing:-.01em;font-size:.95rem;font-weight:600}.site-nav{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.25rem;font-size:.78rem;display:flex}.site-nav a{color:var(--muted-foreground);border-radius:9999px;padding:.5rem 1.05rem;font-weight:500;text-decoration:none;transition:all .2s cubic-bezier(.2,.8,.2,1)}.site-nav a:hover{color:var(--foreground);background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.site-nav a:hover{background:color-mix(in oklch, var(--foreground) 6%, transparent)}}.site-nav a.is-active{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.site-nav a.is-active{background:color-mix(in oklch, var(--primary) 12%, transparent)}}.site-nav a.is-active{color:var(--primary);font-weight:600}.dark .site-nav a.is-active{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark .site-nav a.is-active{background:color-mix(in oklch, var(--primary) 22%, transparent)}}.dark .site-nav a.is-active{color:var(--primary)}.header-actions{align-items:center;gap:.6rem;display:flex}.header-mode-switch{background:#0000000d;border:1px solid #00000014;border-radius:9999px;align-items:center;gap:.2rem;padding:.18rem;display:inline-flex}.dark .header-mode-switch{background:#ffffff0f;border-color:#ffffff1f}.site-header .header-actions .header-mode-btn,.header-mode-btn{color:#334155;cursor:pointer;background:0 0;border:none;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2.2rem;height:2.2rem;padding:0;text-decoration:none;transition:all .22s cubic-bezier(.2,.8,.2,1);display:inline-flex}.site-header .header-actions .header-mode-btn:hover,.header-mode-btn:hover{color:#0f172a;background:#0000000f;transform:scale(1.06)}.dark .site-header .header-actions .header-mode-btn,.dark .header-mode-btn{color:#ffffffb3}.dark .site-header .header-actions .header-mode-btn:hover,.dark .header-mode-btn:hover{color:#fff;background:#ffffff1f;transform:scale(1.06)}.site-header .header-actions .header-mode-btn.is-active,.header-mode-btn.is-active{box-shadow:0 3px 12px #2563eb61;color:#fff!important;background:#2563eb!important}.dark .site-header .header-actions .header-mode-btn.is-active,.dark .header-mode-btn.is-active{box-shadow:0 3px 12px #2563eb80;color:#fff!important;background:#2563eb!important}.site-header-resume-btn{background:var(--primary);border-radius:9999px;justify-content:center;align-items:center;gap:.42rem;height:2.5rem;padding:0 1.25rem;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.site-header-resume-btn{background:color-mix(in oklab, var(--primary) 10%, transparent)}}.site-header-resume-btn{border:1px solid var(--primary);color:var(--primary)!important}@supports (color:color-mix(in lab, red, red)){.site-header-resume-btn{border:1px solid color-mix(in oklab, var(--primary) 28%, var(--border))}}.site-header-resume-btn{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.2,.8,.2,1);box-shadow:0 2px 8px -2px #2563eb33}.site-header-resume-btn:hover{background:var(--primary);border-color:var(--primary);box-shadow:0 6px 18px var(--primary);transform:translateY(-1px);color:#fff!important}@supports (color:color-mix(in lab, red, red)){.site-header-resume-btn:hover{box-shadow:0 6px 18px color-mix(in oklch, var(--primary) 40%, transparent)}}.dark .site-header-resume-btn{background:#3b82f629;border-color:#93c5fd59;box-shadow:0 2px 10px -2px #3b82f64d;color:#93c5fd!important}.dark .site-header-resume-btn:hover{background:#2563eb;border-color:#3b82f6;box-shadow:0 6px 20px -2px #3b82f68c;color:#fff!important}.site-header-resume-icon{flex-shrink:0}.site-contact-btn{letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;background:#091326;border-radius:9999px;justify-content:center;align-items:center;height:2.5rem;padding:0 1.4rem;font-size:.75rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.2,.8,.2,1);display:inline-flex;box-shadow:0 4px 14px #0913262e;color:#fff!important}.site-contact-btn:hover{background:var(--primary);box-shadow:0 6px 18px var(--primary);transform:translateY(-1px);color:#fff!important}@supports (color:color-mix(in lab, red, red)){.site-contact-btn:hover{box-shadow:0 6px 18px color-mix(in oklch, var(--primary) 40%, transparent)}}.dark .site-contact-btn{background:#fff;box-shadow:0 4px 14px #ffffff26;color:#091326!important}.dark .site-contact-btn:hover{background:var(--primary);box-shadow:0 6px 18px var(--primary);color:#fff!important}@supports (color:color-mix(in lab, red, red)){.dark .site-contact-btn:hover{box-shadow:0 6px 18px color-mix(in oklch, var(--primary) 40%, transparent)}}.site-header .header-actions .theme-toggle-btn,.theme-toggle-btn{color:#0f172a;cursor:pointer;background:#0000000a;border:1px solid #0000001a;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2.35rem;height:2.35rem;padding:0;transition:all .25s cubic-bezier(.2,.8,.2,1);display:inline-flex}.site-header .header-actions .theme-toggle-btn:hover,.theme-toggle-btn:hover{color:#000;background:#00000014;border-color:#00000038;transform:scale(1.06)}.dark .site-header .header-actions .theme-toggle-btn,.dark .theme-toggle-btn{color:#fff;background:#ffffff14;border-color:#ffffff29}.dark .site-header .header-actions .theme-toggle-btn:hover,.dark .theme-toggle-btn:hover{color:#f6c860;background:#ffffff29;border-color:#ffffff4d;transform:scale(1.06)}.site-header .experience-controls{border:1px solid var(--border);background:var(--background);border-radius:9999px;align-items:center;gap:.25rem;padding:.2rem;display:flex}@supports (color:color-mix(in lab, red, red)){.site-header .experience-controls{background:color-mix(in oklab, var(--background) 70%, transparent)}}.site-header .experience-controls a,.site-header .experience-controls button{border-radius:9999px;place-items:center;width:2.2rem;height:2.2rem;display:grid}.portfolio-icon{vertical-align:middle;flex-shrink:0;transition:transform .25s cubic-bezier(.2,.8,.2,1),color .25s;display:inline-block}.theme-toggle-btn .icon-theme{transition:transform .4s cubic-bezier(.34,1.56,.64,1),color .25s}.theme-toggle-btn:hover .icon-theme{transform:rotate(45deg)}.mode-switch button .portfolio-icon{margin-right:.5rem}.mobile-menu-btn,.mobile-menu-overlay{display:none}@media (width<=960px){.site-header{gap:.75rem;width:calc(100% - 1.5rem);height:3.85rem;margin:.75rem auto 0;padding:0 .6rem 0 1rem}.site-header .brand-name{display:none}.site-nav{scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:.15rem;font-size:.72rem;overflow-x:auto}.site-nav::-webkit-scrollbar{display:none}.site-nav a{white-space:nowrap;padding:.4rem .7rem}.site-contact-btn,.site-header-resume-btn{height:2.25rem;padding:0 1rem;font-size:.7rem}.site-header .header-actions .header-mode-btn,.header-mode-btn{width:2rem;height:2rem}.site-header .header-actions .theme-toggle-btn,.theme-toggle-btn{width:2.15rem;height:2.15rem}}.case-header-actions{flex-shrink:0;align-items:center;gap:.85rem;display:inline-flex}.case-header-actions .experience-controls{align-items:center;gap:.35rem;display:inline-flex}.dev-header-tools{gap:.75rem}.hero-section{box-sizing:border-box;grid-template-rows:auto auto auto;grid-template-columns:repeat(12,minmax(0,1fr));align-content:center;align-items:center;gap:0 1.5rem;max-width:90rem;height:calc(100svh - 5.5rem);min-height:34rem;max-height:calc(100svh - 5.5rem);margin:0 auto;padding:1.75rem 2.5rem 1.25rem;display:grid;position:relative;overflow:hidden}.hero-ambient-backdrop{pointer-events:none;z-index:0;background-color:#f4f7f9;background-image:radial-gradient(ellipse 70% 60% at 24% 88%, var(--primary) 0%, var(--primary) 30%, var(--primary) 55%, transparent 72%), radial-gradient(ellipse 55% 50% at 88% 22%, var(--gold) 0%, var(--gold) 30%, var(--gold) 55%, transparent 70%), radial-gradient(ellipse 45% 40% at 68% 82%, var(--primary) 0%, transparent 65%);height:100svh;min-height:50rem;max-height:64rem;position:absolute;top:0;left:0;right:0;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.hero-ambient-backdrop{background-image:radial-gradient(ellipse 70% 60% at 24% 88%, color-mix(in oklch, var(--primary) 32%, transparent) 0%, color-mix(in oklch, var(--primary) 18%, transparent) 30%, color-mix(in oklch, var(--primary) 6%, transparent) 55%, transparent 72%), radial-gradient(ellipse 55% 50% at 88% 22%, color-mix(in oklch, var(--gold) 28%, transparent) 0%, color-mix(in oklch, var(--gold) 14%, transparent) 30%, color-mix(in oklch, var(--gold) 3%, transparent) 55%, transparent 70%), radial-gradient(ellipse 45% 40% at 68% 82%, color-mix(in oklch, var(--primary) 16%, transparent) 0%, transparent 65%)}}.hero-ambient-backdrop{transition:background-color .55s;-webkit-mask-image:linear-gradient(#000 75%,#0000 100%);mask-image:linear-gradient(#000 75%,#0000 100%)}.ambient-blob{pointer-events:none;will-change:transform;border-radius:9999px;position:absolute}.ambient-blob-blue{background:radial-gradient(circle at 45% 55%, var(--primary) 0%, var(--primary) 35%, var(--primary) 60%, transparent 80%);width:52vw;max-width:54rem;height:44vw;max-height:46rem;bottom:-4%;left:6%}@supports (color:color-mix(in lab, red, red)){.ambient-blob-blue{background:radial-gradient(circle at 45% 55%, var(--primary) 0%, color-mix(in oklch, var(--primary) 65%, transparent) 35%, color-mix(in oklch, var(--primary) 25%, transparent) 60%, transparent 80%)}}.ambient-blob-blue{filter:blur(85px);opacity:.44;transform:translate(0)}.ambient-blob-gold,.ambient-blob-pink{background:radial-gradient(circle at 60% 40%, var(--gold) 0%, var(--gold) 38%, var(--gold) 65%, transparent 85%);width:46vw;max-width:50rem;height:42vw;max-height:46rem;top:2%;right:-4%}@supports (color:color-mix(in lab, red, red)){.ambient-blob-gold,.ambient-blob-pink{background:radial-gradient(circle at 60% 40%, color-mix(in oklch, var(--gold) 75%, transparent) 0%, color-mix(in oklch, var(--gold) 38%, transparent) 38%, color-mix(in oklch, var(--gold) 12%, transparent) 65%, transparent 85%)}}.ambient-blob-gold,.ambient-blob-pink{filter:blur(85px);opacity:.32;transform:translate(0)}.ambient-mesh-overlay{mix-blend-mode:soft-light;pointer-events:none;background:radial-gradient(#ffffff59 0%,#0000 70%);position:absolute;inset:0}.dark .hero-ambient-backdrop{background-color:oklch(14% .012 260);background-image:radial-gradient(ellipse 70% 60% at 24% 88%, var(--primary) 0%, var(--primary) 32%, transparent 72%), radial-gradient(ellipse 55% 50% at 88% 22%, var(--gold) 0%, var(--gold) 30%, transparent 70%), radial-gradient(ellipse 45% 40% at 68% 82%, var(--primary) 0%, transparent 65%)}@supports (color:color-mix(in lab, red, red)){.dark .hero-ambient-backdrop{background-image:radial-gradient(ellipse 70% 60% at 24% 88%, color-mix(in oklch, var(--primary) 30%, transparent) 0%, color-mix(in oklch, var(--primary) 16%, transparent) 32%, transparent 72%), radial-gradient(ellipse 55% 50% at 88% 22%, color-mix(in oklch, var(--gold) 14%, transparent) 0%, color-mix(in oklch, var(--gold) 6%, transparent) 30%, transparent 70%), radial-gradient(ellipse 45% 40% at 68% 82%, color-mix(in oklch, var(--primary) 15%, transparent) 0%, transparent 65%)}}.dark .ambient-blob-blue{background:radial-gradient(circle at 45% 55%, var(--primary) 0%, var(--primary) 40%, transparent 80%)}@supports (color:color-mix(in lab, red, red)){.dark .ambient-blob-blue{background:radial-gradient(circle at 45% 55%, var(--primary) 0%, color-mix(in oklch, var(--primary) 55%, transparent) 40%, transparent 80%)}}.dark .ambient-blob-blue{filter:blur(95px);opacity:.38}.dark .ambient-blob-gold,.dark .ambient-blob-pink{background:radial-gradient(circle at 60% 40%, var(--gold) 0%, var(--gold) 38%, transparent 80%)}@supports (color:color-mix(in lab, red, red)){.dark .ambient-blob-gold,.dark .ambient-blob-pink{background:radial-gradient(circle at 60% 40%, color-mix(in oklch, var(--gold) 55%, transparent) 0%, color-mix(in oklch, var(--gold) 20%, transparent) 38%, transparent 80%)}}.dark .ambient-blob-gold,.dark .ambient-blob-pink{filter:blur(95px);opacity:.14}.dark .ambient-mesh-overlay{background:radial-gradient(#0000004d 0%,#0000 70%)}.grid-lines{display:none!important}.hero-meta{text-transform:uppercase;letter-spacing:.04em;width:100%;color:var(--muted-foreground);grid-area:1/1/auto/-1;justify-content:space-between;align-items:center;margin-bottom:.35rem;font-size:.72rem;font-weight:700;display:flex}.hero-meta .hero-location{opacity:.85;letter-spacing:.04em;text-align:right;margin-left:auto;font-weight:500}.hero-title-wrap{z-index:2;flex-direction:column;grid-area:2/1/auto/10;align-self:start;align-items:flex-start;margin-bottom:clamp(2.5rem,4.5vh,3.5rem);animation:.7s cubic-bezier(.22,.8,.25,1) both content-in;display:flex}.hero-title-wrap .eyebrow{color:var(--primary);letter-spacing:.05em;text-transform:uppercase;margin-top:0;margin-bottom:.35rem;font-size:.76rem;font-weight:700}.hero-title-wrap h1{font-family:var(--font-display);letter-spacing:-.065em;margin:0;font-size:clamp(3.8rem,8.8vw,8.6rem);font-weight:600;line-height:.83}.hero-title-wrap h1 span{color:#0000;-webkit-text-stroke:1.5px var(--foreground)}.hero-side{z-index:10;grid-area:3/9/auto/13;align-self:end;max-width:26rem;margin-top:0;padding-bottom:.25rem}.hero-side p{color:var(--muted-foreground);margin:0;font-size:clamp(.95rem,1.25vw,1.2rem);line-height:1.45}.hero-action-wrap{flex-direction:column;align-items:flex-start;gap:.55rem;margin-top:1.65rem;display:inline-flex}.scroll-cue{color:var(--primary);text-transform:uppercase;letter-spacing:.12em;align-items:center;gap:.6rem;margin-top:0;font-size:.78rem;font-weight:700;text-decoration:none;transition:color .2s,transform .2s;display:inline-flex}.scroll-cue-arrow{transition:transform .25s cubic-bezier(.16,1,.3,1)}.hero-cue-line{background:linear-gradient(90deg, var(--primary) 0%, var(--primary) 100%);border-radius:999px;width:100%;height:2px}@supports (color:color-mix(in lab, red, red)){.hero-cue-line{background:linear-gradient(90deg, var(--primary) 0%, color-mix(in oklab, var(--primary) 40%, transparent) 100%)}}.hero-cue-line{transform-origin:0;transition:transform .25s cubic-bezier(.16,1,.3,1),background .25s}.hero-action-wrap:hover .scroll-cue{transform:translate(2px)}.hero-action-wrap:hover .scroll-cue-arrow{transform:translate(2px,2px)}.hero-action-wrap:hover .hero-cue-line{background:var(--primary);transform:scaleX(1.12)}.mode-switch{z-index:10;background:var(--background);align-items:center;height:2.85rem;padding:.25rem;display:flex;position:relative}@supports (color:color-mix(in lab, red, red)){.mode-switch{background:color-mix(in oklab, var(--background) 78%, transparent)}}.mode-switch{-webkit-backdrop-filter:blur(18px);border:1px solid var(--border);box-sizing:border-box;border-radius:.5rem}.hero-section .mode-switch{grid-area:3/1/auto/8;align-self:start;width:23.5rem;max-width:100%;margin-top:0}.mode-switch-group{grid-template-columns:1fr 1fr;align-items:stretch;width:100%;height:100%;display:grid;position:relative}.mode-switch button{z-index:2;cursor:pointer;letter-spacing:.01em;border:0;border-radius:.35rem;justify-content:center;align-items:center;gap:.45rem;width:100%;height:100%;margin:0;padding:0 .75rem;font-size:.82rem;font-weight:500;transition:all .25s cubic-bezier(.2,.8,.2,1);display:inline-flex;position:relative}.mode-switch button[aria-pressed=true]{font-weight:600;color:#fff!important;background:0 0!important}.mode-switch button[aria-pressed=true] .portfolio-icon{transition:transform .25s cubic-bezier(.2,.8,.2,1);color:#fff!important}.mode-switch button[aria-pressed=true]:hover,.dev-mode-switch button[aria-pressed=true]:hover{color:#fff!important;background:#ffffff26!important}.mode-switch button[aria-pressed=true]:hover .portfolio-icon,.dev-mode-switch button[aria-pressed=true]:hover .portfolio-icon{transform:scale(1.08)}.mode-switch button[aria-pressed=false]{color:var(--muted-foreground);background:0 0!important}.mode-switch button[aria-pressed=false] .portfolio-icon{color:currentColor;transition:transform .25s cubic-bezier(.2,.8,.2,1)}.mode-switch button[aria-pressed=false]:hover,.dev-mode-switch button[aria-pressed=false]:hover{background:var(--foreground)!important}@supports (color:color-mix(in lab, red, red)){.mode-switch button[aria-pressed=false]:hover,.dev-mode-switch button[aria-pressed=false]:hover{background:color-mix(in oklab, var(--foreground) 8%, transparent)!important}}.mode-switch button[aria-pressed=false]:hover,.dev-mode-switch button[aria-pressed=false]:hover{font-weight:500;color:var(--foreground)!important}.mode-switch button[aria-pressed=false]:hover .portfolio-icon{transform:scale(1.08);color:var(--foreground)!important}.switch-rail{z-index:1;background:var(--primary);pointer-events:none;border-radius:.35rem;width:50%;transition:transform .45s cubic-bezier(.16,1,.3,1);position:absolute;top:0;bottom:0;left:0;box-shadow:0 2px 8px #2563eb4d}.switch-rail.is-development{transform:translate(100%)}.hero-object{z-index:1;aspect-ratio:1;pointer-events:none;justify-content:center;align-items:center;width:min(37vw,30rem);display:flex;position:absolute;top:-1.75rem;right:1%}.hero-3d-container{touch-action:none;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:relative}.hero-3d-container:active{cursor:grabbing!important}.work-section{border-top:none;max-width:90rem;margin:0 auto;padding:4.5rem 2.5rem 2rem}.about-section{max-width:90rem;margin:0 auto;padding:3.5rem 2.5rem 4.5rem}.section-heading{grid-template-columns:minmax(0,1fr) minmax(14rem,25rem);align-items:end;gap:2rem;margin-bottom:4rem;display:grid}.section-heading>span,.case-label{color:var(--primary);letter-spacing:.18em;text-transform:uppercase;font-size:.72rem;font-weight:700}.section-heading h2{font-family:var(--font-display);font-size:clamp(2.6rem,5.5vw,5rem);font-weight:600;line-height:.95}.section-heading p{color:var(--muted-foreground)}.project-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:6rem 1.5rem;animation:.55s both content-in;display:grid}.project-card{grid-column:span 7;min-width:0}.project-card:nth-child(2n){grid-column:8/13;margin-top:10rem}.project-image-wrap{background:var(--card);aspect-ratio:16/10;min-width:0;position:relative;overflow:hidden}.project-card:nth-child(2n) .project-image-wrap{aspect-ratio:4/5}.project-image-wrap img{object-fit:cover;width:100%;max-width:100%;height:100%;transition:transform .8s cubic-bezier(.22,.8,.25,1),filter .5s;display:block}.mode-design .project-image-wrap img{filter:saturate(.85)}.project-card:hover img{filter:saturate(1.1);transform:scale(1.035)}.project-index{background:var(--background);color:var(--foreground);font:600 .72rem var(--font-display);padding:.45rem .6rem;position:absolute;top:1rem;left:1rem}.project-open{background:var(--signal);width:2.7rem;height:2.7rem;color:var(--signal-foreground);place-items:center;transition:transform .3s;display:grid;position:absolute;top:1rem;right:1rem}.project-card:hover .project-open{transform:rotate(45deg)}.project-info{justify-content:space-between;align-items:start;gap:1rem;min-width:0;margin-top:1.3rem;display:flex}.project-info p{color:var(--primary);letter-spacing:.13em;text-transform:uppercase;font-size:.68rem;font-weight:700}.project-info h3{font:600 clamp(1.8rem, 3vw, 3rem)/1 var(--font-display);margin-top:.35rem}.project-info>span{color:var(--muted-foreground);flex-shrink:0;font-size:.8rem}.project-summary{max-width:35rem;color:var(--muted-foreground);margin-top:.8rem;font-size:1rem}.mockup-project-card{color:#0f172a;background:#fff;border:1px solid #00000014;border-radius:1.5rem;flex-direction:column;padding:1.35rem 1.35rem 1.45rem;text-decoration:none;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px -10px #0000000f,0 2px 8px -2px #00000008}.dark .mockup-project-card{color:var(--foreground);background:linear-gradient(#ffffff0a 0%,#ffffff04 100%),#111522;border:1px solid #ffffff1a;box-shadow:inset 0 1px 1px #ffffff1f,0 20px 45px -15px #0009}.mockup-project-card:hover{border-color:#2563eb59;transform:translateY(-6px);box-shadow:0 24px 48px -12px #0000001f,0 4px 12px -2px #0000000d}.dark .mockup-project-card:hover{border-color:#ffffff3d;box-shadow:inset 0 1px 1px #fff3,0 28px 60px -15px #000000bf,0 0 24px -6px #3b82f64d}.mode-design .project-grid{grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch;gap:3rem 2rem}.mode-design .project-card.mockup-project-card{grid-column:span 6;margin-top:0!important}.mockup-project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:2.5rem;margin-top:2.5rem;display:grid}.mockup-stage{aspect-ratio:16/10.5;background:radial-gradient(#fff 0%,#f4f6fb 100%);border:1px solid #0000000f;border-radius:1.15rem;justify-content:center;align-items:center;width:100%;padding:1.25rem 1rem .75rem;display:flex;position:relative;overflow:hidden}.dark .mockup-stage{background:radial-gradient(at 50% 60%,#1e293b80 0%,#0b0f19f2 100%),#0c0f17;border:1px solid #ffffff14}.mockup-backdrop-img{object-fit:cover;object-position:left center;pointer-events:none;opacity:.22;z-index:1;width:100%;height:100%;transition:opacity .3s;position:absolute;inset:0}.mockup-backdrop-dark,.dark .mockup-backdrop-light{display:none}.dark .mockup-backdrop-dark{display:block}.dark .mockup-backdrop-img{opacity:.12;filter:none;mix-blend-mode:normal}.mockup-img{z-index:2;object-fit:contain;transform-origin:50%;filter:drop-shadow(0 14px 22px #00000024);will-change:transform;width:auto;max-width:90%;height:auto;max-height:90%;transition:transform .5s cubic-bezier(.25,1,.5,1),filter .4s;display:block;position:relative;transform:scale(1)}.dark .mockup-img{filter:drop-shadow(0 20px 32px #0000008c)}.mockup-project-card:hover .mockup-img{filter:drop-shadow(0 18px 28px #0003);transform:scale(.93)translateY(-2px)}.dark .mockup-project-card:hover .mockup-img{filter:drop-shadow(0 26px 40px #000000b3)}.mockup-stage-badges{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:.85rem;left:.85rem;right:.85rem}.mockup-context-badge{-webkit-backdrop-filter:blur(10px);color:#475569;font:700 .68rem var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:#ffffffe6;border:1px solid #00000014;border-radius:9999px;padding:.32rem .65rem;box-shadow:0 2px 8px -2px #0000000f}.dark .mockup-context-badge{color:#cbd5e1;-webkit-backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff26;box-shadow:0 4px 12px -2px #00000059}.mockup-pills-row{pointer-events:auto;align-items:center;gap:.45rem;display:flex}.mockup-pill{font-family:var(--font-display,inherit);letter-spacing:.05em;text-transform:uppercase;-webkit-backdrop-filter:blur(12px)saturate(190%);pointer-events:auto;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:9999px;align-items:center;gap:.35rem;padding:.32rem .68rem;font-size:.68rem;font-weight:700;transition:transform .22s cubic-bezier(.2,.8,.2,1),background .22s,border-color .22s,color .22s,box-shadow .22s;display:inline-flex}.mockup-pill:active{transform:scale(.96)}.mockup-pill.pill-figma{color:#92400e;background:linear-gradient(135deg,#fef3c7e6 0%,#fde68ab8 100%);border:1px solid #d9770661;box-shadow:inset 0 1px 1px #fffffff2,0 3px 10px -2px #d977062e}.mockup-pill.pill-figma:hover{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-color:#b45309;transform:translateY(-1.5px)scale(1.03);box-shadow:inset 0 1px 1px #fff6,0 8px 18px -2px #d977066b}.dark .mockup-pill.pill-figma{color:#fbbf24;background:#f59e0b29;border:1px solid #f59e0b59;box-shadow:inset 0 1px 1px #ffffff24,0 3px 10px -2px #f59e0b33}.dark .mockup-pill.pill-figma:hover{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-color:#fbbf24;transform:translateY(-1.5px)scale(1.03);box-shadow:inset 0 1px 1px #ffffff59,0 8px 20px -2px #f59e0b8c}.mockup-pill.pill-live{color:#1d4ed8;background:linear-gradient(135deg,#eff6ffeb 0%,#dbeafebf 100%);border:1px solid #2563eb59;box-shadow:inset 0 1px 1px #fffffff2,0 3px 10px -2px #2563eb2e}.mockup-pill.pill-live:hover{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border-color:#1e40af;transform:translateY(-1.5px)scale(1.03);box-shadow:inset 0 1px 1px #fff6,0 8px 18px -2px #2563eb73}.dark .mockup-pill.pill-live{color:#60a5fa;background:#2563eb2e;border:1px solid #3b82f661;box-shadow:inset 0 1px 1px #ffffff24,0 3px 10px -2px #2563eb38}.dark .mockup-pill.pill-live:hover{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-color:#60a5fa;transform:translateY(-1.5px)scale(1.03);box-shadow:inset 0 1px 1px #ffffff59,0 8px 20px -2px #2563eb8c}.mockup-card-footer{justify-content:space-between;align-items:flex-end;gap:1rem;margin-top:1.25rem;display:flex}.mockup-card-text{flex-direction:column;gap:.35rem;display:flex}.mockup-card-title{color:#0f172a;font-family:var(--font-display);margin:0;font-size:clamp(1.25rem,1.6vw,1.55rem);font-weight:700;line-height:1.2;transition:color .25s}.dark .mockup-card-title{color:#f8fafc}.mockup-project-card:hover .mockup-card-title{color:var(--primary)}.dark .mockup-project-card:hover .mockup-card-title{color:#60a5fa}.mockup-card-category{color:#64748b;font-family:var(--font-sans);margin:0;font-size:clamp(.85rem,1vw,.95rem);font-weight:450;transition:color .2s}.dark .mockup-card-category{color:#94a3b8}.mockup-arrow{background:var(--primary);border-radius:50%;place-items:center;width:2.35rem;height:2.35rem;display:grid}@supports (color:color-mix(in lab, red, red)){.mockup-arrow{background:color-mix(in oklch, var(--primary) 8%, transparent)}}.mockup-arrow{color:var(--primary);border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.mockup-arrow{border:1px solid color-mix(in oklch, var(--primary) 20%, transparent)}}.mockup-arrow{flex-shrink:0;transition:transform .28s cubic-bezier(.2,.8,.2,1),background .2s,color .2s,border-color .2s,box-shadow .2s}.dark .mockup-arrow{color:#f8fafc;background:#ffffff0f;border:1px solid #ffffff1f}.mockup-project-card:hover .mockup-arrow{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 6px 16px -2px var(--primary);transform:translate(2px,-2px)}@supports (color:color-mix(in lab, red, red)){.mockup-project-card:hover .mockup-arrow{box-shadow:0 6px 16px -2px color-mix(in oklch, var(--primary) 40%, transparent)}}.dark .mockup-project-card:hover .mockup-arrow{background:var(--primary);border-color:var(--primary);color:#fff;box-shadow:0 0 20px #3b82f673}.featured-work-showcase{-webkit-user-select:none;user-select:none;width:100%;margin-top:1.5rem;padding-bottom:2rem;position:relative}.featured-work-viewport{z-index:1;border-radius:1.5rem;width:100%;padding:1.5rem .5rem;position:relative;overflow:hidden}.featured-work-track{will-change:transform;width:100%;transition:transform .65s cubic-bezier(.22,1,.36,1);display:flex}.featured-work-slide{box-sizing:border-box;flex:0 0 100%;width:100%;min-width:100%;padding:.5rem 1rem}.featured-work-wrapper{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:3.5rem;display:grid}.portfolio-card-container{width:100%;transition:transform .4s;position:relative}@media (width>=860px){.portfolio-card-container.item-1.is-baseline{margin-top:5rem}.portfolio-card-container.item-2.is-elevated{margin-top:0;transform:translateY(-1.5rem)}}.portfolio-interactive-card{z-index:2;width:100%;position:relative}.featured-work-controls{justify-content:space-between;align-items:center;width:100%;margin-top:1.5rem;padding:.5rem 1rem;display:flex;position:relative}.featured-work-dots{align-items:center;gap:8px;display:flex;position:absolute;left:50%;transform:translate(-50%)}.featured-work-dot{cursor:pointer;background:#0f172a38;border:none;border-radius:9999px;width:6px;height:6px;margin:0;padding:0;transition:all .32s cubic-bezier(.2,.8,.2,1)}.dark .featured-work-dot{background:#ffffff40}.featured-work-dot.is-active{background:#00a3e0;width:28px;box-shadow:0 2px 10px #00a3e073}.featured-work-dot:hover:not(.is-active){background:#00a3e099;transform:scale(1.3)}.featured-work-nav{z-index:4;align-items:center;gap:12px;margin-left:auto;display:flex}.featured-work-arrow-btn{color:#fff;cursor:pointer;background:#0b1329;border:1px solid #ffffff29;border-radius:50%;justify-content:center;align-items:center;width:48px;height:48px;transition:all .25s cubic-bezier(.2,.8,.2,1);display:inline-flex;box-shadow:0 12px 28px #0b132938}.featured-work-arrow-btn:hover{color:#fff;background:#00a3e0;border-color:#00a3e0;transform:translateY(-3px);box-shadow:0 16px 36px #00a3e066}.featured-work-arrow-btn:active{transform:translateY(-1px)scale(.96)}@media (width<=859px){.featured-work-wrapper{grid-template-columns:1fr;gap:2rem}.portfolio-card-container.item-1.is-baseline,.portfolio-card-container.item-2.is-elevated{margin-top:0;transform:none}.featured-work-controls{flex-direction:column-reverse;gap:1.5rem;margin-top:1rem}.featured-work-dots{position:static;transform:none}.featured-work-nav{justify-content:flex-end;width:100%;margin-left:0}}.work-section-heading{justify-content:space-between;align-items:flex-end;gap:2rem;width:100%;display:flex}.work-section-title-wrap{flex-direction:column;display:flex}.work-header-cta{flex-shrink:0;align-items:center;margin-bottom:.25rem;display:flex}.foursight-link-btn{cursor:pointer;font-family:var(--font-display,inherit);letter-spacing:3px;text-transform:uppercase;color:#0b1329;-webkit-user-select:none;user-select:none;background:0 0;border:none;align-items:center;gap:12px;padding:8px 12px;font-size:.82rem;font-weight:500;line-height:1;text-decoration:none;transition:color .3s;display:inline-flex;position:relative}.dark .foursight-link-btn{color:#f1f5f9}.foursight-link-btn:hover{color:#00a3e0}.foursight-link-btn .btn-text{z-index:2;transition:color .3s;position:relative}.foursight-link-btn .btn-plus-wrap{flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;position:relative}.foursight-link-btn .btn-plus-circle{z-index:1;background:#fff;border-radius:50%;transition:transform .3s cubic-bezier(.2,.8,.2,1),background .3s,box-shadow .3s;position:absolute;inset:0;box-shadow:0 4px 14px #00000014}.dark .foursight-link-btn .btn-plus-circle{background:#ffffff1f;box-shadow:0 4px 14px #00000040}.foursight-link-btn:hover .btn-plus-circle{background:#fff;transform:scale(1.18);box-shadow:0 6px 20px #00a3e04d}.dark .foursight-link-btn:hover .btn-plus-circle{background:#fff3;box-shadow:0 6px 20px #00a3e066}.foursight-link-btn .btn-plus-icon{z-index:2;color:currentColor;justify-content:center;align-items:center;margin-top:-1px;font-family:inherit;font-size:1.25rem;font-weight:300;line-height:1;transition:transform .35s cubic-bezier(.2,.8,.2,1),color .3s;display:inline-flex;position:relative}.foursight-link-btn:hover .btn-plus-icon{color:#00a3e0;transform:rotate(90deg)}.portfolio-load-more-wrap{justify-content:center;align-items:center;width:100%;padding:2rem 0 .5rem;display:flex}.foursight-load-more-btn{padding:10px 16px}@media (width<=768px){.work-section-heading{flex-direction:column;align-items:flex-start;gap:1.25rem}.work-header-cta{width:100%}}.about-section{grid-template-columns:repeat(12,minmax(0,1fr));gap:2rem 1.5rem;display:grid}.about-section .section-heading{grid-column:1/7;display:block}.about-lead{font:500 clamp(1.4rem, 2.4vw, 2.25rem)/1.25 var(--font-display);grid-column:8/13}.capability-grid{background:var(--border);border:1px solid var(--border);grid-column:1/13;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:4rem;display:grid}.capability-grid>a{background:var(--background);min-height:18rem;padding:2rem;transition:background-color .25s}.capability-grid>a:hover{background:var(--accent)}.capability-grid span{color:var(--primary);font:600 1rem var(--font-display)}.capability-grid ul{margin-top:3rem}.capability-grid li{border-bottom:1px solid var(--border);color:var(--muted-foreground);padding:.75rem 0}.contact-section{background:var(--primary);color:var(--primary-foreground);padding:3.75rem max(2.5rem,50vw - 42.5rem) 1.75rem}.contact-section>p{letter-spacing:.15em;text-transform:uppercase;font-size:.75rem}.contact-section h2{font:600 clamp(4rem, 10vw, 9rem)/.85 var(--font-display);margin:1.5rem 0 4rem}.contact-section h2 span{color:#fff}.contact-section.is-compact{padding:3rem max(2.5rem,50vw - 42.5rem) 2rem}.contact-section.is-compact>p{margin-bottom:1.5rem}.contact-section.is-compact .contact-meta{margin-top:2.5rem}.magnetic-link{border:1px solid;align-items:center;gap:.75rem;padding:.85rem 1.25rem;font-weight:600;transition:transform .18s;display:inline-flex}.contact-meta{color:var(--primary-foreground);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.25rem;margin-top:4rem;display:flex}@supports (color:color-mix(in lab, red, red)){.contact-meta{color:color-mix(in oklab, var(--primary-foreground) 75%, transparent)}}.contact-meta{text-transform:uppercase;letter-spacing:.12em;font-size:.72rem}.contact-meta-link{color:#fff;font-weight:700;text-decoration:none;transition:opacity .2s,text-decoration-color .2s}.contact-meta-link:hover{text-underline-offset:3px;opacity:.9;text-decoration:underline}.contact-meta-phones,.contact-meta-socials{align-items:center;gap:.5rem;display:inline-flex}.contact-meta-sep{opacity:.6}.contact-section-dev,.mode-development .contact-section{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.contact-section-dev,.mode-development .contact-section{background:color-mix(in oklab, var(--background) 94%, transparent)}}.contact-section-dev,.mode-development .contact-section{color:var(--foreground);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding-bottom:2rem;transition:background-color .3s,color .3s,border-color .3s}.dark .contact-section-dev,.dark .mode-development .contact-section{border-bottom-color:#ffffff29}.contact-section-dev>p,.mode-development .contact-section>p{color:var(--primary);font-weight:600}.contact-section-dev h2,.mode-development .contact-section h2{color:var(--foreground)}.contact-section-dev h2 span,.mode-development .contact-section h2 span{color:var(--primary)}.contact-section-dev .magnetic-link,.mode-development .contact-section .magnetic-link{color:var(--foreground);border:1px solid var(--border);background:var(--card);transition:all .2s}.contact-section-dev .magnetic-link:hover,.mode-development .contact-section .magnetic-link:hover{background:var(--foreground);color:var(--background);border-color:var(--foreground)}.contact-section-dev .contact-meta,.mode-development .contact-section .contact-meta{color:var(--muted-foreground)}.contact-section-dev .contact-meta-link,.mode-development .contact-section .contact-meta-link{color:var(--foreground);font-weight:600}.contact-section-dev .contact-meta-sep,.mode-development .contact-section .contact-meta-sep{color:var(--border)}.dev-page .contact-section,.dev-page .contact-section.is-compact,.dev-page .contact-section-dev{padding-left:3rem;padding-right:3rem;padding-bottom:5.25rem!important}@media (width<=960px){.dev-page .contact-section,.dev-page .contact-section.is-compact,.dev-page .contact-section-dev{padding-left:1.5rem;padding-right:1.5rem;padding-bottom:4.75rem!important}}@media (width<=767px){.dev-page .contact-section,.dev-page .contact-section.is-compact,.dev-page .contact-section-dev{padding-left:1.25rem;padding-right:1.25rem;padding-bottom:4.25rem!important}}footer,.site-footer{max-width:90rem;color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.1em;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin:0 auto;padding:2rem 2.5rem;font-size:.72rem;display:flex}.footer-social-links{align-items:center;gap:.85rem;display:inline-flex}.footer-social-pill{color:var(--muted-foreground);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.5rem;font-size:.72rem;font-weight:600;text-decoration:none;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex}.footer-social-pill:hover{color:var(--foreground);transform:translateY(-1px)}.footer-icon-bubble{background:#091326;border:1px solid #09132633;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:1.95rem;height:1.95rem;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 3px 10px #09132633;color:#fff!important}.dark .footer-icon-bubble{background:#fff;border-color:#ffffffe6;box-shadow:0 3px 14px #fff3;color:#091326!important}.footer-social-pill:hover .footer-icon-bubble{transform:scale(1.1)}.footer-social-pill:hover .footer-icon-bubble.is-github{background:#000;border-color:#000;box-shadow:0 4px 16px #00000059;color:#fff!important}.dark .footer-social-pill:hover .footer-icon-bubble.is-github{background:#f1f5f9;border-color:#fff;box-shadow:0 4px 18px #fff6;color:#091326!important}.footer-social-pill:hover .footer-icon-bubble.is-linkedin{background:#0a66c2;border-color:#0a66c2;box-shadow:0 4px 16px #0a66c266;color:#fff!important}.dark .footer-social-pill:hover .footer-icon-bubble.is-linkedin{background:#0a66c2;border-color:#0a66c2;box-shadow:0 4px 18px #0a66c28c;color:#fff!important}.footer-social-pill:active .footer-icon-bubble{transform:scale(.95)}.footer-social-label{letter-spacing:.08em;font-weight:600}.footer-social-sep{color:var(--border);opacity:.7;font-size:.85rem}.case-hero,.case-intro,.feature-section,.gallery-section,.case-cta{max-width:90rem;margin:0 auto;padding-left:2.5rem;padding-right:2.5rem}.case-hero{padding-top:5rem}.case-kicker{color:var(--primary);letter-spacing:.18em;text-transform:uppercase;justify-content:space-between;font-size:.72rem;font-weight:700;display:flex}.case-hero h1{font:600 clamp(4.3rem, 12vw, 11rem)/.82 var(--font-display);margin-top:2rem}.case-hero>p{max-width:35rem;color:var(--muted-foreground);font:500 clamp(1.25rem, 2vw, 1.8rem)/1.35 var(--font-display);margin:2.5rem 0 4rem auto}.case-actions{flex-wrap:wrap;gap:.85rem;max-width:35rem;margin:1.75rem 0 3rem auto;display:flex}.case-figma-btn{align-items:center;gap:.5rem;font-weight:600;transition:all .22s;display:inline-flex;color:#b45309!important;background:#f59e0b14!important;border-color:#d9770673!important}.case-figma-btn:hover{transform:translateY(-2px);color:#92400e!important;background:#f59e0b2e!important;border-color:#b45309!important}.dark .case-figma-btn{color:#fbbf24!important;background:#f59e0b1f!important;border-color:#f59e0b73!important}.dark .case-figma-btn:hover{color:#fde68a!important;background:#f59e0b40!important}.case-live-btn{align-items:center;gap:.5rem;font-weight:600;transition:transform .15s;display:inline-flex}.case-live-btn:hover{transform:translateY(-2px)}.case-hero-image{height:min(72vw,52rem);overflow:hidden}.case-hero-image.case-hero-mockup{background:#fff;border:1px solid #0000000f;border-radius:1.5rem;justify-content:center;align-items:center;height:auto;min-height:min(60vw,44rem);padding:3rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 45px -12px #0000001f}.case-hero-image.case-hero-mockup .mockup-backdrop-img{object-fit:cover;object-position:center;pointer-events:none;opacity:.2;z-index:1;filter:none;width:100%;max-width:100%;height:100%;max-height:100%;position:absolute;inset:0}.case-hero-image.case-hero-mockup img:not(.mockup-backdrop-img){z-index:2;object-fit:contain;filter:drop-shadow(0 20px 30px #00000029);width:auto;max-width:90%;height:auto;max-height:580px;position:relative}.case-hero-image img{object-fit:cover;width:100%;height:100%}.case-intro{grid-template-columns:2fr 1fr;gap:6rem;padding-top:8rem;padding-bottom:8rem;display:grid}.case-intro>h2{font-family:var(--font-sans);letter-spacing:-.01em;max-width:52rem;font-size:clamp(1.25rem,1.75vw,1.75rem);font-weight:500;line-height:1.45}.case-intro .case-label{grid-column:1/-1}.case-facts{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.case-facts span{color:var(--primary);text-transform:uppercase;letter-spacing:.15em;margin-bottom:1.2rem;font-size:.68rem;display:block}.case-facts p{border-bottom:1px solid var(--border);color:var(--muted-foreground);padding:.55rem 0;font-size:.85rem}.feature-section{border-top:1px solid var(--border);padding-top:6rem;padding-bottom:6rem}.feature-grid{background:var(--border);border:1px solid var(--border);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:2rem;display:grid}.feature-grid>div{background:var(--background);flex-direction:column;justify-content:space-between;min-height:15rem;padding:1.5rem;display:flex}.feature-grid span{color:var(--primary);font-size:.7rem}.feature-grid h3{font-family:var(--font-sans);font-size:1.3rem;font-weight:500;line-height:1.3}.gallery-section{grid-template-columns:2fr 1fr;gap:1.5rem;padding-top:3rem;padding-bottom:8rem;display:grid}.gallery-section>div{min-height:32rem;overflow:hidden}.gallery-section img{object-fit:cover;width:100%;height:100%}.gallery-crop img{transform:scale(1.5)}.case-cta{border-top:1px solid var(--border);text-align:center;padding-top:7rem;padding-bottom:7rem}.case-cta>span{color:var(--primary);text-transform:uppercase;letter-spacing:.15em;font-size:.7rem}.case-cta h2{font:600 clamp(2.5rem, 5vw, 5rem)/1 var(--font-display);margin:1rem 0 2rem}.case-cta p{color:var(--muted-foreground)}.case-cta-links{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:2rem;display:flex}.next-project{border-top:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:2rem;max-width:90rem;margin:0 auto;padding:3rem 2.5rem;display:grid}.next-project span{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.next-project strong{font:600 clamp(1.6rem, 3vw, 3rem) var(--font-display)}:root{--site-header-offset:5.5rem}@media (width<=960px){:root{--site-header-offset:4.6rem}}@media (width<=767px){:root{--site-header-offset:4.35rem}}.dev-workspace{height:calc(100svh - var(--site-header-offset,5.5rem));max-height:calc(100svh - var(--site-header-offset,5.5rem));background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);box-sizing:border-box;background-size:2rem 2rem;border-inline:0;flex-direction:column;width:100%;max-width:100%;min-height:38rem;margin:0;padding-bottom:1.75rem;font-family:Space Grotesk,sans-serif;display:flex;position:relative;overflow:hidden}.dev-toolbar{z-index:35;border-bottom:1px solid var(--border);background:var(--card);-webkit-backdrop-filter:blur(18px);flex-shrink:0;align-items:stretch;height:2.85rem;display:flex;position:sticky;top:0}.window-controls{box-sizing:border-box;border-right:1px solid var(--border);flex-shrink:0;align-items:center;gap:.45rem;width:15rem;padding:0 1.25rem;display:flex}.window-controls span{background:var(--muted-foreground);border-radius:50%;width:.65rem;height:.65rem}.window-controls span:first-child{background:var(--signal)}.window-controls span:last-child{background:var(--primary)}.dev-tabs{align-items:stretch;height:100%;display:flex;overflow:hidden}.dev-tabs>*{border-right:1px solid var(--border);color:var(--muted-foreground);align-items:center;gap:.45rem;padding:0 1.1rem;font-size:.72rem;display:flex}.dev-tabs .is-current{background:var(--card);color:var(--foreground);border-top:2px solid var(--signal)}.build-state{color:var(--signal);text-transform:uppercase;letter-spacing:.08em;white-space:nowrap;align-items:center;gap:.4rem;padding:0 1.25rem;font-size:.7rem;display:flex}.dev-toolbar .build-state{margin-left:auto;padding:0 1.5rem}.dev-body{background:var(--background);flex:1;grid-template-columns:15rem minmax(0,1fr);min-height:0;display:grid}@supports (color:color-mix(in lab, red, red)){.dev-body{background:color-mix(in oklab, var(--background) 93%, transparent)}}.dev-body{overflow:hidden}.file-tree{border-right:1px solid var(--border);background:var(--card);padding:1rem .85rem}@supports (color:color-mix(in lab, red, red)){.file-tree{background:color-mix(in oklab, var(--card) 85%, transparent)}}.file-tree{box-sizing:border-box;flex-direction:column;height:100%;font-size:.74rem;display:flex;overflow-y:auto}.file-tree p,.file-tree .dev-tree-heading{color:var(--muted-foreground);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .2rem;font-size:.6rem;font-weight:600}.file-tree strong,.file-tree .dev-tree-root{letter-spacing:.08em;margin:.35rem 0 .45rem;font-size:.68rem;display:block}.file-tree a{box-sizing:border-box;width:100%;color:var(--muted-foreground);font-family:var(--font-mono,monospace);white-space:nowrap;border-radius:4px;align-items:center;padding:.35rem .55rem;font-size:.74rem;text-decoration:none;transition:all .18s;display:flex}.file-tree a:hover,.file-tree a.is-active{color:#000;background:oklch(92% .02 250);font-weight:500}.dark .file-tree a:hover,.dark .file-tree a.is-active{color:#fff;background:#ffffff14}.code-stage{box-sizing:border-box;grid-template-columns:3.5rem minmax(0,1fr);height:100%;padding:clamp(.5rem,1.4vh,1.25rem) 0 clamp(.4rem,1vh,.85rem);display:grid;overflow:hidden}.code-lines{text-align:right;color:var(--muted-foreground);padding-right:1.25rem}@supports (color:color-mix(in lab, red, red)){.code-lines{color:color-mix(in oklab, var(--muted-foreground) 45%, transparent)}}.code-lines{-webkit-user-select:none;user-select:none;font:400 .74rem/1.85 DM Sans,sans-serif}.code-content{max-width:70rem;color:var(--muted-foreground);box-sizing:border-box;flex-direction:column;justify-content:center;height:100%;padding:0 clamp(1.5rem,3vw,3rem);font-size:clamp(.74rem,min(.95vw,1.6vh),.88rem);line-height:1.75;display:flex}.code-content>p span{color:var(--primary)}.code-content em{color:#0284c7;font-style:normal}.dark .code-content em{color:var(--signal)}.code-content .indent{padding-left:2rem}.code-content h1{color:var(--foreground);font:500 clamp(4rem, 8.5vw, 8rem)/.89 var(--font-display);letter-spacing:-.06em;margin:clamp(1.25rem,2.5vh,2.2rem) 0 clamp(1.6rem,3vh,2.5rem)}.code-content h1 strong{color:var(--signal);font-weight:500}.code-content .dev-intro{max-width:44rem;color:var(--muted-foreground);font:400 clamp(.88rem, min(1.15vw, 1.75vh), 1.05rem)/1.6 var(--font-sans)}.dev-controls-bar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.85rem 1.5rem;max-width:58rem;margin-top:clamp(1.75rem,3.4vh,2.75rem);display:flex}.dev-actions{align-items:center;gap:.75rem;margin-top:0;display:inline-flex}.dev-actions button,.dev-actions a{height:2.85rem;font-family:var(--font-mono,monospace);letter-spacing:.01em;box-sizing:border-box;border-radius:.5rem;justify-content:center;align-items:center;gap:.55rem;padding:0 1.35rem;font-size:.82rem;font-weight:600;transition:all .25s cubic-bezier(.2,.8,.2,1);display:inline-flex}.dev-status{background:var(--primary);height:1.75rem;color:var(--primary-foreground);box-sizing:border-box;align-items:center;gap:1.5rem;padding:0 1rem;font-size:.65rem;display:flex}.dev-status span{align-items:center;gap:.35rem;display:flex}.dev-status span:nth-last-child(-n+2){margin-left:auto}.dev-status span:last-child{margin-left:0}.dev-mode-switch{border-radius:.5rem;width:23rem;max-width:100%;margin:0;position:static}.dev-project-section{background:0 0;position:relative}.dev-project-section .work-section-heading h2{font-family:var(--font-display)}.dev-glassy-grid{grid-template-columns:repeat(12,minmax(0,1fr));gap:2.25rem 2rem;margin-top:2rem;display:grid}.dev-glass-card{-webkit-backdrop-filter:blur(24px)saturate(180%);background:#ffffffbf;border:1px solid #ffffffd9;border-radius:1.25rem;flex-direction:column;grid-column:span 6;padding:1.15rem;text-decoration:none;transition:transform .45s cubic-bezier(.2,.8,.2,1),border-color .35s,box-shadow .45s,background-color .35s;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 1px 1px #ffffffe6,0 16px 36px -10px #00000014,0 4px 14px -2px #0000000a}.dark .mode-development .dev-glass-card{background:#ffffff0a;border:1px solid #ffffff1f;box-shadow:inset 0 1px 1px #ffffff1f,0 20px 40px -15px #00000059}.dev-glass-card:hover{border-color:#2563eb59;transform:translateY(-5px);box-shadow:0 24px 48px -10px #0000001f,0 8px 20px -4px #0000000f}.dark .mode-development .dev-glass-card:hover{border-color:#ffffff47;box-shadow:inset 0 1px 1px #ffffff40,0 28px 56px -12px #00000080}.dev-glass-stage{aspect-ratio:16/9.5;background:linear-gradient(145deg,#ebf1fcbf 0%,#f8fafe80 100%);border:1px solid #0000000f;border-radius:1rem;justify-content:center;align-items:center;width:100%;padding:2.25rem 1.5rem 1.25rem;transition:all .4s cubic-bezier(.2,.8,.2,1);display:flex;position:relative;overflow:hidden}.dark .mode-development .dev-glass-stage{background:linear-gradient(145deg,#ffffff0d 0%,#ffffff03 100%);border:1px solid #ffffff12}.dev-glass-mockup{z-index:2;object-fit:contain;transform-origin:50%;filter:drop-shadow(0 10px 20px #00000024);will-change:transform;width:auto;max-width:78%;height:auto;max-height:78%;transition:transform .45s cubic-bezier(.25,1,.5,1),filter .4s;display:block;position:relative;transform:scale(1)}.dark .mode-development .dev-glass-mockup{filter:drop-shadow(0 14px 26px #00000059)}.dev-glass-card:hover .dev-glass-mockup{filter:drop-shadow(0 16px 28px #0003);transform:scale(.94)}.dark .mode-development .dev-glass-card:hover .dev-glass-mockup{filter:drop-shadow(0 18px 32px #00000073)}.dev-glass-badges{z-index:3;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:absolute;top:.85rem;left:.85rem;right:.85rem}.dev-glass-context-badge{color:#334155;font:600 .68rem var(--font-display);letter-spacing:.08em;text-transform:uppercase;background:#ffffffd9;border:1px solid #00000014;border-radius:9999px;padding:.3rem .65rem}.dark .mode-development .dev-glass-context-badge{-webkit-backdrop-filter:blur(10px);color:#ffffffe6;background:#0000008c;border:1px solid #ffffff26}.dev-glass-pills-row{pointer-events:auto;align-items:center;gap:.4rem;display:flex}.dev-glass-pill{font:600 .68rem var(--font-display);letter-spacing:.04em;text-transform:uppercase;-webkit-backdrop-filter:blur(10px);cursor:pointer;border-radius:9999px;align-items:center;gap:.3rem;padding:.3rem .65rem;transition:all .2s;display:inline-flex}.dev-glass-pill.pill-figma{color:#92400e;background:linear-gradient(135deg,#fef3c7e6 0%,#fde68ab8 100%);border:1px solid #d9770661;box-shadow:inset 0 1px 1px #fffffff2,0 3px 10px -2px #d977062e}.dev-glass-pill.pill-figma:hover{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-color:#b45309;transform:translateY(-1.5px)scale(1.03);box-shadow:inset 0 1px 1px #fff6,0 8px 18px -2px #d977066b}.dark .dev-glass-pill.pill-figma{color:#fbbf24;background:#f59e0b29;border:1px solid #f59e0b59;box-shadow:inset 0 1px 1px #ffffff24,0 3px 10px -2px #f59e0b33}.dark .dev-glass-pill.pill-figma:hover{color:#fff;background:linear-gradient(135deg,#f59e0b 0%,#d97706 100%);border-color:#fbbf24;transform:translateY(-1.5px)scale(1.03);box-shadow:inset 0 1px 1px #ffffff59,0 8px 20px -2px #f59e0b8c}.dev-glass-pill.pill-live{color:#1d4ed8;background:linear-gradient(135deg,#eff6ffeb 0%,#dbeafebf 100%);border:1px solid #2563eb59;box-shadow:inset 0 1px 1px #fffffff2,0 3px 10px -2px #2563eb2e}.dev-glass-pill.pill-live:hover{color:#fff;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%);border-color:#1e40af;transform:translateY(-1.5px)scale(1.03);box-shadow:inset 0 1px 1px #fff6,0 8px 18px -2px #2563eb73}.dark .dev-glass-pill.pill-live{color:#60a5fa;background:#2563eb2e;border:1px solid #3b82f661;box-shadow:inset 0 1px 1px #ffffff24,0 3px 10px -2px #2563eb38}.dark .dev-glass-pill.pill-live:hover{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#2563eb 100%);border-color:#60a5fa;transform:translateY(-1.5px)scale(1.03);box-shadow:inset 0 1px 1px #ffffff59,0 8px 20px -2px #2563eb8c}.dev-glass-open{color:#0f172a;background:#0000000d;border:1px solid #0000001a;border-radius:9999px;place-items:center;width:1.85rem;height:1.85rem;transition:all .3s;display:grid}.dark .mode-development .dev-glass-open{color:#fff;background:#ffffff1a;border:1px solid #ffffff2e}.dev-glass-card:hover .dev-glass-open{background:var(--signal);color:var(--signal-foreground);border-color:var(--signal);transform:rotate(45deg)}.dev-glass-info{justify-content:space-between;align-items:flex-start;gap:1rem;margin-top:1.25rem;display:flex}.dev-glass-category{color:var(--signal);font:700 .68rem var(--font-display);letter-spacing:.12em;text-transform:uppercase}.dev-glass-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--foreground);margin-top:.3rem;font-size:1.25rem;font-weight:700;transition:color .25s}.dev-glass-card:hover .dev-glass-title{color:var(--signal)}.dev-glass-year{color:var(--muted-foreground);font:600 .75rem var(--font-display);letter-spacing:.06em;padding-top:.15rem}.dev-glass-summary{color:var(--muted-foreground);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-top:.65rem;font-size:.85rem;line-height:1.55;display:-webkit-box;overflow:hidden}@media (width<=900px){.dev-glass-card{grid-column:span 12}}:root,.mode-development{--dev-header-h:4.5rem;--dev-tabs-h:3rem}.dev-page{--dev-header-h:4.5rem;--dev-tabs-h:3rem;background:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-display)}.dev-page-header{z-index:40;height:var(--dev-header-h,4.5rem);border-bottom:1px solid var(--border);background:var(--background);grid-template-columns:minmax(12rem,1fr) auto minmax(12rem,1fr);align-items:center;min-height:4.5rem;padding:0 1.5rem;display:grid;position:sticky;top:0}@supports (color:color-mix(in lab, red, red)){.dev-page-header{background:color-mix(in oklab, var(--background) 88%, transparent)}}.dev-page-header{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.dev-floating-menu{justify-self:end;align-items:center;display:flex}.dev-floating-menu .experience-controls{-webkit-backdrop-filter:blur(40px)saturate(180%);backdrop-filter:blur(40px)saturate(180%);background:#ffffffdb;border:1px solid #ffffffa6;border-radius:999px;align-items:center;gap:.35rem;padding:.32rem .5rem;transition:background .3s,border-color .3s,box-shadow .3s;display:inline-flex;transform:translateZ(0);box-shadow:0 18px 50px #0a12241f}.dark .dev-floating-menu .experience-controls{-webkit-backdrop-filter:blur(30px)saturate(160%);backdrop-filter:blur(30px)saturate(160%);background:#0a1224e0;border:1px solid #ffffff2e;box-shadow:0 18px 42px #0a122440,inset 0 1px #ffffff29}.dev-floating-menu .header-mode-switch{background:0 0;border:none;align-items:center;gap:.2rem;padding:0;display:inline-flex}.dev-floating-menu .header-mode-btn{color:#334155;cursor:pointer;background:0 0;border:none;border-radius:9999px;justify-content:center;align-items:center;width:2.15rem;height:2.15rem;transition:all .22s cubic-bezier(.2,.8,.2,1);display:inline-flex}.dev-floating-menu .header-mode-btn:hover{color:#000;background:#0000000f;transform:scale(1.06)}.dark .dev-floating-menu .header-mode-btn{color:#ffffffb3}.dark .dev-floating-menu .header-mode-btn:hover{color:#fff;background:#ffffff1f;transform:scale(1.06)}.dev-floating-menu .header-mode-btn.is-active,.dark .dev-floating-menu .header-mode-btn.is-active{box-shadow:0 3px 12px #2563eb73;color:#fff!important;background:#2563eb!important}.dev-floating-menu .theme-toggle-btn{color:#0f172a;cursor:pointer;background:#0000000a;border:1px solid #00000014;border-radius:9999px;justify-content:center;align-items:center;width:2.15rem;height:2.15rem;padding:0;transition:all .22s cubic-bezier(.2,.8,.2,1);display:inline-flex}.dev-floating-menu .theme-toggle-btn:hover{color:#000;background:#00000014;border-color:#0003;transform:scale(1.06)}.dark .dev-floating-menu .theme-toggle-btn{color:#fff;background:#ffffff14;border-color:#ffffff26}.dark .dev-floating-menu .theme-toggle-btn:hover{color:#f6c860;background:#ffffff24;border-color:#ffffff47;transform:scale(1.06)}.dev-page-nav{align-items:center;gap:.35rem;display:flex}.dev-page-nav a{color:var(--muted-foreground);border:1px solid #0000;border-radius:9999px;align-items:center;padding:.45rem 1.05rem;font-size:.74rem;font-weight:500;transition:all .2s cubic-bezier(.2,.8,.2,1);display:inline-flex}.dev-page-nav a:hover{color:var(--foreground);background:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.dev-page-nav a:hover{background:color-mix(in oklch, var(--foreground) 6%, transparent)}}.dev-page-nav a.is-active{color:var(--signal);border-color:var(--border);background:var(--card);box-shadow:0 1px 4px #0000000f}.dev-page-tabs{height:var(--dev-tabs-h,3rem);border-bottom:1px solid var(--border);background:var(--card);display:flex}.dev-page>.dev-page-tabs{top:var(--dev-header-h,4.5rem);z-index:35;position:sticky}.dev-page-layout{min-height:calc(100vh - (var(--dev-header-h,4.5rem) + var(--dev-tabs-h,3rem) + 1.75rem));grid-template-columns:15rem minmax(0,1fr);display:grid}.dev-page-tree{top:calc(var(--dev-header-h,4.5rem) + var(--dev-tabs-h,3rem));z-index:20;height:calc(100vh - (var(--dev-header-h,4.5rem) + var(--dev-tabs-h,3rem) + 1.75rem));border-right:1px solid var(--border);background:var(--card);flex-direction:column;padding:1rem .85rem;font-size:.74rem;display:flex;position:sticky}.dev-page-tree p,.dev-page-tree .dev-tree-heading{color:var(--muted-foreground);letter-spacing:.15em;text-transform:uppercase;margin:0 0 .2rem;font-size:.6rem;font-weight:600}.dev-page-tree strong,.dev-page-tree .dev-tree-root{letter-spacing:.08em;margin:.35rem 0 .45rem;font-size:.68rem;display:block}.dev-tree-files{flex-direction:column;gap:.08rem;width:100%;display:flex}.dev-page-tree a{box-sizing:border-box;width:100%;color:var(--muted-foreground);font-family:var(--font-mono,monospace);white-space:nowrap;border-radius:4px;align-items:center;padding:.35rem .55rem;font-size:.74rem;text-decoration:none;transition:all .18s;display:flex}.dev-page-tree a:hover,.dev-page-tree a.is-active{color:#000;background:oklch(92% .02 250);font-weight:500}.dark .dev-page-tree a:hover,.dark .dev-page-tree a.is-active{color:#fff;background:#ffffff14}.dev-tree-socials-group{border-top:1px solid var(--border);margin-top:.75rem;padding-top:.6rem}@supports (color:color-mix(in lab, red, red)){.dev-tree-socials-group{border-top:1px solid color-mix(in oklab, var(--border) 60%, transparent)}}.dev-tree-socials-group{flex-direction:column;gap:.15rem;display:flex}.dev-tree-socials-list{flex-direction:column;gap:.25rem;display:flex}.dev-tree-social-link{color:var(--muted-foreground)!important;font-size:.74rem!important;font-family:var(--font-mono,monospace)!important;border-radius:8px!important;align-items:center!important;gap:.6rem!important;padding:.32rem .5rem!important;text-decoration:none!important;transition:all .22s cubic-bezier(.16,1,.3,1)!important;display:flex!important}.dev-tree-social-link:hover{color:var(--foreground)!important;background:var(--primary)!important}@supports (color:color-mix(in lab, red, red)){.dev-tree-social-link:hover{background:color-mix(in oklab, var(--primary) 8%, transparent)!important}}.dev-tree-social-link:hover{transform:translate(2px)}.dark .dev-tree-social-link:hover{color:#fff!important;background:#ffffff14!important}.dev-tree-social-icon{background:#091326;border:1px solid #09132633;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;transition:all .22s cubic-bezier(.16,1,.3,1);display:inline-flex;box-shadow:0 3px 10px #09132633;color:#fff!important}.dark .dev-tree-social-icon{background:#fff;border-color:#ffffffe6;box-shadow:0 3px 14px #fff3;color:#091326!important}.dev-tree-social-link:hover .dev-tree-social-icon{transform:scale(1.1)}.dev-tree-social-link:hover .dev-tree-social-icon.is-github{background:#000;border-color:#000;box-shadow:0 4px 16px #00000059;color:#fff!important}.dark .dev-tree-social-link:hover .dev-tree-social-icon.is-github{background:#f1f5f9;border-color:#fff;box-shadow:0 4px 18px #fff6;color:#091326!important}.dev-tree-social-link:hover .dev-tree-social-icon.is-linkedin{background:#0a66c2;border-color:#0a66c2;box-shadow:0 4px 16px #0a66c266;color:#fff!important}.dark .dev-tree-social-link:hover .dev-tree-social-icon.is-linkedin{background:#0a66c2;border-color:#0a66c2;box-shadow:0 4px 18px #0a66c28c;color:#fff!important}.dev-tree-social-link:active .dev-tree-social-icon{transform:scale(.95)}.dev-tree-social-label{flex:1;font-weight:500}.dev-tree-social-arrow{opacity:.4;margin-left:auto;transition:opacity .2s,transform .2s}.dev-tree-social-link:hover .dev-tree-social-arrow{opacity:1;transform:translate(1.5px,-1.5px)}.dev-tree-resume-wrap{border-top:1px dashed var(--border);margin-top:.55rem;padding-top:.5rem}@supports (color:color-mix(in lab, red, red)){.dev-tree-resume-wrap{border-top:1px dashed color-mix(in oklab, var(--border) 60%, transparent)}}.dev-floating-resume-btn{cursor:pointer;white-space:nowrap;position:relative;overflow:hidden;color:#fff!important;font-size:.72rem!important;font-family:var(--font-mono,monospace)!important;background:linear-gradient(135deg,#2563eb 0%,#1d4ed8 100%)!important;border:1px solid #ffffff40!important;border-radius:9999px!important;align-items:center!important;gap:.45rem!important;padding:.46rem .65rem!important;text-decoration:none!important;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),background .2s,border-color .2s!important;display:flex!important;box-shadow:0 4px 14px -2px #2563eb73,0 2px 5px -1px #2563eb40!important}.dev-floating-resume-btn:before{content:"";pointer-events:none;border-radius:inherit;background:linear-gradient(135deg,#ffffff47 0%,#0000 60%);position:absolute;inset:0}.dev-floating-resume-btn:hover{transform:translateY(-2px);color:#fff!important;background:linear-gradient(135deg,#1d4ed8 0%,#1e40af 100%)!important;border-color:#ffffff73!important;box-shadow:0 8px 24px -2px #2563eb99,0 0 16px #3b82f666!important}.dev-floating-resume-btn:active{transform:translateY(-.5px);box-shadow:0 3px 10px -2px #2563eb4d!important}.dark .dev-floating-resume-btn{color:#fff!important;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%)!important;border-color:#ffffff40!important;box-shadow:0 4px 18px -2px #3b82f673,inset 0 1px #ffffff40!important}.dark .dev-floating-resume-btn:hover{color:#fff!important;background:linear-gradient(135deg,#60a5fa 0%,#2563eb 100%)!important;border-color:#ffffff80!important;box-shadow:0 8px 28px -2px #3b82f6b3,0 0 20px #60a5fa73!important}.dev-floating-resume-icon{color:#fff;background:#ffffff38;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:1.35rem;height:1.35rem;transition:all .2s;display:inline-flex}.dev-floating-resume-btn:hover .dev-floating-resume-icon{color:#1d4ed8;background:#fff;transform:scale(1.08)rotate(-4deg)}.dark .dev-floating-resume-btn:hover .dev-floating-resume-icon{color:#2563eb;background:#fff}.dev-floating-resume-text{letter-spacing:-.01em;flex:1;font-weight:600;color:#fff!important}.dev-floating-resume-pill{text-transform:uppercase;letter-spacing:.04em;color:#fff;background:#fff3;border:1px solid #ffffff4d;border-radius:9999px;margin-left:auto;padding:.1rem .35rem;font-size:.6rem;font-weight:700;transition:all .2s}.dev-floating-resume-btn:hover .dev-floating-resume-pill{background:#ffffff52;border-color:#ffffff80}.dev-header-socials{align-items:center;gap:.4rem;margin-right:.65rem;display:flex}.dev-header-social-btn{width:2.1rem;height:2.1rem;color:var(--muted-foreground);background:var(--card);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.dev-header-social-btn{background:color-mix(in oklab, var(--card) 85%, transparent)}}.dev-header-social-btn{border:1px solid var(--border);transition:all .2s cubic-bezier(.16,1,.3,1)}.dev-header-social-btn:hover{color:var(--foreground);border-color:var(--primary);transform:translateY(-1px);box-shadow:0 4px 14px #00000014}.dark .dev-header-social-btn{background:#0a1224a6;border-color:#ffffff1f}.dark .dev-header-social-btn:hover{color:#fff;background:#ffffff1a;border-color:#ffffff59}.dev-status{flex-direction:row!important;justify-content:space-between!important;align-items:center!important;display:flex!important}.dev-status-left{align-items:center;gap:1rem;display:flex}.dev-status-right{align-items:center;gap:.75rem;margin-left:auto;display:flex}.dev-status-link{opacity:.85;border-radius:3px;align-items:center;gap:.35rem;padding:.15rem .4rem;font-size:.68rem;transition:opacity .15s,background-color .15s;display:inline-flex;color:inherit!important;text-decoration:none!important}.dev-status-link:hover{opacity:1;background:#ffffff2e}.mobile-menu-socials{border-top:1px solid var(--border);margin-top:1.5rem;padding-top:1.25rem}.mobile-menu-socials-title{letter-spacing:.15em;color:var(--muted-foreground);text-transform:uppercase;margin-bottom:.75rem;font-size:.62rem;font-weight:600;display:block}.mobile-menu-socials-row{flex-direction:column;gap:.5rem;display:flex}.mobile-social-link{background:var(--card);border-radius:8px;align-items:center;gap:.65rem;padding:.65rem .85rem;display:flex}@supports (color:color-mix(in lab, red, red)){.mobile-social-link{background:color-mix(in oklab, var(--card) 90%, transparent)}}.mobile-social-link{border:1px solid var(--border);color:var(--foreground);font-size:.85rem;font-weight:500;text-decoration:none;transition:background .15s}.mobile-social-link:hover{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mobile-social-link:hover{background:color-mix(in oklab, var(--primary) 12%, transparent)}}.dev-page-main{background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:2rem 2rem;min-width:0;padding-bottom:2rem}.dev-page>.dev-status,footer.dev-status{z-index:60!important;box-sizing:border-box!important;background:var(--primary)!important;width:100%!important;max-width:100%!important;height:1.75rem!important;min-height:1.75rem!important;max-height:1.75rem!important;color:var(--primary-foreground)!important;border:0!important;flex-direction:row!important;justify-content:flex-start!important;align-items:center!important;margin:0!important;padding:0 1rem!important;display:flex!important;position:fixed!important;bottom:0!important;left:0!important;right:0!important}.dev-content-hero{border-bottom:1px solid var(--border);background:var(--background);grid-template-columns:4rem minmax(0,1fr);min-height:auto;padding:3.5rem 3rem 3rem;display:grid}@supports (color:color-mix(in lab, red, red)){.dev-content-hero{background:color-mix(in oklab, var(--background) 93%, transparent)}}.dev-line-numbers{text-align:right;color:var(--muted-foreground);padding-right:1.25rem}@supports (color:color-mix(in lab, red, red)){.dev-line-numbers{color:color-mix(in oklab, var(--muted-foreground) 42%, transparent)}}.dev-line-numbers{font:.75rem/2.15 var(--font-sans)}.dev-breadcrumb{color:var(--muted-foreground);font-size:.72rem}.dev-breadcrumb strong,.dev-comment{color:var(--primary)}.dev-comment{font:.75rem var(--font-sans);margin-top:1.5rem}.dev-content-hero h1{max-width:68rem;font:500 clamp(4rem, 8vw, 8rem)/.86 var(--font-display);margin-top:.85rem}.dev-page-intro{max-width:42rem;color:var(--muted-foreground);font:1.15rem/1.65 var(--font-sans);margin-top:1.5rem}.dev-data-section,.dev-readme,.dev-code-cards,.dev-stack-table,.dev-contact-console{border-bottom:1px solid var(--border);background:var(--background);padding:4rem 3rem}@supports (color:color-mix(in lab, red, red)){.dev-data-section,.dev-readme,.dev-code-cards,.dev-stack-table,.dev-contact-console{background:color-mix(in oklab, var(--background) 94%, transparent)}}.dev-section-title{grid-template-columns:3rem minmax(0,1fr) minmax(14rem,26rem);align-items:end;gap:1.5rem;margin-bottom:2.5rem;display:grid}.dev-section-title>span,.dev-section-title div>p{color:var(--primary);font-size:.7rem}.dev-section-title h2{color:var(--signal);font-size:clamp(2.5rem,5vw,5rem);font-weight:500}.dev-section-title>p{color:var(--muted-foreground);font:.9rem/1.5 var(--font-sans)}.dev-project-list{border-top:1px solid var(--border)}.dev-project-row{border-bottom:1px solid var(--border);background:var(--background);grid-template-columns:3rem 12rem minmax(0,1fr) auto;align-items:center;gap:1.5rem;min-height:11rem;padding:1rem;display:grid}.dev-project-row:hover{background:var(--card)}.dev-project-number{color:var(--primary);font-size:.7rem}.dev-project-row img{object-fit:cover;width:100%;height:8rem}.dev-project-row div>span{color:var(--signal);text-transform:uppercase;font-size:.68rem}.dev-project-row h3{margin:.35rem 0;font-size:clamp(1.6rem,3vw,2.8rem)}.dev-project-row p{max-width:38rem;color:var(--muted-foreground);font:.88rem/1.5 var(--font-sans)}.dev-readme{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.dev-readme>div{background:var(--background);min-height:21rem;padding:2rem}.dev-readme span{color:var(--primary)}.dev-readme p,.dev-readme ul{color:var(--muted-foreground);font:1rem/1.7 var(--font-sans);margin-top:3rem}.dev-readme li{border-bottom:1px solid var(--border);padding:.55rem 0}.dev-code-cards{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.dev-code-cards article{background:var(--background);min-height:31rem;padding:2rem}.dev-code-cards article>span,.dev-code-cards b{color:var(--primary)}.dev-code-cards article>p{color:var(--muted-foreground);font-size:.78rem}.dev-code-cards h2{color:var(--signal);margin:2rem 0 4rem;font-size:2rem}.dev-code-cards li{border-bottom:1px solid var(--border);color:var(--muted-foreground);font:.9rem var(--font-sans);padding:.7rem 0}.dev-stack-table{padding-bottom:4rem}.dev-stack-head,.dev-stack-table article{border-bottom:1px solid var(--border);grid-template-columns:1fr 10rem 2fr;gap:2rem;padding:1.25rem;display:grid}.dev-stack-head{color:var(--muted-foreground);text-transform:uppercase;font-size:.65rem}.dev-stack-table article{background:var(--background);align-items:center;min-height:8rem}.dev-stack-table article strong{color:var(--signal)}.dev-stack-table article>span{color:var(--primary)}.dev-stack-table article p{color:var(--muted-foreground);font:.9rem/1.6 var(--font-sans)}.dev-contact-console{padding-bottom:4rem}.dev-console-bar{border:1px solid var(--border);background:var(--card);align-items:center;gap:.45rem;height:3rem;padding:0 1rem;display:flex}.dev-console-bar span{background:var(--muted-foreground);border-radius:50%;width:.65rem;height:.65rem}.dev-console-bar span:first-child{background:var(--signal)}.dev-console-bar span:nth-child(3){background:var(--primary)}.dev-console-bar p{color:var(--muted-foreground);margin-left:1rem;font-size:.7rem}.dev-console-body{border:1px solid var(--border);background:var(--background);min-height:26rem;color:var(--muted-foreground);border-top:0;padding:2rem;line-height:2.2}.dev-console-body b{color:var(--primary)}.dev-console-prompt{margin-top:1rem}.dev-console-prompt:first-child{margin-top:0}.dev-console-out,.dev-console-body p:nth-of-type(2n){color:var(--signal);align-items:center;gap:.5rem;display:flex}.dev-console-body a,.dev-console-link{width:fit-content;max-width:100%;color:var(--foreground);font-family:var(--font-display);white-space:nowrap;word-break:keep-all;overflow-wrap:normal;align-items:center;gap:.55rem;margin:.35rem 0 1rem;font-size:clamp(.85rem,1.15vw,1.05rem);font-weight:500;text-decoration:none;transition:color .2s;display:inline-flex}.dev-console-body a:hover,.dev-console-link:hover{color:var(--primary)}.dev-console-body a svg:first-child,.dev-console-link svg:first-child{color:var(--primary);flex-shrink:0}.dev-console-body a svg:last-child,.dev-console-link svg:last-child{color:var(--muted-foreground);flex-shrink:0;transition:transform .2s,color .2s}.dev-console-body a:hover svg:last-child,.dev-console-link:hover svg:last-child{color:var(--primary);transform:translate(2px,-2px)}.dev-console-phones{flex-direction:column;gap:.35rem;margin-top:.25rem;display:flex}.dev-console-phones a{margin:0}.dev-case{background:var(--background);padding-bottom:1.75rem}@supports (color:color-mix(in lab, red, red)){.dev-case{background:color-mix(in oklab, var(--background) 94%, transparent)}}.dev-back{color:var(--primary);align-items:center;gap:.5rem;margin:2rem 3rem 0;font-size:.72rem;display:inline-flex}.dev-case>header{padding:4rem 3rem}.dev-case>header>p:first-child{color:var(--signal);text-transform:uppercase;align-items:center;gap:.5rem;font-size:.72rem;display:flex}.dev-case>header h1{margin-top:1rem;font-size:clamp(4rem,9vw,9rem);font-weight:500;line-height:.85}.dev-case>header>p:last-child{max-width:40rem;color:var(--muted-foreground);font:1.1rem/1.6 var(--font-sans);margin:2rem 0 0 auto}.dev-case-preview{background:#fff;border:1px solid #00000014;border-radius:1.5rem;justify-content:center;align-items:center;height:auto;min-height:min(48vw,32rem);margin:0 3rem;padding:2.5rem 2rem;display:flex;position:relative;overflow:hidden;box-shadow:0 20px 45px -12px #0000001a}.dark .mode-development .dev-case-preview{background:oklch(16% .015 260);border-color:#ffffff1f;box-shadow:0 20px 45px -12px #0006}.dev-case-preview .mockup-backdrop-img{object-fit:cover;object-position:center;pointer-events:none;opacity:.2;z-index:1;filter:none;width:100%;max-width:100%;height:100%;max-height:100%;position:absolute;inset:0}.dark .mode-development .dev-case-preview .mockup-backdrop-img{opacity:.1;filter:none}.dev-case-preview img:not(.mockup-backdrop-img){z-index:2;object-fit:contain;filter:drop-shadow(0 20px 30px #00000029);width:auto;max-width:82%;height:auto;max-height:420px;position:relative}.dev-case-overview{grid-template-columns:2fr 1fr;gap:5rem;padding:6rem 3rem;display:grid}.dev-case-overview span,.dev-feature-list>p,.dev-case-cta>span{color:var(--primary);font-size:.7rem}.dev-case-overview h2{font-family:var(--font-sans);letter-spacing:-.01em;max-width:52rem;margin-top:1rem;font-size:clamp(1.25rem,1.75vw,1.75rem);font-weight:500;line-height:1.45}.dev-case-meta{grid-template-columns:1fr 1fr;gap:2rem;display:grid}.dev-case-meta p{border-bottom:1px solid var(--border);color:var(--muted-foreground);font:.8rem var(--font-sans);padding:.6rem 0}.dev-feature-list{border-block:1px solid var(--border);padding:5rem 3rem}.dev-feature-list>div{border-bottom:1px solid var(--border);grid-template-columns:4rem 1fr auto;align-items:center;min-height:5.5rem;padding:1.25rem 0;display:grid}.dev-feature-list>div span{color:var(--muted-foreground)}.dev-feature-list h3{font-family:var(--font-sans);letter-spacing:-.01em;font-size:clamp(1.25rem,1.75vw,1.75rem);font-weight:500;line-height:1.45}.dev-feature-list b{color:var(--signal);font-size:.65rem}.dev-case-cta{text-align:center;padding:7rem 3rem}.dev-case-cta h2{margin:1rem 0 2rem;font-size:clamp(2.5rem,5vw,5rem)}.dev-case-cta p{color:var(--muted-foreground)}.dev-next{border-top:1px solid var(--border);grid-template-columns:1fr auto auto;align-items:center;gap:2rem;padding:3rem;display:grid}.dev-next span{color:var(--primary);font-size:.7rem}.dev-next strong{font-size:clamp(1.5rem,3vw,3rem)}.content-page{background:var(--background);min-height:100vh;color:var(--foreground)}.content-hero{border-bottom:1px solid var(--border);max-width:90rem;margin:0 auto;padding:7rem 2.5rem 6rem}.content-hero h1{max-width:68rem;font:600 clamp(4rem, 9vw, 9rem)/.86 var(--font-display)}.content-hero>p:last-child{max-width:40rem;color:var(--muted-foreground);margin:2.5rem 0 0 auto;font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.5}.work-group,.narrative-grid,.capability-page-grid,.tool-stack{border-bottom:1px solid var(--border);max-width:90rem;margin:0 auto;padding:7rem 2.5rem}.work-group-heading{grid-template-columns:4rem minmax(0,1fr) minmax(16rem,28rem);align-items:end;gap:1rem;margin-bottom:3rem;display:grid}.work-group-heading>span{color:var(--primary);font-size:.7rem}.work-group-heading h2{font:600 clamp(3rem, 6vw, 6rem)/.9 var(--font-display)}.work-group-heading p{color:var(--muted-foreground)}.project-list{border-top:1px solid var(--border)}.project-row{border-bottom:1px solid var(--border);grid-template-columns:13rem minmax(0,1fr) auto;align-items:center;gap:2rem;min-height:12rem;padding:1.25rem 0;display:grid}.project-row img{object-fit:cover;width:100%;height:9rem}.project-row>div>span{color:var(--primary);text-transform:uppercase;letter-spacing:.12em;font-size:.68rem;font-weight:700}.project-row h3{font:600 clamp(1.8rem, 3vw, 3.2rem)/1 var(--font-display);margin:.45rem 0}.project-row p{max-width:38rem;color:var(--muted-foreground)}.project-row>svg{transition:transform .25s}.project-row:hover>svg{transform:rotate(45deg)}.narrative-grid{grid-template-columns:7fr 4fr;gap:8rem;display:grid}.narrative-lead{font:500 clamp(2rem, 4vw, 4.2rem)/1.08 var(--font-display)}.narrative-body{max-width:46rem;color:var(--muted-foreground);margin-top:2rem;font-size:1.05rem;line-height:1.75}.narrative-notes{align-content:start;gap:2.5rem;display:grid}.narrative-notes span,.contact-panel span{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:700}.narrative-notes p{color:var(--muted-foreground);margin-top:.75rem;line-height:1.6}.capability-page-grid{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.capability-page-grid article{background:var(--background);min-height:32rem;padding:2rem}.capability-page-grid article>span{color:var(--primary);font-size:.7rem}.capability-page-grid h2{font:600 2rem var(--font-display);margin-top:2rem}.capability-page-grid ul{margin-top:5rem}.capability-page-grid li{border-bottom:1px solid var(--border);color:var(--muted-foreground);padding:.8rem 0}.tool-stack article{border-top:1px solid var(--border);grid-template-columns:1fr 2fr;gap:3rem;padding:3rem 0;display:grid}.tool-stack article>div>span{color:var(--primary);font-size:.7rem}.tool-stack h2{font:600 clamp(2rem, 4vw, 4rem)/1 var(--font-display);margin-top:.75rem}.tool-stack article p{color:var(--muted-foreground);margin-top:1rem}.tool-stack ul{border-top:1px solid var(--border);border-left:1px solid var(--border);grid-template-columns:repeat(3,1fr);display:grid}.tool-stack li{background:var(--background);min-height:7rem;font:500 1.1rem var(--font-display);border-right:1px solid var(--border);border-bottom:1px solid var(--border);place-items:center;padding:1rem;display:grid}.contact-experience-layout{max-width:90rem;margin:0 auto}.contact-form-section{scroll-margin-top:calc(var(--site-header-offset,5.5rem) + .75rem);border-bottom:1px solid var(--border);grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);align-items:start;gap:4.5rem;padding:5rem 2.5rem 5.5rem;display:grid}.contact-section-intro{flex-direction:column;gap:1.25rem;display:flex}.contact-section-eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--primary);align-items:center;gap:.5rem;font-size:.72rem;font-weight:700;display:inline-flex}.contact-section-heading{font:600 clamp(2.4rem, 4.5vw, 3.8rem)/1.06 var(--font-display);letter-spacing:-.04em;color:var(--foreground);margin:0}.contact-section-sub{color:var(--muted-foreground);font:400 clamp(.95rem, 1.2vw, 1.15rem)/1.65 var(--font-sans);max-width:32rem;margin:0}.contact-form-card{background:var(--card);border:1px solid var(--border);border-radius:1.25rem;padding:2.25rem;transition:border-color .3s,box-shadow .3s;position:relative;box-shadow:0 16px 36px -10px #0000000f,0 4px 12px -2px #00000008}.dark .contact-form-card{background:var(--card)}@supports (color:color-mix(in lab, red, red)){.dark .contact-form-card{background:color-mix(in oklab, var(--card) 85%, transparent)}}.dark .contact-form-card{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.dark .contact-form-card{border-color:color-mix(in oklab, var(--border) 140%, transparent)}}.dark .contact-form-card{box-shadow:inset 0 1px 1px #ffffff14,0 24px 50px -15px #0009}.contact-form{flex-direction:column;gap:1.5rem;display:flex}.contact-form-error{background:var(--destructive);border-radius:.5rem;padding:.85rem 1.15rem}@supports (color:color-mix(in lab, red, red)){.contact-form-error{background:color-mix(in oklab, var(--destructive) 14%, transparent)}}.contact-form-error{border:1px solid var(--destructive)}@supports (color:color-mix(in lab, red, red)){.contact-form-error{border:1px solid color-mix(in oklab, var(--destructive) 40%, transparent)}}.contact-form-error{color:var(--destructive);font-size:.85rem;font-weight:500}.form-field-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;display:grid}.form-field{flex-direction:column;gap:.55rem;display:flex}.form-field label{font-family:var(--font-display);letter-spacing:.01em;color:var(--foreground);align-items:center;gap:.25rem;font-size:.85rem;font-weight:600;display:flex}.required-star{color:var(--signal);font-weight:700}.form-input,.form-textarea{box-sizing:border-box;background:var(--background);width:100%}@supports (color:color-mix(in lab, red, red)){.form-input,.form-textarea{background:color-mix(in oklab, var(--background) 70%, transparent)}}.form-input,.form-textarea{border:1px solid var(--border);font-family:var(--font-sans);color:var(--foreground);border-radius:.65rem;padding:.85rem 1.1rem;font-size:.95rem;transition:all .2s}.dark .form-input,.dark .form-textarea{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.dark .form-input,.dark .form-textarea{background:color-mix(in oklab, var(--background) 88%, transparent)}}.form-input:focus,.form-textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary);outline:none}@supports (color:color-mix(in lab, red, red)){.form-input:focus,.form-textarea:focus{box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 22%, transparent)}}.form-input:focus,.form-textarea:focus{background:var(--card)}.form-textarea{resize:vertical;min-height:8.5rem;line-height:1.6}.form-submit-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-top:.5rem;display:flex}.form-submit-btn{height:3.15rem;font-family:var(--font-display);letter-spacing:.02em;align-items:center;gap:.65rem;padding:0 1.75rem;font-size:.92rem;font-weight:600;transition:transform .2s,box-shadow .2s;display:inline-flex}.form-submit-btn:hover:not(:disabled){box-shadow:0 8px 24px -6px var(--primary);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.form-submit-btn:hover:not(:disabled){box-shadow:0 8px 24px -6px color-mix(in oklab, var(--primary) 40%, transparent)}}.contact-form-card.is-success{text-align:center;padding:3.5rem 2.5rem}.contact-form-success{flex-direction:column;align-items:center;gap:1.25rem;max-width:32rem;margin:0 auto;display:flex}.success-icon-badge{background:var(--signal);border-radius:50%;justify-content:center;align-items:center;width:4.25rem;height:4.25rem;display:flex}@supports (color:color-mix(in lab, red, red)){.success-icon-badge{background:color-mix(in oklab, var(--signal) 18%, transparent)}}.success-icon-badge{border:1px solid var(--signal)}@supports (color:color-mix(in lab, red, red)){.success-icon-badge{border:1px solid color-mix(in oklab, var(--signal) 40%, transparent)}}.success-icon-badge{animation:2.2s infinite pulseSuccess}@keyframes pulseSuccess{0%{box-shadow:0 0 0 0 color-mix(in oklab, var(--signal) 30%, transparent);transform:scale(1)}50%{box-shadow:0 0 0 10px color-mix(in oklab, var(--signal) 0%, transparent);transform:scale(1.05)}to{box-shadow:0 0 0 0 color-mix(in oklab, var(--signal) 0%, transparent);transform:scale(1)}}.success-title{font:600 1.75rem/1.2 var(--font-display);color:var(--foreground);margin:0}.success-message{color:var(--muted-foreground);margin:0;font-size:.98rem;line-height:1.65}.success-message strong{color:var(--foreground)}.success-actions{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.success-mail-btn,.success-reset-btn{align-items:center;gap:.5rem;height:2.85rem;display:inline-flex}.contact-panel{border-bottom:1px solid var(--border);background:var(--border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;max-width:90rem;margin:0 auto;padding:4.5rem 2.5rem 6rem;display:grid}.contact-panel>*{background:var(--background);padding:2.25rem 2rem}.contact-panel>a{color:inherit;flex-direction:column;justify-content:space-between;gap:1.5rem;text-decoration:none;transition:background .2s;display:flex}.contact-panel>a:hover{background:var(--card)}@supports (color:color-mix(in lab, red, red)){.contact-panel>a:hover{background:color-mix(in oklab, var(--card) 92%, var(--primary) 8%)}}.contact-panel>a>span:first-child,.contact-info-card>span:first-child{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:700}.contact-link-val{color:var(--foreground);font:600 clamp(.98rem, 1.3vw, 1.3rem) var(--font-display);word-break:break-word;align-items:center;gap:.75rem;display:flex}.contact-link-val svg:first-child{color:var(--primary);flex-shrink:0}.contact-link-val svg:last-child{color:var(--muted-foreground);flex-shrink:0;margin-left:auto;transition:transform .2s,color .2s}.contact-panel>a:hover .contact-link-val svg:last-child{color:var(--primary);transform:translate(2px,-2px)}.contact-status-indicator{align-items:center;gap:.65rem;margin-top:.75rem;display:flex}.contact-status-indicator p{color:var(--muted-foreground);line-height:1.6;margin:0!important}.status-live-pulse{background:#22c55e;border-radius:50%;flex-shrink:0;width:.65rem;height:.65rem;animation:2s infinite livePulse;box-shadow:0 0 #22c55eb3}@keyframes livePulse{0%{box-shadow:0 0 #22c55eb3}70%{box-shadow:0 0 0 8px #22c55e00}to{box-shadow:0 0 #22c55e00}}.contact-info-text{color:var(--muted-foreground);align-items:center;gap:.5rem;margin-top:.75rem;line-height:1.6;display:flex}.contact-info-text svg{color:var(--primary);flex-shrink:0}.dev-contact-hub{border-bottom:1px solid var(--border);background:var(--background);grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:3.5rem;padding:4rem 3rem 5.5rem;scroll-margin-top:5rem;display:grid}@supports (color:color-mix(in lab, red, red)){.dev-contact-hub{background:color-mix(in oklab, var(--background) 94%, transparent)}}.dev-contact-form-column{flex-direction:column;gap:1.75rem;display:flex}.dev-form-header{flex-direction:column;gap:.65rem;display:flex}.dev-form-header .dev-comment{color:var(--primary);font-family:var(--font-mono,monospace);align-items:center;gap:.45rem;margin:0;font-size:.8rem;display:inline-flex}.dev-form-heading{font:600 clamp(2rem, 3.5vw, 3rem)/1.1 var(--font-display);letter-spacing:-.04em;color:var(--foreground);margin:0}.dev-form-sub{color:var(--muted-foreground);font:.95rem/1.6 var(--font-sans);margin:0}.contact-form-card.mode-development{background:var(--card)}@supports (color:color-mix(in lab, red, red)){.contact-form-card.mode-development{background:color-mix(in oklab, var(--card) 95%, transparent)}}.contact-form-card.mode-development{border:1px solid var(--border);border-radius:.75rem}.contact-form-card.mode-development .form-input,.contact-form-card.mode-development .form-textarea{font-family:var(--font-mono,monospace);border-radius:.4rem;font-size:.88rem}.dev-contact-hub .dev-contact-console{padding-bottom:0}.profile-foundation{border-bottom:1px solid var(--border);max-width:90rem;margin:0 auto;padding:5.5rem 2.5rem 6rem;position:relative}.profile-foundation-header{flex-direction:column;align-items:flex-start;margin-bottom:3.5rem;display:inline-flex}.profile-foundation-eyebrow{font-family:var(--font-display);letter-spacing:.2em;text-transform:uppercase;color:var(--primary);font-size:.85rem;font-weight:700}.profile-foundation-line{background:var(--primary);width:3.5rem;height:2.5px;box-shadow:0 0 12px var(--primary);border-radius:9999px;margin-top:.5rem}@supports (color:color-mix(in lab, red, red)){.profile-foundation-line{box-shadow:0 0 12px color-mix(in oklab, var(--primary) 70%, transparent)}}.profile-foundation-grid{grid-template-columns:minmax(300px,390px) minmax(0,1fr);align-items:start;gap:5rem;display:grid}.profile-portrait-col{position:sticky;top:6rem}.profile-portrait-frame{background:var(--card);border:1px solid var(--border);border-radius:1.25rem;position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.profile-portrait-frame{border:1px solid color-mix(in oklab, var(--border) 75%, var(--primary) 25%)}}.profile-portrait-frame{box-shadow:0 0 35px -10px var(--primary), 0 20px 40px -15px #0000001f}@supports (color:color-mix(in lab, red, red)){.profile-portrait-frame{box-shadow:0 0 35px -10px color-mix(in oklab, var(--primary) 22%, transparent), 0 20px 40px -15px #0000001f}}.profile-portrait-frame{transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .4s}.dark .profile-portrait-frame{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.dark .profile-portrait-frame{border-color:color-mix(in oklab, var(--primary) 45%, transparent)}}.dark .profile-portrait-frame{box-shadow:0 0 45px -8px var(--primary), 0 25px 50px -12px #0000008c}@supports (color:color-mix(in lab, red, red)){.dark .profile-portrait-frame{box-shadow:0 0 45px -8px color-mix(in oklab, var(--primary) 35%, transparent), 0 25px 50px -12px #0000008c}}.profile-portrait-frame:hover{border-color:var(--primary);transform:translateY(-4px)}@supports (color:color-mix(in lab, red, red)){.profile-portrait-frame:hover{border-color:color-mix(in oklab, var(--primary) 65%, transparent)}}.profile-portrait-frame:hover{box-shadow:0 0 55px -5px var(--primary), 0 30px 60px -15px #0000004d}@supports (color:color-mix(in lab, red, red)){.profile-portrait-frame:hover{box-shadow:0 0 55px -5px color-mix(in oklab, var(--primary) 45%, transparent), 0 30px 60px -15px #0000004d}}.profile-portrait-img{aspect-ratio:4/5;object-fit:cover;object-position:center 15%;width:100%;transition:transform .6s cubic-bezier(.2,.8,.2,1);display:block}.profile-portrait-frame:hover .profile-portrait-img{transform:scale(1.025)}.profile-headline{font:600 clamp(2.3rem, 4.2vw, 3.8rem)/1.08 var(--font-display);letter-spacing:-.035em;color:var(--foreground)}.profile-headline-accent{color:var(--primary);text-shadow:0 0 35px var(--primary)}@supports (color:color-mix(in lab, red, red)){.profile-headline-accent{text-shadow:0 0 35px color-mix(in oklab, var(--primary) 35%, transparent)}}.profile-bio-text{color:var(--muted-foreground);flex-direction:column;gap:1.25rem;max-width:52rem;margin-top:1.75rem;font-size:1.05rem;line-height:1.75;display:flex}.profile-resume-cta{align-items:center;margin-top:1.75rem;display:flex}.profile-resume-btn{background:var(--primary);font-family:var(--font-display);box-shadow:0 4px 14px var(--primary);border-radius:9999px;align-items:center;gap:.65rem;padding:.72rem 1.35rem;font-size:.88rem;font-weight:600;text-decoration:none;display:inline-flex;color:#fff!important}@supports (color:color-mix(in lab, red, red)){.profile-resume-btn{box-shadow:0 4px 14px color-mix(in oklch, var(--primary) 38%, transparent)}}.profile-resume-btn{transition:all .22s cubic-bezier(.16,1,.3,1)}.profile-resume-btn:hover{box-shadow:0 8px 22px var(--primary);transform:translateY(-2px)}@supports (color:color-mix(in lab, red, red)){.profile-resume-btn:hover{box-shadow:0 8px 22px color-mix(in oklch, var(--primary) 48%, transparent)}}.profile-resume-btn:hover{color:#fff!important}.profile-resume-btn:active{transform:translateY(0)}.profile-resume-pill{letter-spacing:.06em;text-transform:uppercase;background:#ffffff38;border-radius:4px;align-items:center;padding:.12rem .45rem;font-size:.68rem;font-weight:700;display:inline-flex}.profile-cards-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem;margin-top:2.75rem;display:grid}.profile-card{color:var(--foreground);background:#fff;border:1px solid #00000014;border-radius:1.5rem;flex-direction:column;gap:1.15rem;padding:1.75rem;transition:transform .4s cubic-bezier(.2,.8,.2,1),box-shadow .4s,border-color .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 32px -10px #0000000f,0 2px 8px -2px #00000008}.dark .profile-card{color:var(--foreground);background:linear-gradient(#ffffff0a 0%,#ffffff04 100%),#111522;border:1px solid #ffffff1a;box-shadow:inset 0 1px 1px #ffffff1f,0 20px 45px -15px #0009}.profile-card:hover{border-color:#2563eb59;transform:translateY(-6px);box-shadow:0 24px 48px -12px #0000001f,0 4px 12px -2px #0000000d}.dark .profile-card:hover{border-color:#ffffff3d;box-shadow:inset 0 1px 1px #fff3,0 28px 60px -15px #000000bf,0 0 24px -6px #3b82f64d}.dev-page-main .profile-foundation{background:var(--background);max-width:100%;padding:4rem 3rem 4.5rem}@supports (color:color-mix(in lab, red, red)){.dev-page-main .profile-foundation{background:color-mix(in oklab, var(--background) 94%, transparent)}}.profile-card-header{justify-content:flex-start;align-items:center;display:flex}.profile-card-icon-badge{background:var(--primary);border-radius:9999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.profile-card-icon-badge{background:color-mix(in oklab, var(--primary) 14%, transparent)}}.profile-card-icon-badge{color:var(--primary);border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.profile-card-icon-badge{border:1px solid color-mix(in oklab, var(--primary) 26%, transparent)}}.profile-card-icon-badge{flex-shrink:0;transition:transform .3s,background-color .3s,border-color .3s}.profile-card:hover .profile-card-icon-badge{background:var(--primary);transform:scale(1.05)}@supports (color:color-mix(in lab, red, red)){.profile-card:hover .profile-card-icon-badge{background:color-mix(in oklab, var(--primary) 22%, transparent)}}.profile-card:hover .profile-card-icon-badge{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.profile-card:hover .profile-card-icon-badge{border-color:color-mix(in oklab, var(--primary) 45%, transparent)}}.profile-card-icon-img{background-color:var(--primary);width:1.45rem;height:1.45rem;display:block;-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}.profile-card-icon-img.icon-qualification{-webkit-mask-image:url(/icons/qualification.png);mask-image:url(/icons/qualification.png)}.profile-card-icon-img.icon-disciplines{-webkit-mask-image:url(/icons/disciplines.png);mask-image:url(/icons/disciplines.png)}.profile-card-tag{text-transform:uppercase;letter-spacing:.12em;color:var(--primary);font-size:.68rem;font-weight:700}.profile-card-title{font:600 1.25rem/1.25 var(--font-display);color:var(--foreground);margin:0}.profile-card-desc{color:var(--muted-foreground);margin:0;font-size:.92rem;line-height:1.62}.profile-disciplines-stack{flex-direction:column;gap:1.1rem;display:flex}.profile-discipline-item{flex-direction:column;gap:.35rem;display:flex}.profile-discipline-title{font:600 1.05rem/1.25 var(--font-display);color:var(--foreground);align-items:center;gap:.5rem;margin:0;display:flex}.profile-discipline-title .discipline-icon{color:var(--primary);flex-shrink:0}.profile-discipline-divider{background:var(--border);opacity:.6;height:1px}.about-highlights-strip{border-bottom:1px solid var(--border);grid-template-columns:repeat(5,1fr);max-width:90rem;margin:0 auto;display:grid}.about-highlights-strip>div{border-right:1px solid var(--border);padding:2.5rem 1.75rem}.about-highlights-strip>div:last-child{border-right:0}.about-highlights-strip span{color:var(--primary);letter-spacing:.14em;text-transform:uppercase;font-size:.7rem;font-weight:700;display:block}.about-highlights-strip p{color:var(--muted-foreground);margin-top:.75rem;font-size:.88rem;line-height:1.6}.about-principles{border-bottom:1px solid var(--border);grid-template-columns:repeat(3,1fr);max-width:90rem;margin:0 auto;display:grid}.about-principles>div{border-right:1px solid var(--border);min-height:25rem;padding:3rem 2.5rem}.about-principles>div:last-child{border-right:0}.about-principles span{color:var(--primary);font-size:.7rem}.about-principles h2{font:600 2rem/1.1 var(--font-display);margin-top:5rem}.about-principles p{color:var(--muted-foreground);margin-top:1.25rem;line-height:1.65}.dev-sample-note,.sample-bio-note{max-width:90rem;color:var(--muted-foreground);border-bottom:1px solid var(--border);text-transform:uppercase;letter-spacing:.1em;margin:0 auto;padding:1.25rem 2.5rem;font-size:.7rem}.project-browser,.project-advisor,.dev-lab{border-bottom:1px solid var(--border);max-width:90rem;margin:0 auto;padding:3.5rem 2.5rem 3rem}.project-browser.is-development,.dev-page .project-advisor{background:var(--background);padding:3rem}@supports (color:color-mix(in lab, red, red)){.project-browser.is-development,.dev-page .project-advisor{background:color-mix(in oklab, var(--background) 94%, transparent)}}.project-filters{grid-template-columns:minmax(15rem,1.5fr) auto minmax(10rem,1fr) minmax(10rem,1fr) auto;align-items:center;gap:.65rem;margin-bottom:1rem;display:grid}.project-search{border:1px solid var(--border);background:var(--background);align-items:center;gap:.65rem;height:2.75rem;padding:0 .85rem;display:flex}.project-search input{background:0 0;outline:0;width:100%;min-width:0}.project-filters select{border:1px solid var(--border);background:var(--background);width:100%;height:2.75rem;color:var(--foreground);padding:0 .75rem}.filter-segment{border:1px solid var(--border);display:flex}.filter-segment button[aria-pressed=true]{background:var(--primary);color:var(--primary-foreground)}.project-results-meta{color:var(--muted-foreground);text-transform:uppercase;letter-spacing:.1em;justify-content:space-between;margin-bottom:2rem;font-size:.68rem;display:flex}.project-empty{border:1px solid var(--border);min-height:16rem;color:var(--muted-foreground);place-content:center;justify-items:center;gap:1rem;display:grid}.project-browser.is-development .dev-project-row{grid-template-columns:3rem 12rem minmax(0,1fr) auto}.project-advisor{grid-template-columns:minmax(16rem,1fr) minmax(24rem,1.3fr);gap:5rem;display:grid}.advisor-heading{align-items:start;gap:1rem;display:flex}.advisor-heading>svg,.advisor-heading span{color:var(--primary)}.advisor-heading span{text-transform:uppercase;letter-spacing:.12em;font-size:.7rem}.advisor-heading h2{font:600 clamp(2.2rem, 4vw, 4.5rem)/.95 var(--font-display);margin-top:1rem}.project-advisor form label{text-transform:uppercase;margin-bottom:.65rem;font-size:.75rem;display:block}.project-advisor textarea{resize:vertical;border:1px solid var(--border);background:var(--background);width:100%;color:var(--foreground);outline:0;padding:1rem;line-height:1.55}.project-advisor textarea:focus{border-color:var(--primary)}.project-advisor form>div,.advisor-form-actions{justify-content:flex-end;align-items:center;gap:1rem;margin-top:.75rem;display:flex}.advisor-error{color:var(--destructive);grid-column:2}.advisor-results{background:var(--border);grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.advisor-results article{background:var(--background);padding:1.75rem}.advisor-results article>span{color:var(--primary);text-transform:uppercase;font-size:.68rem}.advisor-results h3{font:600 1.6rem var(--font-display);margin:.75rem 0}.advisor-results p{color:var(--muted-foreground);line-height:1.55}.advisor-results ul{margin:1.5rem 0}.advisor-results li{border-bottom:1px solid var(--border);padding:.4rem 0;font-size:.8rem}.advisor-results a{color:var(--primary);gap:.4rem;font-size:.8rem;display:inline-flex}.advisor-spinner{animation:1s linear infinite spin}.dev-lab{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.dev-lab{background:color-mix(in oklab, var(--background) 94%, transparent)}}.dev-lab>header{justify-content:space-between;align-items:start;margin-bottom:2.5rem;display:flex}.dev-lab header span,.dev-lab article>p{color:var(--primary);font-size:.7rem}.dev-lab h2{color:var(--signal);margin-top:.5rem;font-size:clamp(2.5rem,5vw,5rem);font-weight:500}.dev-lab-grid{background:var(--border);grid-template-columns:repeat(3,1fr);gap:1px;display:grid}.dev-lab article{background:var(--background);padding:1.5rem}.dev-lab h3{margin-top:.5rem;font-size:1.2rem}.demo-stage{border:1px solid var(--border);background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);background-size:1.25rem 1.25rem;place-items:center;height:13rem;margin:1.5rem 0;display:grid;overflow:hidden}.demo-controls{flex-wrap:wrap;display:flex}.demo-controls button[aria-pressed=true]{color:var(--signal);background:var(--accent)}.dev-lab label{color:var(--muted-foreground);grid-template-columns:1fr auto;gap:.75rem;font-size:.75rem;display:grid}.dev-lab input[type=range]{width:100%;accent-color:var(--primary);grid-column:1/-1}.motion-stage span{background:var(--signal);width:4rem;height:4rem;transition:transform .35s cubic-bezier(.2,.8,.2,1)}.demo-layout{gap:.5rem;padding:1rem;display:grid}.demo-layout span{background:var(--primary);min-height:2rem}.demo-layout span:nth-child(2n){background:var(--signal)}@keyframes spin{to{transform:rotate(360deg)}}@keyframes content-in{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-18px)rotate(3deg)}}@keyframes mobileFadeIn{0%{opacity:0}to{opacity:1}}@keyframes mobileSlideDown{0%{opacity:0;transform:translateY(-12px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@media (width<=767px){.site-header{justify-content:space-between;align-items:center;gap:.75rem;width:calc(100% - 1.5rem);height:3.6rem;margin:.75rem auto 0;padding:0 .85rem 0 1.25rem;display:flex}.case-header{gap:.75rem;height:3.6rem;padding:0 1rem}.brand-name{display:none}.site-header .site-nav,.site-header .site-contact-btn,.site-header .site-header-resume-btn{display:none!important}.header-mode-switch{background:0 0!important;border:none!important;gap:0!important;padding:0!important;display:inline-flex!important}.dev-floating-menu .header-mode-switch{display:inline-flex!important}.dev-floating-menu .experience-controls{box-shadow:none!important;background:0 0!important;border:none!important;gap:.45rem!important;padding:0!important}.header-mode-btn.is-active,.site-header .header-actions .header-mode-btn.is-active,.dark .site-header .header-actions .header-mode-btn.is-active,.dev-floating-menu .header-mode-btn.is-active{display:none!important}.header-mode-btn:not(.is-active),.site-header .header-actions .header-mode-btn:not(.is-active),.dev-floating-menu .header-mode-btn:not(.is-active){justify-content:center;align-items:center;border:1px solid var(--border)!important;background:var(--card)!important;border-radius:50%!important;width:2.25rem!important;height:2.25rem!important;display:inline-flex!important}@supports (color:color-mix(in lab, red, red)){.header-mode-btn:not(.is-active),.site-header .header-actions .header-mode-btn:not(.is-active),.dev-floating-menu .header-mode-btn:not(.is-active){background:color-mix(in oklab, var(--card) 90%, transparent)!important}}.header-mode-btn:not(.is-active),.site-header .header-actions .header-mode-btn:not(.is-active),.dev-floating-menu .header-mode-btn:not(.is-active){cursor:pointer;transition:background-color .2s,color .2s,transform .2s;color:var(--foreground)!important;box-shadow:none!important}.header-mode-btn:not(.is-active):hover,.site-header .header-actions .header-mode-btn:not(.is-active):hover,.dev-floating-menu .header-mode-btn:not(.is-active):hover{transform:scale(1.06);background:var(--foreground)!important;color:var(--background)!important}.dev-page-header .dev-page-nav{display:none!important}.header-actions,.dev-floating-menu{align-items:center;gap:.45rem;display:flex}.site-header .header-actions .theme-toggle-btn,.dev-floating-menu .theme-toggle-btn{border:1px solid var(--border)!important;background:var(--card)!important;border-radius:50%!important;width:2.25rem!important;height:2.25rem!important}@supports (color:color-mix(in lab, red, red)){.site-header .header-actions .theme-toggle-btn,.dev-floating-menu .theme-toggle-btn{background:color-mix(in oklab, var(--card) 90%, transparent)!important}}.site-header .brand{align-items:center;display:flex}.mobile-menu-btn{border:1px solid var(--border);background:var(--card);border-radius:50%;justify-content:center;align-items:center;width:2.25rem;height:2.25rem;display:inline-flex!important}@supports (color:color-mix(in lab, red, red)){.mobile-menu-btn{background:color-mix(in oklab, var(--card) 90%, transparent)}}.mobile-menu-btn{color:var(--foreground);cursor:pointer;transition:background-color .2s,color .2s,transform .2s}.mobile-menu-btn:hover{background:var(--foreground);color:var(--background)}.mobile-menu-overlay{z-index:1000;-webkit-backdrop-filter:blur(16px);background:#0a1224a6;padding:1rem;animation:.22s ease-out mobileFadeIn;display:flex;position:fixed;inset:0}.mobile-menu-drawer{background:var(--card);border:1px solid var(--border);border-radius:1.25rem;flex-direction:column;gap:1rem;width:100%;max-width:23rem;margin:.5rem auto auto;padding:1.25rem;animation:.28s cubic-bezier(.16,1,.3,1) mobileSlideDown;display:flex;box-shadow:0 20px 50px #00000059}.mobile-menu-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.mobile-menu-brand{text-transform:uppercase;letter-spacing:.14em;color:var(--muted-foreground);font-size:.76rem;font-weight:700}.mobile-menu-close{border:1px solid var(--border);width:2rem;height:2rem;color:var(--foreground);cursor:pointer;background:0 0;border-radius:50%;justify-content:center;align-items:center;display:flex}.mobile-menu-nav{flex-direction:column;gap:.35rem;display:flex}.mobile-menu-nav a{color:var(--foreground);border-radius:.6rem;align-items:center;padding:.75rem 1rem;font-size:1.05rem;font-weight:500;text-decoration:none;transition:background-color .2s,color .2s;display:flex}.mobile-menu-nav a:hover,.mobile-menu-nav a.is-active{background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-nav a:hover,.mobile-menu-nav a.is-active{background:color-mix(in oklch, var(--primary) 14%, transparent)}}.mobile-menu-nav a:hover,.mobile-menu-nav a.is-active{color:var(--primary);font-weight:600}.mobile-menu-contact{margin-top:.5rem;background:var(--foreground)!important;color:var(--background)!important;justify-content:center!important;font-weight:600!important}.mobile-menu-contact:hover{opacity:.92}.mobile-menu-resume{color:var(--foreground);border:1px dashed var(--border);background:var(--card);border-radius:.65rem;align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.95rem;font-weight:500;text-decoration:none;display:flex}@supports (color:color-mix(in lab, red, red)){.mobile-menu-resume{background:color-mix(in oklab, var(--card) 60%, transparent)}}.mobile-menu-resume{margin-top:.25rem;transition:all .2s}.mobile-menu-resume:hover{border-color:var(--primary);background:var(--primary)}@supports (color:color-mix(in lab, red, red)){.mobile-menu-resume:hover{background:color-mix(in oklab, var(--primary) 10%, transparent)}}.mobile-menu-resume:hover{color:var(--primary)}.mobile-social-resume{border-top:1px dashed var(--border);margin-top:.35rem;color:var(--primary)!important;padding-top:.75rem!important}.hero-section{flex-direction:column;align-items:flex-start;gap:0;height:auto;min-height:auto;max-height:none;padding:1.75rem 1.25rem 2.5rem;display:flex}.grid-lines{display:none!important}.hero-meta{order:1;justify-content:space-between;width:100%;margin-bottom:1.5rem;display:flex}.hero-meta span:last-child{display:none}.hero-title-wrap{text-align:left;order:2;align-self:flex-start;width:100%;margin:0 0 .5rem}.hero-title-wrap .eyebrow{letter-spacing:.18em;text-align:left;margin-bottom:.75rem;font-size:.68rem}.hero-title-wrap h1{letter-spacing:-.02em;word-break:break-word;overflow-wrap:break-word;text-align:left;margin:0;font-size:clamp(2.1rem,9.8vw,3.1rem);line-height:1.02}.hero-object{aspect-ratio:1;opacity:1;pointer-events:auto;z-index:2;order:3;align-self:center;width:min(74vw,17.5rem);height:min(74vw,17.5rem);margin:1.25rem auto 1.5rem;position:relative;inset:auto}.hero-side{text-align:left;order:4;align-self:flex-start;width:100%;max-width:100%;padding:0 0 1.25rem}.hero-side p{text-align:left;margin:0;font-size:clamp(.95rem,3.8vw,1.15rem);line-height:1.55}.scroll-cue{text-align:left;align-items:center;gap:.5rem;margin-top:1.25rem;font-size:.75rem;display:inline-flex}.hero-section .mode-switch{order:5;align-self:flex-start;margin-top:.5rem;width:6.5rem!important;height:2.75rem!important}.mode-switch .mode-btn-text{display:none}.mode-switch button .portfolio-icon{margin-right:0!important}.mode-switch{width:6.5rem!important;height:2.75rem!important}.mode-switch button{justify-content:center!important;padding:0!important}.work-section{padding:3.5rem 1.25rem 1.75rem}.about-section{padding:2.5rem 1.25rem 3.5rem}.section-heading{grid-template-columns:1fr;margin-bottom:3rem}.section-heading p{display:none}.project-grid{flex-direction:column;gap:4rem;display:flex}.project-card,.project-card:nth-child(2n),.dev-project-section .project-card,.dev-project-section .project-card:nth-child(2n){grid-column:auto;width:100%;margin-top:0}.project-card:nth-child(2n) .project-image-wrap{aspect-ratio:4/5}.mockup-project-grid{grid-template-columns:1fr;gap:2rem}.about-section .section-heading,.about-lead,.capability-grid{grid-column:1/13}.about-lead{margin-top:0}.capability-grid{grid-template-columns:1fr;margin-top:2rem}.capability-grid>a{min-height:auto}.contact-section{padding:3rem 1.25rem 1.25rem}.contact-section.is-compact{padding:2.25rem 1.25rem 1.5rem}.contact-meta{flex-direction:column;align-items:flex-start;gap:.65rem;margin-top:1.5rem}footer,.site-footer{text-align:left;flex-direction:column;align-items:flex-start;gap:1.25rem;padding:2rem 1.25rem}footer>span,.site-footer>span{text-align:left}.footer-social-links{justify-content:flex-start}.case-hero,.case-intro,.feature-section,.gallery-section,.case-cta{padding-left:1.25rem;padding-right:1.25rem}.case-hero{padding-top:3rem}.case-hero h1{overflow-wrap:anywhere;font-size:clamp(2.75rem,13vw,5rem)}.case-hero>p{margin:2rem 0 3rem}.case-hero-image{height:75vh}.case-intro{grid-template-columns:1fr;gap:3rem;padding-top:5rem;padding-bottom:5rem}.case-facts{grid-template-columns:1fr}.feature-grid{grid-template-columns:1fr 1fr}.feature-grid>div{min-height:11rem}.gallery-section{grid-template-columns:1fr}.gallery-section>div{min-height:25rem}.next-project{grid-template-columns:1fr auto;padding:2rem 1.25rem}.next-project span{grid-column:1/-1}.dev-workspace{border-inline:0;height:auto;min-height:calc(100svh - 4.35rem);max-height:none;overflow:visible}.dev-toolbar{display:flex}.window-controls{width:auto;padding:0 .8rem}.dev-tabs>*{display:none}.dev-tabs .is-current{padding:0 .75rem;display:flex}.build-state{display:none}.dev-body{grid-template-columns:1fr;min-height:calc(100svh - 15.25rem);overflow:visible}.file-tree{display:none}.code-stage{grid-template-columns:2.5rem minmax(0,1fr);height:auto;padding:2rem 0 8rem;overflow:visible}.code-lines{padding-right:.6rem}.code-content{min-width:0;height:auto;padding:0 .75rem;overflow:hidden}.code-content .indent{padding-left:.6rem}.code-content h1{overflow-wrap:anywhere;margin:1.75rem 0 1.5rem;font-size:clamp(2rem,9.5vw,2.8rem);line-height:1.05}.dev-controls-bar{flex-direction:column;align-items:stretch;gap:1rem;margin-top:1.75rem}.dev-actions{grid-template-columns:1fr 1fr;gap:.65rem;width:100%;display:grid}.dev-actions button,.dev-actions a{width:100%;padding:0 .5rem;font-size:.76rem}.dev-status span:nth-child(2),.dev-status span:nth-child(3){display:none}.dev-status span:last-child{margin-left:auto}.dev-mode-switch{align-self:flex-start;position:static;width:6.5rem!important;height:2.75rem!important}.dev-mode-switch button{font-size:.76rem;justify-content:center!important;padding:0!important}.dev-project-section .project-grid{background:0 0;border:0;gap:3rem}.dev-page{--dev-header-h:3.6rem}.dev-page-header{height:var(--dev-header-h);justify-content:space-between;align-items:center;padding:0 1rem;display:flex}.dev-page-header .build-state{display:none}.dev-page-nav{display:none!important}.dev-page-tabs{height:3rem;padding-left:0}.dev-page-layout{grid-template-columns:minmax(0,1fr);min-height:calc(100vh - 12.25rem)}.dev-page-tree{display:none}.dev-page-main{overflow:hidden}.dev-content-hero{grid-template-columns:2.5rem minmax(0,1fr);min-height:auto;padding:2.25rem .75rem 2rem 0}.dev-line-numbers{padding-right:.65rem}.dev-comment{margin-top:1.25rem}.dev-content-hero h1{overflow-wrap:anywhere;font-size:clamp(3rem,14vw,5rem)}.dev-page-intro{margin-top:1.25rem;font-size:1rem}.dev-data-section,.dev-readme,.dev-code-cards,.dev-stack-table,.dev-contact-console{min-width:0;padding:2.5rem 1rem}.dev-readme>div{min-height:auto;padding:1.5rem 1.25rem}.dev-stack-table,.dev-contact-console{padding-bottom:2.5rem}.dev-section-title{grid-template-columns:2rem minmax(0,1fr)}.dev-section-title>div{min-width:0}.dev-section-title h2{overflow-wrap:anywhere;font-size:clamp(2.1rem,11vw,4rem)}.dev-section-title>p{grid-column:2}.dev-project-row{grid-template-columns:2rem 5.5rem minmax(0,1fr);gap:.75rem;padding:.75rem 0}.dev-project-row img{height:6rem}.dev-project-row>svg,.dev-project-row div p{display:none}.dev-project-row h3{overflow-wrap:anywhere;font-size:1.25rem}.dev-readme,.dev-code-cards{grid-template-columns:1fr}.dev-readme>div,.dev-code-cards article{min-height:auto}.dev-stack-head{display:none}.dev-stack-table article{grid-template-columns:1fr auto;gap:.75rem}.dev-stack-table article p{grid-column:1/-1}.dev-console-body{overflow-wrap:anywhere;min-height:auto;padding:1.25rem}.dev-case>header{padding:2.75rem 1rem}.dev-back{margin-left:1rem}.dev-case>header h1{overflow-wrap:anywhere;font-size:clamp(3rem,14vw,5rem)}.dev-case>header>p:last-child{margin-top:1.5rem}.dev-case-preview{border-radius:1rem;height:auto;min-height:16rem;margin:0 1rem;padding:1.5rem 1rem}.dev-case-preview img:not(.mockup-backdrop-img){max-width:94%;max-height:260px}.dev-case-overview{grid-template-columns:1fr;gap:2.5rem;padding:3rem 1rem}.dev-case-meta{grid-template-columns:1fr}.dev-feature-list{padding:3rem 1rem}.dev-feature-list>div{grid-template-columns:2rem 1fr auto;gap:.5rem}.dev-case-cta{padding:3rem 1rem}.dev-next{grid-template-columns:1fr auto;padding:2rem 1rem}.dev-next span{grid-column:1/-1}.profile-foundation{padding:3.5rem 1.25rem 4rem}.profile-foundation-header{margin-bottom:2rem}.profile-foundation-grid{grid-template-columns:1fr;gap:2.5rem}.profile-portrait-col{width:100%;max-width:320px;margin:0 auto;position:static}.profile-headline{font-size:clamp(2rem,8vw,2.75rem)}.profile-cards-grid{grid-template-columns:1fr;gap:1.25rem}.about-highlights-strip{grid-template-columns:1fr}.about-highlights-strip>div{border-right:0;border-bottom:1px solid var(--border);padding:1.75rem 1.25rem}.about-principles,.advisor-results,.dev-lab-grid{grid-template-columns:1fr}.about-principles>div{border-right:0;border-bottom:1px solid var(--border);min-height:auto;padding:3rem 1.25rem}.about-principles h2{margin-top:2.5rem}.sample-bio-note,.dev-sample-note{padding-inline:1.25rem}.project-browser,.project-advisor,.dev-lab,.project-browser.is-development,.dev-page .project-advisor{padding:2rem 1rem 2.25rem}.project-filters{grid-template-columns:1fr auto}.project-search,.filter-segment{grid-column:1/-1}.project-filters label{min-width:0}.filter-segment button{flex:1}.project-browser.is-development .dev-project-row{grid-template-columns:2rem 5.5rem minmax(0,1fr)}.project-advisor{grid-template-columns:1fr;gap:2.5rem}.project-advisor form>div,.advisor-form-actions{justify-content:flex-start}.advisor-error{grid-column:1}.dev-lab-grid{grid-template-columns:1fr}.dev-page-header .dev-floating-menu{display:flex}.case-header-actions>a{display:none}.content-hero{padding:5rem 1.25rem 4rem}.content-hero h1{overflow-wrap:anywhere;font-size:clamp(3.2rem,15vw,5.5rem)}.content-hero>p:last-child{margin-top:2rem}.work-group,.narrative-grid,.capability-page-grid,.tool-stack,.contact-panel{padding:4.5rem 1.25rem}.work-group-heading{grid-template-columns:2.5rem 1fr}.work-group-heading p{grid-column:2}.project-row{grid-template-columns:6rem minmax(0,1fr);gap:1rem}.project-row img{height:7rem}.project-row>svg,.project-row p{display:none}.project-row h3{overflow-wrap:anywhere;font-size:1.5rem}.narrative-grid{grid-template-columns:1fr;gap:4rem}.capability-page-grid{grid-template-columns:1fr;gap:1px}.capability-page-grid article{min-height:auto}.capability-page-grid ul{margin-top:2.5rem}.tool-stack article{grid-template-columns:1fr}.tool-stack ul{grid-template-columns:1fr 1fr}.contact-form-section{scroll-margin-top:calc(var(--site-header-offset,4.6rem) + .75rem);grid-template-columns:1fr;gap:2.75rem;padding:3.5rem 1.25rem 4rem}.contact-section-intro{gap:1rem}.contact-form-card{padding:1.75rem 1.25rem}.form-field-group{grid-template-columns:1fr}.contact-panel{grid-template-columns:1fr;padding:3.5rem 1.25rem 4.5rem}.dev-contact-hub{grid-template-columns:1fr;gap:2.5rem;padding:2.5rem 1.25rem 4rem;scroll-margin-top:4.5rem}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!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-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{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-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}
