
:root{--ink:#172b42;--text:#35465a;--muted:#607085;--accent:#285e9c;--light:#edf3f9;--line:#dbe3ed;--paper:#fff;--canvas:#f3f5f8}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--canvas);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Apple SD Gothic Neo","Noto Sans CJK KR","Malgun Gothic",sans-serif;font-size:15px;line-height:1.82;word-break:keep-all;overflow-wrap:break-word;-webkit-font-smoothing:antialiased}a{color:var(--accent);text-decoration:none;text-underline-offset:4px}a:hover{text-decoration:underline}button{font:inherit}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{color:var(--ink)}h2,h3,h4{letter-spacing:-.035em}h1{font-size:42px;line-height:1.2;letter-spacing:-.05em;font-weight:760}h2{font-size:23px;line-height:1.4}h3{font-size:19px;line-height:1.5}h4{font-size:16px;line-height:1.65;font-weight:700}p+p{margin-top:11px}button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #83acd8;outline-offset:4px}::selection{background:#dbeafa}.resume{width:min(1040px,calc(100% - 64px));margin:30px auto 58px;background:var(--paper);padding:52px 62px 32px;border:1px solid var(--line);box-shadow:0 5px 28px #152c4407}.resume-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:44px;padding-bottom:18px;border-bottom:1px solid var(--line)}.wordmark{font-size:11px;letter-spacing:.16em;font-weight:700;color:var(--accent)}.doc-label{font-size:11px;letter-spacing:.12em;color:var(--muted)}.identity{display:flex;align-items:baseline;gap:20px;margin-bottom:18px}.identity .role{font-size:17px;color:var(--accent);letter-spacing:-.02em}.headline{font-size:27px;line-height:1.58;color:var(--ink);letter-spacing:-.045em;font-weight:650;margin:0 0 19px}.intro{font-size:15px;line-height:1.88;max-width:810px}.contact{display:flex;flex-wrap:wrap;gap:7px 20px;font-size:12px;margin-top:21px}.stack{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 22px;font-size:13px;padding:15px 0 0;margin-top:20px;border-top:1px solid var(--line);color:var(--ink)}.stack-label{font-size:11px;color:var(--muted)}.resume-section{padding:36px 0 38px;border-top:1px solid var(--line)}.resume-section:first-of-type{margin-top:36px}.sec-head{display:flex;gap:14px;align-items:baseline;margin:0 0 28px}.sec-number{font-size:11px;font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700;letter-spacing:.08em}.company{display:grid;grid-template-columns:167px minmax(0,1fr);gap:33px;padding:30px 0;border-top:1px solid var(--line)}.company:first-of-type{padding-top:0;border-top:0}.company:last-of-type{padding-bottom:0}.company-meta p{margin:3px 0 0;font-size:12px;color:var(--muted)}.company-meta .en{font-size:11px;letter-spacing:.04em;margin-top:5px;margin-bottom:11px}.company-meta .role{color:var(--text)}.company-scope{font-size:13px;line-height:1.85;margin-bottom:22px;color:var(--muted)}.project+.project{margin-top:23px}.project p{font-size:14px;line-height:1.87}.project h4{margin-bottom:7px}.result{color:var(--accent);font-weight:650;border-left:2px solid #b3cbe3;padding:1px 0 1px 12px;margin:10px 0}.measurement-note{font-size:11px!important;color:var(--muted);line-height:1.75!important;margin:9px 0 12px!important}.project .measurement-note+p{margin-top:0}.method{display:grid;grid-template-columns:245px minmax(0,1fr);gap:25px;padding:19px 0;border-top:1px solid var(--line)}.method:first-of-type{padding-top:0;border-top:0}.method h3{font-size:16px;line-height:1.72}.method p{font-size:14px;line-height:1.85}.evidence{display:flex;gap:7px 15px;flex-wrap:wrap;margin-top:9px;font-size:11px}.evidence-label{color:var(--muted)}.personal{display:grid;grid-template-columns:167px minmax(0,1fr);gap:33px;padding:23px 0;border-top:1px solid var(--line)}.personal:first-of-type{padding-top:0;border:0}.personal:last-of-type{padding-bottom:0}.personal header p{font-size:12px;color:var(--muted);margin-top:4px}.personal header p.period{margin-top:11px}.personal .body p{font-size:14px;line-height:1.87}.personal h4{margin-bottom:8px}.project-links{display:flex;flex-wrap:wrap;gap:8px 18px;font-size:12px;margin-top:11px}.background{display:grid;grid-template-columns:1.13fr 1fr;gap:35px}.background h3{font-size:15px;margin-bottom:6px}.background p,.background li{font-size:12px;line-height:1.85}.background ul{list-style:none;margin:9px 0 0;padding:0}.background li+li{margin-top:4px}.background .period{color:var(--muted)}.resume-footer{padding-top:22px;border-top:1px solid var(--line);display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap;color:var(--muted);font-size:11px}.resume-footer a{color:var(--muted)}.skip-link{position:absolute;top:-100px;left:20px;padding:8px 15px;background:white;z-index:100}.skip-link:focus{top:10px}
@media(max-width:760px){body{font-size:14px}.resume{width:calc(100% - 28px);margin:16px auto 25px;padding:30px 26px 23px}.resume-top{margin-bottom:31px}.doc-label{font-size:9px}.wordmark{font-size:10px}.identity{gap:13px}h1{font-size:34px}.identity .role{font-size:14px}.headline{font-size:24px}.intro{font-size:14px}.contact{gap:7px 14px;font-size:11px}.company,.personal{grid-template-columns:1fr;gap:15px}.company-meta{padding-left:13px;border-left:2px solid #b3cbe3}.company-meta h3{font-size:18px}.company-meta .en{display:none}.company-meta .role{display:inline;margin-right:12px}.company-meta .period{display:inline}.company-scope{margin-bottom:18px}.resume-section{padding:30px 0}.sec-head{margin-bottom:25px}.project+.project{margin-top:22px}.method{grid-template-columns:1fr;gap:6px;padding:17px 0}.background{grid-template-columns:1fr;gap:21px}.personal .subtitle{display:inline;margin-right:8px}.personal header p.period{display:inline}.stack{gap:4px 14px}.headline br{display:none}}
@media(max-width:390px){.resume{width:calc(100% - 18px);padding:26px 20px}.headline{font-size:22px}.identity{gap:10px}h1{font-size:31px}.stack{font-size:12px;gap:5px 12px}}
@media print{@page{size:A4;margin:16mm 17mm}html{scroll-behavior:auto}body{background:white;color:#222;font-size:10pt}.resume{width:100%;border:0;margin:0;padding:0;box-shadow:none}.resume-top{margin-bottom:22px;padding-bottom:10px}h1{font-size:27pt}.headline{font-size:17pt;line-height:1.5;margin-bottom:12px}.identity{margin-bottom:12px}.intro{font-size:9.5pt;line-height:1.65}.contact,.stack{margin-top:12px}.stack{padding-top:9px}.resume-section{padding:22px 0}.resume-section:first-of-type{margin-top:22px}.sec-head{margin-bottom:16px;break-after:avoid}h2{font-size:16pt}h3{font-size:12pt}h4{font-size:10.5pt}.company,.personal{grid-template-columns:33mm minmax(0,1fr);gap:6mm;padding:20px 0;break-inside:auto}.company-meta{break-after:avoid}.company-meta p{font-size:8pt}.company-scope{font-size:8.7pt;margin-bottom:13px;line-height:1.65}.project{break-inside:avoid}.project p,.personal .body p,.method p{font-size:9.3pt;line-height:1.68}.project+.project{margin-top:16px}.measurement-note{font-size:7.3pt!important;line-height:1.6!important}.result{margin:7px 0}.method{grid-template-columns:49mm minmax(0,1fr);gap:6mm;padding:13px 0;break-inside:avoid}.method h3{font-size:10.5pt}.evidence{font-size:7.6pt}.background{gap:10mm;break-inside:avoid}.background p,.background li{font-size:8.3pt}.project-links{font-size:8pt}.resume-footer{font-size:7.5pt}a{color:inherit}p{orphans:3;widows:3}.skip-link{display:none}}

.project .validation{margin-top:17px;padding-top:12px;border-top:1px solid var(--line)}
.project .validation-title{font-size:12px;font-weight:600;color:var(--muted);margin:0 0 5px;line-height:1.6}
.project .validation-values{font-size:13px;font-weight:400;color:var(--text);line-height:1.8;margin:0 0 6px}
.project .validation .measurement-note{margin:0!important}
@media print{.project .validation{margin-top:10px;padding-top:8px}.project .validation-title{font-size:8pt}.project .validation-values{font-size:8.5pt;line-height:1.6}}

.document-links{display:flex;align-items:center;flex-wrap:wrap;gap:10px 16px;margin-top:19px}.document-links .career-link{display:inline-block;border:1px solid var(--accent);border-radius:6px;padding:8px 15px;font-size:13px;font-weight:650;color:var(--accent)}.document-links .career-link:hover{background:var(--light);text-decoration:none}.document-links span{font-size:12px;color:var(--muted)}
@media print{.document-links{margin:10px 0 0;gap:10px}.document-links .career-link{border:0;padding:0;font-size:9pt}.document-links span{font-size:8pt}.validation-title,.measurement-note{display:none}}
