@font-face{font-family:NotoKR;src:local("Noto Sans KR");font-display:swap}
:root{--ink:#111;--muted:#777;--line:#d6d6d6;--paper:#fff;--gutter:clamp(20px,4vw,72px);--content:min(calc(100% - 40px),1035px)}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--ink);font-family:NotoKR,Arial,sans-serif}
a{color:inherit;text-decoration:none}
.frontmatter{background:#fff;padding:0}
.front-pages{padding:0;background:#fff}
.front-page{position:relative;width:var(--content);margin:0 auto;background:#fff;border-bottom:1px solid #eee}
.front-page:last-child{margin-bottom:0}
.front-page img{display:block;width:100%;height:auto}
.profile-page{width:var(--content);margin:0 auto;background:#fff;border-bottom:1px solid #eee}
.responsive-page-header,.work-header{display:grid;grid-template-columns:300px minmax(0,1fr);align-items:start;min-height:190px;padding:28px 0 22px;background:rgba(255,255,255,.96);backdrop-filter:blur(12px)}
.responsive-page-header{position:sticky;z-index:35;top:0}
.index-page-header{display:block}.index-page-header .header-copy{margin-left:300px}
.header-number{min-height:138px;padding-left:4px}.header-number span{display:block;margin:0 0 18px 2px;color:var(--muted);font-size:15px;font-weight:400;line-height:1}.header-number strong{display:block;font-size:116px;font-weight:700;line-height:.68;letter-spacing:-.09em}.header-copy{padding-top:12px}.header-copy h2{margin:0;font-size:32px;font-weight:500;letter-spacing:-.055em}.header-copy p{margin:15px 0 27px;color:var(--muted);font-size:10px;letter-spacing:.06em}.header-copy i{display:block;width:100%;height:1px;background:var(--line)}
.profile-body{display:block;width:100%;height:auto}
.contents-body{display:grid;grid-template-columns:220px minmax(0,1fr);min-height:min(1455px,140vw);padding:90px 0 120px;background:#fff}.contents-word{align-self:start;font-size:76px;font-weight:500;line-height:.9;letter-spacing:-.07em;writing-mode:vertical-rl;transform:rotate(180deg)}.contents-list{display:flex;flex-direction:column;padding-top:25px}.contents-list a{display:grid;grid-template-columns:120px minmax(0,1fr) 74px;align-items:center;min-height:155px;border-bottom:1px solid var(--line)}.contents-list a:first-child{border-top:1px solid var(--line)}.contents-list strong{font-size:37px;font-weight:600;letter-spacing:-.06em}.contents-list span{display:flex;flex-direction:column;gap:7px}.contents-list b{font-size:23px;font-weight:500;letter-spacing:-.04em}.contents-list small{color:var(--muted);font-size:9px;letter-spacing:.07em}.contents-list em{justify-self:end;color:var(--muted);font-size:11px;font-style:normal;letter-spacing:.04em}.contents-list a:hover b{opacity:.55}
.progress{position:fixed;z-index:100;top:0;left:0;width:100%;height:2px;background:#eee}
.progress span{display:block;width:0;height:100%;background:#111}
.site-header{position:sticky;z-index:50;top:0;display:flex;align-items:flex-start;gap:48px;padding:22px var(--gutter);border-bottom:1px solid var(--line);background:rgba(255,255,255,.94);backdrop-filter:blur(12px)}
.brand{display:flex;align-items:flex-start;gap:10px;min-width:230px}
.brand strong{font-size:12px;font-weight:500}.brand span{font-size:15px;font-weight:700;line-height:.95;letter-spacing:-.04em}
nav{display:flex;gap:28px;margin-left:auto;font-size:11px;letter-spacing:.02em}
nav a{display:none;gap:8px;padding-top:3px;color:var(--muted);white-space:nowrap}nav a.nearby{display:flex}nav a span{display:block;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}nav a:hover,nav a.active{color:#111}
.menu-button{display:none;margin-left:auto;border:0;background:none;font:inherit;font-size:11px}
.hero{min-height:78vh;padding:clamp(90px,14vh,170px) var(--gutter) 80px;display:grid;grid-template-columns:minmax(250px,1fr) minmax(300px,1fr);align-content:center;border-bottom:1px solid var(--line)}
.eyebrow{grid-column:1/-1;margin:0 0 50px;font-size:10px;color:var(--muted);letter-spacing:.08em}
.hero h1{margin:0;font-size:clamp(54px,8vw,126px);font-weight:500;line-height:.9;letter-spacing:-.08em}.hero h1 span{display:block;margin-bottom:30px;font-size:.32em;letter-spacing:-.04em}
.hero-copy{max-width:390px;align-self:end;margin:0 0 10px auto;font-size:15px;line-height:1.8;color:#555}
.scroll-cue{grid-column:2;margin:70px 0 0 auto;font-size:10px;letter-spacing:.08em}.scroll-cue span{margin-left:22px;font-size:18px}
.work{scroll-margin-top:92px;padding:0 var(--gutter) 110px;border-bottom:1px solid var(--line)}
.work-header{position:sticky;z-index:10;top:79px;transform:translateY(0);transition:transform .48s cubic-bezier(.22,.61,.36,1),opacity .38s ease,filter .72s ease}
.art-header-hidden .work-header{transform:translateY(calc(-100% - 84px));opacity:0}
.frontmatter .profile-page:last-child,.work>.strip>.panel:last-child,.work>.grouped-strip>.character-group:last-child>.panel:last-child,.work>.work-end{transition:opacity .78s ease,filter .78s ease}
.frontmatter.chapter-fading .profile-page:last-child,.work.chapter-fading>.strip>.panel:last-child,.work.chapter-fading>.grouped-strip>.character-group:last-child>.panel:last-child,.work.chapter-fading>.work-end{opacity:.08;filter:blur(14px)}
.work.chapter-fading>.work-header{opacity:0;filter:blur(10px)}
.strip{width:var(--content);margin:70px auto 0}.panel{display:block;width:100%;height:auto;margin:0 auto;background:#fafafa;content-visibility:auto;contain-intrinsic-size:auto 12000px}
.grouped-strip{display:flex;flex-direction:column;gap:90px}.character-group{display:grid;grid-template-columns:1fr;gap:34px;align-items:center}.character-group.columns-2,.character-group.columns-3{grid-template-columns:1fr}.character-group .panel{content-visibility:auto;contain-intrinsic-size:auto 720px}
.work-end{display:flex;justify-content:space-between;margin-top:60px;padding-top:18px;border-top:1px dotted var(--line);font-size:9px;color:var(--muted);letter-spacing:.06em}
.site-footer{display:flex;justify-content:space-between;padding:34px var(--gutter);font-size:9px;color:var(--muted)}
.top-button,.contents-button{position:fixed;z-index:90;right:24px;width:44px;height:44px;border:1px solid #ccc;background:#fff;opacity:0;pointer-events:none;transition:opacity .2s,border-color .2s}.top-button{bottom:24px}.contents-button{bottom:78px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.contents-button span{display:block;width:15px;height:1px;background:#111}.top-button.show,.contents-button.show{opacity:1;pointer-events:auto}.top-button:hover,.contents-button:hover{border-color:#111}
@media(max-width:760px){:root{--content:calc(100% - 20px)}.responsive-page-header,.work-header{grid-template-columns:112px minmax(0,1fr);min-height:126px;padding:20px 0 16px}.index-page-header{display:block}.index-page-header .header-copy{margin-left:112px}.header-number{min-height:90px}.header-number span{margin-bottom:13px;font-size:10px}.header-number strong{font-size:62px}.header-copy{padding-top:6px}.header-copy h2{font-size:20px}.header-copy p{margin:9px 0 18px;font-size:8px}.contents-body{grid-template-columns:58px minmax(0,1fr);min-height:880px;padding:50px 0 80px}.contents-word{font-size:30px}.contents-list{padding-top:8px}.contents-list a{grid-template-columns:68px minmax(0,1fr);min-height:112px}.contents-list strong{font-size:22px}.contents-list b{font-size:16px}.contents-list small{font-size:7px}.site-header{align-items:center;padding-top:16px;padding-bottom:16px}.brand{min-width:0}.menu-button{display:block}nav{position:absolute;top:100%;left:0;right:0;display:none;flex-direction:column;gap:0;padding:12px var(--gutter) 22px;background:#fff;border-bottom:1px solid var(--line)}nav.open{display:flex}nav a{padding:12px 0}.work-header{top:65px}.art-header-hidden .work-header{transform:translateY(calc(-100% - 70px))}.strip{margin-top:38px}.grouped-strip{gap:54px}.character-group{gap:24px}.character-group.columns-2,.character-group.columns-3{grid-template-columns:1fr}}
@media(max-width:760px){.contents-list a{grid-template-columns:62px minmax(0,1fr) 42px}.contents-list strong{font-size:20px}.contents-list b{font-size:15px}.contents-list em{font-size:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-header,.frontmatter .profile-page:last-child,.work>.strip>.panel:last-child,.work>.grouped-strip>.character-group:last-child>.panel:last-child,.work>.work-end{transition:none}}
