@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=Noto+Sans+KR:wght@400;500;600;700&display=swap');
/* Match the existing portfolio palette, typography and spacing. */
:root{color-scheme:dark;--ink:#090909;--paper:#f3f3ee;--mint:#70efad;--muted:#a5a5a0;--line:rgba(255,255,255,.17)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--ink);color:#fff;font-family:'Noto Sans KR',sans-serif;font-size:16px;line-height:1.75}
a{color:inherit;text-underline-offset:5px}
header{background:var(--mint);color:var(--ink);padding:14px clamp(22px,5vw,76px) 10px;display:flex;justify-content:space-between;align-items:center;gap:8px 24px;flex-wrap:wrap}
header>a{font-size:clamp(1.5rem,3vw,2.15rem);font-weight:700;letter-spacing:-.055em;text-decoration:none}
nav{display:flex;gap:12px 24px;flex-wrap:wrap;align-items:center}
header nav{font-size:.92rem;font-weight:600}
header nav a{text-decoration:none}
header nav a:hover{text-decoration:underline}
main{max-width:1440px;margin:auto;padding:0 clamp(24px,7vw,110px)}
section{padding:clamp(64px,8vw,112px) 0;border-bottom:1px solid var(--line);scroll-margin-top:28px}
h1{font-size:clamp(2.2rem,4.1vw,4.3rem);line-height:1.3;letter-spacing:-.045em;font-weight:500;margin:32px 0;word-break:keep-all;overflow-wrap:anywhere}
html[lang="ko"] h1{line-height:1.6}
html[lang="en"] h1{font-family:'DM Serif Display',serif;letter-spacing:-.025em;font-size:clamp(2.5rem,4.6vw,4.8rem)}
h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.25;letter-spacing:-.04em;font-weight:500;margin:0 0 38px;overflow-wrap:anywhere}
h3{font-size:1.2rem;font-weight:500;margin:0 0 9px;line-height:1.6;overflow-wrap:anywhere}
p{font-size:1rem;max-width:850px;word-break:keep-all;overflow-wrap:anywhere}
.eyebrow{color:var(--mint);font-size:.875rem;letter-spacing:.14em;text-transform:uppercase;margin-bottom:24px}
.brand{background:var(--paper);color:var(--ink);padding:clamp(32px,5vw,64px);margin-top:30px}
.brand .eyebrow{color:#28764b}
.category-nav{padding:40px 0;gap:12px}
.category-nav a{padding:8px 15px;border:1px solid var(--line);border-radius:30px;text-decoration:none;font-size:.9375rem}
.category-nav a:hover{background:#1c2c23}
.record{display:grid;grid-template-columns:125px minmax(0,1fr);gap:32px;padding:32px 0;border-top:1px solid var(--line)}
.record p{margin:0;color:#b8b8b4}
.record .year{color:var(--mint);font-size:.9375rem}
.note{color:var(--muted);font-size:.9375rem;margin-top:35px}
footer{background:var(--mint);color:var(--ink);text-align:center;padding:clamp(52px,7vw,90px) 24px;font-size:.875rem}
a:focus-visible{outline:3px solid #5089e8;outline-offset:6px}
@media(max-width:820px){header nav{gap:10px 18px;font-size:.875rem}h2{line-height:1.35}.record{grid-template-columns:1fr;gap:8px}.brand{padding:32px 24px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
