
:root{--ink:#142a2c;--muted:#607671;--line:#dce6de;--paper:#f4f6f1;--accent:#1c6a57;--dark:#10232a;--mint:#c5efd0}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 'Manrope','Noto Sans KR',sans-serif;word-break:keep-all}
a{color:var(--accent);text-underline-offset:3px}a:focus-visible{outline:3px solid #e4a53a;outline-offset:3px}
.topbar{background:var(--dark);color:#fff}.topbar-inner{max-width:1220px;margin:auto;padding:17px 30px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.brand{font-weight:800;letter-spacing:-.04em;color:#fff;text-decoration:none}.topbar nav{display:flex;align-items:center;flex-wrap:wrap;gap:10px}
.topbar nav a{color:#d7e9dd;text-decoration:none;font-size:12px;border:1px solid #597168;padding:8px 12px}.topbar nav a:last-child{background:#d7f18d;color:var(--dark);border-color:#d7f18d;font-weight:800}
.hero{background:var(--dark);color:white;border-top:1px solid #395158}.hero-inner{max-width:1220px;margin:auto;padding:44px 30px 50px;display:flex;align-items:center;justify-content:space-between;gap:40px}
.eyebrow{color:var(--mint);font:11px/1.5 'DM Mono',monospace;letter-spacing:.16em}.hero h1{font-size:clamp(38px,5vw,62px);letter-spacing:-.07em;line-height:1.2;margin:14px 0}.hero p{max-width:760px;color:#c9d8d0;margin:0}
.hero-photo{width:148px;height:190px;object-fit:cover;object-position:center top;border-radius:6px;border:3px solid #d5e8da;box-shadow:0 12px 38px #0004;flex:none}.hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:23px}.hero-actions a{display:inline-block;padding:10px 15px;border:1px solid #adc6b7;color:white;text-decoration:none;font-size:13px;font-weight:700}.hero-actions a:first-child{background:#d7f18d;border-color:#d7f18d;color:var(--dark)}.hero-actions a:hover{transform:translateY(-2px)}
.layout{max-width:1220px;margin:auto;padding:48px 30px 100px;display:grid;grid-template-columns:210px minmax(0,1fr);gap:55px}
.sidebar{position:sticky;top:25px;height:max-content;border-top:3px solid var(--accent);padding-top:17px}
.sidebar strong{font:11px 'DM Mono',monospace;letter-spacing:.12em;color:var(--muted)}.sidebar a{display:block;color:#37544b;text-decoration:none;font-size:12px;padding:9px 0;border-bottom:1px solid var(--line)}.sidebar a:hover{color:var(--accent)}
.resume{min-width:0;background:#fff;border:1px solid var(--line);padding:52px 62px;box-shadow:0 20px 60px #153c2b0b}.resume>h1.document-title{display:none}
.resume>p:first-of-type{font-size:16px;line-height:1.85;color:#2a4542;border-left:4px solid #8ed9a7;padding:3px 0 3px 20px;margin:0 0 40px}
.resume h2{font-size:26px;letter-spacing:-.06em;line-height:1.35;margin:65px 0 22px;padding-top:10px;border-bottom:1px solid var(--line);padding-bottom:13px;scroll-margin-top:24px}
.resume h2:first-of-type{margin-top:0}.resume h3{font-size:20px;letter-spacing:-.05em;line-height:1.45;margin:38px 0 12px;scroll-margin-top:24px}.resume h3+p{color:var(--muted);font-size:12px;margin-top:-5px}
.resume p{margin:12px 0}.resume li{padding-left:4px;margin:8px 0}.resume ul{padding-left:21px}.resume strong{color:#193d36}
.resume img{width:100%;max-width:850px;height:auto;border:1px solid var(--line);border-radius:5px;margin-top:10px;display:block}
.resume em{font-size:12px;color:var(--muted)}.resume table{width:100%;border-collapse:collapse;font-size:13px}.resume th,.resume td{border-bottom:1px solid var(--line);padding:10px;text-align:left}
.resume blockquote{border-left:3px solid var(--mint);margin:20px 0;padding-left:18px;color:var(--muted)}.endnote{max-width:1220px;margin:-65px auto 50px;padding:0 30px;color:var(--muted);font-size:12px}
@media(max-width:850px){.layout{display:block;padding:25px 15px 75px}.sidebar{position:static;display:flex;gap:10px;overflow-x:auto;white-space:nowrap;border:0;margin-bottom:15px;padding:0}.sidebar strong{display:none}.sidebar a{border:1px solid var(--line);padding:7px 11px}.resume{padding:30px 24px}.hero-inner{padding:40px 22px 46px}.topbar-inner{padding:13px 18px}.resume h2{font-size:23px}.resume h3{font-size:18px}.endnote{margin:-50px auto 35px}}
@media(max-width:530px){.hero-inner{align-items:flex-start;gap:15px}.hero-photo{width:82px;height:106px;border-width:2px}.hero h1{font-size:30px}.eyebrow{font-size:9px;letter-spacing:.08em}.hero-actions a{font-size:12px;padding:8px 10px}.topbar nav a{font-size:11px;padding:6px 8px}.topbar nav a:nth-child(2){display:none}}
@media print{.topbar,.sidebar,.hero,.endnote{display:none}.layout{display:block;padding:0}.resume{border:0;box-shadow:none;padding:0}.resume>h1.document-title{display:block}.resume h2{break-after:avoid}.resume h3{break-after:avoid}.resume img{max-height:260px;object-fit:contain;object-position:left}}

.hero h1{font-size:clamp(34px,4.5vw,55px)}.hero p{max-width:750px}.topbar nav a{border-radius:2px}.topbar nav a[aria-current=page]{color:#fff;border-color:#b8f3c4}.hero-actions a{border-radius:2px}.resume table{display:block;overflow-x:auto}.resume h2{margin-top:45px}.career-document .resume>p:first-of-type{font-size:13px;border-left:0;padding:0;color:var(--muted);margin-bottom:16px}.resume hr{border:0;border-top:1px solid var(--line);margin:30px 0}.sidebar a{font-size:11px}.hero-photo{align-self:center}
@media(max-width:530px){.topbar-inner{align-items:flex-start}.topbar nav{justify-content:flex-end;gap:6px}.topbar nav a:nth-child(2){display:inline-block}.topbar nav a{font-size:10px;padding:5px 7px}.hero-inner{gap:13px}.hero-copy{min-width:0}.hero h1{font-size:29px}.hero p{font-size:13px}.hero-photo{width:74px;height:95px;align-self:flex-start}.resume{padding:26px 20px}.resume h2{font-size:21px}.resume h3{font-size:18px}}
