@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/c7f47671e39f7787-s.0klc_mi0-5f4_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Instrument Sans;font-style:normal;font-weight:400 700;font-stretch:100%;font-display:swap;src:url(../media/f06bf9da926bae75-s.p.2874ccu1_u7jf.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Instrument Sans Fallback;src:local(Arial);ascent-override:94.42%;descent-override:24.33%;line-gap-override:0.0%;size-adjust:102.74%}.instrument_sans_d8350e3a-module__LA5v5G__className{font-family:Instrument Sans,Instrument Sans Fallback;font-style:normal}.instrument_sans_d8350e3a-module__LA5v5G__variable{--font-instrument-sans:"Instrument Sans", "Instrument Sans Fallback"}
@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/32687112bd2dd8db-s.1gepa_7fcx9fm.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/28868e710e86be81-s.2eksvhm1z0jwa.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:300 700;font-display:swap;src:url(../media/0c89a48fa5027cee-s.p.2cyn07wtgehh0.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk Fallback;src:local(Arial);ascent-override:89.71%;descent-override:26.62%;line-gap-override:0.0%;size-adjust:109.69%}.space_grotesk_e6988195-module__RNs2Mq__className{font-family:Space Grotesk,Space Grotesk Fallback;font-style:normal}.space_grotesk_e6988195-module__RNs2Mq__variable{--font-space-grotesk:"Space Grotesk", "Space Grotesk Fallback"}
@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/13bf9871fe164e7f-s.2f7nqdagzwx2-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/cc545e633e20c56d-s.176arc174-8zp.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/71b036adf157cdcf-s.0bp8oijd_gu96.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/89b21bb081cb7469-s.1fby2rem9ngyr.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/3fe682a82f50d426-s.0vfdmo25voy_0.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:100 800;font-display:swap;src:url(../media/70bc3e132a0a741e-s.p.3t6q91iet4nsy.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Fallback;src:local(Arial);ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.0%;size-adjust:134.59%}.jetbrains_mono_1a8b3aaa-module__yT9lVq__className{font-family:JetBrains Mono,JetBrains Mono Fallback;font-style:normal}.jetbrains_mono_1a8b3aaa-module__yT9lVq__variable{--font-jetbrains-mono:"JetBrains Mono", "JetBrains Mono Fallback"}
@font-face{font-family:Pretendard Variable;font-weight:45 920;font-style:normal;font-display:swap;src:url(../media/PretendardVariable.0ztvx5mb7lxp4.woff2)format("woff2-variations")}
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-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}}}@layer theme{:root,:host{--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-family-primary);--default-mono-font-family:var(--font-family-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.container{width:100%}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:90rem){.container{max-width:90rem}}.\!block{display:block!important}.block{display:block}.contents{display:contents}.flex{display:flex}.hidden{display:none}.h-full{height:100%}.min-h-full{min-height:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.resize{resize:both}.flex-col{flex-direction:column}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink-950:#0b0f14;--ink-900:#151b22;--ink-800:#1e2730;--ink-700:#2a3540;--ink-600:#3d4a55;--ink-500:#56646f;--ink-400:#74818a;--ink-300:#98a3aa;--ink-200:#bbc3c8;--ink-100:#dde1e4;--ink-50:#f2f4f5;--steel-950:#0c171c;--steel-900:#14252c;--steel-800:#1f3540;--steel-700:#2b4653;--steel-600:#34515f;--steel-500:#3e5c6b;--steel-400:#5e7a87;--steel-300:#8299a3;--steel-200:#aabbc2;--steel-100:#d4dee2;--steel-50:#eef3f5;--sage-950:#111a17;--sage-900:#1b2924;--sage-800:#2a3d36;--sage-700:#3e564d;--sage-600:#637b72;--sage-500:#8da29a;--sage-400:#a6b7b0;--sage-300:#becbc6;--sage-200:#d4deda;--sage-100:#e7ece9;--sage-50:#f5f7f6;--sand-950:#24211e;--sand-900:#37332e;--sand-800:#4d473f;--sand-700:#665d51;--sand-600:#817666;--sand-500:#b0a387;--sand-400:#c7b99e;--sand-300:#ddd1b8;--sand-200:#e2ddd3;--sand-100:#efece5;--sand-50:#f7f5f0;--font-size-display-xl:52px;--font-size-display-lg:40px;--font-size-statement:36px;--font-size-heading:30px;--font-size-title:20px;--font-size-body-lg:17px;--font-size-body:16px;--font-size-small:13px;--line-height-display-xl:.92;--line-height-display-lg:.96;--line-height-statement:1.08;--line-height-heading:1.15;--line-height-title:1.35;--line-height-body-lg:1.65;--line-height-body:1.7;--line-height-small:1.5;--letter-spacing-display-xl:-.04em;--letter-spacing-display-lg:-.035em;--letter-spacing-statement:-.03em;--letter-spacing-heading:-.02em;--letter-spacing-title:-.01em;--letter-spacing-body-lg:0;--letter-spacing-body:0;--letter-spacing-small:.01em;--space-4:4px;--space-8:8px;--space-12:12px;--space-16:16px;--space-20:20px;--space-24:24px;--space-32:32px;--space-40:40px;--space-48:48px;--space-64:64px;--space-80:80px;--space-96:96px;--space-112:112px;--space-128:128px;--space-160:160px;--radius-value-xs:4px;--radius-value-sm:8px;--radius-value-md:12px;--radius-value-lg:18px;--radius-value-pill:999px;--motion-duration-100:.1s;--motion-duration-160:.16s;--motion-duration-240:.24s;--motion-duration-360:.36s;--motion-duration-520:.52s;--motion-duration-720:.72s;--motion-easing-default:cubic-bezier(.22, 1, .36, 1);--content-max-width:1280px;--page-padding:20px;--grid-columns:4;--grid-gutter:var(--space-16);--section-gap:80px;--section-gap-strong:96px}@media (min-width:768px){:root{--font-size-display-xl:80px;--font-size-display-lg:56px;--font-size-statement:42px;--font-size-heading:32px;--font-size-title:22px;--font-size-body-lg:18px;--font-size-small:14px;--page-padding:28px;--grid-columns:8;--grid-gutter:var(--space-20);--section-gap:112px;--section-gap-strong:128px}}@media (min-width:1024px){:root{--font-size-display-xl:104px;--font-size-display-lg:72px;--font-size-statement:48px;--font-size-heading:36px;--font-size-title:24px;--font-size-body-lg:18px;--font-size-small:14px;--page-padding:32px;--grid-columns:12;--grid-gutter:var(--space-24);--section-gap:128px;--section-gap-strong:160px}}@media (min-width:1440px){:root{--page-padding:40px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-base:white}@supports (color:color-mix(in lab, red, red)){:root{--bg-base:color-mix(in srgb, white 97%, var(--ink-950))}}:root{--bg-surface:white;--bg-elevated:white}@supports (color:color-mix(in lab, red, red)){:root{--bg-elevated:color-mix(in srgb, white 95%, var(--ink-950))}}:root{--bg-input:white}@supports (color:color-mix(in lab, red, red)){:root{--bg-input:color-mix(in srgb, white 96%, var(--ink-950))}}:root{--text-heading:var(--ink-950);--text-primary:var(--ink-950);--text-secondary:var(--ink-700);--text-muted:var(--ink-500);--border-default:white}@supports (color:color-mix(in lab, red, red)){:root{--border-default:color-mix(in srgb, white 90%, var(--ink-950))}}:root{--border-strong:white}@supports (color:color-mix(in lab, red, red)){:root{--border-strong:color-mix(in srgb, white 82%, var(--ink-950))}}:root{--border-accent:var(--steel-400);--accent-primary:var(--steel-700);--accent-strong:var(--steel-800);--accent-soft:var(--steel-100);--accent-secondary:var(--sage-600);--control-foreground:var(--sand-50);--focus-ring:var(--steel-600);--status-success:var(--sage-700);--status-error:var(--sand-800);--status-warning:var(--sand-700);--status-neutral:var(--steel-600);--control-shadow-rest:0 4px 10px -8px var(--ink-950)}@supports (color:color-mix(in lab, red, red)){:root{--control-shadow-rest:0 4px 10px -8px color-mix(in srgb, var(--ink-950) 16%, transparent)}}:root{--control-shadow-hover:0 6px 14px -8px var(--ink-950)}@supports (color:color-mix(in lab, red, red)){:root{--control-shadow-hover:0 6px 14px -8px color-mix(in srgb, var(--ink-950) 22%, transparent)}}:root{--control-shadow-active:0 7px 16px -7px var(--ink-950)}@supports (color:color-mix(in lab, red, red)){:root{--control-shadow-active:0 7px 16px -7px color-mix(in srgb, var(--ink-950) 26%, transparent)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-base:var(--ink-950);--bg-surface:var(--ink-900);--bg-elevated:var(--ink-800);--bg-input:var(--ink-950)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--bg-input:color-mix(in srgb, var(--ink-950) 82%, var(--ink-900))}}:root[data-theme=dark]{--text-heading:var(--ink-50);--text-primary:var(--ink-50);--text-secondary:var(--ink-200);--text-muted:var(--ink-300);--border-default:var(--ink-700);--border-strong:var(--ink-600);--border-accent:var(--steel-600);--accent-primary:var(--steel-400);--accent-strong:var(--steel-500);--accent-soft:var(--steel-800);--accent-secondary:var(--sage-500);--control-foreground:var(--ink-950);--focus-ring:var(--steel-300);--status-success:var(--sage-400);--status-error:var(--sand-400);--status-warning:var(--sand-500);--status-neutral:var(--ink-300);--control-shadow-rest:0 5px 10px -4px var(--ink-950), 0 10px 22px -8px var(--steel-900)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--control-shadow-rest:0 5px 10px -4px color-mix(in srgb, var(--ink-950) 94%, transparent), 0 10px 22px -8px color-mix(in srgb, var(--steel-900) 58%, transparent)}}:root[data-theme=dark]{--control-shadow-hover:0 7px 14px -4px var(--ink-950), 0 12px 26px -7px var(--steel-900)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--control-shadow-hover:0 7px 14px -4px color-mix(in srgb, var(--ink-950) 98%, transparent), 0 12px 26px -7px color-mix(in srgb, var(--steel-900) 68%, transparent)}}:root[data-theme=dark]{--control-shadow-active:0 8px var(--space-16) -4px var(--ink-950), 0 14px 30px -6px var(--steel-900)}@supports (color:color-mix(in lab, red, red)){:root[data-theme=dark]{--control-shadow-active:0 8px var(--space-16) -4px var(--ink-950), 0 14px 30px -6px color-mix(in srgb, var(--steel-900) 78%, transparent)}}:root{--font-family-primary:var(--font-instrument-sans), "Instrument Sans", "Pretendard Variable", Pretendard, "Apple SD Gothic Neo", "Noto Sans KR", "Segoe UI", sans-serif;--font-family-display:var(--font-space-grotesk), "Space Grotesk", "Pretendard Variable", Pretendard, sans-serif;--font-family-mono:var(--font-jetbrains-mono), "JetBrains Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace}.type-display-xl,.type-display-lg{font-family:var(--font-family-display)}.type-display-xl{font-size:var(--font-size-display-xl);line-height:var(--line-height-display-xl);letter-spacing:var(--letter-spacing-display-xl)}.type-display-lg{font-size:var(--font-size-display-lg);line-height:var(--line-height-display-lg);letter-spacing:var(--letter-spacing-display-lg)}.type-heading,.type-title,.type-statement,.type-body-lg,.type-body,.type-small{font-family:var(--font-family-primary)}.type-statement{font-size:var(--font-size-statement);line-height:var(--line-height-statement);letter-spacing:var(--letter-spacing-statement)}.type-heading{font-size:var(--font-size-heading);line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading)}.type-title{font-size:var(--font-size-title);line-height:var(--line-height-title);letter-spacing:var(--letter-spacing-title)}.type-body-lg{font-size:var(--font-size-body-lg);line-height:var(--line-height-body-lg);letter-spacing:var(--letter-spacing-body-lg)}.type-body{font-size:var(--font-size-body);line-height:var(--line-height-body);letter-spacing:var(--letter-spacing-body)}.type-small{font-size:var(--font-size-small);line-height:var(--line-height-small);letter-spacing:var(--letter-spacing-small)}.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}.portfolio-shell{--portfolio-header-height:var(--space-64);background:var(--bg-base);min-height:100%;overflow:clip}.site-header{z-index:20;border-bottom:1px solid var(--border-default);position:fixed;inset:0 0 auto}@supports (color:color-mix(in lab, red, red)){.site-header{border-bottom:1px solid color-mix(in srgb, var(--border-default) 72%, transparent)}}.site-header{background:var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.site-header{background:color-mix(in srgb, var(--bg-base) 94%, transparent)}}.header-inner{min-height:var(--portfolio-header-height);align-items:center;column-gap:var(--space-24);grid-template-columns:1fr auto 1fr;display:grid}.site-mark{align-items:center;gap:var(--space-12);color:var(--text-primary);font-family:var(--font-family-primary);letter-spacing:.02em;justify-self:start;text-decoration:none;display:inline-flex}.primary-navigation{align-items:center;gap:var(--space-24);display:flex}.header-utilities{justify-self:end;align-items:center;gap:var(--space-12);min-width:0;display:flex}.mobile-menu-trigger{display:none}.mobile-sidebar,.mobile-sidebar-panel{display:contents}.mobile-sidebar-backdrop,.mobile-sidebar-heading,.mobile-sidebar-navigation,.mobile-sidebar-utilities,.mobile-sidebar-close,.mobile-sidebar-theme{display:none}.navigation-link{color:var(--text-secondary);transition:color var(--motion-duration-160) var(--motion-easing-default);text-decoration:none;position:relative}.navigation-link:after{right:0;bottom:calc(var(--space-8) * -1);background:var(--accent-primary);content:"";transform-origin:100%;height:1px;transition:transform var(--motion-duration-240) var(--motion-easing-default);position:absolute;left:0;transform:scaleX(0)}.navigation-link:hover,.navigation-link:focus-visible,.navigation-link[aria-current=page]{color:var(--text-primary)}.navigation-link:hover:after,.navigation-link:focus-visible:after,.navigation-link[aria-current=page]:after{transform-origin:0;transform:scaleX(1)}::view-transition-old(root){mix-blend-mode:normal;animation:none}::view-transition-new(root){mix-blend-mode:normal;animation:none}::view-transition-old(root){z-index:0}::view-transition-new(root){z-index:1}.theme-toggle{width:var(--space-40);height:var(--space-40);padding:var(--space-8);border:1px solid var(--border-default);border-radius:var(--radius-value-xs);color:var(--text-secondary);cursor:pointer;transition:border-color var(--motion-duration-160) var(--motion-easing-default), color var(--motion-duration-160) var(--motion-easing-default), transform var(--motion-duration-240) var(--motion-easing-default);background:0 0;justify-self:end;place-items:center;display:grid}@media (hover:hover) and (pointer:fine){.theme-toggle:hover{border-color:var(--border-accent);color:var(--text-primary);transform:rotate(8deg)}}.theme-toggle:active{border-color:var(--border-accent);color:var(--text-primary)}@media (hover:none),(pointer:coarse){.theme-toggle:active{transform:rotate(8deg)}}.theme-toggle svg{width:var(--space-24);height:var(--space-24);overflow:visible}.theme-toggle-orbit,.theme-toggle-axis{fill:none;stroke:currentColor;stroke-width:1.25px}.theme-toggle-half{fill:var(--accent-secondary);opacity:.72}.hero{--hero-header-offset:var(--portfolio-header-height);isolation:isolate;min-height:100svh;padding-top:var(--hero-header-offset);border-bottom:1px solid var(--border-default);position:relative;overflow:clip}.hero-grid{inset:var(--hero-header-offset) 0 0;z-index:1;opacity:.34;background-image:linear-gradient(to right, var(--border-default) 1px, transparent 1px), linear-gradient(to bottom, var(--border-default) 1px, transparent 1px);position:absolute}@supports (color:color-mix(in lab, red, red)){.hero-grid{background-image:linear-gradient(to right, color-mix(in srgb, var(--border-default) 62%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--border-default) 48%, transparent) 1px, transparent 1px)}}.hero-grid{background-size:var(--space-64) var(--space-64);pointer-events:none;-webkit-mask-image:linear-gradient(#0000,#000 18% 76%,#0000);mask-image:linear-gradient(#0000,#000 18% 76%,#0000)}.hero-network-canvas{inset:var(--hero-header-offset) 0 0;z-index:2;width:100%;height:calc(100% - var(--hero-header-offset));border-color:var(--accent-primary);color:var(--accent-secondary);outline-color:var(--text-secondary);pointer-events:none;position:absolute}.hero-inner{z-index:3;width:min(80vw,1680px);min-height:calc(100svh - var(--hero-header-offset));column-gap:var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));margin-left:16vw;margin-right:auto;display:grid;position:relative}.hero-identity{min-width:0;padding-block:var(--space-48);flex-direction:column;grid-column:1/7;justify-content:center;align-self:stretch;display:flex}.hero-intro{color:var(--accent-primary);font-family:var(--font-family-primary);letter-spacing:.02em;align-items:center;font-weight:600;display:flex}.hero-name-block{margin-top:var(--space-24);grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.hero-name{color:var(--text-heading);font-size:calc(var(--font-size-display-xl) + var(--font-size-title));text-transform:uppercase;flex-direction:column;grid-column:1/8;margin:0;font-weight:500;display:flex}.hero-name-second{margin-left:11.1111%}.hero-copy{max-width:560px;margin-top:var(--space-40);row-gap:var(--space-24);grid-template-columns:minmax(0,1fr);display:grid}.hero-statement{color:var(--text-heading);font-size:var(--font-size-heading);font-weight:700;line-height:var(--line-height-heading);letter-spacing:var(--letter-spacing-heading);margin:0}.hero-message{color:var(--text-secondary);margin:0;font-weight:500}.section-cue{margin-top:var(--space-48);color:var(--text-secondary);font-family:var(--font-family-primary);letter-spacing:.02em;align-self:flex-start;align-items:center;text-decoration:none;display:flex}.main-section{scroll-margin-top:var(--space-64);position:relative}.section-meta,.footer-bottom{font-family:var(--font-family-mono);letter-spacing:.02em}.section-title{color:var(--text-heading);margin:0;font-weight:600}.section-meta{margin:0 0 var(--space-12);color:var(--text-muted)}.about-section{background:var(--bg-base);overflow:hidden}.about-inner{padding-top:var(--section-gap-strong);padding-bottom:var(--section-gap-strong);column-gap:var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.about-heading{padding-top:var(--space-16);border-top:1px solid var(--border-default);grid-area:1/1/auto/8}.about-statement{margin:var(--space-40) 0 0;color:var(--text-heading);font-weight:500}.about-statement span{color:inherit;font-weight:600}.profile-portrait{width:calc(100% - var(--space-32));margin:var(--space-16) 0 0;border:1px solid var(--border-accent);background:var(--bg-surface);aspect-ratio:3/4;grid-area:1/9/span 2/13;place-self:start end;position:relative;overflow:hidden}.profile-image{object-fit:cover;object-position:center top;width:100%;height:100%;display:block}.about-introduction{margin-top:var(--space-48);color:var(--text-secondary);grid-area:2/1/auto/8}.about-introduction p{margin:0}.about-introduction p+p{margin-top:var(--space-20)}.about-position{color:var(--accent-primary);font-family:var(--font-family-primary);letter-spacing:.02em;font-weight:600}.about-position+p{margin-top:var(--space-24)}.about-values>h3{color:var(--text-heading);grid-column:1/13;margin:0;font-weight:600}.about-values{margin-top:var(--space-64);column-gap:var(--grid-gutter);grid-area:3/1/auto/13;grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.value-list{align-items:stretch;gap:var(--space-24);margin:var(--space-32) 0 0;grid-column:1/13;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;list-style:none;display:grid}.value-item{min-width:0}.value-card{height:100%}.value-card-content{height:100%;padding:var(--space-32)}.value-card-content strong{color:var(--text-primary);font-weight:500}.value-card-content p{margin:var(--space-20) 0 0;color:var(--text-secondary)}.tech-section{background:var(--bg-surface);overflow:hidden}.tech-inner{padding-top:var(--section-gap);padding-bottom:var(--section-gap);column-gap:var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative}.tech-heading{padding-right:var(--space-24);grid-column:1/5}.tech-list{border-top:1px solid var(--border-accent);grid-column:5/13;margin:0;padding:0;list-style:none}.tech-row{grid-template-columns:minmax(var(--space-96), var(--space-128)) minmax(0, 1fr);min-height:var(--space-112);padding:var(--space-32) 0;border-bottom:1px solid var(--border-default);align-items:center;column-gap:var(--space-24);transition:border-color var(--motion-duration-160) var(--motion-easing-default);display:grid}.tech-row:hover{border-bottom-color:var(--border-accent)}.tech-category{padding-top:var(--space-4);color:var(--text-muted);font-family:var(--font-family-mono);letter-spacing:.06em;align-self:start;font-weight:500}.tech-items{align-items:center;gap:var(--space-24) var(--space-48);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.tech-item{align-items:center;gap:var(--space-12);min-height:var(--space-32);color:var(--text-secondary);white-space:nowrap;transition:color var(--motion-duration-160) var(--motion-easing-default);display:inline-flex}.tech-icon{width:var(--space-24);height:var(--space-24);flex:0 0 var(--space-24);object-fit:contain;transition:transform var(--motion-duration-160) var(--motion-easing-default)}.technology-icon-fallback{border:1px solid var(--border-default);border-radius:var(--radius-value-xs);background:var(--bg-elevated);color:var(--text-muted);font-family:var(--font-family-mono);font-size:var(--font-size-small);place-items:center;line-height:1;display:grid}.tech-item:hover{color:var(--text-primary)}.tech-item:hover .tech-icon{transform:translateY(-1px)}.projects-section{--project-timeline-progress:0;background:var(--bg-base);overflow:clip}.projects-inner{padding-top:var(--section-gap-strong);padding-bottom:var(--section-gap-strong);position:relative}.projects-heading{align-items:end;column-gap:var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.projects-heading .section-meta{grid-column:1/5}.projects-heading h2{margin:var(--space-24) 0 0;color:var(--text-heading);grid-column:1/8;font-weight:600}.project-stage{margin-top:var(--space-64)}.project-showcases{margin:0;padding:0;list-style:none;position:relative}.project-showcases:before,.project-showcases:after{z-index:0;top:var(--project-timeline-top,var(--space-40));left:var(--project-timeline-left,var(--space-64));width:1px;height:var(--project-timeline-height,calc(100% - var(--space-80)));content:"";pointer-events:none;transform-origin:top;position:absolute}.project-showcases:before{background:var(--border-default)}.project-showcases:after{background:var(--accent-secondary);transform:scaleY(var(--project-timeline-progress));transition:transform var(--motion-duration-100) linear}.project-history-row{grid-template-columns:minmax(var(--space-160), 1.5fr) minmax(0, 6.5fr);column-gap:var(--grid-gutter);display:grid}.project-timeline-entry{z-index:1;grid-column:1;grid-template-columns:var(--space-32) var(--space-12) minmax(0, 1fr);align-self:center;align-items:center;column-gap:var(--space-8);min-width:0;padding-top:0;display:grid;position:relative}.project-year{color:var(--text-muted);font-family:var(--font-family-mono)}.project-node{z-index:2;width:var(--space-8);height:var(--space-8);border:1px solid var(--border-accent);border-radius:var(--radius-value-pill);background:var(--bg-base);transition:background-color var(--motion-duration-240) var(--motion-easing-default), border-color var(--motion-duration-240) var(--motion-easing-default);justify-self:center;position:relative}.project-node.is-active{border-color:var(--accent-secondary);background:var(--accent-secondary)}.project-tab{width:100%;min-width:0;min-height:var(--space-40);color:var(--text-muted);transition:color var(--motion-duration-240) var(--motion-easing-default);align-items:center;text-decoration:none;display:flex}.project-tab.is-active{color:var(--accent-primary)}.project-tab.is-active .project-tab-name{font-size:var(--font-size-title);font-weight:600}.project-tab-name{min-width:0;font-family:var(--font-family-primary);overflow-wrap:normal;white-space:nowrap;word-break:normal;transition:font-size var(--motion-duration-360) var(--motion-easing-default), font-weight var(--motion-duration-240) var(--motion-easing-default);font-weight:500}.project-panel{min-height:calc(var(--space-160) + var(--space-128));padding-block:var(--space-40);scroll-margin-top:var(--space-112);border-top:1px solid var(--border-default);align-items:center;column-gap:var(--space-32);transition:background-color var(--motion-duration-240) var(--motion-easing-default), opacity var(--motion-duration-240) var(--motion-easing-default);grid-column:2;grid-template-columns:minmax(0,9fr) minmax(0,16fr);display:grid}.project-history-row:last-child .project-panel{border-bottom:1px solid var(--border-default)}.project-thumbnail{margin-left:var(--space-16);aspect-ratio:16/9;border:1px solid var(--border-default);border-radius:var(--radius-value-xs);background:var(--bg-surface);align-self:center;display:block;overflow:hidden}a.project-thumbnail{transition:transform var(--motion-duration-360) var(--motion-easing-default);transform:scale(1)}.project-thumbnail-placeholder{background:var(--bg-elevated)}.project-thumbnail-image{object-fit:cover;object-position:center center;width:100%;height:100%;display:block}.project-information{align-self:center;min-width:0;position:relative}.project-information-content,.project-information-group{width:100%;min-width:0}.project-tagline{color:var(--text-primary);margin:0;font-weight:500}.project-description{margin:var(--space-16) 0 0;color:var(--text-secondary);text-wrap:pretty;word-break:keep-all;overflow-wrap:break-word}.project-meta{margin:var(--space-16) 0 0;align-items:center;gap:var(--space-8);color:var(--text-muted);font-family:var(--font-family-mono);flex-wrap:wrap;display:flex}.project-meta-badge{min-height:var(--space-32);max-width:100%;padding:var(--space-4) var(--space-12);border:1px solid var(--border-default);border-radius:var(--radius-value-pill);align-items:center;display:inline-flex}.project-role-badge{background:var(--accent-soft);flex:none}@supports (color:color-mix(in lab, red, red)){.project-role-badge{background:color-mix(in srgb, var(--accent-soft) 48%, transparent)}}.project-role-badge{white-space:nowrap}.project-tech-badge{background:var(--bg-surface);flex-wrap:wrap;min-width:0}@supports (color:color-mix(in lab, red, red)){.project-tech-badge{background:color-mix(in srgb, var(--bg-surface) 72%, transparent)}}.project-tech-item{white-space:nowrap;display:inline-flex}.project-detail-link{width:fit-content;max-height:var(--space-32);min-height:var(--space-32);margin-top:var(--space-12);align-items:center;gap:var(--space-8);color:var(--accent-primary);font-family:var(--font-family-primary);opacity:1;transition:opacity var(--motion-duration-240) var(--motion-easing-default), max-height var(--motion-duration-240) var(--motion-easing-default), min-height var(--motion-duration-240) var(--motion-easing-default), margin-top var(--motion-duration-240) var(--motion-easing-default), transform var(--motion-duration-240) var(--motion-easing-default);text-decoration:none;display:flex;overflow:hidden;transform:translateY(0)}@media (hover:hover) and (pointer:fine){.project-showcases:hover>.project-history-row .project-panel{opacity:.42}.project-showcases:hover>.project-history-row:hover .project-panel{opacity:1;background:var(--bg-surface)}@supports (color:color-mix(in lab, red, red)){.project-showcases:hover>.project-history-row:hover .project-panel{background:color-mix(in srgb, var(--bg-surface) 48%, transparent)}}.project-showcases:hover .project-node.is-active{border-color:var(--border-accent);background:var(--bg-base)}.project-showcases:hover>.project-history-row:hover .project-node{border-color:var(--accent-secondary);background:var(--accent-secondary)}.project-showcases:hover .project-tab.is-active{color:var(--text-muted)}.project-showcases:hover .project-tab.is-active .project-tab-name{font-size:var(--font-size-body);font-weight:500}.project-showcases:hover .project-history-row:hover .project-tab-name{font-size:var(--font-size-title)}.project-history-row:hover a.project-thumbnail,.project-panel:focus-within a.project-thumbnail{transform:scale(1.02)}.project-information{align-items:center;display:flex}.project-information-group{position:static;transform:none}.project-detail-link{opacity:0;pointer-events:none;min-height:0;max-height:0;transform:translateY(var(--space-4));margin-top:0}.project-history-row:hover .project-detail-link,.project-panel:focus-within .project-detail-link,.project-detail-link:focus-visible{max-height:var(--space-32);min-height:var(--space-32);margin-top:var(--space-12);opacity:1;pointer-events:auto;transform:translateY(0)}}.education-section{border-top:1px solid var(--border-default);background:var(--bg-surface);overflow:hidden}.education-inner{padding-top:var(--section-gap-strong);padding-bottom:var(--section-gap-strong);column-gap:var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.education-heading{grid-column:1/8}.education-groups{margin-top:var(--space-64);row-gap:var(--space-64);grid-column:1/13;display:grid}.education-info-group{column-gap:var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid}.education-info-group>h3{padding-top:var(--space-32);color:var(--text-heading);grid-column:1/3;margin:0;font-weight:600}.education-info-list{border-top:1px solid var(--border-accent);grid-column:3/13;margin:0;padding:0;list-style:none}.education-info-row{grid-template-columns:minmax(var(--space-128), .9fr) minmax(calc(var(--space-160) + var(--space-128)), 2.1fr) minmax(var(--space-128), .9fr) minmax(calc(var(--space-160) + var(--space-20)), 1.3fr);min-height:var(--space-96);padding-block:var(--space-16);border-bottom:1px solid var(--border-default);align-items:center;column-gap:var(--space-20);display:grid}.education-info-period{color:var(--text-secondary);font-family:var(--font-family-mono);letter-spacing:.02em;white-space:nowrap;grid-column:1}.education-info-title{color:var(--text-primary);grid-column:2;font-weight:600}.education-info-detail{color:var(--text-secondary);grid-column:3}.education-info-title,.education-info-detail,.education-info-outcome{overflow-wrap:break-word;text-wrap:pretty;word-break:keep-all}.award-project{white-space:nowrap}.education-info-outcome{color:var(--accent-primary);grid-column:4;justify-self:end;font-weight:600}.portfolio-footer{background:var(--bg-base);position:relative;overflow:hidden}@supports (color:color-mix(in lab, red, red)){.portfolio-footer{background:color-mix(in srgb, var(--bg-base) 78%, var(--border-accent))}}.portfolio-footer{color:var(--text-primary)}.footer-inner{padding-top:var(--space-80);padding-bottom:var(--space-32);column-gap:var(--grid-gutter);grid-template-columns:repeat(12,minmax(0,1fr));display:grid;position:relative}.footer-identity{grid-area:1/1/auto/6;align-self:start}.footer-name{color:var(--text-heading);font-family:var(--font-family-primary);margin:0;font-weight:600}.footer-role{margin:var(--space-8) 0 0;color:var(--accent-primary);font-family:var(--font-family-primary);letter-spacing:.02em;white-space:nowrap}.footer-information{border-top:1px solid var(--border-accent);align-self:start;column-gap:var(--space-32);grid-area:1/6/auto/13;grid-template-columns:minmax(0,1fr) max-content;display:grid}.footer-info-group{padding-top:var(--space-24)}.footer-info-group>.type-small{margin:0 0 var(--space-24);color:var(--text-muted);font-family:var(--font-family-mono);letter-spacing:.02em}.footer-resume-actions{gap:var(--space-12);display:grid}.footer-resume-actions span{color:var(--text-secondary);opacity:.82}.footer-resume-actions a{width:fit-content;color:var(--text-primary);-webkit-text-decoration-color:var(--border-accent);-webkit-text-decoration-color:var(--border-accent);-webkit-text-decoration-color:var(--border-accent);text-decoration-color:var(--border-accent);text-underline-offset:var(--space-4)}.footer-contact-links{gap:var(--space-12);flex-wrap:wrap;display:flex}.footer-contact-links a{width:var(--space-48);height:var(--space-48);flex:0 0 var(--space-48);border:1px solid var(--border-default);border-radius:var(--radius-value-pill);color:var(--text-secondary);transition:background-color var(--motion-duration-160) var(--motion-easing-default), border-color var(--motion-duration-160) var(--motion-easing-default), color var(--motion-duration-160) var(--motion-easing-default), transform var(--motion-duration-240) var(--motion-easing-default);background:0 0;place-items:center;text-decoration:none;display:grid}.footer-contact-links a.footer-text-link{width:auto;min-width:var(--space-48);padding-inline:var(--space-16);white-space:nowrap}.footer-contact-links svg{width:var(--space-20);height:var(--space-20)}.footer-contact-links a:hover{border-color:var(--border-accent);background:var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.footer-contact-links a:hover{background:color-mix(in srgb, var(--bg-base) 82%, var(--accent-soft))}}.footer-contact-links a:hover{color:var(--accent-primary);transform:translateY(-2px)}.footer-bottom{margin-top:var(--space-64);padding-top:var(--space-20);border-top:1px solid var(--border-default);color:var(--text-muted);grid-area:2/1/auto/13;justify-content:space-between;display:flex}@keyframes node-signal{0%,to{opacity:.45;transform:scale(.8)}45%{opacity:1;transform:scale(1.2)}}@media (max-width:1023px){.main-section{scroll-margin-top:var(--space-112)}.about-inner,.tech-inner,.education-inner,.footer-inner{column-gap:var(--grid-gutter);grid-template-columns:repeat(8,minmax(0,1fr))}.about-heading{grid-column:1/6}.profile-portrait{grid-area:1/6/auto/9;justify-self:stretch;width:auto}.about-introduction{grid-area:2/2/auto/7}.about-values{grid-column:1/9;grid-template-columns:repeat(8,minmax(0,1fr))}.about-values>h3{grid-column:1/9}.value-list{grid-column:1/9;grid-template-columns:repeat(2,minmax(0,1fr))}.tech-heading{grid-column:1/4}.tech-list{grid-column:4/9}.tech-row{grid-template-columns:minmax(var(--space-80), var(--space-96)) minmax(0, 1fr);column-gap:var(--space-16)}.tech-items{gap:var(--space-24) var(--space-32)}.projects-heading{grid-template-columns:repeat(8,minmax(0,1fr))}.projects-heading .section-meta{grid-column:1/4}.projects-heading h2{grid-column:1/6}.project-history-row{grid-template-columns:minmax(var(--space-160), 1.5fr) minmax(0, 4.5fr)}.project-timeline-entry{grid-column:1;grid-template-columns:var(--space-32) var(--space-12) minmax(0, 1fr);column-gap:var(--space-4)}.project-panel{column-gap:var(--space-24);grid-column:2;grid-template-columns:minmax(0,9fr) minmax(0,16fr)}.education-heading{grid-column:1/6}.education-groups{grid-column:1/9}.education-info-group{row-gap:var(--space-24);grid-template-columns:repeat(8,minmax(0,1fr))}.education-info-group>h3{grid-column:1/9;padding-top:0}.education-info-list{grid-column:1/9}.education-info-row{grid-template-columns:var(--space-160) minmax(0, 1.6fr) minmax(0, 1fr) minmax(var(--space-112), 1.25fr)}.footer-identity,.footer-bottom{grid-column:1/9}.footer-inner{padding-top:var(--space-80)}.footer-identity{grid-row:1}.footer-information{margin-top:var(--space-64);grid-area:2/1/auto/9}.footer-bottom{margin-top:var(--space-64);grid-row:3}}@media (max-width:899px) and (orientation:portrait){.header-inner{grid-template-columns:1fr auto}.primary-navigation,.header-utilities>.theme-toggle{display:none}.mobile-menu-trigger{width:var(--space-40);height:var(--space-40);padding:var(--space-8);border:1px solid var(--border-default);border-radius:var(--radius-value-xs);color:var(--text-primary);background:0 0;place-items:center;display:grid}.mobile-menu-trigger-line{width:var(--space-20);background:currentColor;height:1px;display:block}.mobile-sidebar{z-index:30;visibility:hidden;pointer-events:none;transition:visibility 0s linear var(--motion-duration-240);display:block;position:fixed;inset:0}.mobile-sidebar.is-open{visibility:visible;pointer-events:auto;transition-delay:0s}.mobile-sidebar-backdrop{background:var(--bg-base);position:absolute;inset:0}@supports (color:color-mix(in lab, red, red)){.mobile-sidebar-backdrop{background:color-mix(in srgb, var(--bg-base) 64%, transparent)}}.mobile-sidebar-backdrop{opacity:0;transition:opacity var(--motion-duration-240) var(--motion-easing-default)}.mobile-sidebar.is-open .mobile-sidebar-backdrop{opacity:1}.mobile-sidebar-panel{width:min(76vw,320px);padding:var(--space-24);border-left:1px solid var(--border-default);background:var(--bg-base);transition:transform var(--motion-duration-240) var(--motion-easing-default);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.mobile-sidebar.is-open .mobile-sidebar-panel{transform:translate(0)}.mobile-sidebar-heading{padding-bottom:var(--space-24);border-bottom:1px solid var(--border-default);color:var(--text-secondary);letter-spacing:.02em;justify-content:space-between;align-items:center;display:flex}.mobile-sidebar-close{width:var(--space-40);height:var(--space-40);border:1px solid var(--border-default);border-radius:var(--radius-value-xs);color:var(--text-primary);background:0 0;display:block;position:relative}.mobile-sidebar-close span{width:var(--space-20);background:currentColor;height:1px;position:absolute;top:50%;left:50%}.mobile-sidebar-close span:first-child{transform:translate(-50%,-50%)rotate(45deg)}.mobile-sidebar-close span:last-child{transform:translate(-50%,-50%)rotate(-45deg)}.mobile-sidebar-navigation{padding-block:var(--space-24);gap:var(--space-20);flex-direction:column;display:flex}.mobile-sidebar-utilities{padding-bottom:var(--space-20);gap:var(--space-20);flex-direction:column;display:flex}.mobile-sidebar-link{color:var(--text-primary);text-decoration:none}.mobile-sidebar-link:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--space-4)}.mobile-sidebar-theme{align-items:center;gap:var(--space-12);padding-top:var(--space-20);border-top:1px solid var(--border-default);justify-content:space-between;margin-top:auto;display:flex;position:static;transform:none}.mobile-sidebar-theme .theme-toggle{justify-self:auto}}@media (max-width:899px){.footer-inner{padding-top:var(--space-48);padding-bottom:var(--space-24);column-gap:var(--grid-gutter);grid-template-columns:repeat(4,minmax(0,1fr))}.footer-identity,.footer-information,.footer-bottom{grid-column:1/5}.footer-identity{margin-top:0}.footer-information{margin-top:var(--space-32);align-items:start;column-gap:var(--space-16);grid-template-columns:minmax(0,1fr) auto;row-gap:0}.footer-info-group{padding-top:var(--space-16)}.footer-info-group>.type-small{margin-bottom:var(--space-16)}.footer-contact{justify-self:end;min-width:0}.footer-contact-links{justify-content:flex-end;gap:var(--space-8)}.footer-contact-links a{width:var(--space-40);height:var(--space-40);flex-basis:var(--space-40)}.footer-bottom{gap:var(--space-8);margin-top:var(--space-40);flex-direction:column}}@media (max-width:767px) and (orientation:portrait){.about-inner{grid-template-columns:minmax(0, 1fr) minmax(var(--space-112), 38%);column-gap:var(--space-16);align-items:start;display:grid}.about-heading{min-width:0;padding-top:var(--space-16);grid-area:1/1}.about-statement{margin-top:var(--space-24);font-size:var(--font-size-heading)}.profile-portrait{width:100%;max-width:var(--space-160);grid-area:1/2;place-self:end;margin:0}.about-introduction{margin-top:var(--space-32);grid-area:2/1/auto/-1}.about-values{margin-top:var(--space-48);grid-area:3/1/auto/-1;display:block}.value-list{margin-top:var(--space-32);grid-template-columns:minmax(0,1fr)}.value-card-content{padding:var(--space-24)}.tech-inner{display:block}.tech-heading{padding-right:0}.tech-list{margin-top:var(--space-48)}.tech-row{min-height:auto;padding:var(--space-24) 0;row-gap:var(--space-16);grid-template-columns:minmax(0,1fr)}.tech-category{padding-top:0}.tech-items{gap:var(--space-24) var(--space-32)}.projects-heading{display:block}.projects-heading h2{margin-top:var(--space-24)}.project-stage{margin-top:var(--space-64)}.project-showcases:before,.project-showcases:after{display:none}.project-history-row{display:block}.project-timeline-entry{padding:0 0 var(--space-12);grid-template-columns:var(--space-40) minmax(0, 1fr);column-gap:var(--space-12);display:grid}.project-node{display:none}.project-tab{min-height:var(--space-32);grid-column:2;display:flex}.project-panel{min-height:0;padding-block:var(--space-24);display:block}.project-thumbnail{margin-left:0}.project-information{margin-top:var(--space-24)}.project-information-group{position:static;transform:none}.project-detail-link{max-height:var(--space-32);min-height:var(--space-32);margin-top:var(--space-12);opacity:1;pointer-events:auto;transform:none}.education-inner{display:block}.education-groups{margin-top:var(--space-64);display:block}.education-info-group{display:block}.education-info-group>h3{padding-top:0}.activities-group,.awards-group,.certificates-group{margin-top:var(--space-64)}.education-info-list{margin-top:var(--space-32)}.education-info-row{row-gap:var(--space-8);column-gap:var(--space-16);grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.education-info-period,.education-info-title{grid-column:1/-1}.education-info-detail{grid-column:1}.education-info-outcome{text-align:right;grid-column:2;justify-self:end}}@media (min-width:1440px){.hero-identity{grid-column:1/8}.hero-name-block{grid-template-columns:repeat(7,minmax(0,1fr))}.hero-name{grid-column:1/8}}@media (prefers-reduced-motion:reduce){.navigation-link,.navigation-link:after,.theme-toggle,.footer-contact-links a,.mobile-sidebar-backdrop,.mobile-sidebar-panel,.mobile-sidebar{transition:none}.theme-toggle:hover,.theme-toggle:active,.footer-contact-links a:hover{transform:none}.tech-row,.tech-item,.tech-icon,.project-showcases:after,.project-node,.project-tab,.project-tab-name,.project-panel,a.project-thumbnail,.project-detail-link{transition:none}.project-history-row:hover a.project-thumbnail,.project-panel:focus-within a.project-thumbnail,.project-detail-link{transform:none}}.hero-about-flow{--hero-header-offset:var(--portfolio-header-height);isolation:isolate;background:var(--bg-base);position:relative}.hero-shared-visual{z-index:1;pointer-events:none;height:100svh;margin-bottom:-100svh;position:sticky;top:0}.hero{--identity-opacity:1;z-index:2;min-height:var(--hero-stage-height,226.5svh);border-bottom:0}.about-section{--about-opacity:0;--about-transition-height:44svh;z-index:5;margin-top:calc(0px - var(--about-transition-height));background:0 0;overflow:visible}.about-anchor{top:var(--about-anchor-offset,0px);pointer-events:none;width:1px;height:1px;scroll-margin-top:var(--hero-header-offset);position:absolute;left:0}.about-transition-window{min-height:var(--about-transition-height);position:relative}.about-viewport{z-index:5;top:var(--hero-header-offset);min-height:calc(100svh - var(--hero-header-offset));opacity:var(--about-opacity);will-change:opacity;position:sticky}.about-inner{padding-block:var(--space-64)}.about-primary{min-height:calc(100svh - var(--hero-header-offset));align-content:center}.hero-inner{top:var(--hero-header-offset);height:calc(100svh - var(--hero-header-offset));min-height:calc(100svh - var(--hero-header-offset));position:sticky}.hero-identity{opacity:var(--identity-opacity);will-change:opacity}.hero-system{z-index:4;pointer-events:none;grid-column:1/-1;min-width:0;position:absolute;inset:0}.hero-visual-stage{pointer-events:none;position:absolute;inset:0}.topology-narrative-world-map-plane,.topology-focus-map-plane{filter:var(--map-filter);pointer-events:none;will-change:opacity;position:absolute;inset:0;overflow:hidden}.topology-narrative-world-map-plane{z-index:2;opacity:var(--narrative-world-map-opacity);visibility:var(--narrative-world-map-visibility,hidden)}.topology-focus-map-plane{z-index:3;opacity:var(--focus-map-opacity);visibility:var(--focus-map-visibility,hidden)}.topology-project-gallery-plane{z-index:5;top:0;bottom:0;left:var(--gallery-plane-left);width:100vw;perspective:var(--gallery-perspective);perspective-origin:var(--gallery-origin-x) var(--gallery-origin-y);pointer-events:none;transform-style:preserve-3d;position:absolute;overflow:hidden}.topology-project-gallery-frame{top:var(--gallery-origin-y);left:var(--gallery-origin-x);width:clamp(288px,28vw,500px);filter:blur(var(--gallery-blur));opacity:var(--gallery-opacity);backface-visibility:hidden;transform:translate(-50%, -50%) translate3d(var(--gallery-x), var(--gallery-y), var(--gallery-z)) scale(var(--gallery-scale));transform-origin:50%;will-change:filter, opacity, transform;transition:none;position:absolute}.topology-project-gallery-image{border:1px solid var(--border-default);width:100%;height:auto;display:block}@supports (color:color-mix(in lab, red, red)){.topology-project-gallery-image{border:1px solid color-mix(in srgb, var(--border-default) 72%, transparent)}}.topology-project-gallery-image{border-radius:var(--radius-value-sm);box-shadow:0 var(--space-8) var(--space-24) var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.topology-project-gallery-image{box-shadow:0 var(--space-8) var(--space-24) color-mix(in srgb, var(--bg-base) 24%, transparent)}}.topology-project-gallery-caption{margin-top:var(--space-8);color:var(--text-secondary);font-family:var(--font-family-mono);letter-spacing:.02em;text-shadow:0 1px 2px var(--bg-base);display:block}@supports (color:color-mix(in lab, red, red)){.topology-project-gallery-caption{text-shadow:0 1px 2px color-mix(in srgb, var(--bg-base) 72%, transparent)}}.topology-narrative-world-map-viewport,.topology-focus-map-viewport{-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;width:100%;max-width:100%;position:absolute;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);-webkit-mask-image:linear-gradient(#0000,#000 7% 93%,#0000),linear-gradient(90deg,#0000,#000 10% 90%,#0000);mask-image:linear-gradient(#0000,#000 7% 93%,#0000),linear-gradient(90deg,#0000,#000 10% 90%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.topology-narrative-world-map-viewport{aspect-ratio:2}.topology-focus-map-viewport{aspect-ratio:16/9}.topology-narrative-world-map-svg,.topology-focus-map-svg{opacity:1;width:100%;height:100%;display:block;overflow:visible}.topology-narrative-world-map-camera,.topology-focus-map-camera{transform-origin:0 0;width:100%;height:100%}.topology-narrative-world-map-presentation{width:100%;height:100%}.topology-narrative-world-map-dots,.topology-focus-map-dots{fill:none;stroke-linecap:round;vector-effect:non-scaling-stroke}.topology-narrative-world-map-dots{opacity:.92;stroke:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.topology-narrative-world-map-dots{stroke:color-mix(in srgb, var(--accent-soft) 60%, var(--text-muted))}}.topology-narrative-world-map-dots{stroke-width:var(--world-map-dot-width)}.topology-focus-map-dots{opacity:.9;stroke:var(--accent-primary)}@supports (color:color-mix(in lab, red, red)){.topology-focus-map-dots{stroke:color-mix(in srgb, var(--accent-primary) 52%, var(--text-muted))}}.topology-focus-map-dots{stroke-width:var(--focus-map-dot-width)}.service-graph,.topology-marker-plane{aspect-ratio:8/5;width:min(40.5vw,792px);position:absolute;top:50%;left:auto;right:0;transform:translateY(-50%)}.service-graph{z-index:1;color:var(--text-primary);perspective:var(--content-max-width);pointer-events:auto}.topology-marker-plane{z-index:6;pointer-events:none}.topology-card-frame,.topology-map-clip,.topology-map-layer,.topology-tilt-layer,.topology-layer,.topology-connection-lines,.topology-flow-overlay{position:absolute}.topology-card-frame,.topology-map-clip,.topology-tilt-layer,.topology-layer,.topology-connection-lines,.topology-flow-overlay{inset:0}.topology-card-frame{z-index:0;border:1px solid var(--border-accent);border-radius:var(--radius-value-md);background:var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.topology-card-frame{background:color-mix(in srgb, var(--bg-base) 92%, var(--accent-soft))}}.topology-card-frame{box-shadow:0 var(--space-16) var(--space-48) var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.topology-card-frame{box-shadow:0 var(--space-16) var(--space-48) color-mix(in srgb, var(--bg-base) 42%, transparent)}}.topology-card-frame{opacity:var(--frame-opacity);transition:border-color var(--motion-duration-160) var(--motion-easing-default), box-shadow var(--motion-duration-240) var(--motion-easing-default);will-change:opacity}.topology-map-clip{z-index:1;clip-path:inset(var(--map-clip-inset) round var(--radius-value-md));will-change:clip-path;overflow:visible}.topology-map-layer{height:80%;filter:var(--map-filter);opacity:var(--card-map-opacity);-webkit-mask-composite:source-in;transform:translate(var(--map-translate-x), var(--map-translate-y));will-change:opacity;-webkit-mask-composite:source-in;-webkit-mask-composite:source-in;top:10%;left:0;right:0;-webkit-mask-image:linear-gradient(#0000,#000 10% 90%,#0000),linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(#0000,#000 10% 90%,#0000),linear-gradient(90deg,#0000,#000 6% 94%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.topology-map-svg{opacity:.68;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.topology-map-dots{fill:none;stroke:var(--accent-soft)}@supports (color:color-mix(in lab, red, red)){.topology-map-dots{stroke:color-mix(in srgb, var(--accent-soft) 76%, var(--text-muted))}}.topology-map-dots{stroke-linecap:round;stroke-width:var(--world-map-dot-width);vector-effect:non-scaling-stroke}.topology-tilt-layer{z-index:2;opacity:var(--topology-opacity);transform:rotateX(var(--card-rotate-x)) rotateY(var(--card-rotate-y));transform-origin:50%;transform-style:preserve-3d;transition:transform var(--motion-duration-240) var(--motion-easing-default);will-change:opacity, transform}.topology-layer{transform-style:preserve-3d}.topology-connection-lines,.topology-flow-overlay{fill:none;pointer-events:none;width:100%;height:100%;transform-style:preserve-3d;overflow:visible}.topology-connection-lines{z-index:1;transform:translateZ(var(--connection-depth))}.topology-flow-overlay{z-index:2;transform:translateZ(var(--flow-depth))}.topology-connection-line{fill:none;stroke:var(--border-accent);stroke-linecap:round;stroke-linejoin:round;stroke-width:2.25px;vector-effect:non-scaling-stroke}.topology-flow-route{opacity:var(--flow-opacity)}.topology-flow-guide{fill:none;stroke:#0000}.topology-flow-point-glow{fill:var(--accent-secondary);opacity:.24}.topology-flow-point-core{fill:var(--accent-secondary);filter:drop-shadow(0 0 var(--space-4) var(--accent-secondary))}.topology-resource{z-index:3;border:1px solid var(--border-default);border-radius:var(--radius-value-md);background:var(--bg-base);flex-direction:column;margin:0;display:flex;position:absolute;overflow:visible}@supports (color:color-mix(in lab, red, red)){.topology-resource{background:color-mix(in srgb, var(--bg-base) 86%, var(--accent-soft))}}.topology-resource{box-shadow:0 var(--space-8) var(--space-24) var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.topology-resource{box-shadow:0 var(--space-8) var(--space-24) color-mix(in srgb, var(--bg-base) 34%, transparent)}}.topology-resource{transform:translateZ(var(--resource-depth));transform-style:preserve-3d;transition:transform var(--motion-duration-240) var(--motion-easing-default)}.topology-resource-group{gap:var(--space-8);padding:var(--space-8) var(--space-12)}.topology-resource-standalone{min-height:var(--space-48);padding:var(--space-12);justify-content:center}.topology-resource-header,.topology-resource-heading,.topology-resource-status,.topology-stack-item{align-items:center;display:flex}.topology-resource-header{justify-content:space-between;gap:var(--space-8);transform:translateZ(var(--inner-depth));transform-style:preserve-3d}.topology-resource-heading,.topology-resource-status,.topology-stack-item{font-family:var(--font-family-mono);letter-spacing:.02em}.topology-resource-heading{gap:var(--space-8);min-width:0;color:var(--text-primary)}.topology-resource-heading strong{font-weight:600}.topology-resource-status{gap:var(--space-4);color:var(--accent-secondary);flex:none;font-weight:600}.topology-active-dot{width:var(--space-8);height:var(--space-8);border-radius:var(--radius-value-pill);background:var(--accent-secondary);flex:none}.topology-stack{gap:var(--space-8);transform-style:preserve-3d;margin:0;padding:0;list-style:none;display:grid}.topology-stack-item{min-height:var(--space-32);gap:var(--space-8);padding-inline:var(--space-8);border:1px solid var(--border-accent)}@supports (color:color-mix(in lab, red, red)){.topology-stack-item{border:1px solid color-mix(in srgb, var(--border-accent) 72%, var(--border-default))}}.topology-stack-item{border-radius:var(--radius-value-sm);background:var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.topology-stack-item{background:color-mix(in srgb, var(--bg-base) 72%, var(--accent-soft))}}.topology-stack-item{box-shadow:inset 0 1px 0 var(--text-primary), inset 0 -1px 0 var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.topology-stack-item{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text-primary) 14%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--bg-base) 24%, transparent)}}.topology-stack-item{color:var(--text-primary);transition:background-color var(--motion-duration-160) var(--motion-easing-default), border-color var(--motion-duration-160) var(--motion-easing-default), box-shadow var(--motion-duration-240) var(--motion-easing-default), transform var(--motion-duration-240) var(--motion-easing-default);transform:none}.topology-stack-dot{width:var(--space-4);height:var(--space-4);border-radius:var(--radius-value-pill);background:var(--accent-secondary);box-shadow:0 0 var(--space-4) var(--accent-secondary);flex:none}@supports (color:color-mix(in lab, red, red)){.topology-stack-dot{box-shadow:0 0 var(--space-4) color-mix(in srgb, var(--accent-secondary) 52%, transparent)}}.topology-resource-platform{width:28.5%;top:6%;left:5%}.topology-resource-application{width:30.5%;bottom:5%;right:4%}.topology-resource-storage{width:22%;bottom:9%;left:9%}.topology-korea-anchor{top:var(--korea-y);left:var(--korea-x);width:0;height:0;position:absolute}.topology-korea-motion{--marker-hover-y:0px;--marker-hover-scale:1;width:0;height:0;transform:translate3d(var(--marker-pointer-x), calc(var(--marker-pointer-y) + var(--marker-hover-y)), 0) scale(var(--marker-hover-scale));transform-origin:50%;transition:transform var(--motion-duration-240) var(--motion-easing-default);will-change:transform;position:absolute;top:0;left:0}.topology-korea-marker{z-index:5;width:var(--space-24);height:var(--space-24);opacity:var(--marker-opacity);pointer-events:none;transition:filter var(--motion-duration-240) var(--motion-easing-default), transform var(--motion-duration-240) var(--motion-easing-default);will-change:filter, opacity, transform;position:absolute;top:0;left:0;transform:translate(-50%,-50%)}.topology-marker-layer{z-index:1;height:80%;transform:translate(var(--map-translate-x), var(--map-translate-y));position:absolute;top:10%;left:0;right:0}.topology-korea-marker-ring,.topology-korea-marker-diamond{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.topology-korea-marker-ring{width:var(--space-24);height:var(--space-24);border:1px solid var(--accent-secondary)}@supports (color:color-mix(in lab, red, red)){.topology-korea-marker-ring{border:1px solid color-mix(in srgb, var(--accent-secondary) 62%, transparent)}}.topology-korea-marker-diamond{width:var(--space-16);height:var(--space-16);border:1px solid var(--accent-primary);background:var(--bg-base);transition:box-shadow var(--motion-duration-240) var(--motion-easing-default), transform var(--motion-duration-240) var(--motion-easing-default);place-items:center;display:grid;box-shadow:0 0 #0000}.topology-korea-marker-core{width:var(--space-4);height:var(--space-4);border-radius:var(--radius-value-pill);background:var(--accent-secondary)}.topology-server-label{color:var(--text-primary);font-family:var(--font-family-mono);letter-spacing:.02em;opacity:var(--server-opacity);white-space:nowrap;will-change:opacity;font-weight:600;position:absolute;top:0;left:38px;transform:translateY(-50%)}@media (min-width:1024px){.topology-narrative-world-map-plane,.topology-focus-map-plane{width:100vw;inset:0 auto 0 -16vw}}@media (min-width:1440px){.hero-inner{margin-inline:auto}.hero-name{font-size:clamp(108px,7.5vw,128px)}.hero-name-second{margin-left:8%}.hero-copy{max-width:calc(var(--space-160) * 3);margin-top:var(--space-32);row-gap:var(--space-16)}.service-graph,.topology-marker-plane{width:min(36vw, calc(var(--space-160) * 4 + var(--space-80)))}}@media (min-width:1180px) and (max-width:1439px){.hero-inner{width:calc(100% - var(--page-padding) - var(--page-padding));max-width:var(--content-max-width);margin-inline:auto}.hero-name{font-size:clamp(82px,6.4vw,90px)}.hero-name-second{margin-left:8%}.hero-copy{max-width:calc(var(--space-160) * 2 + var(--space-112));margin-top:var(--space-32);row-gap:var(--space-16)}.section-cue{margin-top:var(--space-32)}.service-graph,.topology-marker-plane{width:min(35vw, calc(var(--space-160) * 3 + var(--space-80)))}}@media (min-width:1180px) and (max-height:950px){.hero-identity{padding-block:var(--space-32)}.hero-name-block{margin-top:var(--space-16)}.hero-name{font-size:clamp(76px,5.2vw,96px)}.hero-copy{margin-top:var(--space-24);row-gap:var(--space-12)}.section-cue{margin-top:var(--space-24)}.about-primary{align-content:start}.profile-portrait{width:min(calc(100% - var(--space-32)), calc((100svh - var(--hero-header-offset) - var(--space-160) - var(--space-96)) * .75))}.topology-project-gallery-frame{width:clamp(272px,25vw,360px)}}@media (min-width:1024px) and (max-width:1179px){.hero-inner{width:calc(100% - var(--page-padding) - var(--page-padding));max-width:var(--content-max-width);margin-inline:auto}.hero-identity{padding-block:var(--space-32);grid-column:1/6}.hero-name-block{margin-top:var(--space-16)}.hero-name{font-size:clamp(68px,6.8vw,76px)}.hero-name-second{margin-left:6%}.hero-copy{max-width:calc(var(--space-160) * 2 + var(--space-64));margin-top:var(--space-24);row-gap:var(--space-12)}.hero-statement{font-size:28px}.hero-description{font-size:var(--font-size-body-lg);line-height:var(--line-height-body-lg)}.section-cue{margin-top:var(--space-20)}.service-graph,.topology-marker-plane{width:min(40vw, calc(var(--space-160) * 2 + var(--space-128) + var(--space-16)))}}@media (hover:hover) and (pointer:fine){.service-graph:hover .topology-card-frame{border-color:var(--accent-primary);box-shadow:0 var(--space-24) var(--space-64) var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.service-graph:hover .topology-card-frame{box-shadow:0 var(--space-24) var(--space-64) color-mix(in srgb, var(--bg-base) 54%, transparent)}}.topology-stack-item:hover{z-index:4;border-color:var(--border-accent);background:var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.topology-stack-item:hover{background:color-mix(in srgb, var(--bg-base) 64%, var(--accent-soft))}}.topology-stack-item:hover{box-shadow:inset 0 1px 0 var(--text-primary), inset 0 -1px 0 var(--bg-base), 0 var(--space-16) var(--space-32) var(--bg-base)}@supports (color:color-mix(in lab, red, red)){.topology-stack-item:hover{box-shadow:inset 0 1px 0 color-mix(in srgb, var(--text-primary) 18%, transparent), inset 0 -1px 0 color-mix(in srgb, var(--bg-base) 28%, transparent), 0 var(--space-16) var(--space-32) color-mix(in srgb, var(--bg-base) 54%, transparent)}}.topology-stack-item:hover{transform:translate3d(0, -6px, var(--space-32)) scale(1.015)}.service-graph:hover+.topology-marker-plane .topology-korea-motion{--marker-hover-y:-4px;--marker-hover-scale:1.02}.service-graph:hover+.topology-marker-plane .topology-korea-marker{filter:drop-shadow(0 var(--space-4) var(--space-8) var(--accent-secondary))}@supports (color:color-mix(in lab, red, red)){.service-graph:hover+.topology-marker-plane .topology-korea-marker{filter:drop-shadow(0 var(--space-4) var(--space-8) color-mix(in srgb, var(--accent-secondary) 42%, transparent))}}.service-graph:hover+.topology-marker-plane .topology-korea-marker-diamond{box-shadow:0 0 var(--space-8) var(--accent-primary)}@supports (color:color-mix(in lab, red, red)){.service-graph:hover+.topology-marker-plane .topology-korea-marker-diamond{box-shadow:0 0 var(--space-8) color-mix(in srgb, var(--accent-primary) 42%, transparent)}}}@media (min-width:1024px) and (max-width:1199px){.topology-resource-group{gap:var(--space-4);padding:var(--space-8)}.topology-stack{gap:var(--space-4)}.topology-stack-item{min-height:var(--space-24)}.topology-resource-platform{width:30%}.topology-resource-application{width:32%}.topology-resource-standalone{padding:var(--space-8)}}@media (max-width:1023px) and (orientation:portrait){.topology-project-gallery-frame{width:clamp(272px,44vw,440px)}}@media (min-width:768px) and (max-width:1023px) and (orientation:landscape){.topology-narrative-world-map-plane,.topology-focus-map-plane{width:auto;inset:0}.topology-narrative-world-map-viewport,.topology-focus-map-viewport{aspect-ratio:auto;width:100%;max-width:none;height:100%;inset:0;transform:none;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}.hero{min-height:var(--hero-stage-height,226.5svh)}.hero-inner{top:var(--hero-header-offset);width:min(calc(100% - var(--page-padding) - var(--page-padding)), 960px);height:calc(100svh - var(--hero-header-offset));min-height:calc(100svh - var(--hero-header-offset));padding-block:var(--space-24);column-gap:var(--grid-gutter);grid-template-rows:1fr;grid-template-columns:repeat(8,minmax(0,1fr));row-gap:0;margin-inline:auto;position:sticky}.hero-identity{z-index:5;padding-block:var(--space-24);text-align:left;grid-area:1/1/auto/5;justify-content:center;align-self:stretch}.hero-name-block{margin-top:var(--space-12)}.hero-name{font-size:clamp(44px,5.2vw,52px)}.hero-name-second{margin-left:4%}.hero-copy{max-width:calc(var(--space-160) * 2 + var(--space-32));margin-top:var(--space-20);row-gap:var(--space-12)}.hero-statement{font-size:var(--font-size-title);line-height:var(--line-height-title)}.hero-description{font-size:var(--font-size-body);line-height:var(--line-height-body)}.hero .section-cue{display:none}.hero-system{grid-area:1/1/auto/-1;height:auto;min-height:0;position:absolute;inset:0}.hero-visual-stage{height:auto;min-height:0;position:absolute;inset:0}.service-graph,.topology-marker-plane{width:min(48%, calc(var(--space-160) * 3));top:50%;left:auto;right:0;transform:translateY(-50%)}}@media (orientation:landscape) and (hover:none) and (pointer:coarse){.topology-narrative-world-map-plane,.topology-focus-map-plane{width:auto;inset:0}.topology-narrative-world-map-viewport,.topology-focus-map-viewport{aspect-ratio:auto;width:100%;max-width:none;height:100%;inset:0;transform:none;-webkit-mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000);mask-image:linear-gradient(90deg,#0000,#000 6% 94%,#0000)}}@media (max-width:1023px) and (orientation:landscape) and (max-height:600px){.portfolio-shell{--portfolio-header-height:calc(var(--space-48) + var(--space-8))}.header-inner{min-height:var(--portfolio-header-height);column-gap:var(--space-8);grid-template-columns:auto minmax(0,1fr) auto}.primary-navigation{justify-self:center;gap:var(--space-8);min-width:0;display:flex}.navigation-link{white-space:nowrap;font-size:11px}.header-utilities>.theme-toggle{display:grid}.mobile-menu-trigger,.mobile-sidebar{display:none}.hero{min-height:var(--hero-stage-height,226.5svh)}.hero-inner{top:var(--hero-header-offset);width:min(calc(100% - var(--page-padding) - var(--page-padding)), 960px);height:calc(100svh - var(--hero-header-offset));min-height:calc(100svh - var(--hero-header-offset));column-gap:var(--grid-gutter);grid-template-rows:1fr;grid-template-columns:repeat(8,minmax(0,1fr));row-gap:0;margin-inline:auto;padding-block:0;position:sticky}.hero-identity{z-index:5;text-align:left;grid-area:1/1/auto/5;justify-content:center;align-self:stretch;padding-block:0}.hero-name-block{margin-top:var(--space-8)}.hero-name{font-size:clamp(40px,5vw,48px)}.hero-name-second{margin-left:4%}.hero-copy{max-width:calc(var(--space-160) * 2);margin-top:var(--space-12);row-gap:var(--space-8)}.hero-message{font-size:var(--font-size-small);line-height:var(--line-height-small)}.hero .section-cue{display:none}.hero-system{grid-area:1/1/auto/-1;height:auto;min-height:0;position:absolute;inset:0}.hero-visual-stage{height:auto;min-height:0;position:absolute;inset:0}.service-graph,.topology-marker-plane{width:min(44%, calc(var(--space-160) * 2 + var(--space-48)));top:50%;left:auto;right:0;transform:translateY(-50%)}.topology-tilt-layer{transform:rotateX(var(--card-rotate-x)) rotateY(var(--card-rotate-y)) scale(.76)}.topology-resource-group{gap:var(--space-4);padding:var(--space-4)}.topology-resource-standalone{min-height:var(--space-32);padding:var(--space-4)}.topology-resource-heading,.topology-resource-status,.topology-stack-item,.topology-server-label{font-size:11px}.topology-resource-header,.topology-stack{gap:var(--space-4)}.topology-stack-item{min-height:var(--space-24);gap:var(--space-4);padding-inline:var(--space-4)}.topology-active-dot,.topology-stack-dot{width:var(--space-4);height:var(--space-4)}.topology-server-label{left:28px}.topology-korea-marker,.topology-korea-marker-ring{width:var(--space-16);height:var(--space-16)}.topology-korea-marker-diamond{width:var(--space-12);height:var(--space-12)}.topology-korea-marker-core{width:var(--space-4);height:var(--space-4)}.about-heading{grid-area:1/1/auto/6;min-width:0}.profile-portrait{width:min(20vw, var(--space-160));max-width:var(--space-160);grid-area:1/6/auto/9;place-self:end;margin:0}.about-introduction{margin-top:var(--space-32);grid-area:2/1/auto/-1}.about-values{grid-area:3/1/auto/-1}}@media (max-width:1199px) and (orientation:portrait){.topology-narrative-world-map-plane,.topology-focus-map-plane{width:auto;inset:0}.topology-narrative-world-map-viewport{width:100%;max-width:none;height:100%;inset:0;transform:none}.topology-narrative-world-map-presentation{top:var(--portrait-world-presentation-y);left:var(--portrait-world-presentation-x);width:var(--portrait-world-presentation-width);height:var(--portrait-world-presentation-height);position:absolute}.topology-focus-map-viewport{aspect-ratio:auto;width:100%;max-width:none;height:100%;inset:0;transform:none}}@media (min-width:768px) and (max-width:1199px) and (orientation:portrait){.topology-narrative-world-map-viewport{-webkit-mask-image:none;mask-image:none}}@media (max-width:767px),(max-width:1023px) and (orientation:landscape) and (max-height:600px){.topology-map-clip{clip-path:inset(0);will-change:auto}.topology-project-gallery-frame{filter:none;transform:translate(-50%, -50%) translate(var(--gallery-x), var(--gallery-y)) scale(var(--gallery-scale));will-change:opacity, transform}}@media (max-width:767px) and (orientation:portrait){.hero{min-height:0}.hero-grid{background-size:var(--space-40) var(--space-40)}.hero-inner{--hero-usable-height:calc(100svh - var(--hero-header-offset));width:calc(100% - var(--page-padding) - var(--page-padding));grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:minmax(var(--hero-usable-height), auto) minmax(0, 1fr);row-gap:0;height:auto;min-height:0;margin-inline:auto;padding-block:0;position:relative;top:auto}.hero-identity{z-index:5;text-align:left;grid-area:1/1/auto/5;justify-content:center;align-self:start;width:100%;height:50%;min-height:0;padding-block:0}.hero-intro{justify-content:flex-start}.hero-name-block{margin-top:var(--space-24);grid-template-columns:repeat(4,minmax(0,1fr))}.hero-name{font-size:calc(var(--font-size-display-xl) - var(--font-size-small));text-align:left;grid-column:1/5;align-items:flex-start}.hero-name-second{margin-left:0}.hero-copy{margin-top:var(--space-24);row-gap:var(--space-16);text-align:left;grid-template-columns:minmax(0,1fr);justify-items:start}.hero-message{font-size:var(--font-size-body);line-height:var(--line-height-body);text-align:left}.hero .section-cue{display:none}.hero-system{height:var(--hero-stage-height,176svh);grid-area:1/1/span 2/5;align-self:start;min-height:0;position:relative;inset:auto}.hero-visual-stage{top:var(--hero-header-offset);height:calc(100svh - var(--hero-header-offset));grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:sticky}.service-graph,.topology-marker-plane{width:min(calc(100vw - var(--space-32)), calc(var(--space-160) * 2 + var(--space-48)));aspect-ratio:8/5;grid-area:2/1;place-self:start center;max-width:100%;position:relative;top:auto;left:auto;right:auto;transform:none}.topology-tilt-layer{transform:rotateX(var(--card-rotate-x)) rotateY(var(--card-rotate-y)) scale(.78)}.topology-resource-heading,.topology-resource-status,.topology-stack-item,.topology-server-label{font-size:11px}.topology-active-dot,.topology-stack-dot{width:var(--space-4);height:var(--space-4)}.topology-korea-marker,.topology-korea-marker-ring{width:var(--space-16);height:var(--space-16)}.topology-korea-marker-diamond{width:var(--space-12);height:var(--space-12)}.topology-project-gallery-frame{width:clamp(calc(var(--space-160) - var(--space-8)), 44vw, calc(var(--space-160) + var(--space-32)))}.topology-project-gallery-caption{margin-top:var(--space-4)}.topology-resource-group{gap:var(--space-4);padding:var(--space-4)}.topology-resource-standalone{padding:var(--space-8)}.topology-stack{gap:var(--space-4)}.topology-stack-item{min-height:var(--space-24);padding-inline:var(--space-8)}.topology-resource-platform{width:38%;top:6%;left:3%}.topology-resource-application{width:40%;top:auto;bottom:4%;right:3%}.topology-resource-storage{width:24%;top:auto;bottom:8%;left:8%}.topology-server-label{right:var(--space-24);left:auto}}@media (min-width:768px) and (max-width:1199px) and (orientation:portrait){.hero{min-height:0}.hero-inner{--hero-usable-height:calc(100svh - var(--hero-header-offset));width:min(calc(100% - var(--page-padding) - var(--page-padding)), 960px);grid-template-columns:repeat(8,minmax(0,1fr));grid-template-rows:minmax(var(--hero-usable-height), auto) minmax(0, 1fr);row-gap:0;height:auto;min-height:0;margin-inline:auto;padding-block:0;position:relative;top:auto}.hero-identity{text-align:left;grid-area:1/1/auto/9;justify-content:center;place-self:start center;align-items:flex-start;width:min(100%,720px);height:50%;min-height:0;margin-inline:auto;padding-block:0}.hero-intro{justify-content:flex-start}.hero-name-block{width:100%;margin-top:var(--space-16)}.hero-name{text-align:left;align-items:flex-start;font-size:clamp(56px,7.2vw,76px)}.hero-name-second{margin-left:0}.hero-copy{max-width:min(100%,560px);margin-top:var(--space-24);row-gap:var(--space-12);text-align:left;justify-items:start;margin-inline:0}.hero-message{font-size:var(--font-size-body-lg);line-height:var(--line-height-body-lg);text-align:left}.hero .section-cue{display:none}.hero-system{height:var(--hero-stage-height,228svh);grid-area:1/1/span 2/9;align-self:start;min-height:0;position:relative;inset:auto}.hero-visual-stage{top:var(--hero-header-offset);height:calc(100svh - var(--hero-header-offset));grid-template-rows:45% 55%;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;position:sticky}.service-graph,.topology-marker-plane{grid-area:2/1;place-self:start center;width:min(86vw,760px);position:relative;top:auto;left:auto;right:auto;transform:none}.topology-tilt-layer{transform:rotateX(var(--card-rotate-x)) rotateY(var(--card-rotate-y)) scale(.86)}.topology-resource-group{gap:var(--space-4);padding:var(--space-4)}.topology-resource-standalone{min-height:var(--space-40);padding:var(--space-8)}.topology-resource-heading,.topology-resource-status,.topology-stack-item,.topology-server-label{font-size:12px}.topology-stack{gap:var(--space-4)}.topology-stack-item{min-height:var(--space-24);gap:var(--space-4);padding-inline:var(--space-4)}.topology-server-label{left:32px}.topology-korea-marker,.topology-korea-marker-ring{width:var(--space-20);height:var(--space-20)}.topology-korea-marker-diamond{width:var(--space-16);height:var(--space-16)}}@media (min-width:768px) and (max-width:1199px) and (orientation:portrait) and (max-height:820px){.hero-name-block{margin-top:var(--space-8)}.hero-name{font-size:52px}.hero-copy{margin-top:var(--space-12)}.service-graph,.topology-marker-plane{width:min(58vw, calc(var(--space-160) * 3 + var(--space-64)))}}@media (prefers-reduced-motion:reduce){.hero{min-height:auto}.hero-inner{height:auto;min-height:0;padding-bottom:var(--section-gap);display:block;position:relative;top:auto}.about-section{margin-top:0}.about-transition-window{min-height:0}.about-viewport{opacity:1;will-change:auto;position:relative;top:auto}.hero-identity{min-height:calc(100svh - var(--hero-header-offset));opacity:1;will-change:auto}.hero-system{width:100%;height:auto;min-height:0;position:relative;inset:auto}.hero-visual-stage{gap:var(--space-64);height:auto;min-height:0;display:grid;position:relative;top:auto}.service-graph{aspect-ratio:8/5;pointer-events:none;width:min(100%,800px);margin-inline:auto;position:relative;top:auto;left:auto;right:auto;transform:none}.topology-marker-plane{aspect-ratio:8/5;width:min(100%,800px);top:0;left:50%;right:auto;transform:translate(-50%)}.topology-map-clip{clip-path:inset(0)}.topology-map-layer{filter:none;opacity:var(--card-map-opacity);will-change:auto}.topology-narrative-world-map-plane,.topology-focus-map-plane{filter:none;will-change:auto}.topology-narrative-world-map-plane{opacity:var(--narrative-world-map-opacity)}.topology-focus-map-plane{opacity:var(--focus-map-opacity)}.topology-project-gallery-plane{display:none}.topology-tilt-layer{opacity:var(--topology-opacity);will-change:auto;transition:none;transform:none}.topology-connection-lines,.topology-flow-overlay,.topology-resource,.topology-resource-header,.topology-stack-item{transition:none;transform:none}.topology-flow-point{display:none}.topology-korea-marker{will-change:auto}.topology-korea-motion{--marker-hover-y:0px;--marker-hover-scale:1;will-change:auto;transition:none;transform:none}.topology-stack-item:hover{z-index:auto;transform:none}.topology-server-label{transition:none}.topology-card-frame{opacity:var(--frame-opacity)}}@media (max-width:767px) and (orientation:portrait) and (prefers-reduced-motion:reduce){.hero-visual-stage{gap:var(--space-48)}}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;min-height:100%}body{background-color:var(--bg-base);min-height:100%;color:var(--text-primary);font-family:var(--font-family-primary);margin:0}.content-container{width:calc(100% - var(--page-padding) - var(--page-padding));max-width:var(--content-max-width);margin-inline:auto}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:var(--space-4)}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}[data-motion]{transition:none;animation:none}}@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-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}
