@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@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{.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}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mr-2{margin-right:calc(var(--spacing) * 2)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.h-8{height:calc(var(--spacing) * 8)}.shrink{flex-shrink:1}.grow{flex-grow:1}.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}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.fill-rule{fill:var(--rule)}.underline{text-decoration-line:underline}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{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))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.\[data-case-id\]\:visible:is(data-case-id){visibility:visible}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--paper:#fff;--reader-illustration-wide:960px;--paper-soft:#f7f8fa;--ink:#15171c;--ink-muted:#5f6672;--rule:#e3e6ec;--accent:#4d52b4;--focus:#4e9ce8;--focus-contrast:var(--accent);--link-decoration-rest:none;--link-decoration-hover:underline;--floating-nav-threshold:400px;--floating-nav-size:48px;--floating-nav-offset:16px;--floating-nav-radius:50%;--layer-floating-navigation:30;--layer-detail-navigation:20;--inkflow-nav-target:44px;--inkflow-anchor-gap:var(--space-4);--detail-media-columns:minmax(0, 2fr) minmax(0, 1fr);--detail-media-columns-reverse:minmax(0, 1fr) minmax(0, 2fr);--detail-overview-columns:repeat(2, minmax(0, 1fr));--mining-overview-media-ratio:16 / 9;--detail-template-media-ratio:16 / 9;--text-detail-row-title:24px;--detail-fact-label-weight:700;--detail-fact-icon-size:18px;--detail-summary-columns:minmax(0, .8fr) minmax(0, 2.2fr) minmax(0, 1.25fr);--detail-resource-columns:minmax(0, .8fr) minmax(0, 3.45fr);--detail-summary-subtitle-width:100%;--evidence-columns:minmax(0, 1fr) minmax(0, 1fr);--evidence-section-gap:var(--space-12);--evidence-case-gap:var(--space-8);--evidence-stage-gap:var(--space-8);--evidence-diagram-columns:repeat(3, minmax(0, 1fr));--text-evidence-stage:18px;--evidence-focus-columns:minmax(0, 2fr) minmax(0, 1fr);--evidence-chart-before:var(--ink-muted);--evidence-chart-after:var(--accent);--evidence-chart-target:var(--ink);--evidence-chart-height:120px;--evidence-mark-size:12px;--gallery-preview-ratio:16 / 10;--gallery-viewer-width:1200px;--gallery-viewer-height:900px;--gallery-backdrop:#15171cc2;--feature-control-height:44px;--feature-marker-size:24px;--feature-selection-rule:2px;--feature-media-height:680px;--feature-copy-width:72ch;--feature-surface:#eff6ff;--feature-rule:#d5e3f4;--feature-panel-inset:var(--space-3);--feature-panel-outset:var(--space-3);--feature-architecture-gap:var(--space-16);--hero-surface:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--hero-surface:color-mix(in srgb, var(--accent) 6%, var(--paper))}}:root{--hero-mark:var(--accent)}@supports (color:color-mix(in lab, red, red)){:root{--hero-mark:color-mix(in srgb, var(--accent) 16%, var(--paper))}}:root{--hero-photo-ratio:590 / 787;--hero-photo-height:225px;--contact-leading:1.75;--contact-label-height:calc(var(--text-body) * var(--contact-leading));--contact-target-height:44px;--mark-blue:#dcebf8;--mark-green:#e1edd4;--mark-warm:#f5e8ce;--project-inkflow:#2b2d33;--project-process-inspection:#e4eff5;--project-overlay:#15171cc2;--project-overlay-text:#fff;--rail-card-width:calc(100% - 64px);--rail-gap:12px;--rail-preview-scale:.92;--rail-title-size:24px;--rail-text:#fff;--rail-base:#101216;--rail-copy-overlay:linear-gradient(to bottom, #000000d1, #000000f5);--rail-transition:.5s;--rail-ease:cubic-bezier(0, 0, .58, 1);--rail-autoplay-duration:10s;--rail-copy-size:14px;--rail-copy-leading:1.5;--rail-fade-height:32px;--rail-arrow-surface:#101216b8;--rail-arrow-desktop-icon-height:26px;--rail-progress-track:#ffffff40;--rail-progress-height:6px;--rail-toolbar-height:44px;--rail-toolbar-inset:var(--space-3);--rail-toolbar-gap:var(--space-3);--rail-control-hover:#ffffff1f;--rail-section-space:var(--space-6);--rail-skills-inset:var(--space-8);--project-media-columns:minmax(0, 3fr) minmax(0, 2fr);--career-container:1120px;--career-logo-size:144px;--career-column-gap:32px;--career-content-inset:32px;--career-section-space:var(--space-8);--text-career-company:28px;--text-career-work:18px;--text-career-logo:18px;--tracking-heading:-.035em;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--space-24:96px;--gutter:20px;--container:1320px;--text-small:14px;--text-body:16px;--text-heading:32px;--text-project:clamp(32px, 3vw, 40px);--text-display:clamp(32px, 4.1vw, 56px);--radius-media:8px;--radius-control:4px;--radius-skill-icon:12px;--skill-icon-size:48px;--skill-icon-art-size:34px;--skill-icon-art-compact:30px;--skill-icon-art-large:40px;--skill-icon-art-detail:44px;--skill-stack-gap:var(--space-2);--skill-grid-gap:var(--space-8);--skill-group-padding-block:var(--space-8);--skill-group-padding-inline:var(--space-6);--skill-list-icon-size:32px;--skill-list-icon-art:24px;--skill-list-icon-compact:20px;--skill-list-icon-large:27px;--skill-list-icon-detail:29px;--skill-list-icon-radius:var(--radius-control);--skill-icon-surface:var(--paper-soft);--text-skill-title:18px;--text-skill-label:13px;--ease-out:cubic-bezier(.16, 1, .3, 1);--duration-hover:.2s;--duration-reveal:.45s;--duration-project-overlay:.2s;--duration-hero:.45s;--ease-text:cubic-bezier(.33, 1, .68, 1);--duration-text-letters:.7s;--duration-text-words:.65s;--duration-text-blur:.55s;--text-letter-budget:.28s;--text-word-budget:.18s;--text-word-step:55ms;--text-letter-step:35ms;--text-heading-opacity:.35;--text-body-opacity:.55;--text-reveal-distance:8px;--text-reveal-blur:4px;--text-viewport-inset-max:120px;--text-viewport-inset-ratio:.15;--text-viewport-threshold:.25}@media (min-width:48rem){:root{--gutter:32px;--floating-nav-offset:24px;--hero-photo-height:300px}}@media (min-width:60rem){:root{--gutter:40px}}@media (min-width:75rem){:root{--gutter:48px}}@media (min-width:48rem){:root{--career-logo-size:160px;--text-career-logo:20px;--feature-panel-inset:var(--space-6);--feature-panel-outset:0px}}@media (min-width:60rem){:root{--feature-panel-inset:var(--space-8);--feature-architecture-gap:var(--space-24)}}@media (min-width:64rem){:root{--career-logo-size:240px;--career-column-gap:48px;--career-content-inset:48px;--career-section-space:var(--space-12);--text-career-logo:28px}}*,:before,:after{box-sizing:border-box}html,body{background:var(--paper);color:var(--ink);margin:0;overflow-x:clip}html{scroll-behavior:auto;scroll-snap-type:none}body{font-size:var(--text-body);-webkit-font-smoothing:antialiased;line-height:1.75}h1,h2,h3,h4,p,ul,ol,dl,dd,figure{margin:0;padding:0}ul,ol{list-style:none}h1,h2,h3,h4{min-width:0;letter-spacing:var(--tracking-heading);overflow-wrap:anywhere;font-style:normal;font-weight:700;line-height:1.35}html[lang=ko] body{word-break:keep-all}p,dd,li{overflow-wrap:anywhere}a{color:inherit;-webkit-text-decoration:var(--link-decoration-rest);-webkit-text-decoration:var(--link-decoration-rest);-webkit-text-decoration:var(--link-decoration-rest);text-decoration:var(--link-decoration-rest)}button,a{font:inherit}a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--focus);outline-offset:3px;box-shadow:0 0 0 2px var(--focus-contrast)}a:active{text-decoration:underline;text-decoration-thickness:2px}[id]{scroll-margin-block-start:var(--space-6)}.date,.project-facts{font-variant-numeric:tabular-nums}.floating-navigation{right:calc(var(--floating-nav-offset) + env(safe-area-inset-right,0px));bottom:calc(var(--floating-nav-offset) + env(safe-area-inset-bottom,0px));z-index:var(--layer-floating-navigation);gap:var(--space-2);opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--duration-hover) var(--ease-out), visibility 0s var(--duration-hover);flex-direction:column;display:flex;position:fixed}.floating-navigation[data-visible=true]{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s}.floating-navigation__control{width:var(--floating-nav-size);height:var(--floating-nav-size);border:1px solid var(--rule);border-radius:var(--floating-nav-radius);color:var(--accent);background:var(--paper);cursor:pointer;place-items:center;padding:0;display:grid}.floating-navigation__control svg{width:22px;height:22px}.floating-navigation__control:active{background:var(--hero-surface)}.page-section-shell{width:min(var(--container), calc(100% - 2 * var(--gutter)));min-width:0;margin-inline:auto}.portfolio-screen{padding-block:var(--space-12)}.portfolio-screen.portfolio-screen--projects{background:var(--paper);padding-block:var(--rail-section-space) var(--space-8)}.portfolio-screen--projects+.portfolio-screen--profile{padding-block-start:var(--rail-skills-inset)}.portfolio-screen--projects+.portfolio-screen--profile .skill-summary{margin-block-start:0}.projects-section__heading{width:var(--rail-card-width);border-top:1px solid var(--rule);margin-inline:auto;padding-block-start:var(--space-4)}.portfolio-page .projects-section__heading .section-heading{margin-block-end:var(--space-3)}@media (min-width:960px){.projects-section__heading{width:min(880px,72%)}}.portfolio-screen.portfolio-screen--activities{background:var(--paper-soft);padding-block-start:0}.portfolio-screen--hero{padding-block:var(--space-8)}.section-heading{font-size:var(--text-heading);margin-block-end:var(--space-12)}.portfolio-page .section-heading{margin-block-end:var(--space-8)}.heading-mark{background:var(--heading-mark,var(--hero-mark));color:inherit;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:.04em .12em;display:inline}.animated-text,.blur-reveal{display:inline}.animated-text__word{max-width:100%;display:inline-block}.animated-text__letter{display:inline-block}.projects-section,#projects,.detail-cases{--heading-mark:var(--mark-blue)}#education,#career,.detail-results{--heading-mark:var(--mark-green)}.awards-activities-section,.contact-cta{--heading-mark:var(--mark-warm)}#certifications{--heading-mark:var(--mark-blue)}.hero__top{gap:var(--space-8);background:var(--hero-surface);padding:var(--space-6);border-radius:var(--radius-media);align-items:center;display:grid}.hero__eyebrow{margin-block-end:var(--space-6)}.hero__title{font-size:var(--text-display);font-weight:800;line-height:1.35}.hero__title>span,.hero__description>span{display:block}.hero__title>span:last-child{color:var(--accent)}.hero__description{color:var(--ink-muted);margin-block-start:var(--space-8)}.hero__visual{justify-self:end}.hero__contacts{gap:var(--space-6);border-block-start:1px solid var(--rule);grid-template-columns:minmax(0,1fr);margin-block-start:var(--space-8);padding-block-start:var(--space-6);display:grid}.hero__top>.hero__contacts{grid-column:1/-1;margin-block-start:0}.contact-entry{min-width:0}.contact-entry dt{font-size:var(--text-small);line-height:var(--contact-label-height);color:var(--ink-muted);margin-block-end:var(--space-1)}.contact-entry dd{font-size:var(--text-small);line-height:var(--contact-leading)}.contact-value{width:fit-content;max-width:100%;min-height:var(--contact-target-height);padding-block:calc((var(--contact-target-height) - 1em * var(--contact-leading)) / 2);display:block}.contact-entry dd>a{white-space:nowrap;-webkit-text-decoration:var(--link-decoration-rest);-webkit-text-decoration:var(--link-decoration-rest);-webkit-text-decoration:var(--link-decoration-rest);text-decoration:var(--link-decoration-rest);-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);text-underline-offset:var(--space-1)}.contact-entry a:focus-visible{-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.contact-entry:first-child dt{font-size:var(--text-body);color:var(--ink);font-weight:700}.portfolio-media{aspect-ratio:16/10;background:var(--paper-soft);border:1px solid var(--rule);border-radius:var(--radius-media);width:100%;min-width:0;display:grid;position:relative;overflow:hidden}.portfolio-media[data-ratio=profile]{aspect-ratio:4/3}.hero__visual[data-ratio=profile]{width:min(100%, calc(var(--hero-photo-height) * var(--hero-photo-ratio)));aspect-ratio:var(--hero-photo-ratio);background:0 0;border:0}.portfolio-media[data-ratio=portrait]{aspect-ratio:9/16;max-width:360px;margin-inline:auto}.portfolio-media img{object-fit:contain}.portfolio-media__caption{inset-inline:var(--space-2);bottom:var(--space-2);width:fit-content;max-width:calc(100% - var(--space-4));padding:var(--space-1) var(--space-2);background:var(--paper);color:var(--ink-muted);font-size:var(--text-small);border-radius:var(--radius-control);line-height:1.5;position:absolute}.media-placeholder{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-6);text-align:center;font-size:var(--text-small);color:var(--ink-muted);background:var(--paper);flex-direction:column;display:flex}.hero__visual .media-placeholder,.detail-cover .media-placeholder,.detail-case .media-placeholder{background:var(--paper-soft)}.media-placeholder__mark{width:var(--space-8);height:var(--space-6);border:1px solid var(--rule);display:block}.project-list{gap:var(--space-8);grid-template-columns:minmax(0,1fr);display:grid}.project-row{--project-surface:var(--paper-soft);min-width:0}.project-row[data-project=inkflow]{--project-surface:var(--project-inkflow)}.project-row[data-project=process-inspection]{--project-surface:var(--project-process-inspection)}.project-row__link{background:var(--paper);color:var(--ink);border-block-start:1px solid var(--rule);grid-template-columns:minmax(0,1fr);display:grid}.project-row__visual{background:var(--project-surface);min-width:0;display:grid;position:relative}.project-row__media{background:0 0;border:0;border-radius:0;grid-area:1/1;align-self:center}.project-row__media .portfolio-media__caption{z-index:2}.project-row__overlay{z-index:1;justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--project-overlay);color:var(--project-overlay-text);text-align:center;pointer-events:none;opacity:0;transition:opacity var(--duration-project-overlay) var(--ease-out);flex-direction:column;display:flex;position:absolute;inset:0}.project-row__overlay-title{font-size:var(--text-display);letter-spacing:var(--tracking-heading);overflow-wrap:anywhere;font-weight:700;line-height:1.35}.project-row__overlay-action{align-items:center;gap:var(--space-6);min-height:44px;font-size:var(--text-body);border-block-end:1px solid;font-weight:600;display:inline-flex}.project-row__link:focus-visible .project-row__overlay{opacity:1;transition:none}.project-row__copy{justify-content:center;align-items:flex-start;gap:var(--space-4);min-width:0;padding:var(--space-6) var(--space-4);flex-direction:column;display:flex}.project-row h3{font-size:var(--text-project)}.project-row__subtitle{font-size:var(--text-small);color:var(--ink-muted)}.project-facts{gap:var(--space-3);font-size:var(--text-small);display:grid}.project-facts dt{color:var(--ink-muted)}.project-facts dd{min-width:0}.project-facts--compact{gap:var(--space-2)}.project-facts--compact>div{gap:var(--space-3);grid-template-columns:64px minmax(0,1fr);display:grid}.project-highlights{gap:var(--space-2);display:grid}.project-highlights li{grid-template-columns:var(--space-2) minmax(0, 1fr);column-gap:var(--space-3);font-size:var(--text-small);display:grid}.project-highlights li:before{content:"·";color:var(--accent)}.project-tech{gap:var(--space-2) var(--space-4);color:var(--ink-muted);font-size:var(--text-small);flex-wrap:wrap;margin-block-start:var(--space-6);display:flex}.project-row .project-tech{margin-block-start:0}.project-row .project-facts dt{color:var(--ink);font-weight:600}.text-link{color:var(--accent);justify-content:space-between;align-items:center;gap:var(--space-6);white-space:nowrap;min-height:44px;font-size:var(--text-body);border-block-end:1px solid #0000;font-weight:600;display:inline-flex}.text-link>span[aria-hidden=true]{transition:transform var(--duration-hover) var(--ease-out);display:inline-block}.project-row .text-link{margin-block-start:var(--space-2)}.project-row__link:focus-visible .text-link{text-underline-offset:var(--space-1);text-decoration:underline}.portfolio-screen.portfolio-screen--career{background:var(--paper-soft);padding-block:var(--career-section-space)}.career-section{--container:var(--career-container)}.career-entries{gap:var(--space-24);display:grid}.career-entry{align-items:start;gap:var(--career-column-gap);grid-template-columns:minmax(0,1fr);display:grid}.career-entry__logo{width:var(--career-logo-size);aspect-ratio:1;padding:var(--space-4);border:1px solid var(--rule);background:var(--paper);border-radius:50%;place-items:center;display:grid}.career-entry__logo img{object-fit:contain;width:100%;height:100%}.career-entry__logo-name{font-size:var(--text-career-logo);text-align:center;overflow-wrap:anywhere;font-weight:700;line-height:1.4}.career-entry__body{min-width:0}.career-entry__company{font-size:var(--text-career-company);font-weight:700}.career-entry__period{gap:var(--space-1) var(--space-4);font-size:var(--text-body);color:var(--ink-muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;margin-block-start:var(--space-2);display:flex}.career-entry__summary{font-size:var(--text-body);margin-block-start:var(--space-4);line-height:1.75}.career-entry__position{margin-block-end:var(--space-1);font-weight:500;display:block}.career-role-list{gap:var(--space-2);flex-wrap:wrap;margin-block-start:var(--space-4);display:flex}.career-role-list>li{min-width:0;max-width:100%}.career-role-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-media);background:var(--ink);color:var(--paper);font-size:var(--text-small);font-weight:500;line-height:1.6;display:inline-block}.career-projects{margin-block-start:var(--space-8)}.career-project-item+.career-project-item{border-block-start:1px solid var(--rule);margin-block-start:var(--space-4);padding-block-start:var(--space-4)}.career-project-item__title{font-size:var(--text-career-work);border-inline-start:4px solid var(--ink);padding-inline-start:var(--space-3);font-weight:700;line-height:1.5}.career-project-item__period{font-size:var(--text-small);color:var(--ink-muted);font-variant-numeric:tabular-nums;margin-block-start:var(--space-2)}.career-project-item__description{font-size:var(--text-body);margin-block-start:var(--space-2);line-height:1.75}.skill-summary{--skill-icon-size:var(--skill-list-icon-size);--skill-icon-art-size:var(--skill-list-icon-art);--skill-icon-art-compact:var(--skill-list-icon-compact);--skill-icon-art-large:var(--skill-list-icon-large);--skill-icon-art-detail:var(--skill-list-icon-detail);--radius-skill-icon:var(--skill-list-icon-radius);margin-block-start:var(--space-12)}.skill-summary__title{font-size:var(--text-heading);margin-block-end:var(--space-8)}.summary-column h3{font-size:var(--text-body);margin-block-end:var(--space-4)}.skill-groups{grid-template-columns:minmax(0,1fr);display:grid}.skill-group,.skill-tools{align-content:start;gap:var(--space-4);min-width:0;padding-block:var(--space-6);border-block-start:1px solid var(--rule);grid-template-columns:minmax(0,1fr);display:grid}.skill-group__heading{align-items:center;gap:var(--space-3);font-size:var(--text-skill-title);display:flex}.skill-group__heading>svg{color:var(--accent);flex:none}.skill-group__title-wrap{align-items:center;gap:var(--space-1) var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.skill-group__body{align-content:start;gap:var(--skill-stack-gap);min-width:0;display:grid}.skill-group__technologies{align-items:center;gap:var(--space-3) var(--space-6);flex-wrap:wrap;display:flex}.skill-technology{align-items:center;gap:var(--space-2);min-width:0;max-width:100%;display:flex}.skill-technology__icon{width:var(--skill-icon-size);height:var(--skill-icon-size);border-radius:var(--radius-skill-icon);background:var(--skill-icon-surface);color:var(--accent);flex:none;place-items:center;display:grid;position:relative}.skill-technology__icon img,.skill-technology__icon>svg{width:var(--skill-icon-art-size);height:var(--skill-icon-art-size);object-fit:contain}.skill-technology__icon[data-icon-optical=compact]{--skill-icon-art-size:var(--skill-icon-art-compact)}.skill-technology__icon[data-icon-optical=large]{--skill-icon-art-size:var(--skill-icon-art-large)}.skill-technology__icon[data-icon-optical=detail]{--skill-icon-art-size:var(--skill-icon-art-detail)}.skill-technology__icon:after{content:"";border:1px solid var(--accent);border-radius:calc(var(--radius-skill-icon) + 3px);opacity:0;transition:opacity var(--duration-hover) var(--ease-out);pointer-events:none;position:absolute;inset:-3px}.skill-technology__name{font-size:var(--text-body);overflow-wrap:anywhere;line-height:1.75}.detail-case>h3[id]{scroll-margin-block-start:var(--space-6)}.summary-grid{gap:var(--space-8);border-block-start:1px solid var(--rule);margin-block-start:0;padding-block-start:var(--space-6);display:grid}.education-list{gap:var(--space-6);font-size:var(--text-small);display:grid}.education-item__header{justify-content:space-between;align-items:baseline;gap:var(--space-4);display:flex}.education-item__header>span{color:var(--accent);flex:none}.education-list p{color:var(--ink-muted);margin-block-start:var(--space-1)}.certification-list{gap:var(--space-4);font-size:var(--text-small);display:grid}.activity-list{border-block-start:1px solid var(--rule)}.activity-list>li{padding-block:var(--space-8);border-block-end:1px solid var(--rule)}.activity-item{gap:var(--space-6);display:grid}.activity-item__identity h3{font-size:var(--text-body);line-height:1.6}.activity-item__identity p{font-size:var(--text-small);color:var(--ink-muted);margin-block-start:var(--space-2)}.activity-item__description{font-size:var(--text-body);color:var(--ink-muted)}.contact-cta{align-items:flex-start;gap:var(--space-8);flex-direction:column;margin-block-start:var(--space-16);display:flex}.contact-cta h2{max-width:34ch;font-size:var(--text-heading)}.contact-cta p{color:var(--ink-muted);margin-block-start:var(--space-4)}.project-detail{padding-block:var(--space-8) var(--space-16)}.detail-back{font-size:var(--text-small)}.detail-intro{margin-block-start:var(--space-12)}.detail-intro h1{font-size:var(--text-display)}.detail-subtitle{font-size:var(--text-heading);max-width:34ch;margin-block-start:var(--space-4)}.detail-overview{max-width:75ch;color:var(--ink-muted);margin-block-start:var(--space-8)}.detail-facts{gap:var(--space-6);padding-block:var(--space-6);border-block:1px solid var(--rule);margin-block-start:var(--space-12)}.detail-facts dt{margin-block-end:var(--space-2)}.detail-cover{max-width:960px;margin-block-start:var(--space-12)}.detail-cases{margin-block-start:var(--space-24)}.detail-case{border-block-end:1px solid var(--rule);margin-block-start:var(--space-12);padding-block-end:var(--space-16)}.detail-case h3{font-size:var(--text-heading);max-width:34ch}.case-narrative{gap:var(--space-6);margin-block:var(--space-8);display:grid}.case-narrative dt{font-size:var(--text-small);color:var(--accent);margin-block-end:var(--space-2);font-weight:700}.case-narrative dd{color:var(--ink-muted);max-width:75ch}.detail-case .portfolio-media{max-width:960px}.detail-case .portfolio-media[data-ratio=portrait]{max-width:360px}.detail-results{max-width:900px;margin-block-start:var(--space-16)}.detail-results>p{color:var(--ink-muted)}.detail-back--bottom{margin-block-start:var(--space-12)}.screen-gallery{--heading-mark:var(--mark-blue);margin-block-start:var(--space-12)}.project-section-label{color:var(--accent);font-size:var(--text-small);margin-block-end:var(--space-3);font-weight:700}.screen-gallery__heading{align-items:center;gap:var(--space-3);margin-block-end:var(--space-4);display:flex}.screen-gallery__heading>svg{width:24px;height:24px;color:var(--accent);flex:none}.screen-gallery .section-heading{margin-block-end:0}.screen-gallery__intro{color:var(--ink-muted)}.screen-gallery__hint{color:var(--ink-muted);font-size:var(--text-small);margin-block:var(--space-2) var(--space-6)}.screen-gallery__grid{gap:var(--space-8);display:grid}.screen-row{gap:var(--space-6);border-block-start:1px solid var(--rule);min-width:0;align-items:center;padding-block-start:var(--space-8);display:grid}.screen-card{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.screen-card__preview{width:100%;aspect-ratio:var(--gallery-preview-ratio);background:var(--paper-soft);border:1px solid var(--rule);border-radius:var(--radius-media);position:relative;overflow:hidden}.screen-card__preview img{object-fit:cover;object-position:top;width:100%;height:100%;display:block}.screen-card__preview>svg{right:var(--space-1);bottom:var(--space-1);width:24px;height:24px;padding:var(--space-1);background:var(--paper);color:var(--accent);border-radius:var(--radius-control);position:absolute}.screen-card__copy{gap:var(--space-6);flex-direction:column;min-width:0;display:flex}.screen-card__copy h3,.detail-lead-split h2,.detail-lead-copy h2{font-size:var(--text-detail-row-title)}.detail-lead-copy{margin-block-start:var(--space-8)}.detail-lead-copy .detail-overview{margin-block-start:var(--space-4)}.screen-narrative{gap:var(--space-4);display:grid}.screen-narrative dt{align-items:center;gap:var(--space-2);font-size:var(--text-small);margin-block-end:var(--space-1);font-weight:600;display:flex}.screen-narrative dt svg{width:16px;height:16px;color:var(--accent);flex:none}.screen-narrative dd{font-size:var(--text-small);color:var(--ink-muted);line-height:1.75}.screen-gallery--architecture{--heading-mark:var(--mark-green)}[data-feature-showcase]+.screen-gallery--architecture{background:var(--paper);margin-block-start:var(--feature-architecture-gap)}.screen-gallery--architecture .screen-card__preview{aspect-ratio:3/2;background:var(--paper)}.screen-gallery--architecture .screen-card__preview img{object-fit:contain}.screen-gallery--architecture .screen-row{background:var(--paper-soft);padding:var(--space-6);border-radius:var(--radius-media);border:0;margin:0}.detail-lead-split{align-items:center;gap:var(--space-6);margin-block-start:var(--space-8);display:grid}.detail-lead-split .detail-cover{width:100%;margin:0}.detail-lead-split .detail-overview{margin-block-start:var(--space-4)}.project-detail[data-gallery=true]{max-width:var(--container)}.screen-card__action{align-items:center;gap:var(--space-2);min-height:44px;font-size:var(--text-small);color:var(--accent);-webkit-text-decoration:var(--link-decoration-rest);-webkit-text-decoration:var(--link-decoration-rest);-webkit-text-decoration:var(--link-decoration-rest);text-decoration:var(--link-decoration-rest);text-underline-offset:var(--space-1);margin-block-start:auto;display:inline-flex}.screen-card__action svg{flex:none;width:16px;height:16px}.project-detail[data-gallery=true] .detail-cases{margin-block-start:var(--space-12)}.project-detail[data-gallery=true] .detail-cases>.section-heading{margin-block-end:var(--space-8)}.project-detail[data-gallery=true] .detail-case{margin-block-start:var(--space-8);padding-block-end:var(--space-8)}.project-detail[data-gallery=true] .case-narrative{gap:var(--space-4);margin-block:var(--space-6) 0}.screenshot-dialog{width:min(var(--gallery-viewer-width), calc(100% - var(--space-8)));height:min(var(--gallery-viewer-height), calc(100dvh - var(--space-8)));border:1px solid var(--rule);border-radius:var(--radius-media);background:var(--paper);max-width:none;max-height:none;color:var(--ink);margin:auto;padding:0;overflow:hidden}.screenshot-dialog[open]{grid-template-rows:auto minmax(0,1fr);display:grid}.screenshot-dialog::backdrop{background:var(--gallery-backdrop)}html:has(.screenshot-dialog[open]){overflow:hidden}.screenshot-dialog__toolbar{gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-block-end:1px solid var(--rule);grid-template-columns:minmax(0,1fr) 44px;display:grid}.screenshot-dialog__toolbar h2{font-size:var(--text-skill-title);align-self:center}.screenshot-dialog__toolbar button,.screenshot-dialog__toolbar a{justify-content:center;align-items:center;gap:var(--space-2);min-height:44px;padding-inline:var(--space-3);border:1px solid var(--rule);border-radius:var(--radius-control);background:var(--paper);color:var(--accent);font-size:var(--text-small);cursor:pointer;display:inline-flex}.screenshot-dialog__toolbar button[aria-pressed=true]{background:var(--hero-surface);border-color:var(--accent)}.screenshot-dialog__close svg{width:20px;height:20px}.screenshot-dialog__actions{gap:var(--space-2);flex-wrap:wrap;grid-column:1/-1;display:flex}.screenshot-dialog__viewport{overscroll-behavior:contain;background:var(--paper-soft);min-height:0;overflow:auto}.screenshot-dialog__viewport:focus-visible{outline:2px solid var(--focus-contrast);outline-offset:-3px}.screenshot-dialog__image{width:100%;height:auto;display:block}.project-outcomes{gap:var(--space-8);margin-block-start:var(--space-8);display:grid}.project-outcomes dt{font-size:var(--text-small)}.project-outcomes strong{font-size:var(--text-project);font-variant-numeric:tabular-nums}.project-outcomes__unit{font-size:var(--text-body);margin-inline-start:var(--space-2)}.project-outcomes p{color:var(--ink-muted);font-size:var(--text-small)}.locale-redirect{align-content:center;justify-items:center;gap:var(--space-6);padding:var(--space-12) var(--space-6);display:grid}.locale-redirect a{min-height:44px;padding-inline:var(--space-4);color:var(--accent);-webkit-text-decoration:var(--link-decoration-rest);-webkit-text-decoration:var(--link-decoration-rest);-webkit-text-decoration:var(--link-decoration-rest);text-decoration:var(--link-decoration-rest);align-items:center;display:inline-flex}.locale-redirect__status{color:var(--ink-muted)}@media (max-width:29.999rem){.project-row__overlay-title{display:none}.project-row__overlay{padding-block-end:var(--space-16)}}@media (min-width:30rem){.hero__contacts{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:48rem){.career-entry{grid-template-columns:var(--career-logo-size) minmax(0, 1fr)}.career-entry__body{border-inline-start:1px solid var(--rule);padding-inline-start:var(--career-content-inset)}.portfolio-screen{padding-block:var(--space-16)}.portfolio-screen--hero{padding-block:var(--space-12)}.hero__top{padding:var(--space-8)}.hero__contacts{grid-template-columns:repeat(3,minmax(0,1fr))}.skill-groups{column-gap:var(--skill-grid-gap);grid-template-columns:repeat(2,minmax(0,1fr))}.skill-group,.skill-tools{padding:var(--skill-group-padding-block) var(--skill-group-padding-inline);gap:var(--space-6)}.skill-group__heading{min-height:var(--skill-list-icon-size);align-self:start}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.activity-item{gap:var(--space-12);grid-template-columns:repeat(2,minmax(0,1fr))}.detail-facts{gap:var(--space-8);grid-template-columns:minmax(0,1fr) minmax(0,1.4fr) minmax(0,1.2fr)}.project-outcomes{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:60rem){.screen-row,.detail-lead-split{grid-template-columns:var(--detail-media-columns);gap:var(--space-8)}.screen-gallery:not(.screen-gallery--architecture) .screen-row:nth-child(odd),.screen-gallery--architecture .screen-row:nth-child(2n){grid-template-columns:var(--detail-media-columns-reverse)}.screen-gallery:not(.screen-gallery--architecture) .screen-row:nth-child(odd) .screen-card,.screen-gallery--architecture .screen-row:nth-child(2n) .screen-card{grid-area:1/2}.screen-gallery:not(.screen-gallery--architecture) .screen-row:nth-child(odd) .screen-card__copy,.screen-gallery--architecture .screen-row:nth-child(2n) .screen-card__copy{grid-area:1/1}.hero__top{gap:var(--space-12);grid-template-columns:minmax(0,7fr) minmax(0,5fr)}.hero__contacts{grid-template-columns:repeat(3,minmax(0,1fr))}.project-list{gap:var(--space-12)}.project-row__link{grid-template-columns:var(--project-media-columns)}.project-row__copy{padding:var(--space-8)}.summary-grid{gap:var(--space-12);grid-template-columns:minmax(0,2fr) minmax(0,1fr)}.education-list{gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr))}.contact-cta{flex-direction:row;justify-content:space-between;align-items:center}.contact-cta .text-link{flex:none}.case-narrative>div{gap:var(--space-8);grid-template-columns:120px minmax(0,1fr);display:grid}.case-narrative dt{margin:0}.project-detail{max-width:1120px}}@media (min-width:75rem){.hero__contacts{gap:var(--space-6);grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1.25fr) minmax(0,1.2fr) minmax(0,1.3fr)}}@media (min-width:64rem){.career-entry__logo{padding:var(--space-6)}}@media (hover:hover) and (pointer:fine){.screen-card:hover .screen-card__action{color:var(--ink)}.screenshot-dialog__toolbar button:hover,.screenshot-dialog__toolbar a:hover{border-color:var(--accent)}.floating-navigation__control:hover{background:var(--hero-surface);border-color:var(--accent)}.project-row__link:hover .project-row__overlay{opacity:1}.skill-technology:hover .skill-technology__icon:after{opacity:.6}.project-row__link:hover .text-link,.text-link:hover{text-underline-offset:var(--space-1);text-decoration:underline}.project-row__link:hover .text-link>span[aria-hidden=true],a.text-link:hover>span[aria-hidden=true]{transform:translate(3px)}a.detail-back:hover>span[aria-hidden=true]{transform:translate(-3px)}.contact-entry a:hover{-webkit-text-decoration:var(--link-decoration-hover);-webkit-text-decoration:var(--link-decoration-hover);-webkit-text-decoration:var(--link-decoration-hover);text-decoration:var(--link-decoration-hover);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent)}.screen-card:hover .screen-card__action,.locale-redirect a:hover{-webkit-text-decoration:var(--link-decoration-hover);-webkit-text-decoration:var(--link-decoration-hover);-webkit-text-decoration:var(--link-decoration-hover);text-decoration:var(--link-decoration-hover);text-underline-offset:var(--space-1)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.project-row__media,.text-link>span{transform:none!important}[data-text-motion],[data-text-unit]{opacity:1!important;filter:none!important;transform:none!important}}@media print{.floating-navigation{display:none}[data-text-motion],[data-text-unit]{opacity:1!important;filter:none!important;transform:none!important}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
@font-face{font-family:Portfolio Noto Sans;src:url(/fonts/noto-sans/noto-sans-thin.woff2)format("woff2");font-style:normal;font-weight:100;font-display:swap;unicode-range:U+11??,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF}@font-face{font-family:Portfolio Noto Sans;src:url(/fonts/noto-sans/noto-sans-light.woff2)format("woff2");font-style:normal;font-weight:300;font-display:swap;unicode-range:U+11??,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF}@font-face{font-family:Portfolio Noto Sans;src:url(/fonts/noto-sans/noto-sans-light.woff2)format("woff2");font-style:normal;font-weight:200;font-display:swap;unicode-range:U+11??,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF}@font-face{font-family:Portfolio Noto Sans;src:url(/fonts/noto-sans/noto-sans-demilight.woff2)format("woff2");font-style:normal;font-weight:350;font-display:swap;unicode-range:U+11??,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF}@font-face{font-family:Portfolio Noto Sans;src:url(/fonts/noto-sans/noto-sans-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+11??,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF}@font-face{font-family:Portfolio Noto Sans;src:url(/fonts/noto-sans/noto-sans-medium.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+11??,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF}@font-face{font-family:Portfolio Noto Sans;src:url(/fonts/noto-sans/noto-sans-medium.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+11??,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF}@font-face{font-family:Portfolio Noto Sans;src:url(/fonts/noto-sans/noto-sans-bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap;unicode-range:U+11??,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF}@font-face{font-family:Portfolio Noto Sans;src:url(/fonts/noto-sans/noto-sans-bold.woff2)format("woff2");font-style:normal;font-weight:800;font-display:swap;unicode-range:U+11??,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF}@font-face{font-family:Portfolio Noto Sans;src:url(/fonts/noto-sans/noto-sans-black.woff2)format("woff2");font-style:normal;font-weight:900;font-display:swap;unicode-range:U+11??,U+3130-318F,U+4E00-9FFF,U+A960-A97F,U+AC00-D7AF,U+D7B0-D7FF}@font-face{font-family:Portfolio Pretendard;src:url(/fonts/pretendard/pretendard-thin.woff2)format("woff2");font-style:normal;font-weight:100;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-22FF}@font-face{font-family:Portfolio Pretendard;src:url(/fonts/pretendard/pretendard-extralight.woff2)format("woff2");font-style:normal;font-weight:200;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-22FF}@font-face{font-family:Portfolio Pretendard;src:url(/fonts/pretendard/pretendard-light.woff2)format("woff2");font-style:normal;font-weight:300;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-22FF}@font-face{font-family:Portfolio Pretendard;src:url(/fonts/pretendard/pretendard-regular.woff2)format("woff2");font-style:normal;font-weight:400;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-22FF}@font-face{font-family:Portfolio Pretendard;src:url(/fonts/pretendard/pretendard-medium.woff2)format("woff2");font-style:normal;font-weight:500;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-22FF}@font-face{font-family:Portfolio Pretendard;src:url(/fonts/pretendard/pretendard-semibold.woff2)format("woff2");font-style:normal;font-weight:600;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-22FF}@font-face{font-family:Portfolio Pretendard;src:url(/fonts/pretendard/pretendard-bold.woff2)format("woff2");font-style:normal;font-weight:700;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-22FF}@font-face{font-family:Portfolio Pretendard;src:url(/fonts/pretendard/pretendard-extrabold.woff2)format("woff2");font-style:normal;font-weight:800;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-22FF}@font-face{font-family:Portfolio Pretendard;src:url(/fonts/pretendard/pretendard-black.woff2)format("woff2");font-style:normal;font-weight:900;font-display:swap;unicode-range:U+0-24F,U+1E??,U+2000-206F,U+20A0-20CF,U+2100-214F,U+2190-22FF}html[lang=ko] body,html[lang=ko] button,html[lang=ko] input,html[lang=ko] textarea,html[lang=ko] select{font-family:Portfolio Noto Sans,Portfolio Pretendard,sans-serif}html[lang=en] body,html[lang=en] button,html[lang=en] input,html[lang=en] textarea,html[lang=en] select{font-family:Portfolio Pretendard,Portfolio Noto Sans,sans-serif}
