@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-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-scroll-snap-strictness:proximity;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-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-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-red-400:#ff6568;--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-sm:24rem;--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--leading-tight:1.25;--leading-snug:1.375;--ease-out:cubic-bezier(0, 0, .2, 1);--animate-pulse:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--blur-3xl:64px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-bg:var(--bg);--color-bg-3:var(--deep-2);--color-teal:var(--accent);--color-text:var(--ink)}@supports (color:lab(0% 0 0)){:root,:host{--color-red-400:lab(63.7053% 60.745 31.3109)}}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.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}.fixed{position:fixed}.relative{position:relative}.sticky{position:sticky}.-inset-3{inset:calc(var(--spacing) * -3)}.inset-0{inset:calc(var(--spacing) * 0)}.inset-8{inset:calc(var(--spacing) * 8)}.top-0{top:calc(var(--spacing) * 0)}.top-1{top:calc(var(--spacing) * 1)}.top-1\.5{top:calc(var(--spacing) * 1.5)}.top-1\/2{top:50%}.top-3{top:calc(var(--spacing) * 3)}.top-4{top:calc(var(--spacing) * 4)}.top-\[66px\]{top:66px}.-right-\[30px\]{right:-30px}.right-0{right:calc(var(--spacing) * 0)}.right-3{right:calc(var(--spacing) * 3)}.right-4{right:calc(var(--spacing) * 4)}.right-6{right:calc(var(--spacing) * 6)}.right-\[14\%\]{right:14%}.bottom-0{bottom:calc(var(--spacing) * 0)}.bottom-3{bottom:calc(var(--spacing) * 3)}.bottom-3\.5{bottom:calc(var(--spacing) * 3.5)}.bottom-6{bottom:calc(var(--spacing) * 6)}.bottom-\[-30\%\]{bottom:-30%}.left-0{left:calc(var(--spacing) * 0)}.left-3{left:calc(var(--spacing) * 3)}.left-4{left:calc(var(--spacing) * 4)}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-\[90\]{z-index:90}.z-\[100\]{z-index:100}.z-\[110\]{z-index:110}.z-\[120\]{z-index:120}.z-\[200\]{z-index:200}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.-mx-6{margin-inline:calc(var(--spacing) * -6)}.mx-auto{margin-inline:auto}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:calc(var(--spacing) * 1)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-12{margin-top:calc(var(--spacing) * 12)}.mt-auto{margin-top:auto}.-mr-5{margin-right:calc(var(--spacing) * -5)}.mb-1{margin-bottom:calc(var(--spacing) * 1)}.mb-1\.5{margin-bottom:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.mb-9{margin-bottom:calc(var(--spacing) * 9)}.mb-11{margin-bottom:calc(var(--spacing) * 11)}.mb-12{margin-bottom:calc(var(--spacing) * 12)}.mb-\[2px\]{margin-bottom:2px}.-ml-5{margin-left:calc(var(--spacing) * -5)}.ml-3{margin-left:calc(var(--spacing) * 3)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-4{-webkit-line-clamp:4;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.table{display:table}.aspect-\[3\/4\]{aspect-ratio:3/4}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-\[4\/5\]{aspect-ratio:4/5}.aspect-\[9\/19\.5\]{aspect-ratio:9/19.5}.aspect-\[16\/11\]{aspect-ratio:16/11}.h-1{height:calc(var(--spacing) * 1)}.h-1\.5{height:calc(var(--spacing) * 1.5)}.h-2{height:calc(var(--spacing) * 2)}.h-2\.5{height:calc(var(--spacing) * 2.5)}.h-3{height:calc(var(--spacing) * 3)}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-4{height:calc(var(--spacing) * 4)}.h-7{height:calc(var(--spacing) * 7)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-11{height:calc(var(--spacing) * 11)}.h-12{height:calc(var(--spacing) * 12)}.h-14{height:calc(var(--spacing) * 14)}.h-16{height:calc(var(--spacing) * 16)}.h-40{height:calc(var(--spacing) * 40)}.h-56{height:calc(var(--spacing) * 56)}.h-60{height:calc(var(--spacing) * 60)}.h-64{height:calc(var(--spacing) * 64)}.h-72{height:calc(var(--spacing) * 72)}.h-\[1px\]{height:1px}.h-\[2px\]{height:2px}.h-\[7px\]{height:7px}.h-\[9px\]{height:9px}.h-\[14px\]{height:14px}.h-\[15px\]{height:15px}.h-\[18px\]{height:18px}.h-\[34px\]{height:34px}.h-\[36px\]{height:36px}.h-\[60px\]{height:60px}.h-\[64px\]{height:64px}.h-\[76vh\]{height:76vh}.h-\[80vh\]{height:80vh}.h-\[250px\]{height:250px}.h-\[280px\]{height:280px}.h-\[560px\]{height:560px}.h-\[clamp\(150px\,30vw\,320px\)\]{height:clamp(150px,30vw,320px)}.h-full{height:100%}.min-h-\[150px\]{min-height:150px}.min-h-\[640px\]{min-height:640px}.min-h-screen{min-height:100vh}.w-2\.5{width:calc(var(--spacing) * 2.5)}.w-3{width:calc(var(--spacing) * 3)}.w-4{width:calc(var(--spacing) * 4)}.w-4\/5{width:80%}.w-7{width:calc(var(--spacing) * 7)}.w-9{width:calc(var(--spacing) * 9)}.w-10{width:calc(var(--spacing) * 10)}.w-11{width:calc(var(--spacing) * 11)}.w-12{width:calc(var(--spacing) * 12)}.w-14{width:calc(var(--spacing) * 14)}.w-16{width:calc(var(--spacing) * 16)}.w-20{width:calc(var(--spacing) * 20)}.w-32{width:calc(var(--spacing) * 32)}.w-44{width:calc(var(--spacing) * 44)}.w-64{width:calc(var(--spacing) * 64)}.w-\[7px\]{width:7px}.w-\[8px\]{width:8px}.w-\[9px\]{width:9px}.w-\[14px\]{width:14px}.w-\[18px\]{width:18px}.w-\[36px\]{width:36px}.w-\[45\%\]{width:45%}.w-\[60\%\]{width:60%}.w-\[64px\]{width:64px}.w-\[100px\]{width:100px}.w-\[120px\]{width:120px}.w-\[min\(86vw\,340px\)\]{width:min(86vw,340px)}.w-\[min\(92vw\,1000px\)\]{width:min(92vw,1000px)}.w-full{width:100%}.w-max{width:max-content}.max-w-\[15ch\]{max-width:15ch}.max-w-\[40\%\]{max-width:40%}.max-w-\[46ch\]{max-width:46ch}.max-w-\[62ch\]{max-width:62ch}.max-w-\[400px\]{max-width:400px}.max-w-\[460px\]{max-width:460px}.max-w-\[560px\]{max-width:560px}.max-w-\[640px\]{max-width:640px}.max-w-\[720px\]{max-width:720px}.max-w-\[1080px\]{max-width:1080px}.max-w-\[1140px\]{max-width:1140px}.max-w-sm{max-width:var(--container-sm)}.min-w-0{min-width:calc(var(--spacing) * 0)}.min-w-\[34px\]{min-width:34px}.min-w-\[36px\]{min-width:36px}.min-w-\[170px\]{min-width:170px}.min-w-\[210px\]{min-width:210px}.min-w-\[220px\]{min-width:220px}.min-w-\[230px\]{min-width:230px}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.grow{flex-grow:1}.origin-left{transform-origin:0}.-translate-y-1{--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1 / 2 * 100%) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.-translate-y-\[7px\]{--tw-translate-y:calc(7px * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-0{--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-3{--tw-translate-y:calc(var(--spacing) * 3);translate:var(--tw-translate-x) var(--tw-translate-y)}.translate-y-\[7px\]{--tw-translate-y:7px;translate:var(--tw-translate-x) var(--tw-translate-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.-rotate-3{rotate:-3deg}.-rotate-45{rotate:-45deg}.rotate-3{rotate:3deg}.rotate-45{rotate:45deg}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.transform-gpu{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.animate-\[marquee-left_50s_linear_infinite\]{animation:50s linear infinite marquee-left}.animate-\[marquee-left_85s_linear_infinite\]{animation:85s linear infinite marquee-left}.animate-\[marquee-right_42s_linear_infinite\]{animation:42s linear infinite marquee-right}.animate-pulse{animation:var(--animate-pulse)}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize{resize:both}.snap-x{scroll-snap-type:x var(--tw-scroll-snap-strictness)}.snap-start{scroll-snap-align:start}.scroll-mt-\[80px\]{scroll-margin-top:80px}.list-none{list-style-type:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.place-items-center{place-items:center}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.items-stretch{align-items:stretch}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1{gap:calc(var(--spacing) * 1)}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-3\.5{gap:calc(var(--spacing) * 3.5)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}.gap-10{gap:calc(var(--spacing) * 10)}.gap-12{gap:calc(var(--spacing) * 12)}.gap-16{gap:calc(var(--spacing) * 16)}.gap-\[5px\]{gap:5px}:where(.space-y-2\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2.5) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-border>:not(:last-child)){border-color:var(--line)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-\[3px\]{border-radius:3px}.rounded-\[4px\]{border-radius:4px}.rounded-\[6px\]{border-radius:6px}.rounded-\[7px\]{border-radius:7px}.rounded-\[8px\]{border-radius:8px}.rounded-\[9px\]{border-radius:9px}.rounded-\[10px\]{border-radius:10px}.rounded-\[11px\]{border-radius:11px}.rounded-\[12px\]{border-radius:12px}.rounded-\[14px\]{border-radius:14px}.rounded-\[16px\]{border-radius:16px}.rounded-\[18px\]{border-radius:18px}.rounded-\[20px\]{border-radius:20px}.rounded-\[24px\]{border-radius:24px}.rounded-\[28px\]{border-radius:28px}.rounded-\[40\%\]{border-radius:40%}.rounded-\[999px\]{border-radius:999px}.rounded-full{border-radius:3.40282e38px}.rounded-t-\[3px\]{border-top-left-radius:3px;border-top-right-radius:3px}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[3px\]{border-style:var(--tw-border-style);border-width:3px}.border-\[5px\]{border-style:var(--tw-border-style);border-width:5px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-none{--tw-border-style:none;border-style:none}.border-\[var\(--border-strong\,var\(--border\)\)\]{border-color:var(--border-strong,var(--border))}.border-\[var\(--code-border\)\]{border-color:var(--code-border)}.border-bg-3{border-color:var(--deep-2)}.border-border{border-color:var(--line)}.border-surface{border-color:var(--paper)}.border-teal{border-color:var(--accent)}.border-teal-3{border-color:var(--line)}.border-teal\/15{border-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.border-teal\/15{border-color:color-mix(in oklab, var(--accent) 15%, transparent)}}.border-transparent{border-color:#0000}.bg-\[\#27c93f\]{background-color:#27c93f}.bg-\[\#ff5f56\]{background-color:#ff5f56}.bg-\[\#ffbd2e\]{background-color:#ffbd2e}.bg-\[var\(--code-bg\)\]{background-color:var(--code-bg)}.bg-\[var\(--code-prompt\)\]{background-color:var(--code-prompt)}.bg-\[var\(--code-term-bg\)\]{background-color:var(--code-term-bg)}.bg-\[var\(--code-titlebar\)\]{background-color:var(--code-titlebar)}.bg-bg{background-color:var(--bg)}.bg-bg-3{background-color:var(--deep-2)}.bg-bg\/0{background-color:var(--bg)}@supports (color:color-mix(in lab, red, red)){.bg-bg\/0{background-color:color-mix(in oklab, var(--bg) 0%, transparent)}}.bg-bg\/85{background-color:var(--bg)}@supports (color:color-mix(in lab, red, red)){.bg-bg\/85{background-color:color-mix(in oklab, var(--bg) 85%, transparent)}}.bg-black\/80{background-color:#000c}@supports (color:color-mix(in lab, red, red)){.bg-black\/80{background-color:color-mix(in oklab, var(--color-black) 80%, transparent)}}.bg-black\/85{background-color:#000000d9}@supports (color:color-mix(in lab, red, red)){.bg-black\/85{background-color:color-mix(in oklab, var(--color-black) 85%, transparent)}}.bg-dim{background-color:var(--line)}.bg-surface,.bg-surface\/40{background-color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.bg-surface\/40{background-color:color-mix(in oklab, var(--paper) 40%, transparent)}}.bg-surface\/80{background-color:var(--paper)}@supports (color:color-mix(in lab, red, red)){.bg-surface\/80{background-color:color-mix(in oklab, var(--paper) 80%, transparent)}}.bg-teal,.bg-teal\/6{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-teal\/6{background-color:color-mix(in oklab, var(--accent) 6%, transparent)}}.bg-teal\/8{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-teal\/8{background-color:color-mix(in oklab, var(--accent) 8%, transparent)}}.bg-teal\/14{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-teal\/14{background-color:color-mix(in oklab, var(--accent) 14%, transparent)}}.bg-teal\/60{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-teal\/60{background-color:color-mix(in oklab, var(--accent) 60%, transparent)}}.bg-teal\/70{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.bg-teal\/70{background-color:color-mix(in oklab, var(--accent) 70%, transparent)}}.bg-transparent{background-color:#0000}.bg-white\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\/10{background-color:color-mix(in oklab, var(--color-white) 10%, transparent)}}.bg-white\/95{background-color:#fffffff2}@supports (color:color-mix(in lab, red, red)){.bg-white\/95{background-color:color-mix(in oklab, var(--color-white) 95%, transparent)}}.bg-linear-to-r{--tw-gradient-position:to right}@supports (background-image:linear-gradient(in lab, red, red)){.bg-linear-to-r{--tw-gradient-position:to right in oklab}}.bg-linear-to-r{background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-t{--tw-gradient-position:to top in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-bg{--tw-gradient-from:var(--bg);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-bg\/85{--tw-gradient-from:var(--bg)}@supports (color:color-mix(in lab, red, red)){.from-bg\/85{--tw-gradient-from:color-mix(in oklab, var(--bg) 85%, transparent)}}.from-bg\/85{--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.from-10\%{--tw-gradient-from-position:10%}.via-bg\/15{--tw-gradient-via:var(--bg)}@supports (color:color-mix(in lab, red, red)){.via-bg\/15{--tw-gradient-via:color-mix(in oklab, var(--bg) 15%, transparent)}}.via-bg\/15{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-bg\/25{--tw-gradient-via:var(--bg)}@supports (color:color-mix(in lab, red, red)){.via-bg\/25{--tw-gradient-via:color-mix(in oklab, var(--bg) 25%, transparent)}}.via-bg\/25{--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-border{--tw-gradient-via:var(--line);--tw-gradient-via-stops:var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-via) var(--tw-gradient-via-position), var(--tw-gradient-to) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-45\%{--tw-gradient-via-position:45%}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position), var(--tw-gradient-from) var(--tw-gradient-from-position), var(--tw-gradient-to) var(--tw-gradient-to-position))}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-top{object-position:top}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-3\.5{padding:calc(var(--spacing) * 3.5)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-7{padding:calc(var(--spacing) * 7)}.p-8{padding:calc(var(--spacing) * 8)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-3\.5{padding-inline:calc(var(--spacing) * 3.5)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-6{padding-inline:calc(var(--spacing) * 6)}.px-7{padding-inline:calc(var(--spacing) * 7)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-1{padding-block:calc(var(--spacing) * 1)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-2\.5{padding-block:calc(var(--spacing) * 2.5)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-5{padding-block:calc(var(--spacing) * 5)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-12{padding-block:calc(var(--spacing) * 12)}.py-24{padding-block:calc(var(--spacing) * 24)}.py-28{padding-block:calc(var(--spacing) * 28)}.pt-5{padding-top:calc(var(--spacing) * 5)}.pt-8{padding-top:calc(var(--spacing) * 8)}.pt-\[60px\]{padding-top:60px}.pr-3{padding-right:calc(var(--spacing) * 3)}.pr-5{padding-right:calc(var(--spacing) * 5)}.pb-2{padding-bottom:calc(var(--spacing) * 2)}.pb-3{padding-bottom:calc(var(--spacing) * 3)}.pl-1\.5{padding-left:calc(var(--spacing) * 1.5)}.pl-2{padding-left:calc(var(--spacing) * 2)}.pl-\[2px\]{padding-left:2px}.pl-\[14px\]{padding-left:14px}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-mono)}.font-sans{font-family:var(--font-sans)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-\[0\.92rem\]{font-size:.92rem}.text-\[0\.95rem\]{font-size:.95rem}.text-\[1\.1rem\]{font-size:1.1rem}.text-\[1\.02rem\]{font-size:1.02rem}.text-\[1\.2rem\]{font-size:1.2rem}.text-\[1\.3rem\]{font-size:1.3rem}.text-\[1\.4rem\]{font-size:1.4rem}.text-\[1\.05rem\]{font-size:1.05rem}.text-\[1\.5rem\]{font-size:1.5rem}.text-\[1\.6rem\]{font-size:1.6rem}.text-\[1\.8rem\]{font-size:1.8rem}.text-\[1rem\]{font-size:1rem}.text-\[2rem\]{font-size:2rem}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10\.5px\]{font-size:10.5px}.text-\[10px\]{font-size:10px}.text-\[11\.5px\]{font-size:11.5px}.text-\[11px\]{font-size:11px}.text-\[12\.5px\]{font-size:12.5px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[15px\]{font-size:15px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[clamp\(2\.6rem\,6\.2vw\,4\.6rem\)\]{font-size:clamp(2.6rem,6.2vw,4.6rem)}.leading-\[1\.02\]{--tw-leading:1.02;line-height:1.02}.leading-\[1\.4\]{--tw-leading:1.4;line-height:1.4}.leading-\[1\.6\]{--tw-leading:1.6;line-height:1.6}.leading-\[1\.7\]{--tw-leading:1.7;line-height:1.7}.leading-\[1\.8\]{--tw-leading:1.8;line-height:1.8}.leading-\[1\.9\]{--tw-leading:1.9;line-height:1.9}.leading-\[1\.15\]{--tw-leading:1.15;line-height:1.15}.leading-\[1\.75\]{--tw-leading:1.75;line-height:1.75}.leading-\[1\.85\]{--tw-leading:1.85;line-height:1.85}.leading-none{--tw-leading:1;line-height:1}.leading-snug{--tw-leading:var(--leading-snug);line-height:var(--leading-snug)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[-0\.01em\]{--tw-tracking:-.01em;letter-spacing:-.01em}.tracking-\[-0\.015em\]{--tw-tracking:-.015em;letter-spacing:-.015em}.tracking-\[0\.1em\]{--tw-tracking:.1em;letter-spacing:.1em}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.04em\]{--tw-tracking:.04em;letter-spacing:.04em}.tracking-\[0\.05em\]{--tw-tracking:.05em;letter-spacing:.05em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.12em\]{--tw-tracking:.12em;letter-spacing:.12em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-\[0\.18em\]{--tw-tracking:.18em;letter-spacing:.18em}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.text-\[var\(--code-base\)\]{color:var(--code-base)}.text-\[var\(--code-line\)\]{color:var(--code-line)}.text-\[var\(--code-punc\)\]{color:var(--code-punc)}.text-bg,.text-bg\/70{color:var(--bg)}@supports (color:color-mix(in lab, red, red)){.text-bg\/70{color:color-mix(in oklab, var(--bg) 70%, transparent)}}.text-muted{color:var(--muted)}.text-red-400{color:var(--color-red-400)}.text-teal,.text-teal-2{color:var(--accent)}.text-teal-3{color:var(--line)}.text-text{color:var(--ink)}.text-text-2{color:var(--ink-soft)}.text-text-3{color:var(--muted)}.text-text\/85{color:var(--ink)}@supports (color:color-mix(in lab, red, red)){.text-text\/85{color:color-mix(in oklab, var(--ink) 85%, transparent)}}.text-white{color:var(--color-white)}.text-white\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\/70{color:color-mix(in oklab, var(--color-white) 70%, transparent)}}.uppercase{text-transform:uppercase}.no-underline{text-decoration-line:none}.opacity-0{opacity:0}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.opacity-100{opacity:1}.opacity-\[0\.08\]{opacity:.08}.shadow-\[0_12px_40px_-12px_rgba\(0\,0\,0\,0\.5\)\]{--tw-shadow:0 12px 40px -12px var(--tw-shadow-color,#00000080);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_14px_34px_-10px_rgba\(0\,0\,0\,0\.65\)\]{--tw-shadow:0 14px 34px -10px var(--tw-shadow-color,#000000a6);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_20px_50px_-15px_rgba\(0\,0\,0\,0\.6\)\]{--tw-shadow:0 20px 50px -15px var(--tw-shadow-color,#0009);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-\[0_24px_60px_-20px_rgba\(0\,0\,0\,0\.45\)\]{--tw-shadow:0 24px 60px -20px var(--tw-shadow-color,#00000073);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-1{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.ring-2{--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)}.ring-black\/5{--tw-ring-color:#0000000d}@supports (color:color-mix(in lab, red, red)){.ring-black\/5{--tw-ring-color:color-mix(in oklab, var(--color-black) 5%, transparent)}}.ring-border{--tw-ring-color:var(--line)}.ring-teal,.ring-teal\/30{--tw-ring-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.ring-teal\/30{--tw-ring-color:color-mix(in oklab, var(--accent) 30%, transparent)}}.ring-offset-2{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.ring-offset-bg{--tw-ring-offset-color:var(--bg)}.blur-3xl{--tw-blur:blur(var(--blur-3xl));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,)}.backdrop-blur-\[20px\]{--tw-backdrop-blur:blur(20px);-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition-all{transition-property:all;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))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.\[transition\:transform_0\.25s_ease\,border-color_0\.25s_ease\]{transition:transform .25s,border-color .25s}@media (hover:hover){.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing) * 1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * -1);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:translate-y-0:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing) * 0);translate:var(--tw-translate-x) var(--tw-translate-y)}.group-hover\:scale-105:is(:where(.group):hover *){--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x) var(--tw-scale-y)}.group-hover\:bg-bg\/15:is(:where(.group):hover *){background-color:var(--bg)}@supports (color:color-mix(in lab, red, red)){.group-hover\:bg-bg\/15:is(:where(.group):hover *){background-color:color-mix(in oklab, var(--bg) 15%, transparent)}}.group-hover\:text-teal:is(:where(.group):hover *){color:var(--accent)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:-translate-y-0\.5:hover{--tw-translate-y:calc(var(--spacing) * -.5);translate:var(--tw-translate-x) var(--tw-translate-y)}.hover\:scale-110:hover{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x) var(--tw-scale-y)}.hover\:border-teal:hover{border-color:var(--accent)}.hover\:border-teal-3:hover{border-color:var(--line)}.hover\:bg-surface:hover{background-color:var(--paper)}.hover\:bg-teal:hover,.hover\:bg-teal-hover:hover,.hover\:bg-teal\/6:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-teal\/6:hover{background-color:color-mix(in oklab, var(--accent) 6%, transparent)}}.hover\:bg-teal\/15:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-teal\/15:hover{background-color:color-mix(in oklab, var(--accent) 15%, transparent)}}.hover\:bg-teal\/22:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\:bg-teal\/22:hover{background-color:color-mix(in oklab, var(--accent) 22%, transparent)}}.hover\:bg-white\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\:bg-white\/20:hover{background-color:color-mix(in oklab, var(--color-white) 20%, transparent)}}.hover\:text-\[var\(--code-base\)\]:hover{color:var(--code-base)}.hover\:text-teal:hover{color:var(--accent)}.hover\:text-text:hover{color:var(--ink)}.hover\:\[animation-play-state\:paused\]:hover{animation-play-state:paused}}.focus\:border-teal-3:focus{border-color:var(--line)}.disabled\:opacity-60:disabled{opacity:.6}@media (min-width:40rem){.sm\:right-6{right:calc(var(--spacing) * 6)}.sm\:left-6{left:calc(var(--spacing) * 6)}.sm\:block{display:block}.sm\:w-\[116px\]{width:116px}.sm\:w-\[150px\]{width:150px}.sm\:w-auto{width:auto}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:48rem){.md\:right-10{right:calc(var(--spacing) * 10)}.md\:order-2{order:2}.md\:mx-0{margin-inline:calc(var(--spacing) * 0)}.md\:mr-9{margin-right:calc(var(--spacing) * 9)}.md\:block{display:block}.md\:inline-flex{display:inline-flex}.md\:h-72{height:calc(var(--spacing) * 72)}.md\:h-80{height:calc(var(--spacing) * 80)}.md\:h-\[270px\]{height:270px}.md\:h-\[300px\]{height:300px}.md\:h-\[620px\]{height:620px}.md\:h-auto{height:auto}.md\:min-h-\[320px\]{min-height:320px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:items-start{align-items:flex-start}.md\:justify-between{justify-content:space-between}.md\:justify-end{justify-content:flex-end}.md\:gap-0{gap:calc(var(--spacing) * 0)}.md\:gap-10{gap:calc(var(--spacing) * 10)}.md\:p-7{padding:calc(var(--spacing) * 7)}.md\:p-8{padding:calc(var(--spacing) * 8)}.md\:p-9{padding:calc(var(--spacing) * 9)}.md\:px-5{padding-inline:calc(var(--spacing) * 5)}.md\:px-8{padding-inline:calc(var(--spacing) * 8)}.md\:px-10{padding-inline:calc(var(--spacing) * 10)}.md\:pr-14{padding-right:calc(var(--spacing) * 14)}.md\:text-\[1\.6rem\]{font-size:1.6rem}.md\:text-\[1\.9rem\]{font-size:1.9rem}.md\:text-\[12\.5px\]{font-size:12.5px}}@media (min-width:64rem){.lg\:sticky{position:sticky}.lg\:top-24{top:calc(var(--spacing) * 24)}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mx-0{margin-inline:calc(var(--spacing) * 0)}.lg\:block{display:block}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:min-w-0{min-width:calc(var(--spacing) * 0)}.lg\:shrink{flex-shrink:1}.lg\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-\[1\.5fr_1fr\]{grid-template-columns:1.5fr 1fr}.lg\:grid-cols-\[1fr_360px\]{grid-template-columns:1fr 360px}.lg\:grid-cols-\[260px_1fr\]{grid-template-columns:260px 1fr}.lg\:grid-cols-\[minmax\(0\,330px\)_1fr\]{grid-template-columns:minmax(0,330px) 1fr}.lg\:flex-col{flex-direction:column}.lg\:gap-16{gap:calc(var(--spacing) * 16)}.lg\:overflow-visible{overflow:visible}.lg\:px-0{padding-inline:calc(var(--spacing) * 0)}.lg\:pb-0{padding-bottom:calc(var(--spacing) * 0)}}}:root{--bg:#f5f3ee;--paper:#fffefa;--ink:#1c2527;--ink-soft:#405053;--muted:#6d7979;--line:#d5d9d5;--accent:#5668d8;--accent-light:#e6e9ff;--deep:#192729;--deep-2:#263b3d;--lime:#e0eb93;--shell:1160px;--gutter:clamp(22px,4vw,60px);--ease:cubic-bezier(.22,1,.36,1)}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font:15px/1.6 Segoe UI,Arial,sans-serif;overflow-x:clip}body.is-leaving{opacity:0;transition:opacity .22s}body:not(.is-leaving){animation:.55s both page-arrive}@keyframes page-arrive{0%{opacity:0}to{opacity:1}}img{max-width:100%;display:block}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer}a{color:inherit;text-decoration:none}h1,h2,h3,p,figure{margin:0}h1,h2,h3{line-height:1.02}h1,h2,h3,.hero-copy h1,.selected-details strong{font-family:Arial,Helvetica Neue,sans-serif}em{letter-spacing:-.075em;font-family:Georgia,Times New Roman,serif;font-weight:400}[hidden]{display:none!important}::selection{color:#152123;background:#dce690}.shell{width:min(calc(100% - var(--gutter)*2),var(--shell));margin-inline:auto}.skip-link{z-index:100;background:var(--deep);color:#fff;padding:10px 15px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}:focus-visible{outline:3px solid var(--accent);outline-offset:4px}.eyebrow{letter-spacing:.14em;text-transform:uppercase;color:var(--accent);align-items:center;gap:9px;font:600 10px/1.5 Consolas,Courier New,monospace;display:flex}.eyebrow-line{background:currentColor;width:24px;height:1px;display:inline-block}.availability-dot{background:#72a76a;border-radius:50%;flex:none;width:6px;height:6px;margin-left:10px;display:inline-block;box-shadow:0 0 0 4px #72a76a24}.site-header{z-index:50;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f5f3eee8;border-bottom:1px solid #d7dbd7df;position:sticky;top:0}.header-inner{justify-content:space-between;align-items:center;gap:24px;min-height:82px;display:flex}.brand{flex:none;align-items:center;gap:17px;display:flex}.brand-monogram{letter-spacing:-.12em;font-size:27px;font-weight:900;line-height:1}.brand-monogram span{color:var(--accent)}.brand-note{color:var(--muted);letter-spacing:.1em;border-left:1px solid #bfc9c7;padding-left:15px;font:600 9px/1.55 Consolas,Courier New,monospace}.primary-nav{align-items:center;gap:clamp(16px,2vw,30px);display:flex}.primary-nav a{color:var(--ink-soft);padding:13px 0;font-size:12px;font-weight:600;transition:color .2s;position:relative}.primary-nav a:hover,.primary-nav a[aria-current=page]{color:var(--accent)}.primary-nav a[aria-current=page]:after{content:"";background:var(--accent);height:2px;position:absolute;bottom:5px;left:0;right:0}.header-link{border:1px solid var(--ink);letter-spacing:.1em;flex:none;align-items:center;gap:20px;padding:12px 14px;font:700 10px/1 Consolas,Courier New,monospace;transition:background .25s,color .25s;display:inline-flex}.menu-toggle{display:none}.site-footer{border-top:1px solid var(--line);background:#eceee9}.footer-inner{min-height:100px;color:var(--muted);letter-spacing:.08em;justify-content:space-between;align-items:center;gap:20px;font:600 10px/1.5 Consolas,Courier New,monospace;display:flex}.footer-inner a:hover{color:var(--accent)}.button{min-height:48px;transition:background .25s,color .25s,transform .3s var(--ease),box-shadow .3s;justify-content:space-between;align-items:center;gap:30px;padding:12px 17px;font-size:12px;font-weight:700;display:inline-flex}.button:hover{transform:translateY(-3px)}.button-dark{background:var(--deep);color:#fff}.button-dark:hover{background:var(--accent);box-shadow:0 12px 25px #5668d82c}.button-light{background:var(--lime);color:var(--deep)}.button-light:hover{background:#f0f4c4}.button-outline{border:1px solid var(--ink);color:var(--ink)}.text-action{border-bottom:1px solid var(--ink);align-items:center;gap:18px;padding:8px 0;font-size:12px;font-weight:700;transition:color .2s,gap .2s;display:inline-flex}.text-action:hover{color:var(--accent);gap:24px}.section-head{justify-content:space-between;align-items:end;gap:38px;margin-bottom:48px;display:flex}.section-head h2,.profile-lead-copy h2,.education-layout h2,.contact-preview-inner h2,.resume-inner h2{letter-spacing:-.075em;margin-top:19px;font-size:clamp(43px,5.1vw,72px);font-weight:800}.section-head h2 em,.profile-lead-copy h2 em,.education-layout h2 em,.contact-preview-inner h2 em,.resume-inner h2 em,.page-next h2 em{color:var(--accent)}.section-head>p{max-width:320px;color:var(--ink-soft);font-size:14px}.reveal{opacity:1;transform:none}.motion-ready .reveal{opacity:0;transition:opacity .72s var(--ease),transform .72s var(--ease);transform:translateY(22px)}.motion-ready .reveal.is-visible{opacity:1;transform:none}.tilt-card{--tilt-x:0deg;--tilt-y:0deg;transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y)) translateY(0);transition:transform .35s var(--ease),box-shadow .35s var(--ease),border-color .35s}.motion-ready .tilt-card.reveal.is-visible{transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y))}@keyframes view-out{to{opacity:0;transform:translateY(-8px)}}@keyframes view-in{0%{opacity:0;transform:translateY(10px)}}.hero{grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);align-items:center;gap:clamp(40px,5vw,90px);min-height:min(790px,100svh - 82px);padding-block:70px 90px;display:grid}.hero-copy{z-index:2;position:relative}.hero-copy h1{letter-spacing:-.085em;margin-top:34px;font-size:clamp(63px,6.5vw,96px);font-weight:850}.hero-copy h1 em{color:var(--accent);white-space:nowrap;display:inline-block}.hero-lead{max-width:480px;color:var(--ink-soft);margin-top:31px;font-size:17px;line-height:1.7}.hero-actions{flex-wrap:wrap;align-items:center;gap:27px;margin-top:35px;display:flex}.hero-facts{border-top:1px solid var(--line);color:var(--muted);letter-spacing:.08em;flex-wrap:wrap;gap:18px;margin-top:80px;padding-top:18px;font:600 9px/1.4 Consolas,Courier New,monospace;display:flex}.hero-stage{perspective:1100px;isolation:isolate;height:560px;position:relative}.hero-stage:before{content:"";z-index:-2;background:linear-gradient(125deg,#e5e8dd,#d8ddf7 75%);border:1px solid #c8cecb;position:absolute;inset:0 0 3% 9%;transform:rotate(-5deg)}.stage-orbit{z-index:-1;border:1px solid #b9c5ce;border-radius:50%;position:absolute;inset:4% -9% 5% -3%;transform:rotate(-25deg)rotateY(48deg)}.stage-orbit:after{content:"";border:1px dashed #bdc3d9;border-radius:50%;position:absolute;inset:13%}.stage-card{--rx:0deg;--ry:0deg;--shift-x:0px;--shift-y:0px;transform-style:preserve-3d;transform:rotateY(calc(-8deg + var(--ry))) rotateX(var(--rx)) translate3d(var(--shift-x),var(--shift-y),0);transition:transform .45s var(--ease);will-change:transform;background:#455d5b;position:absolute;inset:25px 22px 47px 50px;overflow:hidden;box-shadow:25px 30px 38px #17282d37}.stage-portrait{object-fit:cover;object-position:50% 43%;opacity:0;width:100%;height:100%;transition:opacity .9s,transform 4s;position:absolute;inset:0;transform:scale(1.045)}.stage-portrait.is-active{opacity:1;transform:scale(1)}.stage-overlay{pointer-events:none;background:linear-gradient(#0000 62%,#09191d78),linear-gradient(90deg,#0b1b2030,#0000 55%);position:absolute;inset:0}.stage-corner{opacity:.8;border-color:#f3f5e5;width:38px;height:38px;position:absolute}.stage-corner-top{border-top:1px solid;border-left:1px solid;top:18px;left:18px}.stage-corner-bottom{border-bottom:1px solid;border-right:1px solid;bottom:18px;right:18px}.stage-index{background:var(--paper);align-items:end;gap:32px;padding:16px 18px;display:flex;position:absolute;bottom:2px;right:-12px;transform:translateZ(25px);box-shadow:0 12px 25px #1c25271a}.stage-index span{color:var(--muted);letter-spacing:.1em;font:600 9px/1.45 Consolas,monospace}.stage-index strong{letter-spacing:-.06em;font-size:24px;line-height:1}.stage-caption{writing-mode:vertical-rl;color:var(--accent);letter-spacing:.2em;font:700 10px Consolas,monospace;position:absolute;top:4%;left:0}.selected-grid{grid-template-columns:1.08fr .92fr;gap:17px;display:grid}.selected-card{border:1px solid var(--line);background:var(--paper);flex-direction:column;min-width:0;min-height:315px;display:flex;overflow:hidden}.selected-card-featured{grid-row:span 2;min-height:650px}.selected-visual{background:#e0e6e3;flex:1;min-height:180px;display:block;position:relative;overflow:hidden}.selected-visual img{object-fit:cover;object-position:center top;width:100%;height:100%;transition:transform .8s var(--ease)}.selected-card:hover .selected-visual img{transform:scale(1.045)}.selected-visual-phone{background:radial-gradient(circle at 55% 40%,#b9c8c2,#829a93)}.selected-visual-phone img{object-fit:contain;filter:drop-shadow(13px 13px 14px #122a2e44);width:70%;margin:auto}.selected-card-featured .selected-visual-phone img{width:67%}.selected-details{gap:5px;padding:19px 22px 22px;display:grid}.selected-details small,.selected-details>span{color:var(--muted);letter-spacing:.06em;font:600 10px/1.5 Consolas,monospace}.selected-details strong{letter-spacing:-.055em;font-size:clamp(24px,2.5vw,34px);line-height:1.1}.selected-details>span{justify-content:space-between;gap:10px;display:flex}.selected-details b{color:var(--accent)}.section-tail{border-top:1px solid var(--line);border-bottom:1px solid var(--line);letter-spacing:.12em;justify-content:space-between;align-items:center;gap:20px;margin-top:34px;padding:23px 0;font:700 10px Consolas,monospace;display:flex}.section-tail strong{letter-spacing:-.045em;font-size:18px}.section-tail b,.section-tail:hover{color:var(--accent)}.profile-preview-section{background:#e6eae5;padding-block:100px}.profile-preview-grid{grid-template-columns:1fr 1fr;align-items:center;gap:clamp(45px,7vw,110px);display:grid}.profile-preview-image{background:#aab4ae;min-height:490px;position:relative;overflow:hidden}.profile-preview-image img{object-fit:cover;object-position:55% center;filter:saturate(.72)contrast(1.02);width:100%;height:100%;position:absolute;inset:0}.profile-preview-image span{letter-spacing:.1em;background:#f7f7efea;padding:9px 11px;font:600 9px Consolas,monospace;position:absolute;bottom:18px;left:20px}.profile-preview-copy>p:not(.eyebrow){max-width:440px;color:var(--ink-soft);margin-top:26px;font-size:15px;line-height:1.8}.preview-metrics{gap:50px;margin:37px 0;display:flex}.preview-metrics div{gap:2px;display:grid}.preview-metrics strong{letter-spacing:-.075em;font-size:35px;line-height:1}.preview-metrics span{color:var(--muted);letter-spacing:.08em;font:600 9px Consolas,monospace}.systems-preview-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.system-preview{border:1px solid var(--line);background:var(--paper);flex-direction:column;min-height:250px;padding:22px;display:flex;position:relative}.system-preview>span{color:var(--accent);letter-spacing:.12em;font:700 9px Consolas,monospace}.system-preview strong{letter-spacing:-.055em;margin-top:auto;font-size:25px;line-height:1.05}.system-preview small{color:var(--muted);margin-top:13px;font-size:11px}.system-preview b{font-size:19px;font-weight:400;position:absolute;top:16px;right:20px}.system-preview:hover{border-color:var(--accent)}.contact-preview-section{background:var(--deep);color:#fff;padding-block:100px}.contact-preview-inner{justify-content:space-between;align-items:end;gap:40px;display:flex}.contact-preview-inner h2{font-size:clamp(47px,5vw,70px)}.contact-preview-inner>div:last-child p{color:#bfcfca;margin-bottom:22px;font-size:15px}.contact-preview-inner .eyebrow{color:var(--lime)}.page-intro{border-bottom:1px solid var(--line);padding-block:105px 85px}.page-intro .eyebrow{justify-content:space-between}.page-intro .eyebrow-line{margin-right:-12px}.intro-side{color:var(--muted);margin-left:auto}.page-intro h1{letter-spacing:-.085em;margin-top:34px;font-size:clamp(67px,7.5vw,112px);font-weight:850}.intro-bottom{justify-content:space-between;align-items:end;gap:30px;margin-top:42px;display:flex}.intro-bottom p{max-width:620px;color:var(--ink-soft);font-size:17px}.intro-bottom span{color:var(--muted);letter-spacing:.1em;flex:none;font:600 10px Consolas,monospace}.page-next{border-top:1px solid var(--line);padding-block:110px}.page-next h2{letter-spacing:-.075em;margin:20px 0 28px;font-size:clamp(42px,5vw,70px);font-weight:800}.archive-section{padding-block:95px 120px}.archive-heading{justify-content:space-between;align-items:end;gap:24px;display:flex}.archive-heading h2{letter-spacing:-.065em;margin-top:9px;font-size:35px}.archive-heading>p{color:var(--muted);font-size:13px}.archive-toolbar{border-top:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;margin:35px 0 26px;padding-block:16px;display:flex}.filter-group,.view-group{align-items:center;gap:7px;display:flex}.filter-group button{color:var(--muted);background:0 0;border:0;padding:8px 13px;font-size:12px;font-weight:700;transition:background .2s,color .2s}.filter-group span{opacity:.7;font:600 9px Consolas,monospace}.view-group button{width:31px;height:31px;color:var(--muted);background:0 0;border:1px solid #0000;place-items:center;transition:border-color .2s,color .2s,background .2s;display:grid}.view-icon{background:currentColor;width:15px;height:15px;display:block}.icon-grid{background:linear-gradient(currentColor 0 0) 0 0/6px 6px no-repeat,linear-gradient(currentColor 0 0) 9px 0/6px 6px no-repeat,linear-gradient(currentColor 0 0) 0 9px/6px 6px no-repeat,linear-gradient(currentColor 0 0) 9px 9px/6px 6px no-repeat}.icon-list{background:repeating-linear-gradient(currentColor 0 2px,#0000 2px 6px)}.icon-compact{background:repeating-linear-gradient(90deg,currentColor 0 3px,#0000 3px 5px)}.icon-spotlight{background:linear-gradient(currentColor 0 0) 0 0/9px 15px no-repeat,linear-gradient(currentColor 0 0) 11px 0/4px 6px no-repeat,linear-gradient(currentColor 0 0) 11px 9px/4px 6px no-repeat}.icon-editorial{background:linear-gradient(currentColor 0 0) 0 0/15px 4px no-repeat,linear-gradient(currentColor 0 0) 0 7px/6px 8px no-repeat,linear-gradient(currentColor 0 0) 9px 7px/6px 8px no-repeat}.project-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.project-card{border:1px solid var(--line);background:var(--paper);text-align:left;min-width:0;color:var(--ink);flex-direction:column;padding:0;display:flex;overflow:hidden}.project-card-visual{background:#e2e6e2;place-items:center;height:300px;display:grid;overflow:hidden}.project-card-visual img{object-fit:cover;object-position:center top;width:100%;height:100%;transition:transform .8s var(--ease)}.project-card:hover .project-card-visual img{transform:scale(1.045)}.project-card.is-mobile .project-card-visual img{object-fit:contain;filter:drop-shadow(12px 15px 15px #18333b4a);width:62%}.project-card-copy{gap:9px;padding:20px 22px 24px;display:grid}.project-card-copy small{color:var(--accent);letter-spacing:.1em;font:700 10px Consolas,monospace}.project-card-copy strong{letter-spacing:-.055em;font-size:clamp(25px,2.5vw,34px);line-height:1.06}.project-card-copy>span{color:var(--muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.project-card-copy b{color:var(--accent);font-size:18px;font-weight:400}.project-grid[data-view-mode=list]{grid-template-columns:1fr}.project-grid[data-view-mode=list] .project-card{grid-template-columns:36% 1fr;min-height:245px;display:grid}.project-grid[data-view-mode=list] .project-card-visual{height:100%;min-height:245px}.project-grid[data-view-mode=list] .project-card-copy{align-content:center;padding:28px}.project-grid[data-view-mode=compact]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.project-grid[data-view-mode=compact] .project-card-visual{height:185px}.project-grid[data-view-mode=compact] .project-card-copy{gap:6px;padding:15px}.project-grid[data-view-mode=compact] .project-card-copy strong{font-size:23px}.project-grid[data-view-mode=spotlight]{grid-template-columns:repeat(3,minmax(0,1fr))}.project-grid[data-view-mode=spotlight] .project-card.is-featured{grid-area:span 2/span 2}.project-grid[data-view-mode=spotlight] .project-card.is-featured .project-card-visual{height:470px}.project-grid[data-view-mode=spotlight] .project-card:not(.is-featured) .project-card-visual{height:170px}.project-grid[data-view-mode=spotlight] .project-card:not(.is-featured) .project-card-copy strong{font-size:22px}.project-grid[data-view-mode=editorial]{grid-template-columns:repeat(2,minmax(0,1fr));gap:45px 28px}.project-grid[data-view-mode=editorial] .project-card:nth-child(2n){transform:translateY(60px)}.project-grid[data-view-mode=editorial] .project-card:nth-child(2n):hover{transform:translateY(56px)}.detail-view{min-height:calc(100svh - 82px);padding-block:35px 110px}.detail-topbar{justify-content:space-between;align-items:center;gap:16px;margin-bottom:35px;display:flex}.detail-back,.detail-close{border:1px solid var(--line);background:var(--paper);color:var(--ink);letter-spacing:.08em;align-items:center;gap:12px;padding:11px 15px;font:700 10px Consolas,monospace;transition:background .2s,color .2s;display:inline-flex}.detail-count{color:var(--muted);letter-spacing:.1em;font:600 10px Consolas,monospace}.detail-hero{background:var(--deep);color:#fff;grid-template-columns:.9fr 1.1fr;min-height:510px;display:grid}.detail-hero-copy{flex-direction:column;align-items:start;padding:clamp(28px,4vw,58px);display:flex}.detail-hero h1{letter-spacing:-.075em;overflow-wrap:anywhere;margin-top:auto;font-size:clamp(48px,5vw,75px);font-weight:800}.detail-hero h1 em{color:var(--lime)}.detail-hero-copy>p:last-child{color:#c5d4d0;margin-top:24px;font-size:16px}.detail-hero-visual{background:#d7e0d9;min-height:440px;overflow:hidden}.detail-hero-visual img{object-fit:cover;object-position:center top;width:100%;height:100%}.detail-hero-visual.is-mobile{background:radial-gradient(circle,#c4d4ca,#829b9b);place-items:center;display:grid}.detail-hero-visual.is-mobile img{object-fit:contain;filter:drop-shadow(15px 22px 20px #1b343a58);width:min(67%,370px);height:100%}.detail-body{grid-template-columns:1.2fr .8fr;gap:70px;padding-block:75px;display:grid}.detail-body h2{letter-spacing:-.065em;font-size:clamp(34px,3.7vw,50px)}.detail-body p{color:var(--ink-soft);margin-top:25px;font-size:17px;line-height:1.8}.detail-meta{align-content:start;gap:25px;display:grid}.detail-meta>div{border-top:1px solid var(--line);padding-top:16px}.detail-meta h3{color:var(--accent);letter-spacing:.1em;margin-bottom:13px;font:700 10px Consolas,monospace}.tag-row{flex-wrap:wrap;gap:7px;display:flex}.tag-row span{border:1px solid var(--line);color:var(--ink-soft);padding:8px 10px;font-size:11px}.detail-links{flex-wrap:wrap;gap:10px;display:flex}.detail-links a{border-bottom:1px solid var(--ink);padding-bottom:4px;font-size:12px;font-weight:700}.detail-links a:hover{color:var(--accent);border-color:var(--accent)}.detail-gallery{border-top:1px solid var(--line);padding-top:25px}.detail-gallery-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:24px;display:flex}.detail-gallery-header h2{letter-spacing:-.06em;font-size:34px}.detail-gallery-header span{color:var(--muted);font:700 10px Consolas,monospace}.detail-gallery-main{background:#dce5df;place-items:center;min-height:520px;max-height:680px;display:grid;overflow:hidden}.detail-gallery-main img{object-fit:contain;width:100%;height:100%;max-height:680px}.detail-gallery-thumbs{gap:9px;padding:12px 1px;display:flex;overflow:auto}.detail-gallery-thumbs button{background:#dce5df;border:2px solid #0000;flex:none;width:90px;height:80px;padding:2px}.detail-gallery-thumbs img{object-fit:contain;width:100%;height:100%}.page-work.detail-open .site-footer,.page-systems.detail-open .site-footer{display:none}.profile-lead-section{grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(45px,7vw,110px);padding-block:115px;display:grid}.profile-lead-photo{background:#dbe2da;min-height:590px;position:relative;overflow:hidden}.profile-lead-photo img{object-fit:cover;object-position:center 45%;width:100%;height:100%;position:absolute;inset:0}.profile-lead-photo span{background:var(--paper);letter-spacing:.1em;padding:9px 12px;font:600 9px Consolas,monospace;position:absolute;bottom:18px;left:18px}.profile-lead-copy h2{font-size:clamp(42px,4.8vw,67px)}.profile-lead-copy>p:not(.eyebrow){max-width:560px;color:var(--ink-soft);margin-top:20px;line-height:1.8}.profile-lead-copy .lead-text{color:var(--ink)!important;font-size:21px!important;line-height:1.4!important}.fact-list{border-top:1px solid var(--line);margin-top:32px}.fact-list div{border-bottom:1px solid var(--line);grid-template-columns:110px 1fr;gap:20px;padding:13px 0;display:grid}.fact-list span{color:var(--muted);letter-spacing:.1em;font:700 9px Consolas,monospace}.fact-list strong{font-size:12px}.profile-timeline-section,.timeline{border-top:1px solid var(--line)}.timeline-entry{border-bottom:1px solid var(--line);grid-template-columns:230px 1fr;gap:30px;padding:43px 0;display:grid}.timeline-side{flex-direction:column;justify-content:space-between;gap:20px;display:flex}.timeline-side>span{color:#c2c9c5;letter-spacing:-.08em;font-size:78px;font-weight:800;line-height:1}.timeline-side small{color:var(--muted);letter-spacing:.05em;font:600 10px/1.65 Consolas,monospace}.timeline-entry h3{letter-spacing:-.06em;margin-top:9px;font-size:clamp(32px,3.2vw,44px)}.timeline-entry>div:last-child>p:not(.eyebrow){max-width:680px;color:var(--ink-soft);margin:17px 0 22px}.field-gallery{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:30px;display:grid}.field-gallery figure{background:#d8dedb;min-height:200px;position:relative;overflow:hidden}.field-gallery img{object-fit:cover;filter:saturate(.75);width:100%;height:100%;transition:transform .7s var(--ease)}.field-gallery figure:hover img{transform:scale(1.045)}.field-gallery-large{grid-column:span 4;height:440px}.field-gallery-large figcaption{background:var(--paper);letter-spacing:.1em;padding:9px 11px;font:600 9px Consolas,monospace;position:absolute;bottom:18px;left:18px}.education-section{background:#e2e7e0}.education-layout{grid-template-columns:1fr .65fr;align-items:center;gap:50px;display:grid}.education-layout>div:first-child>p:not(.eyebrow){max-width:560px;color:var(--ink-soft);margin-top:23px;font-size:16px;line-height:1.8}.education-meta{border-top:1px solid #bdc8c1;gap:5px;margin-top:34px;padding-top:20px;display:grid}.education-meta strong{letter-spacing:-.05em;font-size:28px}.education-meta span{color:var(--muted);letter-spacing:.08em;font:600 10px Consolas,monospace}.education-photo{background:radial-gradient(circle,#d4def0,#a8bbb6 75%);place-items:end center;min-height:460px;display:grid;position:relative;overflow:hidden}.education-photo img{z-index:1;object-fit:cover;object-position:center 20%;filter:drop-shadow(0 18px 20px #25383e3b);width:100%;height:460px;position:relative}.education-photo>span{z-index:2;background:var(--paper);letter-spacing:.1em;padding:9px 12px;font:600 9px Consolas,monospace;position:absolute;bottom:16px;left:16px}.principles-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.principle{border:1px solid var(--line);background:var(--paper);flex-direction:column;min-height:320px;padding:25px;display:flex}.principle>span{color:var(--accent);letter-spacing:.1em;font:700 10px Consolas,monospace}.principle h3{letter-spacing:-.06em;margin-top:auto;font-size:clamp(26px,2.7vw,38px)}.principle p{color:var(--muted);margin-top:19px;font-size:13px}.systems-section{padding-bottom:130px}.system-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.system-card{border:1px solid var(--line);background:var(--paper);text-align:left;flex-direction:column;align-items:stretch;min-height:430px;padding:26px;display:flex;position:relative;overflow:hidden}.system-card:hover{border-color:var(--accent)}.system-card-top{color:var(--accent);letter-spacing:.1em;justify-content:space-between;font:700 10px Consolas,monospace;display:flex}.system-card-top b{color:var(--ink);font:400 22px Arial}.system-card>strong{z-index:1;letter-spacing:-.075em;margin-top:auto;font-size:clamp(38px,4vw,58px);line-height:.98;position:relative}.system-card>small{z-index:1;color:var(--muted);margin-top:15px;font-size:12px;position:relative}.system-card-orb{width:230px;height:230px;transition:transform .7s var(--ease);border:1px solid #a5b4cb;border-radius:50%;position:absolute;top:14%;right:7%;transform:rotateX(58deg)rotate(-24deg);box-shadow:inset 15px -15px 25px #8699be1e,15px 25px 35px #193d5610}.system-card-orb:before,.system-card-orb:after{content:"";border:1px solid #a5b4cb;border-radius:50%;position:absolute;inset:18%}.system-card-orb:after{inset:35%}.system-card:hover .system-card-orb{transform:rotateX(50deg)rotate(15deg)translateZ(20px)}.system-card:nth-child(2) .system-card-orb{border-color:#b5bcaa;box-shadow:inset 15px -15px 25px #8aa07224}.system-card:nth-child(3) .system-card-orb{border-color:#c5b7bb;box-shadow:inset 15px -15px 25px #b8849024}.system-card:nth-child(4) .system-card-orb{border-color:#a9bcbe;box-shadow:inset 15px -15px 25px #679c9d24}.system-detail-hero{background:var(--deep);color:#fff;grid-template-columns:1fr .7fr;align-items:center;gap:40px;min-height:440px;padding:clamp(30px,5vw,70px);display:grid;overflow:hidden}.system-detail-hero h1{letter-spacing:-.075em;margin:20px 0;font-size:clamp(48px,5.7vw,82px)}.system-detail-hero h1 em{color:var(--lime)}.system-detail-hero p:last-child{color:#c6d4d1;max-width:650px;font-size:17px}.detail-orbit{aspect-ratio:1;border:1px solid #b8cdaf6c;border-radius:50%;width:min(100%,280px);margin:auto;animation:8s ease-in-out infinite alternate orbit-breathe;position:relative;transform:rotateX(60deg)rotate(-25deg);box-shadow:inset 18px -28px 45px #9cb6b72d,18px 25px 40px #030f1352}.detail-orbit:before,.detail-orbit:after{content:"";border:1px solid #c3d8c07a;border-radius:50%;position:absolute;inset:15%}.detail-orbit:after{inset:34%}@keyframes orbit-breathe{to{transform:rotateX(60deg)rotate(20deg)}}.system-detail-body h2{letter-spacing:-.07em;font-size:clamp(35px,4vw,56px)}.system-detail-body>p{max-width:720px;color:var(--ink-soft);margin-top:20px;font-size:17px}.system-skill-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:45px;display:grid}.system-skill-group{border-top:1px solid var(--line);padding-top:20px}.system-skill-group h3{color:var(--accent);letter-spacing:.1em;margin-bottom:18px;font:700 10px Consolas,monospace}.system-related h3{letter-spacing:-.05em;margin-bottom:20px;font-size:24px}.system-related a{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:16px 0;font-weight:700;display:flex}.system-related a:hover{color:var(--accent)}.contact-hero{grid-template-columns:1.05fr .95fr;align-items:center;gap:35px;min-height:620px;padding-block:80px 95px;display:grid}.contact-hero h1{letter-spacing:-.085em;margin:30px 0;font-size:clamp(64px,7vw,104px);font-weight:850}.contact-hero-copy>p:not(.eyebrow){max-width:500px;color:var(--ink-soft);margin-bottom:30px;font-size:17px}.contact-sculpture{perspective:900px;place-items:center;min-height:470px;display:grid;position:relative}.sculpture-ring{aspect-ratio:1;width:67%;transform-style:preserve-3d;border:1px solid #aebac6;border-radius:50%;animation:18s linear infinite ring-turn;position:absolute;box-shadow:inset 10px 25px 35px #8294b028,14px 18px 25px #14282b17}.sculpture-ring-two{border-color:#bdc6ae;width:48%;animation-duration:22s;animation-direction:reverse}.sculpture-core{background:var(--deep);width:120px;height:120px;color:var(--lime);border-radius:50%;place-items:center;font-size:50px;display:grid;box-shadow:0 20px 35px #1c252732}.contact-sculpture>span{color:var(--muted);letter-spacing:.14em;font:700 10px Consolas,monospace;position:absolute;bottom:14px}@keyframes ring-turn{0%{transform:rotateX(65deg)rotate(0)}to{transform:rotateX(65deg)rotate(360deg)}}.contact-direct-section{border-top:1px solid var(--line);padding-block:95px 115px}.email-panel{background:var(--deep);color:#fff;gap:16px;margin-top:40px;padding:35px;display:grid}.email-panel>span{color:var(--lime);letter-spacing:.12em;font:700 10px Consolas,monospace}.email-panel>a{letter-spacing:-.07em;overflow-wrap:anywhere;width:fit-content;max-width:100%;font-size:clamp(30px,4.5vw,62px);font-weight:800;line-height:1.08}.email-panel>a b{color:var(--lime);font-weight:400}.email-panel>button{color:#fff;letter-spacing:.1em;background:0 0;border:1px solid #869793;justify-self:start;margin-top:7px;padding:10px 14px;font:700 10px Consolas,monospace}.email-panel>button:hover{border-color:var(--lime);color:var(--lime)}.contact-note{max-width:760px;color:var(--ink-soft);margin-top:25px;font-size:15px}.contact-note a{color:var(--accent);text-underline-offset:3px;text-decoration:underline}.contact-channels-section{border-top:1px solid var(--line)}.channel-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.channel-card{border:1px solid var(--line);background:var(--paper);flex-direction:column;min-height:300px;padding:25px;display:flex}.channel-card>span{color:var(--accent);letter-spacing:.1em;font:700 10px Consolas,monospace}.channel-card strong{letter-spacing:-.065em;overflow-wrap:anywhere;margin-top:auto;font-size:clamp(27px,3.2vw,43px);line-height:1.05}.channel-card small{color:var(--muted);letter-spacing:.08em;margin-top:17px;font:700 10px Consolas,monospace}.resume-section{background:var(--deep);color:#fff;padding-block:85px}.resume-inner{justify-content:space-between;align-items:end;gap:40px;display:flex}.resume-inner h2{font-size:clamp(44px,5vw,70px)}.resume-inner p:not(.eyebrow){color:#bfd0cd;max-width:450px;margin-top:18px}@media (max-width:1000px){.hero{grid-template-columns:1fr .9fr;gap:35px}.hero-stage{height:500px}.hero-copy h1{font-size:clamp(56px,6.8vw,78px)}.brand-note{display:none}.primary-nav{gap:17px}.systems-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.education-photo img{object-fit:cover}}@media (max-width:780px){:root{--gutter:clamp(20px,5vw,35px)}.site-header{position:sticky}.header-inner{min-height:70px}.menu-toggle{color:var(--ink);letter-spacing:.08em;background:0 0;border:0;align-items:center;gap:9px;margin-left:auto;font:700 10px Consolas,monospace;display:flex}.menu-toggle i{background:currentColor;width:16px;height:1px;display:block}.menu-toggle i:last-child{display:none}.primary-nav{padding:10px var(--gutter) 20px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch;gap:0;display:none;position:absolute;top:69px;left:0;right:0;box-shadow:0 15px 25px #1c25271a}.primary-nav.is-open{display:flex}.primary-nav a{padding:12px 0;font-size:15px}.primary-nav a[aria-current=page]:after,.header-link{display:none}.hero{grid-template-columns:1fr;min-height:0;padding-block:75px 85px}.hero-copy h1{font-size:clamp(60px,11vw,88px)}.hero-facts{margin-top:50px}.hero-stage{width:100%;max-width:560px;height:520px;margin-inline:auto}.section{padding-block:85px}.section-head{display:block}.section-head>p{margin-top:20px}.profile-preview-grid,.profile-lead-section,.education-layout,.contact-hero{grid-template-columns:1fr}.profile-preview-image{min-height:420px}.profile-preview-copy h2{margin-top:20px}.profile-lead-photo{width:100%;max-width:500px;min-height:570px}.profile-lead-section{padding-block:85px}.education-photo{width:100%;max-width:480px;margin-inline:auto}.contact-preview-inner,.resume-inner{display:block}.contact-preview-inner>div:last-child{margin-top:35px}.resume-inner .button{margin-top:30px}.page-intro{padding-block:80px}.page-intro h1{font-size:clamp(59px,9.5vw,82px)}.timeline-entry{grid-template-columns:160px 1fr}.detail-hero{grid-template-columns:1fr}.detail-hero-visual{min-height:400px;max-height:520px}.detail-body{gap:35px}.system-detail-hero{grid-template-columns:1fr}.detail-orbit{display:none}.contact-sculpture{min-height:330px}.contact-sculpture .sculpture-ring{max-width:260px}}@media (max-width:600px){body{font-size:14px}.eyebrow{font-size:9px}.hero{padding-top:55px}.hero-copy h1{font-size:clamp(50px,12vw,70px)}.hero-lead{font-size:15px}.hero-actions{gap:18px}.hero-facts{gap:10px;font-size:8px}.hero-stage{height:410px}.stage-card{inset:19px 16px 40px 38px}.stage-index{bottom:0;right:0}.stage-orbit{inset:4% -1% 5%}.section-head h2,.profile-lead-copy h2,.education-layout h2,.contact-preview-inner h2,.resume-inner h2{font-size:clamp(39px,10vw,54px)}.selected-grid,.systems-preview-grid,.project-grid,.system-card-grid,.principles-grid,.channel-grid{grid-template-columns:1fr}.selected-card-featured{grid-row:auto;min-height:480px}.selected-card{min-height:330px}.selected-visual{min-height:230px}.selected-card-featured .selected-visual{min-height:350px}.profile-preview-section{padding-block:75px}.profile-preview-image{min-height:350px}.section-tail strong{font-size:14px}.contact-preview-section{padding-block:75px}.page-intro h1{font-size:clamp(56px,12vw,78px)}.page-intro .eyebrow{gap:8px}.intro-side{display:none}.intro-bottom{display:block}.intro-bottom p{font-size:15px}.intro-bottom span{margin-top:25px;display:block}.archive-section{padding-block:70px}.archive-heading{display:block}.archive-heading>p{margin-top:10px}.archive-toolbar{flex-direction:column;align-items:start}.filter-group button{padding:8px}.project-grid[data-view-mode=list] .project-card{grid-template-columns:1fr}.project-grid[data-view-mode=list] .project-card-visual{height:240px}.project-grid[data-view-mode=compact]{grid-template-columns:repeat(2,minmax(0,1fr))}.project-grid[data-view-mode=compact] .project-card-visual{height:150px}.project-grid[data-view-mode=compact] .project-card-copy strong{font-size:18px}.project-grid[data-view-mode=spotlight]{grid-template-columns:1fr}.project-grid[data-view-mode=spotlight] .project-card.is-featured{grid-area:auto}.project-grid[data-view-mode=spotlight] .project-card.is-featured .project-card-visual{height:350px}.project-grid[data-view-mode=editorial]{grid-template-columns:1fr;row-gap:18px}.project-grid[data-view-mode=editorial] .project-card:nth-child(2n),.project-grid[data-view-mode=editorial] .project-card:nth-child(2n):hover{transform:none}.detail-view{padding-block:25px 75px}.detail-hero{min-height:0}.detail-hero-copy{min-height:330px}.detail-hero h1{font-size:clamp(42px,10vw,65px)}.detail-hero-visual{min-height:320px}.detail-body{grid-template-columns:1fr;padding-block:55px}.detail-gallery-main{min-height:380px}.detail-gallery-header h2{font-size:27px}.timeline-entry{grid-template-columns:1fr;gap:12px}.timeline-side{flex-direction:row;align-items:center}.timeline-side>span{font-size:56px}.field-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.field-gallery-large{grid-column:span 2;height:310px}.field-gallery figure{min-height:150px}.profile-lead-photo{min-height:470px}.fact-list div{grid-template-columns:88px 1fr}.education-photo{min-height:380px}.education-photo img{height:380px}.system-card{min-height:340px}.system-card-orb{width:180px;height:180px}.system-skill-groups{grid-template-columns:1fr}.system-detail-hero{min-height:380px}.system-detail-hero h1{font-size:clamp(44px,10vw,67px)}.contact-hero{padding-block:60px}.contact-hero h1{font-size:clamp(54px,12vw,76px)}.contact-sculpture{min-height:270px}.sculpture-core{width:90px;height:90px;font-size:38px}.contact-direct-section{padding-block:75px}.email-panel{padding:24px}.email-panel>a{font-size:clamp(27px,7vw,42px)}.channel-card{min-height:240px}.footer-inner{flex-direction:column;justify-content:center;align-items:start;gap:5px;min-height:125px;font-size:9px}}@media (max-width:390px){.hero-copy h1{font-size:12vw}.hero-stage{height:360px}.stage-card{inset:14px 13px 37px 32px}.page-intro h1{font-size:12vw}.project-grid[data-view-mode=compact]{grid-template-columns:1fr}.field-gallery figure{min-height:130px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}body:not(.is-leaving){animation:none}.motion-ready .reveal{opacity:1;transition:none;transform:none}.tilt-card,.stage-card,.stage-portrait,.sculpture-ring,.detail-orbit{transition:none!important;animation:none!important}.stage-portrait:not(.is-active){opacity:0}::view-transition-old(root){animation:none}::view-transition-new(root){animation:none}}:root{--bg:#0b1112;--paper:#142022;--ink:#f1f5eb;--ink-soft:#b3c0ba;--muted:#8b9b95;--line:#30403d;--accent:#c9ed80;--accent-light:#233a2b;--deep:#101a1b;--deep-2:#1c2a2a;--lime:#c9ed80;--shell:1180px;--gutter:clamp(22px,4.5vw,64px)}body{background:var(--bg);color:var(--ink);font:14px/1.65 Segoe UI,Arial,sans-serif}em{font-family:inherit;font-style:normal;font-weight:inherit;letter-spacing:inherit}::selection{background:var(--accent);color:#091313}:focus-visible{outline-color:var(--accent)}.eyebrow{color:var(--accent);letter-spacing:.16em;font-size:10px}.availability-dot{background:var(--accent);box-shadow:0 0 0 4px #c9ed8024}.site-header{background:#0b1112ed;border-color:#263633}.header-inner{gap:18px;min-height:76px}.brand{gap:13px}.brand-monogram{letter-spacing:-.1em;font-size:23px}.brand-monogram span{vertical-align:top;letter-spacing:0;color:var(--accent);margin-left:3px;font-size:13px}.brand-note{color:#9aa9a2;letter-spacing:.12em;border-color:#395046;font-size:8px}.primary-nav{gap:clamp(12px,1.6vw,24px)}.primary-nav a{letter-spacing:.08em;color:#b4c3ba;font:700 9px/1.5 Consolas,Courier New,monospace}.primary-nav a[aria-current=page],.primary-nav a:hover{color:var(--accent)}.primary-nav a[aria-current=page]:after{height:1px;bottom:7px}.header-link{color:var(--accent);border-color:#66845b;padding:12px 15px}.header-link:hover{background:var(--accent);color:#0b1514}.header-actions{flex:none;align-items:center;gap:10px;margin-left:auto;display:flex}.theme-toggle{color:#dbe8d7;cursor:pointer;background:#15211e;border:1px solid #526c58;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;transition:background .2s,border-color .2s,color .2s,transform .2s;display:grid}.theme-toggle:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}.theme-toggle svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:17px;height:17px}.theme-icon-moon,html[data-theme=light] .theme-icon-sun{display:none}html[data-theme=light] .theme-icon-moon{display:block}.appreciation-dock{z-index:45;right:clamp(18px,3vw,42px);bottom:max(24px,env(safe-area-inset-bottom) + 16px);isolation:isolate;filter:drop-shadow(0 18px 20px #0005);width:194px;position:fixed}.appreciation-dock:before{content:"";z-index:-1;background:#2b5135;border:1px solid #688e46;border-radius:16px;position:absolute;inset:0;transform:translate(7px,7px)rotate(2deg)}.heart-button{color:#142319;text-align:left;transform-origin:100% 100%;cursor:pointer;background:linear-gradient(135deg,#e1f5af,#bfe77d);border:1px solid #d7f49f;border-radius:16px;align-items:center;gap:12px;width:100%;min-height:78px;padding:12px 14px;transition:transform .35s cubic-bezier(.22,1,.36,1),box-shadow .35s,background .25s;display:flex;position:relative;transform:perspective(700px)rotateY(-8deg)rotateX(3deg)rotate(-2deg);box-shadow:inset 0 1px #fff9,0 10px 20px #0003}.heart-button:not(:disabled):hover{transform:perspective(700px)rotateY(0)rotateX(0)rotate(0)translateY(-6px);box-shadow:inset 0 1px #fff9,0 18px 26px #0005}.heart-button:active:not(:disabled){transform:translateY(1px)}.heart-symbol{color:#326c3d;background:#f4ffd8;border:1px solid #81a95f;border-radius:13px;flex:none;place-items:center;width:46px;height:46px;display:grid;box-shadow:inset 0 2px #fff,0 4px #7fa658,0 8px 12px #34532a36}.heart-symbol svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:23px;height:23px;transition:fill .2s,transform .25s}.heart-button:not(:disabled):hover .heart-symbol svg{transform:scale(1.16)}.heart-copy{gap:2px;min-width:0;display:grid}.heart-kicker{letter-spacing:.09em;white-space:nowrap;font:700 8px/1.3 Consolas,Courier New,monospace}.heart-total{white-space:nowrap;letter-spacing:.07em;align-items:baseline;gap:5px;font:700 10px/1 Consolas,Courier New,monospace;display:flex}.heart-total strong{letter-spacing:-.05em;font:800 26px/1 Arial,sans-serif}.heart-spark{color:#4e8b42;font-size:12px;position:absolute;top:5px;right:8px}.heart-button.is-hearted .heart-symbol svg{fill:currentColor}.heart-button.is-hearted{cursor:default}.heart-button:disabled:not(.is-hearted){opacity:.72;cursor:wait}.appreciation-dock.is-celebrating .heart-symbol{animation:.55s ease-out heart-pop}@keyframes heart-pop{0%,to{transform:scale(1)}45%{transform:scale(1.19)rotate(-9deg)}}.site-footer{background:#090e0f;border-color:#263633}.footer-inner{color:#94a49c}.footer-inner a{color:var(--accent)}.skip-link{background:var(--accent);color:#0b1514}.button{border:1px solid #0000;min-height:50px;padding:12px 18px;font-size:12px}.button-lime,.button-light{background:var(--accent);color:#101916}.button-lime:hover,.button-light:hover{background:#e0f7ad;box-shadow:0 13px 30px #b9e87922}.button-dark{color:#edf4e8;background:#121c1c;border-color:#121c1c}.button-dark:hover{box-shadow:none;background:#284332;border-color:#284332}.button-outline{color:var(--ink);border-color:#64766f}.button-outline:hover{background:var(--accent);color:#0b1514}.text-action{color:#e7f0e6;border-color:#61706b}.text-action:hover{color:var(--accent)}.section{padding-block:116px}.section-head{margin-bottom:43px}.section-head h2,.profile-lead-copy h2,.education-layout h2,.contact-preview-inner h2,.resume-inner h2{letter-spacing:-.065em;font-size:clamp(43px,5vw,72px);font-weight:800;line-height:.99}.section-head h2 em,.profile-lead-copy h2 em,.education-layout h2 em,.page-next h2 em{color:var(--accent)}.section-head>p{color:var(--ink-soft);font-size:14px}.motion-ready .reveal{transition-duration:.62s;transform:translateY(18px)}.tilt-card:hover{box-shadow:0 22px 45px #0006}::view-transition-old(root){animation:.2s both view-out}::view-transition-new(root){animation:.3s both view-in}.hero{grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);align-items:center;gap:0 42px;min-height:min(790px,100svh - 76px);padding-block:56px 0;position:relative}.hero-copy{padding-bottom:35px}.hero-copy h1{letter-spacing:-.075em;white-space:nowrap;margin-top:31px;font-size:clamp(60px,6.5vw,88px);font-weight:850;line-height:.98}.hero-heading-accent{color:var(--accent)}.hero-period{color:#f1f5eb}.hero-lead{color:#bac9bf;max-width:520px;margin-top:32px;font-size:17px;line-height:1.65}.hero-actions{gap:25px;margin-top:36px}.hero-stage{isolation:isolate;background:radial-gradient(circle at 54% 52%,#20352f 0%,#152423 40%,#0e1919 75%);border:1px solid #34473f;height:540px;overflow:hidden}.hero-stage:before{display:none}.stage-grid{background-color:#0000;background-image:linear-gradient(#7c947912 1px,#0000 1px),linear-gradient(90deg,#7c947912 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0;-webkit-mask-image:linear-gradient(90deg,#0000,#000 22% 78%,#0000);mask-image:linear-gradient(90deg,#0000,#000 22% 78%,#0000)}.stage-orbit{z-index:0;border-color:#a3ce9359;border-radius:50%;inset:12% -14% 11% -15%;transform:rotate(-22deg)rotateY(50deg);box-shadow:0 0 80px #b9eb7e13}.stage-orbit:after{border-color:#badf9a4d}.stage-card{z-index:1;transform:rotateY(calc(-8deg + var(--ry))) rotateX(var(--rx)) translate3d(var(--shift-x),var(--shift-y),0);border:1px solid #a9cfa089;inset:45px 60px;box-shadow:19px 27px 45px #0008}.stage-portrait{object-position:50% 35%;filter:saturate(.84)}.stage-overlay{background:linear-gradient(#0000 66%,#07110fb9),linear-gradient(90deg,#0e1d1d44,#0000 48%)}.stage-coordinate{z-index:2;color:#d9efcb;letter-spacing:.12em;font:700 10px/1.5 Consolas,Courier New,monospace;position:absolute}.stage-coordinate-bottom{bottom:19px;right:21px}.stage-coordinate b{color:var(--accent)}.stage-cross{z-index:2;color:var(--accent);font-size:32px;font-weight:200;line-height:1;position:absolute}.stage-cross-a{top:12px;right:15px}.stage-cross-b{bottom:12px;left:18px}.hero-bar{border-top:1px solid var(--line);color:#a6b5ad;letter-spacing:.1em;grid-column:1/-1;grid-template-columns:repeat(3,1fr) auto;align-items:center;gap:18px;min-height:74px;margin-top:40px;font:700 9px Consolas,Courier New,monospace;display:grid}.hero-bar b{color:var(--accent);margin-right:10px}.hero-bar a{color:var(--accent);text-align:right}.hero-bar a:hover{text-underline-offset:4px;text-decoration:underline}.selected-section{padding-top:110px}.featured-project{background:#172723;border:1px solid #526b4b;grid-template-columns:1.05fr .95fr;min-height:540px;display:grid;overflow:hidden}.featured-image{background:radial-gradient(circle,#648369,#29443c 72%);place-items:center;min-height:540px;display:grid;position:relative;overflow:hidden}.featured-image img{object-fit:contain;filter:drop-shadow(20px 22px 20px #041a1a86);width:auto;max-width:75%;height:86%;transition:transform .7s var(--ease)}.featured-project:hover .featured-image img{transform:translateY(-8px)scale(1.025)}.image-corner{color:#eaf8dd;letter-spacing:.14em;font:700 11px Consolas,monospace;position:absolute;top:22px;left:24px}.featured-copy{flex-direction:column;align-items:flex-start;padding:clamp(30px,4vw,60px);display:flex}.featured-copy h3{letter-spacing:-.075em;margin-top:auto;font-size:clamp(58px,5.6vw,86px);line-height:.92}.featured-copy>p:not(.eyebrow){color:#bdcec1;max-width:350px;margin-top:25px;font-size:16px}.feature-open{width:100%;color:var(--accent);letter-spacing:.1em;border-top:1px solid #4b6558;justify-content:space-between;align-items:center;gap:50px;margin-top:55px;padding-top:15px;font:700 10px Consolas,monospace;display:flex}.feature-open b{font:400 22px Arial}.selected-list{margin-top:20px}.selected-showcase{margin-top:38px}.selected-row{border-bottom:1px solid var(--line);grid-template-columns:65px 1fr 200px 24px;align-items:center;gap:22px;min-height:105px;transition:padding .38s cubic-bezier(.22,.8,.25,1),background .38s;display:grid}.selected-row:first-child{border-top:1px solid var(--line)}.selected-row:hover{background:#13201e;padding-inline:10px}.selected-row>span,.selected-row small{color:var(--accent);letter-spacing:.12em;font:700 10px Consolas,monospace}.selected-row strong{letter-spacing:-.045em;font-size:clamp(22px,2.6vw,33px)}.selected-row b{color:var(--accent);font:400 22px Arial}.selected-row-all strong{color:var(--accent)}.selected-row-expandable{overflow:hidden}.selected-row>.selected-row-expansion{opacity:0;visibility:hidden;max-height:0;color:inherit;font:inherit;letter-spacing:normal;pointer-events:none;grid-column:1/-1;grid-template-columns:minmax(250px,.92fr) minmax(0,1.08fr);align-items:stretch;gap:clamp(28px,4vw,64px);margin:0;transition:max-height .36s cubic-bezier(.55,0,.45,1),margin .34s cubic-bezier(.55,0,.45,1),opacity .22s,transform .3s,visibility 0s linear .36s;display:grid;overflow:hidden;transform:translateY(-14px)}.selected-row-visual{background:#101b19;height:230px;display:block;overflow:hidden}.selected-row-visual img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .75s cubic-bezier(.22,.8,.25,1)}.selected-row-smartgrow .selected-row-visual img{object-position:center 62%}.selected-row-mobile .selected-row-visual{background:radial-gradient(circle at 50% 46%,#30483d 0,#172522 62%,#101918 100%)}.selected-row-mobile .selected-row-visual img{object-fit:contain;object-position:center;transform:scale(.88)}.selected-row-detail{flex-direction:column;justify-content:center;align-items:flex-start;min-width:0;padding:16px 0;display:flex}.selected-row-detail .eyebrow{margin-bottom:16px}.selected-row-summary{max-width:560px;color:var(--muted);font-size:15px;line-height:1.72}.selected-row-tools{color:var(--accent);letter-spacing:.11em;margin-top:22px;font:700 9px Consolas,monospace;display:block}.selected-row-open{border-top:1px solid var(--line);width:100%;color:var(--accent);letter-spacing:.11em;justify-content:space-between;align-items:center;margin-top:auto;padding-top:16px;font:700 9px Consolas,monospace;display:flex}.selected-row-open b{font-size:18px}.selected-row-expandable.is-active{background:#172321;outline:none;padding:18px}.selected-row-expandable.is-active>.selected-row-expansion{opacity:1;visibility:visible;pointer-events:auto;max-height:255px;margin:5px 0 0;transition:max-height .58s cubic-bezier(.22,.8,.25,1),margin .5s cubic-bezier(.22,.8,.25,1),opacity .36s .1s,transform .5s cubic-bezier(.22,.8,.25,1) 50ms,visibility;transform:translateY(0)}.selected-row-expandable.is-active .selected-row-visual img{transform:scale(1.035)}.selected-row-mobile.is-active .selected-row-visual img{transform:scale(.92)}.profile-preview-section{color:#0d1716;background:#dce8d7}.profile-preview-grid{grid-template-columns:.9fr 1.1fr;gap:clamp(45px,6vw,90px)}.profile-preview-image{background:#889d88;min-height:515px}.profile-preview-image img{filter:saturate(.75)contrast(1.05)}.profile-preview-image span{color:#eaf2e9;background:#0b1514}.profile-preview-copy .eyebrow{color:#385d38}.profile-preview-copy h2{font-size:clamp(43px,4.7vw,68px)}.profile-preview-copy h2 em{color:#2f6b43}.profile-preview-copy>p:not(.eyebrow){color:#33413b}.profile-preview-copy .preview-metrics span{color:#56705e}.systems-preview-grid{background:#375045;border:1px solid #375045;gap:1px}.system-preview{background:#11201f;border:0;min-height:280px;padding:23px}.system-preview:hover{background:#1b3026;border-color:#0000}.system-preview>span,.system-preview b{color:var(--accent)}.system-preview strong{font-size:clamp(22px,2.2vw,30px)}.system-preview small{color:#9fb1a6}.contact-preview-section{color:#10201a;background:#c9ed80}.contact-preview-inner{grid-template-columns:1fr auto;align-items:end;gap:20px;display:grid}.contact-preview-inner>.eyebrow{color:#345434;grid-column:1/-1}.contact-preview-inner h2{margin:0;font-size:clamp(49px,5.7vw,82px)}.contact-preview-inner h2 em{color:#426a42}.contact-preview-inner>div:last-child{max-width:250px}.contact-preview-inner>div:last-child p{color:#2f4436}.contact-preview-inner .button-lime{color:#f2f6eb;background:#101b19}.contact-preview-inner .button-lime:hover{background:#2c4734}.page-intro{padding-block:100px 80px}.page-intro h1{letter-spacing:-.075em;font-size:clamp(68px,8vw,116px)}.page-intro h1 em{color:var(--accent)}.intro-side,.intro-bottom span{color:#99aa9e}.intro-bottom p{color:#bbc9bd}.archive-heading h2{font-size:clamp(33px,3vw,42px)}.archive-heading>p{color:#9aaa9e}.archive-toolbar{border-color:var(--line)}.filter-group button{color:#9caf9e}.filter-group button[aria-pressed=true]{background:var(--accent);color:#112019}.filter-group button:hover:not([aria-pressed=true]){color:var(--ink);background:#243629}.view-group button{color:#8fa292}.view-group button:hover,.view-group button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#1b2b25}.project-card{color:var(--ink);background:#142120;border-color:#31473b}.project-card:hover{border-color:var(--accent)}.project-card-visual{background:#264139}.project-card.is-mobile .project-card-visual{background:radial-gradient(circle,#617e68,#233c36 75%)}.project-card-copy small,.project-card-copy b{color:var(--accent)}.project-card-copy>span{color:#acbdb0}.detail-back,.detail-close{color:var(--ink);background:#182724;border-color:#405347}.detail-back:hover,.detail-close:hover{background:var(--accent);color:#0c1711}.detail-count{color:#9baea2}.detail-hero{color:#0a1710;background:#c9ed80}.detail-hero-copy .eyebrow{color:#345933}.detail-hero-copy>p:last-child{color:#3e553e}.detail-hero-visual{background:#3e674b}.detail-hero-visual.is-mobile{background:radial-gradient(circle,#67936e,#2d5744)}.detail-body p{color:#b2c3b5}.detail-meta h3{color:var(--accent)}.tag-row span{color:#c6d3c7}.detail-links a{border-color:var(--accent)}.detail-gallery-main,.detail-gallery-thumbs button{background:#1c302a}.detail-gallery-thumbs button[aria-pressed=true]{border-color:var(--accent)}.page-next{border-color:var(--line)}.profile-lead-photo{background:#263b34}.profile-lead-photo span{color:#112019;background:#c9ed80}.profile-lead-copy>p:not(.eyebrow){color:#afc0b2}.profile-lead-copy .lead-text{color:#f1f5eb!important}.fact-list span{color:var(--accent)}.timeline-side>span{color:#34483b}.timeline-side small,.timeline-entry>div:last-child>p:not(.eyebrow){color:#aebeb2}.field-gallery figure{background:#172723}.field-gallery-large figcaption{color:#e5f1dd;background:#101c18}.education-section{color:#101c17;background:#dce8d7}.education-section .eyebrow{color:#3b6a3d}.education-layout h2 em{color:#397748}.education-layout>div:first-child>p:not(.eyebrow){color:#3f5143}.education-meta{border-color:#adc7ae}.education-meta span{color:#536f58}.education-photo{background:radial-gradient(circle,#cedfc8,#829f84)}.education-photo>span{color:#eaf3e6;background:#11221a}.principle{background:#14221f;border-color:#31473b}.principle>span{color:var(--accent)}.principle p{color:#aabbb0}.system-card{color:var(--ink);background:#15231f;border-color:#34463b;min-height:495px}.system-card:hover{border-color:var(--accent);background:#1c3027}.system-card-top,.system-card-top b{color:var(--accent)}.system-card>small{color:#aabcac}.system-card>strong{margin-top:auto}.system-card-summary{z-index:1;color:#c2d0c3;max-width:370px;margin-top:18px;font-size:14px;line-height:1.65;display:block;position:relative}.system-card>small{letter-spacing:.08em;border-top:1px solid #3d5543;margin-top:24px;padding-top:19px;font:700 10px/1.5 Consolas,Courier New,monospace}.system-card-orb,.system-card:nth-child(2) .system-card-orb,.system-card:nth-child(3) .system-card-orb,.system-card:nth-child(4) .system-card-orb{border-color:#adcf8e75;box-shadow:inset 12px -12px 28px #a7cf8a1e,10px 18px 35px #0005}.system-card-orb:before,.system-card-orb:after{border-color:#adcf8e7a}.system-detail-hero{color:#0d1d13;background:#c9ed80}.system-detail-hero .eyebrow{color:#3d6a3e}.system-detail-hero p:last-child{color:#385743}.detail-orbit{border-color:#518746a3;box-shadow:inset 18px -28px 45px #5ca65a4d,18px 25px 40px #3d6b4480}.detail-orbit:before,.detail-orbit:after{border-color:#42783eac}.system-detail-body>p{color:#b5c7b9}.system-skill-group h3{color:var(--accent)}.system-detail-body{padding-block:85px 100px}.system-story{border-bottom:1px solid var(--line);grid-template-columns:.8fr 1.2fr;align-items:end;gap:60px;padding-bottom:45px;display:grid}.system-story h2{letter-spacing:-.065em;margin-top:14px;font-size:clamp(42px,4.5vw,60px);line-height:1.02}.system-story>p{color:#bdccbf;max-width:700px;font-size:17px;line-height:1.8}.system-explainer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px;display:grid}.system-explainer{background:linear-gradient(145deg,#1a2c25,#12201e);border:1px solid #3b5340;flex-direction:column;min-height:365px;padding:27px;display:flex}.system-explainer-number{color:var(--accent);letter-spacing:.13em;font:700 10px Consolas,Courier New,monospace}.system-explainer h3{letter-spacing:-.055em;margin-top:46px;font-size:clamp(25px,2.6vw,36px);line-height:1.08}.system-explainer p{color:#b7c9b9;margin-top:16px;font-size:14px;line-height:1.75}.system-explainer-tools{flex-wrap:wrap;gap:6px;margin-top:auto;padding-top:25px;display:flex}.system-explainer-tools span{color:#d6ead0;letter-spacing:.03em;border:1px solid #507253;padding:6px 8px;font:700 9px/1.3 Consolas,Courier New,monospace}.system-method{background:radial-gradient(circle at 0 0,#263d2c,#15231f 65%);border:1px solid #5d8058;grid-template-columns:.78fr 1.22fr;gap:60px;margin-top:92px;padding:45px;display:grid}.system-method-intro h2{letter-spacing:-.06em;color:#e9f5e5;max-width:310px;margin-top:20px;font-size:clamp(37px,3.8vw,52px);line-height:1.04}.system-method-list{border-top:1px solid #4b6950}.system-method-step{border-bottom:1px solid #4b6950;grid-template-columns:105px 1fr;gap:25px;padding:25px 0;display:grid}.system-method-step>span{color:var(--accent);letter-spacing:.1em;padding-top:5px;font:700 10px/1.5 Consolas,Courier New,monospace}.system-method-step h3{letter-spacing:-.045em;font-size:21px}.system-method-step p{color:#b9cabd;max-width:530px;margin-top:8px;font-size:13px;line-height:1.7}.system-toolkit{border-top:1px solid var(--line);grid-template-columns:.7fr 1.3fr;gap:70px;margin-top:94px;padding-top:39px;display:grid}.system-toolkit h2{letter-spacing:-.06em;margin-top:15px;font-size:clamp(34px,3.5vw,48px)}.system-toolkit .system-skill-groups{gap:30px;margin-top:0}.system-toolkit .system-skill-group{padding-top:15px}.system-toolkit .tag-row span{color:#d5e4d3;background:#1b2d23;border-color:#4b644d}.system-related{border-top:1px solid var(--line);margin-top:95px;padding-top:35px}.system-related-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:27px;display:flex}.system-related-heading h2{letter-spacing:-.06em;margin-top:10px;font-size:clamp(34px,3.5vw,48px)}.system-related-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;display:grid}.system-related .system-related-card{min-width:0;transition:border-color .2s,transform .25s var(--ease);background:#14231e;border:1px solid #39513f;flex-direction:column;justify-content:start;gap:0;padding:0;font-weight:400;display:flex;overflow:hidden}.system-related .system-related-card:hover{border-color:var(--accent);color:var(--ink);transform:translateY(-4px)}.system-related-image{background:#294439;place-items:center;height:205px;display:grid;overflow:hidden}.system-related-image img{object-fit:cover;object-position:center top;width:100%;height:100%;transition:transform .55s var(--ease)}.system-related-card:hover img{transform:scale(1.04)}.system-related-copy{flex-direction:column;flex:1;gap:11px;padding:20px 22px 22px;display:flex;position:relative}.system-related-copy small{color:var(--accent);letter-spacing:.09em;font:700 9px/1.4 Consolas,Courier New,monospace}.system-related-copy strong{letter-spacing:-.055em;padding-right:20px;font-size:clamp(22px,2vw,29px);line-height:1.08}.system-related-copy>span{color:#b6c9b8;font-size:13px;line-height:1.65}.system-related-copy b{color:var(--accent);font:400 20px Arial;position:absolute;top:46px;right:21px}.contact-hero-copy>p:not(.eyebrow){color:#bbcabd}.contact-hero h1 em{color:var(--accent)}.contact-hero .button-dark{background:var(--accent);border-color:var(--accent);color:#0b1514}.contact-hero .button-dark:hover{background:#e0f7ad;border-color:#e0f7ad}.contact-sculpture .sculpture-ring{border-color:#8dba80;box-shadow:inset 10px 25px 35px #97cb7a25,14px 18px 25px #0005}.contact-sculpture .sculpture-ring-two{border-color:#bde59a}.sculpture-core{background:var(--accent);color:#0d1b13}.contact-sculpture>span{color:#a1b39f}.email-panel{color:#0d1a12;background:#c9ed80}.email-panel>span,.email-panel>a b{color:#3a6535}.email-panel>a:hover{color:#315e38}.email-panel>button{color:#18351f;border-color:#3b6d3b}.email-panel>button:hover{color:#0b1b13;background:#e3f7c0}.contact-note{color:#b2c1b5}.contact-note a{color:var(--accent)}.channel-card{background:#14221f;border-color:#31473b}.channel-card:hover{border-color:var(--accent)}.channel-card>span{color:var(--accent)}.channel-card small{color:#9daf9f}.resume-section{color:#101c17;background:#dce8d7}.resume-inner .eyebrow{color:#3c6d43}.resume-inner h2 em{color:#3b7845}.resume-inner p:not(.eyebrow){color:#41594a}.resume-inner .button-light{color:#edf4e8;background:#101c17}.resume-inner .button-light:hover{background:#2c4b38}@media (max-width:1080px){.header-link{display:none}.hero-copy h1{font-size:clamp(57px,6.6vw,76px)}.hero-stage{height:500px}}@media (max-width:780px){.header-actions{order:1;margin-left:auto}.menu-toggle{order:2;margin-left:0}.primary-nav{order:3}.menu-toggle{color:var(--accent)}.primary-nav{background:#0e1918;border-color:#33483d;top:69px;box-shadow:0 20px 30px #0008}.primary-nav a{font-size:12px}.hero{grid-template-columns:1fr;padding-top:70px;display:grid}.hero-copy h1{font-size:clamp(62px,10vw,83px)}.hero-stage{max-width:620px;height:510px;margin:30px auto 0}.hero-bar{grid-template-columns:repeat(2,1fr);gap:13px;margin-top:30px;padding-block:18px}.hero-bar a{text-align:left}.featured-project{grid-template-columns:1fr}.featured-image{min-height:460px}.featured-copy{min-height:390px}.contact-preview-inner{grid-template-columns:1fr}.contact-preview-inner>.eyebrow{grid-column:auto}.contact-preview-inner>div:last-child{max-width:410px}.system-story,.system-method,.system-toolkit{grid-template-columns:1fr;gap:28px}.system-explainer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.system-explainer:last-child{grid-column:1/-1}.system-explainer{min-height:310px}.system-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:600px){body{font-size:14px}.header-inner{min-height:66px}.primary-nav{top:65px}.appreciation-dock{right:17px;bottom:max(17px,env(safe-area-inset-bottom) + 11px);width:130px}.appreciation-dock:before{border-radius:13px;transform:translate(5px,5px)rotate(2deg)}.heart-button{border-radius:13px;gap:8px;min-height:55px;padding:7px 8px}.heart-symbol{border-radius:10px;width:35px;height:35px}.heart-symbol svg{width:19px;height:19px}.heart-kicker,.heart-spark{display:none}.heart-total{gap:3px;font-size:8px}.heart-total strong{font-size:19px}.hero{padding-top:52px}.hero-copy h1{white-space:normal;font-size:clamp(48px,12vw,69px)}.hero-lead{font-size:15px}.hero-stage{height:405px;margin-top:20px}.stage-card{inset:42px 38px}.stage-coordinate{font-size:8px}.hero-bar{grid-template-columns:1fr 1fr;font-size:8px}.hero-bar a{grid-column:1/-1}.section{padding-block:82px}.section-head h2,.profile-lead-copy h2,.education-layout h2,.contact-preview-inner h2,.resume-inner h2{font-size:clamp(39px,10vw,55px)}.featured-image{min-height:365px}.featured-image img{height:90%}.featured-copy{min-height:350px}.featured-copy h3{font-size:58px}.selected-row{grid-template-columns:34px 1fr 20px;gap:10px;min-height:88px}.selected-row strong{font-size:21px}.selected-row small{display:none}.selected-row>.selected-row-expansion{grid-template-columns:1fr;gap:14px}.selected-row-expandable.is-active{padding:14px}.selected-row-expandable.is-active>.selected-row-expansion{max-height:650px;margin-top:4px}.selected-row-visual{height:235px}.selected-row-detail{padding:10px 0 2px}.selected-row-detail .eyebrow{margin-bottom:10px}.selected-row-summary{font-size:13px;line-height:1.65}.selected-row-tools{margin-top:14px;font-size:8px}.selected-row-open{margin-top:18px}.profile-preview-image{min-height:350px}.systems-preview-grid{grid-template-columns:1fr}.system-preview{min-height:220px}.page-intro h1{font-size:clamp(56px,12vw,78px)}.detail-topbar{gap:7px}.detail-back,.detail-close{padding:9px 10px;font-size:9px}.detail-count{font-size:9px}.detail-hero-copy{min-height:320px}.contact-preview-section{padding-block:78px}.system-card{min-height:425px}.system-card-summary{font-size:13px}.system-detail-hero{min-height:300px;padding:30px 27px}.system-detail-body{padding-block:58px 75px}.system-story{gap:17px;padding-bottom:30px}.system-story>p{font-size:15px}.system-explainer-grid,.system-related-grid{grid-template-columns:1fr}.system-explainer:last-child{grid-column:auto}.system-explainer{min-height:0;padding:23px}.system-explainer h3{margin-top:30px;font-size:29px}.system-explainer-tools{margin-top:7px}.system-method{margin-top:65px;padding:26px}.system-method-step{grid-template-columns:1fr;gap:9px;padding:22px 0}.system-toolkit,.system-related{margin-top:65px}.system-toolkit .system-skill-groups{grid-template-columns:1fr}.system-related-image{height:220px}}@media (max-width:390px){.header-inner{gap:10px}.hero-copy h1{font-size:12vw}.hero-stage{height:355px}.stage-card{inset:35px 32px}.featured-image{min-height:330px}}@media (prefers-reduced-motion:reduce){.stage-portrait:not(.is-active){opacity:0}.featured-image img,.heart-button{transition:none}.heart-button:not(:disabled):hover{transform:none}.appreciation-dock.is-celebrating .heart-symbol{animation:none}}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#f7f8f3;--paper:#fffefa;--ink:#1d3027;--ink-soft:#4e6257;--muted:#687c70;--line:#d7e1d6;--accent:#3c704f;--accent-light:#e8f1e7;--deep:#e7f0e5;--deep-2:#dbe9da;--lime:#d8edbe;--surface:#fff;--surface-soft:#f0f5ed;--surface-green:#e7f0e4;--border-strong:#b8ceb8;--cta:#294e38}html[data-theme=light] body{background:var(--bg);color:var(--ink)}html[data-theme=light] ::selection{color:#173624;background:#cce7ba}html[data-theme=light] .site-header{border-color:var(--line);background:#f7f8f3ed}html[data-theme=light] .brand-note{color:#61786a;border-color:#c4d5c5}html[data-theme=light] .primary-nav a{color:#4b6255}html[data-theme=light] .primary-nav a:hover,html[data-theme=light] .primary-nav a[aria-current=page]{color:var(--accent)}html[data-theme=light] .header-link{color:var(--cta);border-color:#8eaa91}html[data-theme=light] .header-link:hover{background:var(--cta);color:#fff}html[data-theme=light] .theme-toggle{color:var(--cta);background:#fff;border-color:#bad0bd}html[data-theme=light] .theme-toggle:hover{border-color:var(--accent);color:var(--accent)}html[data-theme=light] .appreciation-dock{filter:drop-shadow(0 18px 20px #25422a31)}html[data-theme=light] .appreciation-dock:before{background:#a8c8a2;border-color:#88ae85}html[data-theme=light] .heart-button{color:#23412c;background:linear-gradient(135deg,#fffef8,#e4f1da);border-color:#b5d0aa;box-shadow:inset 0 1px #fff,0 10px 20px #2e593029}html[data-theme=light] .heart-button:not(:disabled):hover{box-shadow:inset 0 1px #fff,0 18px 26px #2e59303d}html[data-theme=light] .heart-symbol{background:#fff;border-color:#a5c49d;box-shadow:inset 0 2px #fff,0 4px #a2c19a,0 8px 12px #34532a26}html[data-theme=light] .site-footer{border-color:var(--line);background:#eef3eb}html[data-theme=light] .footer-inner{color:#607368}html[data-theme=light] .footer-inner a{color:var(--accent)}html[data-theme=light] .skip-link{background:var(--cta);color:#fff}html[data-theme=light] .eyebrow{color:var(--accent)}html[data-theme=light] .availability-dot{background:#5c9a67;box-shadow:0 0 0 4px #5c9a6724}html[data-theme=light] .button-lime,html[data-theme=light] .button-light{background:var(--cta);color:#fff}html[data-theme=light] .button-lime:hover,html[data-theme=light] .button-light:hover{background:#3c7551;box-shadow:0 13px 30px #3b775025}html[data-theme=light] .button-dark{background:var(--cta);border-color:var(--cta);color:#fff}html[data-theme=light] .button-dark:hover{background:#3b7450;border-color:#3b7450}html[data-theme=light] .button-outline{color:var(--ink);border-color:#799785}html[data-theme=light] .button-outline:hover{background:var(--cta);color:#fff}html[data-theme=light] .text-action{color:var(--ink);border-color:#8ba596}html[data-theme=light] .text-action:hover{color:var(--accent)}html[data-theme=light] .section-head>p{color:var(--ink-soft)}html[data-theme=light] .tilt-card:hover{box-shadow:0 22px 45px #25432b1a}html[data-theme=light] .hero-period{color:var(--ink)}html[data-theme=light] .hero-lead{color:var(--ink-soft)}html[data-theme=light] .hero-stage{background:radial-gradient(circle at 54% 52%,#f4f8ef 0%,#e5f0e3 47%,#d9e9de 100%);border-color:#c3d6c4}html[data-theme=light] .stage-grid{background-color:#0000;background-image:linear-gradient(#628a6718 1px,#0000 1px),linear-gradient(90deg,#628a6718 1px,#0000 1px);background-position:0 0,0 0;background-repeat:repeat,repeat;background-size:40px 40px;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box}html[data-theme=light] .stage-orbit{border-color:#75a07d75;box-shadow:0 0 70px #6eae7021}html[data-theme=light] .stage-orbit:after{border-color:#78a78275}html[data-theme=light] .stage-card{border-color:#afc9b1;box-shadow:19px 27px 45px #37564738}html[data-theme=light] .stage-coordinate{color:#315740}html[data-theme=light] .stage-coordinate b,html[data-theme=light] .stage-cross{color:var(--accent)}html[data-theme=light] .hero-bar{color:#65786c}html[data-theme=light] .hero-bar b,html[data-theme=light] .hero-bar a{color:var(--accent)}html[data-theme=light] .featured-project{background:#edf4eb;border-color:#c3d7c1}html[data-theme=light] .featured-image{background:radial-gradient(circle,#d9e9d4,#bfd6c2 72%)}html[data-theme=light] .featured-image img{filter:drop-shadow(20px 22px 20px #23453136)}html[data-theme=light] .image-corner{color:#2f6040}html[data-theme=light] .featured-copy>p:not(.eyebrow){color:var(--ink-soft)}html[data-theme=light] .feature-open{color:var(--accent);border-color:#b8ceb9}html[data-theme=light] .selected-row:hover{background:#f3f6f0}html[data-theme=light] .selected-row-expandable.is-active{background:#eaf2e8}html[data-theme=light] .selected-row-visual{background:#dbe8db}html[data-theme=light] .selected-row-mobile .selected-row-visual{background:radial-gradient(circle at 50% 46%,#dcebdc 0,#c7dac8 62%,#b8cdbb 100%)}html[data-theme=light] .selected-row-summary{color:var(--ink-soft)}html[data-theme=light] .profile-preview-section{color:var(--ink);background:#edf3e9}html[data-theme=light] .profile-preview-image{background:#a8beaa}html[data-theme=light] .profile-preview-image span{color:#28422e;background:#fffef0}html[data-theme=light] .profile-preview-copy .eyebrow,html[data-theme=light] .profile-preview-copy h2 em{color:var(--accent)}html[data-theme=light] .profile-preview-copy>p:not(.eyebrow){color:var(--ink-soft)}html[data-theme=light] .profile-preview-copy .preview-metrics span{color:var(--muted)}html[data-theme=light] .systems-preview-grid{background:#cbdaca;border-color:#cbdaca}html[data-theme=light] .system-preview{background:#fffefa}html[data-theme=light] .system-preview:hover{background:#eff5ec}html[data-theme=light] .system-preview>span,html[data-theme=light] .system-preview b{color:var(--accent)}html[data-theme=light] .system-preview small{color:var(--muted)}html[data-theme=light] .contact-preview-section{color:var(--ink);background:#e0efda}html[data-theme=light] .contact-preview-inner>.eyebrow,html[data-theme=light] .contact-preview-inner h2 em{color:var(--accent)}html[data-theme=light] .contact-preview-inner>div:last-child p{color:var(--ink-soft)}html[data-theme=light] .contact-preview-inner .button-lime{background:var(--cta);color:#fff}html[data-theme=light] .contact-preview-inner .button-lime:hover{background:#3b7450}html[data-theme=light] .intro-side,html[data-theme=light] .intro-bottom span,html[data-theme=light] .archive-heading>p{color:var(--muted)}html[data-theme=light] .intro-bottom p{color:var(--ink-soft)}html[data-theme=light] .filter-group button,html[data-theme=light] .view-group button{color:#657b6c}html[data-theme=light] .filter-group button[aria-pressed=true]{background:var(--cta);color:#fff}html[data-theme=light] .filter-group button:hover:not([aria-pressed=true]){color:var(--ink);background:#e5efe2}html[data-theme=light] .view-group button:hover,html[data-theme=light] .view-group button[aria-pressed=true]{border-color:var(--accent);color:var(--accent);background:#e5efe2}html[data-theme=light] .project-card{color:var(--ink);border-color:var(--line);background:#fffefa}html[data-theme=light] .project-card-visual{background:#e4eee3}html[data-theme=light] .project-card.is-mobile .project-card-visual{background:radial-gradient(circle,#e8f2e6,#c5d9ca 75%)}html[data-theme=light] .project-card-copy>span{color:var(--muted)}html[data-theme=light] .detail-back,html[data-theme=light] .detail-close{color:var(--ink);background:#fff;border-color:#bfd1bf}html[data-theme=light] .detail-back:hover,html[data-theme=light] .detail-close:hover{background:var(--cta);color:#fff}html[data-theme=light] .detail-count{color:var(--muted)}html[data-theme=light] .detail-hero{color:var(--ink);background:#e0efda}html[data-theme=light] .detail-hero h1 em,html[data-theme=light] .detail-hero-copy .eyebrow{color:var(--accent)}html[data-theme=light] .detail-hero-copy>p:last-child{color:var(--ink-soft)}html[data-theme=light] .detail-hero-visual{background:#d4e4d2}html[data-theme=light] .detail-hero-visual.is-mobile{background:radial-gradient(circle,#e4f0e0,#bcd3bf)}html[data-theme=light] .detail-body p,html[data-theme=light] .tag-row span{color:var(--ink-soft)}html[data-theme=light] .detail-gallery-main,html[data-theme=light] .detail-gallery-thumbs button{background:#e9f0e8}html[data-theme=light] .profile-lead-photo{background:#d9e8d8}html[data-theme=light] .profile-lead-photo span{color:var(--ink);background:#fffefa}html[data-theme=light] .profile-lead-copy>p:not(.eyebrow){color:var(--ink-soft)}html[data-theme=light] .profile-lead-copy .lead-text{color:var(--ink)!important}html[data-theme=light] .timeline-side>span{color:#b7cbb7}html[data-theme=light] .timeline-side small,html[data-theme=light] .timeline-entry>div:last-child>p:not(.eyebrow){color:var(--ink-soft)}html[data-theme=light] .field-gallery figure{background:#e2ebe0}html[data-theme=light] .field-gallery-large figcaption{color:var(--ink);background:#fffefa}html[data-theme=light] .education-section{color:var(--ink);background:#e7f0e4}html[data-theme=light] .education-section .eyebrow,html[data-theme=light] .education-layout h2 em{color:var(--accent)}html[data-theme=light] .education-layout>div:first-child>p:not(.eyebrow){color:var(--ink-soft)}html[data-theme=light] .education-meta{border-color:#bed2be}html[data-theme=light] .education-meta span{color:var(--muted)}html[data-theme=light] .education-photo{background:radial-gradient(circle,#edf5e7,#bed5c0)}html[data-theme=light] .education-photo>span{color:var(--ink);background:#fffefa}html[data-theme=light] .principle{border-color:var(--line);background:#fffefa}html[data-theme=light] .principle p{color:var(--ink-soft)}html[data-theme=light] .system-card{border-color:var(--line);color:var(--ink);background:#fffefa}html[data-theme=light] .system-card:hover{border-color:var(--accent);background:#f1f7ee}html[data-theme=light] .system-card>small,html[data-theme=light] .system-card-summary{color:var(--ink-soft)}html[data-theme=light] .system-card>small{border-color:#c6d8c6}html[data-theme=light] .system-card-orb,html[data-theme=light] .system-card:nth-child(2) .system-card-orb,html[data-theme=light] .system-card:nth-child(3) .system-card-orb,html[data-theme=light] .system-card:nth-child(4) .system-card-orb{border-color:#82ab8975;box-shadow:inset 12px -12px 28px #81b68d2a,10px 18px 35px #4b79511c}html[data-theme=light] .system-card-orb:before,html[data-theme=light] .system-card-orb:after{border-color:#8bb7958a}html[data-theme=light] .system-detail-hero{color:var(--ink);background:#dfeeda}html[data-theme=light] .system-detail-hero h1 em,html[data-theme=light] .system-detail-hero .eyebrow{color:var(--accent)}html[data-theme=light] .system-detail-hero p:last-child{color:var(--ink-soft)}html[data-theme=light] .detail-orbit{border-color:#79a584a3;box-shadow:inset 18px -28px 45px #8cbf8b51,18px 25px 40px #6c957d40}html[data-theme=light] .detail-orbit:before,html[data-theme=light] .detail-orbit:after{border-color:#78aa82ac}html[data-theme=light] .system-detail-body>p,html[data-theme=light] .system-story>p{color:var(--ink-soft)}html[data-theme=light] .system-explainer{background:linear-gradient(145deg,#fffefa,#edf4ea);border-color:#c8d9c7}html[data-theme=light] .system-explainer p{color:var(--ink-soft)}html[data-theme=light] .system-explainer-tools span{color:#315e40;border-color:#b8d0b7}html[data-theme=light] .system-method{background:radial-gradient(circle at 0 0,#eff6e9,#dfebdc 72%);border-color:#bad2b9}html[data-theme=light] .system-method-intro h2{color:var(--ink)}html[data-theme=light] .system-method-list,html[data-theme=light] .system-method-step{border-color:#bad1bb}html[data-theme=light] .system-method-step p{color:var(--ink-soft)}html[data-theme=light] .system-toolkit .tag-row span{color:var(--ink-soft);background:#fffefa;border-color:#c5d8c4}html[data-theme=light] .system-related .system-related-card{border-color:var(--line);background:#fffefa}html[data-theme=light] .system-related-image{background:#e2eee0}html[data-theme=light] .system-related-copy>span,html[data-theme=light] .contact-hero-copy>p:not(.eyebrow){color:var(--ink-soft)}html[data-theme=light] .contact-hero .button-dark{background:var(--cta);border-color:var(--cta);color:#fff}html[data-theme=light] .contact-hero .button-dark:hover{background:#3b7450;border-color:#3b7450}html[data-theme=light] .contact-sculpture .sculpture-ring,html[data-theme=light] .contact-sculpture .sculpture-ring-two{border-color:#91b59a;box-shadow:inset 10px 25px 35px #92bf9a24,14px 18px 25px #6d947b29}html[data-theme=light] .sculpture-core{color:#27533a;background:#d8ebcb}html[data-theme=light] .contact-sculpture>span{color:var(--muted)}html[data-theme=light] .email-panel{color:var(--ink);background:#e0efda}html[data-theme=light] .email-panel>span,html[data-theme=light] .email-panel>a b{color:var(--accent)}html[data-theme=light] .email-panel>a:hover{color:#285a3c}html[data-theme=light] .email-panel>button{color:var(--ink);border-color:#91ad95}html[data-theme=light] .email-panel>button:hover{color:var(--ink);background:#cde4c9}html[data-theme=light] .contact-note{color:var(--ink-soft)}html[data-theme=light] .channel-card{border-color:var(--line);background:#fffefa}html[data-theme=light] .channel-card small{color:var(--muted)}html[data-theme=light] .resume-section{color:var(--ink);background:#e7f0e4}html[data-theme=light] .resume-inner .eyebrow,html[data-theme=light] .resume-inner h2 em{color:var(--accent)}html[data-theme=light] .resume-inner p:not(.eyebrow){color:var(--ink-soft)}html[data-theme=light] .resume-inner .button-light{background:var(--cta);color:#fff}html[data-theme=light] .resume-inner .button-light:hover{background:#3b7450}@media (max-width:780px){html[data-theme=light] .primary-nav{border-color:var(--line);background:#f7f8f3;box-shadow:0 20px 30px #1e41201a}}html[data-heart-design="2"] .appreciation-dock{--drawer-width:310px;--handle-width:44px;--panel-width:266px;--drawer-inside:#0b1514;z-index:48;width:var(--drawer-width);isolation:isolate;filter:drop-shadow(-14px 18px 24px #0003);height:154px;transform:translate(var(--panel-width),-50%);margin:0;scroll-margin-top:0;transition:transform .55s cubic-bezier(.22,1,.36,1);position:fixed;top:58%;bottom:auto;right:0}html[data-heart-design="2"] .appreciation-dock.is-open{transform:translateY(-50%)}html[data-heart-design="2"] .appreciation-dock:before,html[data-heart-design="2"] .appreciation-dock:after{display:none}html[data-heart-design="2"] .heart-design-two-toggle{z-index:4;width:var(--handle-width);border:1px solid var(--accent);grid-template-rows:30px 28px 1fr;place-items:center;padding:14px 0 11px;display:grid;position:absolute;inset:0 auto 0 0}@supports (color:color-mix(in lab, red, red)){html[data-heart-design="2"] .heart-design-two-toggle{border:1px solid color-mix(in srgb,var(--accent) 68%,var(--line))}}html[data-heart-design="2"] .heart-design-two-toggle{background:var(--accent);color:var(--drawer-inside);cursor:pointer;border-right:0;border-radius:12px 0 0 12px;transition:background .25s,color .25s;box-shadow:inset 1px 0 #ffffff35}html[data-heart-design="2"] .heart-design-two-toggle>span{width:var(--handle-width);text-align:center;font-size:19px;line-height:1;transition:transform .35s cubic-bezier(.22,1,.36,1);position:absolute;top:14px;left:0}html[data-heart-design="2"] .heart-design-two-toggle>strong{z-index:6;width:var(--handle-width);color:var(--drawer-inside);letter-spacing:-.04em;text-align:center;font:800 14px/1 Arial,Helvetica Neue,sans-serif;transition:left .55s cubic-bezier(.22,1,.36,1),top .55s cubic-bezier(.22,1,.36,1),font-size .55s cubic-bezier(.22,1,.36,1),color .3s;position:absolute;top:45px;left:0}html[data-heart-design="2"] .heart-design-two-toggle>small{color:currentColor;letter-spacing:.14em;writing-mode:vertical-rl;font:800 7px/1 Consolas,Courier New,monospace;position:absolute;bottom:11px;left:16px;transform:rotate(180deg)}html[data-heart-design="2"] .heart-design-two-toggle:hover>span,html[data-heart-design="2"] .heart-design-two-toggle:focus-visible>span{transform:scale(1.18)}html[data-heart-design="2"] .heart-design-two-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:-4px}html[data-heart-design="2"] .appreciation-dock.is-open .heart-design-two-toggle{background:var(--ink);color:var(--bg)}html[data-heart-design="2"] .appreciation-dock.is-open .heart-design-two-toggle>strong{width:auto;color:var(--ink);letter-spacing:-.075em;text-align:left;font-size:42px;line-height:.78;top:70px;left:66px}html[data-heart-design="2"] .heart-design-two-toggle.is-hearted>span{animation:2.8s ease-in-out infinite drawer-heart-idle}html[data-heart-design="2"] .heart-button{z-index:2;left:var(--handle-width);width:var(--panel-width);border:1px solid var(--line);background:linear-gradient(135deg,var(--paper),var(--bg));border-right:0;border-radius:0;height:154px;min-height:0;padding:50px 72px 24px 22px;display:block;position:absolute;top:0}@supports (color:color-mix(in lab, red, red)){html[data-heart-design="2"] .heart-button{background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 96%,transparent),color-mix(in srgb,var(--bg) 94%,transparent))}}html[data-heart-design="2"] .heart-button{color:var(--ink);text-align:left;box-shadow:inset 0 1px var(--ink)}@supports (color:color-mix(in lab, red, red)){html[data-heart-design="2"] .heart-button{box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 5%,transparent)}}html[data-heart-design="2"] .heart-button{transform-origin:50%;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);transition:background .25s;overflow:hidden;transform:none}html[data-heart-design="2"] .heart-button:before{content:"";background:linear-gradient(90deg,var(--accent) 0 36px,var(--line) 36px 100%);height:1px;position:absolute;bottom:20px;left:22px;right:22px}html[data-heart-design="2"] .heart-button:not(:disabled):hover{background:linear-gradient(135deg,var(--paper),var(--bg))}@supports (color:color-mix(in lab, red, red)){html[data-heart-design="2"] .heart-button:not(:disabled):hover{background:linear-gradient(135deg,color-mix(in srgb,var(--paper) 90%,var(--accent) 10%),color-mix(in srgb,var(--bg) 95%,transparent))}}html[data-heart-design="2"] .heart-button:not(:disabled):hover{box-shadow:inset 0 1px var(--ink)}@supports (color:color-mix(in lab, red, red)){html[data-heart-design="2"] .heart-button:not(:disabled):hover{box-shadow:inset 0 1px color-mix(in srgb,var(--ink) 5%,transparent)}}html[data-heart-design="2"] .heart-button:not(:disabled):hover,html[data-heart-design="2"] .heart-button:active:not(:disabled){transform:none}html[data-heart-design="2"] .heart-button:focus-visible{outline:1px dashed var(--accent);outline-offset:-8px}html[data-heart-design="2"] .heart-copy{border:0;min-width:0;margin:0;padding:0;display:block}html[data-heart-design="2"] .heart-kicker{color:var(--muted);letter-spacing:.1em;white-space:nowrap;font:800 8px/1 Consolas,Courier New,monospace;transition:color .25s;display:block;position:absolute;top:51px;left:22px}html[data-heart-design="2"] .heart-total{color:var(--ink);letter-spacing:.16em;white-space:nowrap;font:750 7px/1 Consolas,Courier New,monospace;display:block}html[data-heart-design="2"] .heart-total strong,html[data-heart-design="2"] .heart-total strong:after{display:none}html[data-heart-design="2"] .heart-total small{color:var(--accent);letter-spacing:.12em;font-size:7px;position:absolute;top:90px;left:113px}html[data-heart-design="2"] .heart-symbol{z-index:2;border:1px solid var(--accent);place-items:center;width:45px;height:45px;display:grid;position:absolute;top:52px;right:18px}@supports (color:color-mix(in lab, red, red)){html[data-heart-design="2"] .heart-symbol{border:1px solid color-mix(in srgb,var(--accent) 55%,var(--line))}}html[data-heart-design="2"] .heart-symbol{color:var(--accent);box-shadow:none;background:0 0;border-radius:13px;transition:background .3s,color .3s,transform .45s cubic-bezier(.22,1,.36,1);transform:rotate(4deg)}html[data-heart-design="2"] .heart-symbol:before,html[data-heart-design="2"] .heart-symbol:after{display:none}html[data-heart-design="2"] .heart-symbol svg{fill:#0000;stroke:currentColor;stroke-width:1.55px;width:21px;height:21px;transition:fill .25s,transform .45s cubic-bezier(.22,1,.36,1)}html[data-heart-design="2"] .heart-button:not(:disabled):hover .heart-kicker{color:var(--accent)}html[data-heart-design="2"] .heart-button:not(:disabled):hover .heart-symbol{background:var(--accent);color:var(--drawer-inside);transform:rotate(0)scale(1.08)}html[data-heart-design="2"] .heart-button:not(:disabled):hover .heart-symbol svg{fill:currentColor;transform:scale(1.08)}html[data-heart-design="2"] .heart-button.is-hearted .heart-symbol{background:var(--accent);color:var(--drawer-inside);transform:rotate(0)}html[data-heart-design="2"] .heart-button.is-hearted .heart-symbol svg{fill:currentColor}html[data-heart-design="2"] .heart-spark{color:var(--accent);font-size:10px;display:none;position:absolute;top:auto;bottom:24px;right:23px}html[data-heart-design="2"] .heart-design-two-caption{z-index:3;color:var(--muted);letter-spacing:.08em;pointer-events:none;justify-content:flex-start;font:800 8px/1 Consolas,Courier New,monospace;display:flex;position:absolute;top:18px;left:66px;right:20px}html[data-heart-design="2"] .heart-design-two-caption span:first-child{color:var(--accent)}html[data-heart-design="2"] .heart-spark{display:none}html[data-heart-design="2"] .appreciation-dock.is-celebrating .heart-symbol{animation:.72s cubic-bezier(.22,1,.36,1) drawer-heart-celebrate}@keyframes drawer-heart-idle{0%,88%,to{transform:scale(1)}92%{transform:scale(1.16)}96%{transform:scale(.96)}}@keyframes drawer-heart-celebrate{0%,to{transform:scale(1)}40%{transform:scale(1.22)rotate(-5deg)}70%{transform:scale(.95)rotate(2deg)}}html[data-theme=light][data-heart-design="2"] .appreciation-dock{--drawer-inside:#f7f8f3;filter:drop-shadow(-14px 18px 24px #24452d24)}html[data-theme=light][data-heart-design="2"] .heart-button{background:linear-gradient(135deg,#fffefaef,#f7f8f3f2)}html[data-theme=light][data-heart-design="2"] .heart-button:not(:disabled):hover{background:linear-gradient(135deg,#f4f8ed,#fffefa)}html[data-theme=dark][data-heart-design="2"] .appreciation-dock{filter:drop-shadow(-13px 18px 27px #0009)drop-shadow(0 0 12px #c9ed801c)}html[data-theme=dark][data-heart-design="2"] .heart-design-two-toggle{color:#0b1514;background:#c9ed80;border-color:#e0f7a7;box-shadow:inset 1px 0 #ffffff5c,0 0 0 1px #c9ed801c}html[data-theme=dark][data-heart-design="2"] .appreciation-dock.is-open .heart-design-two-toggle{color:#d9f6a0;background:#172723;border-color:#516b5b}html[data-theme=dark][data-heart-design="2"] .heart-button{color:#f1f5eb;background:linear-gradient(140deg,#172522fa,#0d1716fa);border-color:#42584d;box-shadow:inset 0 1px #ffffff0d}html[data-theme=dark][data-heart-design="2"] .heart-button:not(:disabled):hover{background:linear-gradient(140deg,#1a2b26,#0f1a18)}html[data-theme=dark][data-heart-design="2"] .heart-kicker{color:#b7c7bd}html[data-theme=dark][data-heart-design="2"] .heart-symbol{color:#c9ed80;background:#1d3028;border-color:#9dc66f}html[data-theme=dark][data-heart-design="2"] .heart-button.is-hearted .heart-symbol{color:#0b1514;background:#c9ed80}@media (max-width:600px){html[data-heart-design="2"] .appreciation-dock{--drawer-width:min(292px,calc(100vw - 16px));--handle-width:44px;--panel-width:calc(var(--drawer-width) - var(--handle-width));top:auto;bottom:max(12px,env(safe-area-inset-bottom) + 8px);height:132px;transform:translateX(var(--panel-width))}html[data-heart-design="2"] .appreciation-dock.is-open{transform:translate(0)}html[data-heart-design="2"] .heart-design-two-toggle{grid-template-rows:23px 21px 1fr;height:132px;padding-block:11px 9px}html[data-heart-design="2"] .heart-design-two-toggle>span{font-size:17px;top:12px}html[data-heart-design="2"] .heart-design-two-toggle>strong{font-size:12px;top:38px}html[data-heart-design="2"] .heart-design-two-toggle>small{font-size:6px;bottom:9px;left:16px}html[data-heart-design="2"] .appreciation-dock.is-open .heart-design-two-toggle>strong{font-size:37px;top:60px;left:62px}html[data-heart-design="2"] .heart-button{height:132px;padding:44px 64px 21px 18px}html[data-heart-design="2"] .heart-button:before{bottom:17px;left:18px;right:18px}html[data-heart-design="2"] .heart-kicker{font-size:8px;display:block;top:43px;left:18px}html[data-heart-design="2"] .heart-total strong{display:none}html[data-heart-design="2"] .heart-total small{font-size:6px;top:78px;left:99px}html[data-heart-design="2"] .heart-symbol{width:40px;height:40px;top:45px;right:15px}html[data-heart-design="2"] .heart-symbol svg{width:19px;height:19px}html[data-heart-design="2"] .heart-spark{display:none}html[data-heart-design="2"] .heart-design-two-caption{font-size:8px;top:15px;left:62px;right:17px}}@media (prefers-reduced-motion:reduce){html[data-heart-design="2"] .appreciation-dock,html[data-heart-design="2"] .heart-design-two-toggle>span,html[data-heart-design="2"] .heart-symbol,html[data-heart-design="2"] .heart-symbol svg{transition:none}html[data-heart-design="2"] .heart-design-two-toggle.is-hearted>span,html[data-heart-design="2"] .appreciation-dock.is-celebrating .heart-symbol{animation:none}}html{background:var(--bg)}body{min-height:100vh}.portfolio-form{border:1px solid var(--line);background:var(--paper);gap:18px;padding:clamp(24px,4vw,42px);display:grid}.portfolio-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.portfolio-field{gap:8px;display:grid}.portfolio-field label{color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font:700 9px/1.4 Consolas,Courier New,monospace}.portfolio-field input,.portfolio-field textarea{border:1px solid var(--line);background:var(--bg);width:100%;color:var(--ink);font:inherit;border-radius:0;outline:0;padding:14px 15px}.portfolio-field textarea{resize:vertical;min-height:150px}.portfolio-field input:focus,.portfolio-field textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent)}@supports (color:color-mix(in lab, red, red)){.portfolio-field input:focus,.portfolio-field textarea:focus{box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 18%, transparent)}}.portfolio-form .button{border:0;width:100%}.form-status{color:var(--muted);text-align:center;font:600 10px/1.55 Consolas,Courier New,monospace}.form-status.is-success{color:var(--accent)}.form-status.is-error{color:#d85f5f}.contact-form-section{padding-bottom:112px}.contact-form-layout{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr);align-items:start;gap:clamp(32px,6vw,90px);display:grid}.contact-form-intro h2{letter-spacing:-.075em;margin:18px 0 24px;font-size:clamp(42px,5vw,70px);font-weight:800}.contact-form-intro h2 em{color:var(--accent)}.contact-form-intro>p:last-child{color:var(--ink-soft)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.project-card-visual,.selected-row-visual,.detail-hero-visual,.detail-gallery-main,.detail-gallery-thumbs button,.profile-lead-photo,.education-photo,.field-gallery figure,.profile-preview-image{position:relative}.project-card-visual img,.selected-row-visual img,.detail-hero-visual img,.detail-gallery-main img,.detail-gallery-thumbs img,.profile-lead-photo img,.education-photo img,.field-gallery img,.profile-preview-image img{object-fit:cover;width:100%;height:100%}.project-card.is-mobile .project-card-visual img,.detail-hero-visual.is-mobile img{object-fit:contain}.project-case-page{min-height:70vh;padding-block:0 110px}.project-case-page .detail-view{display:block}.detail-gallery-thumbs button{border:0}.project-detail-static-gallery{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));display:grid;overflow:visible}.project-detail-static-gallery a{border:1px solid var(--line);background:var(--paper);min-height:220px;display:block;position:relative;overflow:hidden}.project-detail-static-gallery a:hover{border-color:var(--accent)}.project-detail-static-gallery a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.github-activity-section{padding-top:36px;padding-bottom:110px}.github-repo-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid}.github-repo-card{background:var(--paper);min-height:230px;color:var(--ink);flex-direction:column;padding:24px;text-decoration:none;transition:background-color .25s,transform .25s;display:flex;position:relative}.github-repo-card:hover{z-index:1;background:var(--deep-2);transform:translateY(-4px)}.github-repo-title{color:var(--accent);align-items:center;gap:10px;display:flex}.github-repo-title strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font:700 13px/1.4 Consolas,Courier New,monospace;overflow:hidden}.github-repo-card>p{color:var(--ink-soft);margin:24px 0;font-size:13px;line-height:1.7}.github-repo-meta{color:var(--muted);letter-spacing:.05em;text-transform:uppercase;flex-wrap:wrap;gap:12px;margin-top:auto;font:600 9px/1.4 Consolas,Courier New,monospace;display:flex}.github-repo-meta span{align-items:center;gap:6px;display:inline-flex}.github-repo-meta i{border-radius:50%;width:8px;height:8px}.github-repo-card>b{color:var(--muted);font-weight:400;position:absolute;top:19px;right:20px}.github-repo-card:hover>b{color:var(--accent)}.github-action{justify-content:center;margin-top:34px;display:flex}.github-empty{border:1px solid var(--line);color:var(--muted);text-align:center;padding:30px}.github-repo-loading{min-height:230px;animation:1.4s ease-in-out infinite alternate repoPulse}@keyframes repoPulse{to{opacity:.45}}.heart-button:disabled{cursor:default}.heart-design-two-caption{pointer-events:none}@media (max-width:760px){.portfolio-form-grid,.contact-form-layout{grid-template-columns:1fr}.contact-form-section{padding-bottom:80px}.github-repo-grid{grid-template-columns:1fr}.github-activity-section{padding-top:12px;padding-bottom:80px}.project-detail-static-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}.project-detail-static-gallery a{min-height:170px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@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-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@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-scroll-snap-strictness{syntax:"*";inherits:false;initial-value:proximity}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-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-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}
