/*! tailwindcss v4.2.3 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-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{--font-sans:"Pretendard", sans-serif;--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-gray-100:#f9f9f9;--color-gray-600:#666;--color-gray-700:#444;--color-gray-800:#333;--color-white:#fff;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--font-body:"Pretendard", sans-serif;--font-display:"Montserrat", sans-serif;--color-primary:#f05f40;--color-secondary:#616161;--color-mint:#41f0ec;--color-light:#ededed;--color-text:#222;--color-text-subtle:#454648;--color-text-muted:#979595;--color-border:#d4d4d4;--color-background:#fff;--color-overlay-backdrop:#0e111373;--color-experience-detail-fade:#f8f8f7;--color-scrollbar-thumb:#33333373}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-scrollbar-thumb:color-mix(in srgb, var(--color-gray-800) 45%, transparent)}}:root,:host{--color-scrollbar-thumb-hover:#3333339e}@supports (color:color-mix(in lab, red, red)){:root,:host{--color-scrollbar-thumb-hover:color-mix(in srgb, var(--color-gray-800) 62%, transparent)}}:root,:host{--color-toast-border:#ffffff26;--color-toast-surface:#161a1dd9;--text-toast:14px;--shadow-header:0 10px 24px #0f172a0d;--shadow-section-soft:5px 5px 25px 10px #0000000d;--shadow-image-default:5px 5px 15px #00000026;--shadow-media-raised:5px 5px 18px #0000001f;--shadow-media-soft:5px 5px 15px #0000001f;--shadow-media-floating:3px 3px 10px #00000024;--shadow-modal:0 20px 40px #0000002e;--shadow-inset-menu:inset 0 4px 4px #00000017;--shadow-skills-section:0 -18px 32px #0f172a0f, 0 18px 32px #0f172a0f;--shadow-surface-soft:0 8px 20px #0f172a0f;--shadow-surface-active:0 12px 28px #0f172a1a;--shadow-surface-subtle:0 6px 16px #0f172a08;--drop-shadow-icon-soft:5px 5px 15px #0000001f;--spacing-container:20px}}@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{.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.isolate{isolation:isolate}.z-10{z-index:10}.z-20{z-index:20}.order-1{order:1}.order-2{order:2}.order-3{order:3}.m-0{margin:calc(var(--spacing) * 0)}.mx-auto{margin-inline:auto}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.h-auto{height:auto}.min-h-screen{min-height:100vh}.w-full{width:100%}.max-w-\[32\.8125rem\]{max-width:32.8125rem}.max-w-\[1550px\]{max-width:1550px}.min-w-0{min-width:calc(var(--spacing) * 0)}.basis-full{flex-basis: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}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-2{gap:calc(var(--spacing) * 2)}.gap-2\.5{gap:calc(var(--spacing) * 2.5)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 6) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 6) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-24>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 24) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 24) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-y-0{row-gap:calc(var(--spacing) * 0)}.gap-y-2\.5{row-gap:calc(var(--spacing) * 2.5)}.gap-y-6{row-gap:calc(var(--spacing) * 6)}.overflow-hidden{overflow:hidden}.px-\[var\(--spacing-container\)\]{padding-inline:var(--spacing-container)}.pt-\[max\(var\(--resume-header-height\)\,8vh\)\]{padding-top:max(var(--resume-header-height), 8vh)}.pb-12{padding-bottom:calc(var(--spacing) * 12)}.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,)}@media (width>=768px){.md\:mt-3{margin-top:calc(var(--spacing) * 3)}.md\:mt-7{margin-top:calc(var(--spacing) * 7)}.md\:mt-\[22px\]{margin-top:22px}.md\:block{display:block}.md\:w-full{width:100%}.md\:max-w-\[34rem\]{max-width:34rem}.md\:min-w-\[300px\]{min-width:300px}.md\:flex-\[3\]{flex:3}.md\:flex-\[9\]{flex:9}.md\:basis-auto{flex-basis:auto}.md\:flex-row{flex-direction:row}.md\:flex-nowrap{flex-wrap:nowrap}.md\:gap-5{gap:calc(var(--spacing) * 5)}.md\:gap-10{gap:calc(var(--spacing) * 10)}.md\:gap-\[22px\]{gap:22px}:where(.md\:space-y-12>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 12) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 12) * calc(1 - var(--tw-space-y-reverse)))}.md\:gap-y-\[22px\]{row-gap:22px}.md\:pt-\[var\(--resume-header-height\)\]{padding-top:var(--resume-header-height)}.md\:pr-9{padding-right:calc(var(--spacing) * 9)}.md\:pb-16{padding-bottom:calc(var(--spacing) * 16)}}@media (width>=1280px){.lg\:order-2{order:2}.lg\:order-3{order:3}.lg\:mx-0{margin-inline:calc(var(--spacing) * 0)}.lg\:mt-0{margin-top:calc(var(--spacing) * 0)}.lg\:mt-3{margin-top:calc(var(--spacing) * 3)}.lg\:block{display:block}.lg\:w-auto{width:auto}.lg\:max-w-\[34rem\]{max-width:34rem}.lg\:flex-\[1_1_auto\]{flex:auto}.lg\:basis-auto{flex-basis:auto}.lg\:grid-cols-\[34rem_minmax\(0\,1fr\)\]{grid-template-columns:34rem minmax(0,1fr)}.lg\:flex-row{flex-direction:row}.lg\:flex-nowrap{flex-wrap:nowrap}.lg\:items-center{align-items:center}.lg\:items-end{align-items:flex-end}.lg\:justify-end{justify-content:flex-end}.lg\:justify-start{justify-content:flex-start}.lg\:gap-8{gap:calc(var(--spacing) * 8)}.lg\:gap-\[14px\]{gap:14px}.lg\:gap-x-\[14px\]{column-gap:14px}.lg\:gap-y-0{row-gap:calc(var(--spacing) * 0)}.lg\:self-end{align-self:flex-end}.lg\:px-5{padding-inline:calc(var(--spacing) * 5)}.lg\:pt-\[max\(calc\(var\(--resume-header-height\)\+20px\)\,8vh\)\]{padding-top:max(calc(var(--resume-header-height) + 20px), 8vh)}.lg\:pb-4{padding-bottom:calc(var(--spacing) * 4)}.lg\:pb-\[76px\]{padding-bottom:76px}}@media (width>=1640px){.min-\[1640px\]\:mt-\[14px\]{margin-top:14px}.min-\[1640px\]\:max-w-\[35rem\]{max-width:35rem}.min-\[1640px\]\:grid-cols-\[35rem_minmax\(0\,1fr\)\]{grid-template-columns:35rem minmax(0,1fr)}.min-\[1640px\]\:gap-\[18px\]{gap:18px}.min-\[1640px\]\:gap-\[54px\]{gap:54px}.min-\[1640px\]\:gap-x-\[18px\]{column-gap:18px}.min-\[1640px\]\:px-0{padding-inline:calc(var(--spacing) * 0)}.min-\[1640px\]\:pt-\[max\(calc\(var\(--resume-header-height\)\+18px\)\,9vh\)\]{padding-top:max(calc(var(--resume-header-height) + 18px), 9vh)}.min-\[1640px\]\:pb-24{padding-bottom:calc(var(--spacing) * 24)}}}@font-face{font-family:Pretendard;src:url(/assets/Pretendard-Regular-BhrLQoBv.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(/assets/Pretendard-Medium-B03Vapqz.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(/assets/Pretendard-SemiBold-ClEDdoZU.woff2)format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(/assets/Pretendard-Bold-nTxvYUCJ.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Pretendard;src:url(/assets/Pretendard-ExtraBold-C0vVUedy.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Light-Dy_DWLOk.woff2)format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Regular-Cp4YO4Vy.woff2)format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Medium-BHO_tv09.woff2)format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-Bold-DEiP1Qp2.woff2)format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:Montserrat;src:url(/assets/Montserrat-ExtraBold-CZqES9mq.woff2)format("woff2");font-weight:800;font-style:normal;font-display:swap}html{scroll-behavior:smooth;overflow-x:hidden}html,body{scrollbar-width:none;-ms-overflow-style:none}*,:before,:after{box-sizing:border-box}html,body,#root{min-height:100%}body{font-family:var(--font-body);color:var(--color-gray-700);background:var(--color-background);margin:0;font-size:18px;line-height:1.6;overflow-x:hidden}#root{min-height:100vh}@media (width>=768px){body{font-size:20px}}@media (width>=1280px){body{font-size:22px}}html::-webkit-scrollbar{width:0;height:0;display:none}body::-webkit-scrollbar{width:0;height:0;display:none}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}:where(a,button,input,textarea,select):focus-visible{outline:2px solid var(--color-mint);outline-offset:3px}.font-montserrat{font-family:var(--font-display)}.font-pretendard{font-family:var(--font-body)}.blind{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-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}:root{--resume-header-height:52px}.resume-page{--resume-section-offset:76px;--resume-section-min-height:24vh;--resume-section-min-height-md:28vh;--resume-section-padding-y:40px;--resume-section-padding-y-md:64px;--resume-nav-label-font-size:13px;--resume-nav-label-line-height:18px;--resume-eyebrow-font-size:14px;--resume-eyebrow-line-height:20px;--resume-eyebrow-letter-spacing:.16em;--resume-hero-max-width:720px;--resume-hero-font-size:32px;--resume-hero-font-size-md:52px;--resume-hero-line-height:1.15;--resume-hero-letter-spacing:-.04em;--resume-heading-mark-size:17px;--resume-heading-lead-gap:14px;background:var(--color-background);min-height:100vh;color:var(--color-text)}.resume-header{z-index:40;border-bottom:1px solid color-mix(in srgb, var(--color-white) 15%, transparent);background:linear-gradient(180deg, color-mix(in srgb, var(--color-white) 25%, transparent) 0%, color-mix(in srgb, var(--color-white) 15%, transparent) 100%);width:100%;box-shadow:var(--shadow-header);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);position:fixed;top:0;left:0}.resume-header.is-inverse-tone{box-shadow:none;background:0 0;border-bottom-color:#0000}.resume-header-inner{height:var(--resume-header-height);justify-content:space-between;align-items:center;display:flex}.resume-brand{justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.resume-brand-image{object-fit:contain;filter:grayscale()brightness(.7);width:100%;height:100%}.resume-header.is-inverse-tone .resume-brand-image{filter:brightness(0)saturate()invert()}.resume-header-nav{margin-left:auto}.resume-header-nav-list{align-items:center;gap:8px;display:flex}.resume-header-nav-link{font-family:var(--font-display);color:var(--color-secondary);align-items:center;padding:4px 6px 8px;font-size:14px;font-weight:500;line-height:1;transition:color .3s;display:inline-flex;position:relative}.resume-header.is-inverse-tone .resume-header-nav-link{color:var(--color-white)}.resume-header-nav-link:after{content:"";background:var(--color-secondary);opacity:0;transform-origin:50%;width:100%;height:2px;transition:opacity .3s,transform .45s;position:absolute;bottom:0;left:50%;transform:translate(-50%)scaleX(0)}.resume-header.is-inverse-tone .resume-header-nav-link:after{background:var(--color-white)}.resume-header-nav-link:hover,.resume-header-nav-link.is-active{color:var(--color-text)}.resume-header.is-inverse-tone .resume-header-nav-link:hover,.resume-header.is-inverse-tone .resume-header-nav-link.is-active{color:var(--color-white)}.resume-header-nav-link.is-active:after{opacity:1;transform:translate(-50%)scaleX(1)}.resume-nav-text--full{display:none}.resume-nav-text--short{display:inline}.resume-main{display:block}.resume-custom-scrollbar{top:calc(var(--resume-header-height) + 12px);z-index:30;opacity:0;pointer-events:none;width:16px;transition:opacity .18s;position:fixed;bottom:16px;right:4px}.resume-custom-scrollbar.is-scrollable{pointer-events:auto}.resume-custom-scrollbar.is-active,.resume-custom-scrollbar:hover{opacity:.78}.resume-custom-scrollbar.is-dragging{opacity:1}.resume-custom-scrollbar-thumb{background:var(--color-scrollbar-thumb);cursor:grab;touch-action:none;will-change:transform;border-radius:999px;width:6px;min-height:48px;transition:background-color .16s,opacity .16s,right .16s,width .16s;position:absolute;top:0;right:5px}.resume-custom-scrollbar-thumb:hover{background:var(--color-scrollbar-thumb-hover);cursor:grab;width:7px;right:4px}.resume-custom-scrollbar.is-dragging .resume-custom-scrollbar-thumb{background:var(--color-scrollbar-thumb-hover);cursor:grabbing;width:8px;right:4px}@media (width>=768px){.resume-custom-scrollbar{bottom:18px;right:6px}}@media (prefers-reduced-motion:reduce){.resume-custom-scrollbar,.resume-custom-scrollbar-thumb{transition:none}}.resume-home{min-height:100vh;scroll-margin-top:var(--resume-section-offset);padding-block:0}.resume-section{min-height:var(--resume-section-min-height);padding-block:var(--resume-section-padding-y);border-top:1px solid color-mix(in srgb, var(--color-border) 30%, transparent);scroll-margin-top:var(--resume-section-offset)}.resume-nav-label{font-size:var(--resume-nav-label-font-size);line-height:var(--resume-nav-label-line-height);letter-spacing:var(--resume-eyebrow-letter-spacing);color:var(--color-text-muted);text-transform:uppercase;font-weight:500}.resume-eyebrow{font-size:var(--resume-eyebrow-font-size);line-height:var(--resume-eyebrow-line-height);letter-spacing:var(--resume-eyebrow-letter-spacing);color:var(--color-text-muted);text-transform:uppercase;font-weight:500}.resume-hero-title{max-width:var(--resume-hero-max-width);font-size:var(--resume-hero-font-size);line-height:var(--resume-hero-line-height);letter-spacing:var(--resume-hero-letter-spacing);margin-top:16px;font-weight:600}.resume-display-word{font-family:var(--font-display);letter-spacing:-.03em;color:inherit;margin:0;font-weight:800}.resume-section-title{letter-spacing:-.04em;color:var(--color-text);font-size:30px;font-weight:700;line-height:1.25}.resume-section-heading{vertical-align:baseline;align-items:flex-start;line-height:1;display:inline-flex}.resume-section-heading-text{line-height:1}.resume-section-heading-mark{width:var(--resume-heading-mark-size);height:var(--resume-heading-mark-size);color:var(--color-primary);flex:none;margin-left:.1em;line-height:1;display:inline-flex;transform:translateY(-.08em)}.resume-section-heading-mark svg{width:100%;height:100%;display:block}.resume-section-heading-body{margin-top:var(--resume-heading-lead-gap)}.resume-section-lead{letter-spacing:-.02em;max-width:960px;color:var(--color-text);word-break:keep-all;overflow-wrap:break-word;margin:0;font-size:14px;font-weight:500;line-height:1.72}:where(.resume-toast){z-index:50;border:1px solid var(--color-toast-border);background:var(--color-toast-surface);max-width:min(90vw,420px);color:var(--color-white);font-size:var(--text-toast);text-align:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);pointer-events:none;border-radius:5px;padding:12px 16px;line-height:1.35;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.tech-stack-list{flex-wrap:wrap;gap:4px 5px;display:flex}.tech-stack-row{margin-top:10px}.tech-stack{border:1px solid color-mix(in srgb, var(--color-secondary) 55%, transparent);color:var(--color-secondary);border-radius:999px;padding:5px 9px;font-size:11px;font-weight:400;line-height:11px}@media (width>=768px){:root{--resume-header-height:72px}.resume-page{--resume-section-offset:96px;--resume-heading-mark-size:23px;--resume-heading-lead-gap:18px}.resume-section{min-height:var(--resume-section-min-height-md);padding-block:var(--resume-section-padding-y-md)}.resume-hero-title{font-size:var(--resume-hero-font-size-md)}.resume-section-title{font-size:48px;line-height:84px}.resume-section-lead{font-size:16px;line-height:1.7}.tech-stack-list{gap:5px 7px}.tech-stack-row{margin-top:20px}.resume-brand{width:32px;height:32px}.resume-header-nav-list{gap:24px}.resume-header-nav-link{padding:4px 0 10px;font-size:14px}.resume-header-nav-link:after{height:3px}.resume-nav-text--full{display:inline}.resume-nav-text--short{display:none}}@media (width>=1280px){:root{--resume-header-height:100px}.resume-page{--resume-section-offset:124px;--resume-heading-lead-gap:20px}.resume-brand{width:35px;height:35px}.resume-header-nav-list{gap:32px}.resume-header-nav-link{font-size:16px}}.about-section{--about-anchor-content-offset:20px;--about-name-x:0px;background:var(--color-gray-100);box-shadow:var(--shadow-section-soft);scroll-margin-top:max(0px, calc(var(--resume-header-height) - var(--resume-section-padding-y) - var(--about-anchor-content-offset)))}.about-main-image{box-shadow:var(--shadow-image-default)}.about-name-layer{width:300%;transform:translateX(var(--about-name-x)) translateY(-50%);font-family:var(--font-display);white-space:nowrap;pointer-events:none;-webkit-user-select:none;user-select:none;font-size:3rem;font-weight:700;line-height:1;position:absolute;top:76%;left:0}.about-name-layer--back{z-index:0;color:var(--color-gray-800)}.about-name-layer--front{z-index:20;color:var(--color-white)}.about-copy{color:var(--color-gray-600);gap:14px;font-size:.875rem;line-height:1.72;display:grid}.about-copy-emphasis{color:var(--color-gray-800);font-weight:700}@media (width>=768px){.about-section{--about-anchor-content-offset:28px;scroll-margin-top:max(0px, calc(var(--resume-header-height) - var(--resume-section-padding-y-md) - var(--about-anchor-content-offset)))}.about-name-layer{font-size:4rem}.about-copy{gap:20px;font-size:1rem}}@media (width>=1280px){.about-name-layer{font-size:5rem}}@media (width>=1640px){.about-name-layer{font-size:5.5rem}}.contact-section{--contact-wrap-offset:100px;--contact-bottom-safe:64px;background:var(--color-primary);height:100svh;min-height:0;color:var(--color-white);border-top:0;padding-block:0;scroll-margin-top:0;position:relative;overflow:hidden}.contact-inner{height:100%;padding-inline:15px;position:relative}.contact_wrap{top:var(--contact-wrap-offset);height:calc(100vh - var(--contact-wrap-offset) - var(--contact-bottom-safe));height:calc(100svh - var(--contact-wrap-offset) - var(--contact-bottom-safe));margin-bottom:var(--contact-bottom-safe);justify-content:center;align-items:center;display:flex;position:relative}.contact_wrap *{color:var(--color-white)}.contact_wrap>article{width:100%;height:100%;min-height:0;position:relative}.contact_wrap>article>div{position:absolute}.contact_wrap>article>div:first-child{top:0}.contact_wrap>article>div:nth-child(2){justify-content:space-between;align-items:flex-end;gap:24px;width:100%;height:100%;display:flex;bottom:0}.contact-title{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-white);margin:0;font-size:240px;font-weight:700;line-height:1}.contact-link-panel{text-align:left;gap:0;display:grid}.contact-link-item{display:block}.contact-link-value{font-family:var(--font-display);color:var(--color-white);font-size:20px;font-weight:400;line-height:1.6;display:inline-block}.contact-link-button{cursor:pointer;background:0 0;border:0;padding:0}.contact-more-trigger{min-width:32px;min-height:32px;color:var(--color-white);cursor:default;background:0 0;border:0;flex:none;justify-content:flex-end;align-items:center;gap:6px;padding:0;display:inline-flex;position:relative}.contact-more-reveal{width:32px;height:32px;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.contact-more-label{color:inherit;font-family:var(--font-display);opacity:0;transform-origin:50%;visibility:hidden;pointer-events:none;white-space:nowrap;cursor:pointer;background:0 0;border:0;padding:0 6px 0 0;font-size:18px;font-weight:400;line-height:1;transition:opacity 80ms,transform .14s cubic-bezier(.2,0,.2,1),visibility 0s linear .14s;position:absolute;top:50%;right:100%;transform:translateY(-50%)scale(.58)}.contact-more-mark{width:var(--resume-heading-mark-size);height:var(--resume-heading-mark-size);flex:none;transition:transform .32s cubic-bezier(.22,1,.36,1)}.contact-more-trigger.is-more-open .contact-more-label{opacity:1;visibility:visible;pointer-events:auto;transition:opacity 80ms,transform .18s cubic-bezier(.16,1.4,.32,1),visibility linear;transform:translateY(-50%)scale(1)}.contact-more-trigger.is-more-open .contact-more-mark{transform:rotate(45deg)}@media (width<=1279px){.contact-section{--contact-bottom-safe:52px;min-height:auto}.contact_wrap{width:100%;padding:0 30px}.contact_wrap>article>div:nth-child(2){flex-wrap:wrap}.contact-title{font-size:clamp(112px,14vw,152px)}}@media (width<=767px){.contact-section{--contact-bottom-safe:44px}.contact-title{font-size:80px}.contact-more-trigger{align-self:flex-end}.contact-more-label{font-size:14px}}@media (width<=480px){.contact_wrap{padding:0 10px}.contact-link-value{font-size:16px}}.exp-section{background:var(--color-background);scroll-margin-top:var(--resume-header-height)}.exp-section-intro{display:block}.exp-stage-shell{min-height:var(--exp-stage-scroll-height,auto);margin-top:28px;position:relative}.exp-stage{padding-inline:var(--spacing-container);padding-bottom:20px;overflow:hidden}.exp-track{gap:32px;display:grid}.exp-intro-card{display:none}.exp-group-card{border:1px solid var(--color-border);background:var(--color-gray-100);border-radius:28px;gap:30px;padding:24px 20px;display:grid}.exp-group-meta{gap:4px;display:grid}.exp-company{letter-spacing:0;color:var(--color-text);margin:0;font-size:24px;font-weight:800;line-height:1.2}.exp-company:after{content:".";color:var(--color-primary)}.exp-period{font-family:var(--font-display);color:var(--color-primary);margin:6px 0 0;font-size:13px;font-weight:600}.exp-position{color:var(--color-text);margin:0;font-size:14px;font-weight:700;line-height:1.5}.exp-summary{max-width:680px;color:var(--color-gray-700);margin:4px 0 0;font-size:13px;font-weight:500;line-height:1.7}.exp-work-list{gap:0;display:grid}.exp-work+.exp-work{border-top:1px solid var(--color-border);margin-top:32px;padding-top:32px}.exp-work{gap:20px;display:grid}.exp-media{justify-content:center;justify-self:center;align-items:center;width:fit-content;min-height:auto;display:flex;position:relative;overflow:hidden}.exp-image{object-fit:cover;height:auto;display:block}.exp-video{object-fit:contain;width:auto;max-width:min(100%,320px);height:auto;max-height:360px;box-shadow:var(--shadow-media-raised);border-radius:14px;display:block}.exp-image--pc{width:78%;box-shadow:var(--shadow-media-soft);border-radius:10px;margin:18px;display:none}.exp-image--mo{object-fit:contain;width:min(100%,280px);height:auto}.exp-image--single{object-fit:contain;width:min(100%,280px);height:auto;box-shadow:var(--shadow-media-soft);border-radius:14px}.exp-work-content{flex-direction:column;justify-content:center;min-width:0;display:flex}.exp-work-type{font-family:var(--font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--color-primary);margin:0;font-size:11px;line-height:1.4}.exp-work-title-row{align-items:center;gap:12px;margin-top:10px;display:flex}.exp-work-title{letter-spacing:0;color:var(--color-text);margin:0;font-size:20px;font-weight:800;line-height:1.1}.exp-work-link{width:fit-content;max-width:100%;color:var(--color-text-muted);flex:none;align-items:center;gap:12px;text-decoration:none;transition:color .2s;display:inline-flex}.exp-work-link:hover,.exp-work-link:focus-visible{color:var(--color-primary)}.exp-work-link .exp-work-title{color:var(--color-text)}.exp-work-link-icon{width:18px;height:18px}.exp-work-subtitle{word-break:keep-all;overflow-wrap:break-word;color:var(--color-text-subtle);margin:4px 0 0;font-size:14px;font-weight:700;line-height:1.55}.exp-work-detail{max-height:118px;transition:max-height .36s cubic-bezier(.22,1,.36,1);position:relative;overflow:hidden}.exp-work-detail.is-open{max-height:var(--exp-work-detail-open-height,960px)}.exp-work-detail:not(.is-open):after{content:"";z-index:0;background:linear-gradient(180deg, transparent 0%, color-mix(in srgb, var(--color-experience-detail-fade) 84%, transparent) 52%, var(--color-gray-100) 100%);pointer-events:none;height:76px;position:absolute;bottom:0;left:0;right:0}.exp-work-detail-inner{overflow:hidden}.exp-work-description{color:var(--color-gray-600);white-space:pre-line;margin:20px 0 0;font-size:13px;line-height:1.72}.exp-contribution-list{gap:4px;margin:12px 0 0;padding:0;list-style:none;display:grid}.exp-contribution-list li{color:var(--color-text-subtle);padding-left:10px;font-size:13px;line-height:1.6;position:relative}.exp-contribution-list li:before{content:"";background:var(--color-primary);border-radius:999px;width:4px;height:4px;position:absolute;top:10px;left:0}.exp-work-detail-toggle,.exp-work-detail-collapse{cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;width:100%;padding:0;display:flex}.exp-work-detail-toggle{z-index:2;justify-content:center;align-items:flex-end;height:76px;padding-bottom:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.exp-work-detail-toggle-icon{width:24px;height:14px;color:var(--color-primary)}.exp-work-detail-collapse{align-self:stretch;height:22px;margin-top:8px}@media (width>=768px){.exp-section{z-index:1;border-top-color:#0000;position:relative}.exp-company{font-size:30px}.exp-position{font-size:16px}.exp-summary{font-size:15px}.exp-work-title{font-size:26px}.exp-work-subtitle{font-size:16px}.exp-section-intro{display:none}.exp-stage-shell{margin-top:calc(-1 * var(--exp-stage-overlap,0px))}.exp-stage{min-height:calc(100vh - var(--resume-header-height));padding-inline:0;background:var(--color-background);align-items:center;padding-bottom:24px;display:flex;overflow:hidden}.exp-track{will-change:transform;gap:84px;width:max-content;padding:72px 20px 24px 40px;display:flex}.exp-intro-card{flex:0 0 460px;align-content:center;min-height:560px;padding:0 12px 0 0;display:grid}.exp-intro-heading .resume-section-title{font-size:42px;line-height:1.15}.exp-group-card{border-radius:32px;flex:none;grid-template-columns:400px max-content;align-items:center;gap:50px;width:max-content;min-height:560px;padding:24px 48px;display:grid}.exp-group-meta{align-content:center;gap:12px;width:100%}.exp-work-list{width:max-content;display:flex}.exp-work+.exp-work{border-top:0;border-left:1px solid var(--color-border);margin-top:0;margin-left:28px;padding-top:0;padding-left:28px}.exp-work{flex:0 0 1200px;grid-template-columns:minmax(420px,1.1fr) minmax(320px,.9fr);align-items:center;gap:28px}.exp-work--text-only{flex-basis:720px;grid-template-columns:minmax(420px,720px)}.exp-media{justify-self:stretch;width:auto;min-height:500px}.exp-image--pc{width:90%;box-shadow:var(--shadow-media-raised);border-radius:14px;margin:16px;display:block}.exp-image--mo{width:30%;box-shadow:var(--shadow-media-floating);border-radius:14px;position:absolute;bottom:24px;right:12px}.exp-image--single,.exp-video{width:auto;max-width:calc(100% - 32px);max-height:460px}.exp-work-title-row{gap:14px}.exp-work-link-icon{width:20px;height:20px}.exp-work-detail{max-height:none;overflow:visible}.exp-work-detail:after,.exp-work-detail-toggle,.exp-work-detail-collapse{display:none}.exp-work-description{font-size:14px}}@media (width>=1280px){.exp-track{gap:102px;padding:100px max(20px,50vw - 755px) 28px}.exp-intro-card{flex-basis:580px;min-height:640px;padding:0 20px 0 0}.exp-intro-heading .resume-section-title{font-size:48px}.exp-group-card{grid-template-columns:480px max-content;gap:60px;min-height:640px;padding:28px 52px}.exp-group-meta{align-content:center;width:100%;padding-top:44px}.exp-work+.exp-work{margin-left:40px;padding-left:40px}.exp-work{flex-basis:1200px;grid-template-columns:minmax(460px,1.1fr) minmax(360px,.9fr);gap:32px}.exp-work--text-only{flex-basis:760px;grid-template-columns:minmax(480px,760px)}.exp-media{min-height:580px}.exp-image--pc{width:90%;box-shadow:var(--shadow-media-raised);border-radius:14px;margin:20px}.exp-image--mo{width:30%;box-shadow:var(--shadow-media-floating);bottom:28px;right:16px}.exp-image--single,.exp-video{width:auto;max-width:calc(100% - 40px);max-height:540px}.exp-work-title-row{gap:16px}}.home-section{background:var(--color-primary);min-height:100vh;color:var(--color-white);scroll-margin-top:var(--resume-section-offset);--home-checkmark-size:60px;--home-title-font:clamp(2.9rem, 12.5vw, 4.2rem);--home-title-compact-font:calc(var(--home-title-font) * .82);--home-role-font:var(--home-title-font);--home-toggle-knob-size:21px;--home-toggle-knob-offset:6px;--home-control-font:clamp(.92rem, 3vw, 1rem);--home-search-font:clamp(1.12rem, 4.6vw, 1.28rem);--home-alert-font:clamp(.625rem, 2.5vw, .6875rem);--home-keyword-font:clamp(1.28rem, 5.2vw, 1.55rem);--home-keyword-positive-slot:21rem;--home-keyword-negative-slot:13rem}.home-word-frame{flex-shrink:0;padding:4px 8px}.home-word-frame--stack{padding-inline:0}.home-title{font-size:var(--home-title-font);line-height:1.04}.home-slot--looking .home-title,.home-slot--for .home-title{font-size:var(--home-title-compact-font)}.home-word-frame--web .home-title{white-space:nowrap}.home-toggle-group,.home-eyes{margin:0;padding:0;list-style:none}.home-toggle-group{flex-shrink:0;align-items:center;gap:10px;display:flex}.home-toggle{appearance:none;border:3px solid var(--color-mint);background:var(--color-white);cursor:pointer;border-radius:999px;justify-content:flex-start;align-items:center;width:72px;height:36px;padding-block:0;padding-inline:8px;transition:background-color .18s,border-color .18s,opacity .18s;display:inline-flex;position:relative;overflow:hidden}.home-toggle.is-checked{background:var(--color-mint)}.home-toggle.is-disabled{border-color:var(--color-light);opacity:.7;cursor:default}.home-toggle-label{z-index:1;width:100%;font-family:var(--font-display);color:var(--color-mint);text-align:right;font-size:clamp(.84rem,2.7vw,.92rem);font-weight:400;line-height:1;transition:color .18s;position:relative}.home-toggle.is-checked .home-toggle-label{color:var(--color-white);text-align:left}.home-toggle.is-disabled .home-toggle-label{color:var(--color-light)}.home-toggle-knob{top:50%;left:var(--home-toggle-knob-offset);width:var(--home-toggle-knob-size);height:var(--home-toggle-knob-size);background:var(--color-mint);border-radius:999px;transition:left .24s cubic-bezier(.22,1,.36,1),background-color .18s;position:absolute;transform:translateY(-50%)}.home-toggle.is-checked .home-toggle-knob{left:calc(100% - var(--home-toggle-knob-offset) - var(--home-toggle-knob-size));background:var(--color-white)}.home-toggle.is-disabled .home-toggle-knob{background:var(--color-light)}.home-checkbox{border:3px solid var(--color-mint);background:0 0;flex:none;width:38px;height:38px;position:relative}.home-checkbox.is-checked{background:var(--color-mint)}.home-checkbox.is-disabled{border-color:var(--color-light)}.home-checkbox-mark{width:var(--home-checkmark-size);height:var(--home-checkmark-size);opacity:0;transition:opacity .12s;position:absolute;top:50%;left:50%;transform:translate(-45%,-70%)}.home-checkbox.is-checked .home-checkbox-mark{opacity:1}.home-checkbox-overlay{background:color-mix(in srgb, var(--color-white) 50%, transparent);position:absolute;inset:0}.home-search{background:var(--color-mint);width:min(100%,300px);font-family:var(--font-display);align-items:center;padding:14px 42px 14px 16px;display:flex;position:relative}.home-search-input{width:100%;min-width:0;font-family:var(--font-display);font-size:var(--home-search-font);letter-spacing:-.02em;color:var(--color-white);caret-color:var(--color-white);background:0 0;border:0;padding:0;font-weight:400;line-height:1}.home-search-input::placeholder{color:color-mix(in srgb, var(--color-white) 58%, transparent);transition:color .14s}.home-search-input:focus::placeholder{color:#0000}.home-search-action{cursor:pointer;background:0 0;border:0;width:24px;height:24px;padding:0;position:absolute;right:12px}.home-search-action svg{width:100%;height:100%}.home-location,.home-more,.home-alert-trigger{color:var(--color-white);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.home-more-wrap{z-index:14;flex-shrink:0;position:relative}.home-location{appearance:none;background:var(--color-mint);width:154px;height:40px;font-size:var(--home-control-font);cursor:pointer;isolation:isolate;border:0;border-radius:999px;padding:0;font-weight:500;line-height:1;position:relative;overflow:visible}.home-location:disabled{cursor:default}.home-location-outline{z-index:0;border:2px solid var(--color-mint);border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .16s;position:absolute;inset:-5px}.home-location-ripple{z-index:0;border:3px solid var(--color-mint);border-radius:inherit;opacity:0;pointer-events:none;position:absolute;inset:-10px;transform:scale(.94)}.home-location-content,.home-more-content{justify-content:center;align-items:center;height:100%;line-height:1;display:inline-flex}.home-location-content{z-index:1;gap:6px;position:relative}.home-location:hover .home-location-outline,.home-location:active .home-location-outline{opacity:1}.home-location:active .home-location-ripple{animation:.36s ease-out home-location-ripple}@keyframes home-location-ripple{0%{opacity:.72;transform:scale(.94)}to{opacity:0;transform:scale(1.24)}}.home-location-icon{flex:none;width:16px;height:16px;display:block}.home-location-text,.home-more-text{white-space:nowrap;line-height:1;display:block}.home-location-text{overflow:visible}.home-more{z-index:1;background:var(--color-mint);width:136px;height:40px;font-size:var(--home-control-font);cursor:pointer;border:0;border-radius:5px;font-weight:500;line-height:1;position:relative}.home-more-content{gap:6px}.home-more-icon{flex:none;width:12px;height:12px;transition:transform .18s}.home-more.is-open .home-more-icon{transform:rotate(180deg)}.home-more-menu{background:var(--color-white);width:100%;box-shadow:var(--shadow-inset-menu);color:var(--color-mint);z-index:0;opacity:0;visibility:hidden;pointer-events:none;transform-origin:top;border-radius:0 0 5px 5px;padding:12px 4px 6px;transition:opacity .16s,transform .18s,visibility 0s linear .18s;position:absolute;top:calc(100% - 5px);left:0;transform:translateY(-10px)scaleY(.9)}.home-more-wrap.is-open .home-more-menu{opacity:1;visibility:visible;pointer-events:auto;transition:opacity .16s,transform .18s,visibility linear;transform:translateY(0)scaleY(1)}.home-more-menu-item{font-family:var(--font-display);text-align:center;margin:0;font-size:1.5rem;line-height:1}.home-more-menu-link{justify-content:center;align-items:center;width:100%;display:flex}.home-alert{background:color-mix(in srgb, var(--color-white) 12%, transparent);border-radius:6px;justify-content:center;align-items:center;height:48px;padding-inline:10px;display:inline-flex}.home-alert-trigger{min-width:52px;height:100%;font-size:var(--home-alert-font);color:var(--color-white);cursor:pointer;background:0 0;border:0;padding-block:0;padding-inline:10px;font-weight:500;line-height:1}.home-alert-inline{align-items:center;display:inline-flex}.home-alert-slot,.home-alert-inline.is-open .home-alert-slot{display:none}.home-alert-panel{background:var(--color-white);width:max-content;max-width:32rem;color:var(--color-primary);border-radius:5px;padding:20px 34px 20px 25px}.home-alert-copy{text-align:center;flex-direction:column;display:flex}.home-alert-copy-line{white-space:normal;word-break:keep-all;margin:0;font-size:.9375rem;line-height:1.4}.home-alert-modal{z-index:40;opacity:0;pointer-events:none;justify-content:center;align-items:center;transition:opacity .18s;display:flex;position:fixed;inset:0}.home-alert-modal.is-open{opacity:1;pointer-events:auto}.home-alert-backdrop{background:var(--color-overlay-backdrop);border:0;position:absolute;inset:0}.home-alert-dialog{z-index:1;background:var(--color-white);width:min(92vw,34rem);color:var(--color-primary);box-shadow:var(--shadow-modal);border-radius:10px;padding:28px;position:relative}.home-alert-dialog:focus{outline:none}.home-alert-dialog .home-alert-copy{text-align:center}.home-eyes{align-items:center;gap:5px;display:flex}.home-eye{background:var(--color-white);border-radius:999px;justify-content:center;align-items:center;width:40px;height:68px;display:inline-flex;overflow:hidden}.home-eye-pupil{background:var(--color-mint);width:32px;height:52px;transform:translate(var(--home-eye-pupil-x,0px), var(--home-eye-pupil-y,0px));will-change:transform;border-radius:999px;transition:transform .15s cubic-bezier(.22,1,.36,1)}.home-keyword-row{flex-direction:column;align-items:center;gap:12px;min-width:0;display:flex}.home-keyword-item{justify-content:center;align-items:center;gap:10px;min-width:0;display:flex}.home-keyword-action{min-width:0;color:inherit;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:10px;padding:0;display:inline-flex}.home-keyword-action.is-animating .home-checkbox-mark{animation:.22s cubic-bezier(.22,1,.36,1) home-keyword-mark-pop}.home-keyword-action.is-animating .home-keyword-text--value{animation:.22s cubic-bezier(.22,1,.36,1) home-keyword-text-pop}.home-keyword-text-stack{align-items:center;min-width:0;display:inline-flex}.home-keyword-text{font-family:var(--font-display);font-size:var(--home-keyword-font);letter-spacing:-.02em;color:var(--color-white);white-space:nowrap;font-weight:400;line-height:1}.home-keyword-text--measure{display:none}.home-keyword-text--value{justify-self:auto}@keyframes home-keyword-mark-pop{0%{transform:translate(-45%,-70%)translateY(0)}38%{transform:translate(-45%,-70%)translateY(6px)}to{transform:translate(-45%,-70%)translateY(0)}}@keyframes home-keyword-text-pop{0%{transform:translateY(0)}38%{transform:translateY(6px)}to{transform:translateY(0)}}.home-role-pair{align-items:flex-end;gap:14px;padding:4px 8px;display:inline-flex}.home-role-roll{place-items:center end;display:inline-grid;position:relative;overflow:hidden}.home-role-word--measure{visibility:hidden}.home-role-word--value{white-space:nowrap;justify-content:flex-end;align-items:center;display:flex;position:absolute;inset:0}.home-role-word--value.is-enter{animation:.52s cubic-bezier(.22,1,.36,1) home-role-roll-enter}.home-role-word--value.is-exit{animation:.52s cubic-bezier(.22,1,.36,1) home-role-roll-exit}.home-toast{opacity:0;transition:opacity .16s,transform .24s cubic-bezier(.22,1,.36,1);transform:translate(-50%,8px)}.home-toast.is-enter{opacity:1;transform:translate(-50%)}.home-toast.is-exit{opacity:0;transform:translate(-50%)}.home-role-word,.home-question{font-size:var(--home-role-font);line-height:1.02}.home-question{transform:translateY(2px)}@keyframes home-role-roll-enter{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}@keyframes home-role-roll-exit{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(100%)}}@media (width>=768px){.home-section{--home-checkmark-size:70px;--home-title-font:clamp(4.8rem, 9vw, 6.8rem);--home-control-font:clamp(1.05rem, 1.65vw, 1.125rem);--home-toggle-knob-size:25px;--home-toggle-knob-offset:8px;--home-search-font:clamp(1.5rem, 3vw, 1.75rem);--home-alert-font:clamp(.75rem, 1.05vw, .8125rem);--home-keyword-font:clamp(1.75rem, 3vw, 1.9rem);--home-keyword-positive-slot:22rem;--home-keyword-negative-slot:13rem}.home-word-frame{padding:8px 18px}.home-slot--looking .home-title,.home-slot--for .home-title{font-size:var(--home-title-font)}.home-role-pair{padding:8px 18px}.home-toggle{border-width:4px;width:100px;height:50px;padding-inline:12px}.home-toggle-group{gap:24px}.home-toggle-label{font-size:var(--home-control-font)}.home-checkbox{border-width:4px;width:50px;height:50px}.home-search{width:min(100%,480px);padding:18px 52px 18px 20px}.home-search-action{width:30px;height:30px;right:16px}.home-location{width:200px;height:46px}.home-location-content{gap:7px}.home-location-icon{width:18px;height:18px}.home-more{width:180px;height:46px}.home-more-content{gap:7px}.home-more-icon{width:14px;height:14px}.home-more-menu{padding:14px 5px 7px;top:calc(100% - 6px)}.home-more-menu-item{font-size:1.875rem}.home-alert{padding-inline:12px}.home-alert-dialog{width:min(82vw,30rem);padding:24px}.home-eye{width:56px;height:100px}.home-eye-pupil{width:48px;height:80px}.home-keyword-row{grid-template-columns:max-content var(--home-keyword-negative-slot);column-gap:24px;display:grid}.home-keyword-item{justify-content:flex-start;gap:14px}.home-keyword-action{justify-content:flex-start;gap:14px;min-width:max-content}.home-keyword-text-stack{align-items:center;min-width:max-content;display:inline-grid}.home-keyword-text-stack>.home-keyword-text{grid-area:1/1}.home-keyword-text--measure{visibility:hidden;pointer-events:none;display:block}.home-keyword-text--value{justify-self:start}.home-role-word,.home-question{font-size:clamp(5.2rem,9vw,6.8rem)}}@media (width>=1280px){.home-section{--home-title-font:clamp(5.9rem, 6.2vw, 7rem);--home-control-font:clamp(1rem, .95vw, 1.0625rem);--home-search-font:clamp(1.55rem, 1.95vw, 1.625rem);--home-alert-font:clamp(.75rem, .9vw, .8125rem);--home-keyword-font:clamp(1.55rem, 1.7vw, 1.75rem);--home-keyword-positive-slot:19rem;--home-keyword-negative-slot:12.75rem}.home-title,.home-role-word,.home-question{line-height:1.06}.home-word-frame{padding:8px 16px}.home-role-pair{justify-content:flex-end;align-items:center;gap:24px;padding:8px 16px}.home-search{width:min(100%,460px);padding:22px 56px 22px 22px}.home-search-action{right:24px}.home-location{width:188px;height:52px}.home-more{width:168px;height:52px}.home-alert{display:none}.home-alert-inline{flex-shrink:0;align-items:center;display:flex}.home-alert-slot{flex:0 auto;width:auto;max-width:0;margin-left:0;transition:max-width .22s cubic-bezier(.22,1,.36,1),margin-left .22s cubic-bezier(.22,1,.36,1);display:block;overflow:hidden}.home-alert-inline .home-alert{z-index:1;background:color-mix(in srgb, var(--color-white) 12%, transparent);border-radius:6px;height:54px;padding-inline:8px;display:inline-flex;position:relative}.home-alert-inline .home-alert-trigger{background:0 0;min-width:0;padding-inline:10px;font-size:.75rem}.home-alert-inline.is-open .home-alert-slot{max-width:36rem;margin-left:18px;display:block}.home-alert-panel{max-width:36rem;padding:20px 28px}.home-alert-panel .home-alert-copy{text-align:left;flex-direction:row;justify-content:flex-start;align-items:center;gap:6px}.home-alert-panel .home-alert-copy-line{white-space:nowrap;line-height:1}.home-eye{width:50px;height:88px}.home-eye-pupil{width:42px;height:70px}.home-keyword-row{grid-template-columns:max-content var(--home-keyword-negative-slot);flex-shrink:0;align-items:center;width:auto;padding-left:16px;display:grid}.home-role-word{text-align:right;white-space:nowrap}.home-question{transform:none}}@media (width>=1640px){.home-section{--home-title-font:8.125rem;--home-control-font:1.125rem;--home-search-font:clamp(1.75rem, 1.85vw, 1.875rem);--home-alert-font:.8125rem;--home-keyword-font:clamp(1.9rem, 1.8vw, 2rem);--home-keyword-positive-slot:24rem;--home-keyword-negative-slot:15rem;--home-toggle-knob-size:25px;--home-toggle-knob-offset:8px}.home-title,.home-role-word,.home-question{line-height:1.12}.home-word-frame,.home-role-pair{padding:10px 25px}.home-search{width:540px;padding:25px 60px 25px 25px}.home-search-action{right:30px}.home-location{width:200px;height:52px}.home-more{width:180px;height:52px}.home-alert-inline .home-alert-trigger{font-size:.8125rem}.home-alert-inline.is-open .home-alert-slot{max-width:38rem;margin-left:20px;display:block}.home-alert-panel{max-width:38rem;padding:20px 28px}.home-alert-panel .home-alert-copy{gap:4px}.home-alert-panel .home-alert-copy-line{font-size:1rem}.home-eye{width:54px;height:100px}.home-eye-pupil{width:47px;height:80px}.home-role-pair{gap:30px}}@media (width>=1280px){.home-alert-modal{display:none}}.projects-section{z-index:2;background:var(--color-background);border-bottom:1px solid color-mix(in srgb, var(--color-border) 50%, transparent);scroll-margin-top:var(--resume-header-height);position:relative}.project-section-intro{margin-bottom:44px}.project-panel{border:1px solid var(--color-border);background:var(--color-background);border-radius:24px;padding:20px}.project-title{letter-spacing:-.04em;color:var(--color-text);margin:0;font-size:26px;font-weight:700;line-height:1.25}.project-subtitle{letter-spacing:-.01em;color:var(--color-text);margin:6px 0 0;font-size:14px;font-weight:500;line-height:1.5}.project-period{font-family:var(--font-display);letter-spacing:-.01em;color:var(--color-text-muted);margin:4px 0 0;font-size:12px;font-weight:500;line-height:1.5}.project-links{flex-wrap:wrap;gap:8px 14px;margin-top:10px;display:flex}.project-link{letter-spacing:-.01em;width:fit-content;color:var(--color-text-subtle);align-items:center;gap:8px;font-size:13px;font-weight:500;line-height:20px;transition:color .2s;display:inline-flex}.project-link-icon{flex-shrink:0;width:14px;height:14px}.project-link-label{line-height:inherit;word-break:break-all}.project-link:hover{color:var(--color-text)}.project-summary{border-left:3px solid var(--color-primary);letter-spacing:-.02em;color:var(--color-text);margin:0;padding-left:18px;font-size:15px;font-weight:600;line-height:1.6}.project-section-list{gap:30px;display:grid}.project-body{letter-spacing:-.01em;color:var(--color-text);margin:0;font-size:14px;font-weight:500;line-height:1.72}.project-section{border-bottom:1px solid color-mix(in srgb, var(--color-border) 50%, transparent);padding-bottom:30px}.project-section:last-of-type{border-bottom:0;padding-bottom:0}.project-section-title{letter-spacing:-.03em;color:var(--color-text);margin:0;font-size:20px;font-weight:700;line-height:1.4}.project-section-title:after{content:".";color:var(--color-primary);margin-left:2px}.project-list-item{letter-spacing:-.01em;color:var(--color-text);padding-left:10px;font-size:14px;font-weight:500;line-height:1.72;position:relative}.project-list-item:before{content:"";background:var(--color-primary);border-radius:999px;width:4px;height:4px;position:absolute;top:10px;left:0}@media (width>=768px){.project-section-intro{margin-bottom:64px}.project-section{padding-bottom:40px}.project-panel{background:0 0;border:0;padding:0}.project-title{font-size:36px;line-height:63px}.project-summary{font-size:20px}.project-section-title{font-size:24px;line-height:1.6}.project-section-list{gap:40px}.project-links{gap:8px;display:grid}}@media (width>=768px) and (width<=1279px){.project-subtitle{font-size:18px}.project-period{font-size:14px}.project-body{font-size:16px;line-height:28px}.project-section-title{font-size:24px;line-height:42px}.project-list-item{font-size:14px;line-height:24px}.project-list-item:before{top:10px}}@media (width>=1280px){.project-section-intro{margin-bottom:72px}.project-subtitle{font-size:18px}.project-period{font-size:14px}.project-body{font-size:16px;line-height:28px}.project-list-item{font-size:14px;line-height:24px}.project-list-item:before{top:10px}}.skills-section{background:var(--color-gray-100);box-shadow:var(--shadow-skills-section);scroll-margin-top:var(--resume-header-height)}.skills-filter-tabs{z-index:5;width:min(100%,260px);min-height:42px;margin:24px auto 0;position:relative}.skills-filter-tabs.is-open{z-index:20}.skills-filter-surface{border:1px solid color-mix(in srgb, var(--color-border) 42%, transparent);background:color-mix(in srgb, var(--color-white) 96%, transparent);width:100%;max-height:42px;box-shadow:var(--shadow-surface-soft);border-radius:14px;padding:4px;transition:max-height .24s cubic-bezier(.2,.8,.2,1),box-shadow .2s,border-color .2s;position:absolute;top:0;left:0;overflow:hidden}.skills-filter-tabs.is-open .skills-filter-surface{border-color:color-mix(in srgb, var(--color-border) 52%, transparent);max-height:236px;box-shadow:var(--shadow-surface-active)}.skill-filter-current{background:color-mix(in srgb, var(--color-primary) 9%, var(--color-white));width:100%;min-height:32px;font-family:var(--font-display);color:var(--color-primary);cursor:pointer;border:0;border-radius:8px;justify-content:flex-start;align-items:center;padding:0 12px;font-size:13px;font-weight:700;line-height:1;transition:background-color .2s;display:flex}.skill-filter-options{opacity:0;pointer-events:none;visibility:hidden;flex-direction:column;gap:2px;width:100%;padding:4px 0 0;transition:opacity .14s,visibility 0s linear .14s;display:flex}.skills-filter-tabs.is-open .skill-filter-options{opacity:1;pointer-events:auto;visibility:visible;transition:opacity .14s 60ms,visibility linear}.skill-filter-button{width:100%;min-height:36px;font-family:var(--font-display);color:var(--color-gray-600);white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:flex-start;align-items:center;padding:0 12px;font-size:12px;font-weight:700;line-height:1;transition:background-color .22s,box-shadow .22s,color .22s,transform .22s;display:inline-flex}.skill-filter-button:hover{color:var(--color-gray-800);background:color-mix(in srgb, var(--color-white) 72%, transparent)}.skill-filter-button.is-active{color:var(--color-primary);background:color-mix(in srgb, var(--color-primary) 9%, var(--color-white));box-shadow:none}.skill-filter-button:active{transform:translateY(1px)}.skills-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 14px;margin-top:24px;display:grid}.skill-card{--skill-card-index:0;opacity:0;border:1px solid color-mix(in srgb, var(--color-border) 26%, transparent);background:color-mix(in srgb, var(--color-white) 76%, transparent);text-align:center;will-change:opacity, transform;border-radius:24px;padding:20px 16px;transform:translateY(18px)}.skill-card.is-visible{animation:.56s cubic-bezier(.22,1,.36,1) both skill-card-rise;animation-delay:calc(var(--skill-card-index) * 46ms)}@keyframes skill-card-rise{0%{opacity:0;transform:translateY(18px)}65%{opacity:1}to{opacity:1;transform:translateY(0)}}.skill-card-icon-wrap{justify-content:center;margin-bottom:14px;display:flex}.skill-card-icon{object-fit:contain;width:56px;height:56px;filter:drop-shadow(var(--drop-shadow-icon-soft))}.skill-card-title{font-family:var(--font-display);color:var(--color-gray-800);margin:0;font-size:15px;font-weight:700;line-height:1.25}.skill-card-description{color:var(--color-gray-600);white-space:pre-line;margin:10px 0 0;font-size:12px;line-height:1.6}@media (width>=768px){.skills-filter-tabs{z-index:5;width:fit-content;max-width:100%;min-height:auto;margin-top:28px}.skills-filter-tabs.is-open{z-index:5}.skills-filter-surface{border:1px solid color-mix(in srgb, var(--color-border) 42%, transparent);background:color-mix(in srgb, var(--color-white) 52%, transparent);width:auto;max-height:none;box-shadow:var(--shadow-surface-subtle);border-radius:18px;flex-wrap:wrap;justify-content:center;gap:8px;padding:7px;display:flex;position:static;overflow:visible}.skills-filter-tabs.is-open .skills-filter-surface{border-color:color-mix(in srgb, var(--color-border) 42%, transparent);background:color-mix(in srgb, var(--color-white) 52%, transparent);max-height:none;box-shadow:var(--shadow-surface-subtle)}.skill-filter-current{display:none}.skill-filter-options{z-index:auto;opacity:1;pointer-events:auto;visibility:visible;flex-flow:wrap;justify-content:center;gap:8px;width:auto;margin-top:0;padding:0;display:flex;position:static;overflow:visible}.skill-filter-button{border-radius:11px;justify-content:center;width:auto;min-height:38px;padding:0 16px;font-size:13px}.skills-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px 20px;margin-top:28px}.skill-card{border-radius:28px;padding:24px 18px}.skill-card-icon-wrap{margin-bottom:18px}.skill-card-icon{width:72px;height:72px}.skill-card-title{font-size:18px}.skill-card-description{margin-top:12px;font-size:13px}}@media (width>=1280px){.skills-grid{gap:28px 24px;margin-top:32px}.skill-card{padding:28px 20px}.skill-card-icon{width:80px;height:80px}.skill-card-title{font-size:20px}.skill-card-description{font-size:14px}}@media (prefers-reduced-motion:reduce){.skill-card{opacity:1;will-change:auto;transform:none}.skill-card.is-visible{animation:none}}
