:root{--bg:#f7f7f5;--ink:#20211f;--muted:#62645f;--line:#d8d9d4;--serif:'Noto Serif KR',Georgia,serif;--sans:-apple-system,BlinkMacSystemFont,'Apple SD Gothic Neo','Malgun Gothic',sans-serif;--pad:clamp(22px,5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.75 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}a:hover{color:#555b58}.skip-link{position:absolute;left:-9999px;top:0;background:#fff;padding:1rem;z-index:30}.skip-link:focus{left:1rem}.site-header{min-height:86px;display:flex;align-items:center;justify-content:space-between;padding:1rem var(--pad);border-bottom:1px solid var(--line);gap:2rem}.wordmark{font:500 1.23rem var(--serif);white-space:nowrap;letter-spacing:-.045em}.site-nav{display:flex;gap:clamp(1.3rem,3vw,3rem);align-items:center}.site-nav a{font-size:.88rem;letter-spacing:.03em;white-space:nowrap;padding:.35rem 0;border-bottom:1px solid transparent}.site-nav a[aria-current=page],.site-nav a:hover{border-color:var(--ink)}.eyebrow{font-size:.73rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted)}.view-link{display:inline-flex;align-items:center;gap:1.4rem;border-bottom:1px solid var(--ink);padding-bottom:.4rem;font-size:.9rem}.view-link span{font-size:1.1rem}
.home-hero{display:grid;grid-template-columns:minmax(340px,45%) 1fr;min-height:min(760px,calc(100svh - 86px));border-bottom:1px solid var(--line)}.home-copy{padding:clamp(3rem,7vw,8rem) var(--pad);display:flex;align-items:flex-start;flex-direction:column;justify-content:center}.home-copy h1{font:500 clamp(2.1rem,3.35vw,3.55rem)/1.52 var(--serif);letter-spacing:-.065em;margin:3rem 0 1.1rem;word-break:keep-all}.home-copy p{font:italic .98rem/1.7 Georgia,serif;color:var(--muted);margin:0 0 4rem}.home-image{margin:0;position:relative;min-height:500px;overflow:hidden;background:#c3c4c1}.home-image img{width:100%;height:100%;object-fit:cover}.home-image figcaption{position:absolute;bottom:1.5rem;right:1.5rem;color:#fff;text-shadow:0 1px 7px #000;font-size:.78rem}.home-intro{max-width:1160px;margin:auto;padding:clamp(5rem,9vw,10rem) var(--pad);display:flex;justify-content:space-between;align-items:flex-end;gap:2rem}.home-intro p{font:400 clamp(1.25rem,2.4vw,2.1rem)/1.75 var(--serif);letter-spacing:-.035em;margin:0}.home-intro a{white-space:nowrap;border-bottom:1px solid;font-size:.85rem}
.page-heading{max-width:1200px;margin:auto;padding:clamp(5rem,9vw,9rem) var(--pad) 3rem}.page-heading h1,.page-title{font:500 clamp(2.1rem,4vw,3.5rem)/1.35 var(--serif);letter-spacing:-.04em;margin:1rem 0 1.3rem}.page-heading p{color:var(--muted);margin:0}.works-list{max-width:1200px;margin:0 auto;padding:0 var(--pad) 7rem}.work-row{display:grid;grid-template-columns:58% 1fr;gap:clamp(2rem,6vw,6rem);align-items:center;padding:clamp(3rem,6vw,6rem) 0;border-top:1px solid var(--line)}.work-row:nth-of-type(even){grid-template-columns:1fr 58%}.work-row:nth-of-type(even) .work-image{grid-column:2;grid-row:1}.work-row:nth-of-type(even) .work-copy{grid-column:1;grid-row:1}.work-image{display:block;background:#e8e8e4;overflow:hidden}.work-image img{width:100%;height:clamp(250px,33vw,480px);object-fit:cover;transition:transform .5s ease}.work-image:hover img{transform:scale(1.025)}.work-copy h3{font:500 clamp(1.45rem,2.5vw,2.3rem)/1.45 var(--serif);letter-spacing:-.04em;margin:1.25rem 0 .35rem}.work-copy p{font:italic 1.05rem Georgia,serif;color:var(--muted);margin:0 0 2rem}.works-divider{padding:4.2rem 0 3rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;align-items:baseline;gap:1rem;font:500 clamp(1.3rem,2.5vw,2rem) var(--serif)}.works-divider span:last-child{font:italic 1rem Georgia,serif;color:var(--muted)}
.series-heading{text-align:center;padding:clamp(4.5rem,9vw,9rem) var(--pad) 3rem;max-width:900px;margin:auto}.back-link{display:block;width:max-content;margin:0 auto 3.5rem;font-size:.83rem;color:var(--muted);border-bottom:1px solid var(--line)}.series-heading h1{font:500 clamp(2rem,4vw,3.4rem)/1.45 var(--serif);letter-spacing:-.045em;margin:1.3rem 0 .4rem}.english-title{font:italic clamp(1rem,1.7vw,1.3rem) Georgia,serif;color:var(--muted);margin:0}.series-statement{max-width:800px;margin:0 auto;padding:0 var(--pad) clamp(4rem,8vw,8rem)}.statement{margin-top:2.4rem}.statement p{margin:0 0 1.05rem;word-break:keep-all}.statement[lang=en]{border-top:1px solid var(--line);padding-top:2rem;color:var(--muted);font-size:.93rem;line-height:1.85}.sequence{padding-bottom:5rem}.plate{margin:0 auto clamp(4.5rem,8vw,9rem);width:calc(100% - 2 * var(--pad));max-width:1120px}.plate.portrait{max-width:650px}.plate img{width:100%;height:auto;max-height:88vh;object-fit:contain}.plate figcaption{display:flex;justify-content:flex-end;color:var(--muted);font:.75rem var(--sans);letter-spacing:.13em;padding-top:.9rem}.sequence-chapter{font:500 1.25rem var(--serif);text-align:center;margin:1rem auto 5rem;padding:0 1rem}.sequence-chapter span{display:block;font:italic .9rem Georgia,serif;color:var(--muted);margin-top:.5rem}.next-project{border-top:1px solid var(--line);padding:clamp(3rem,6vw,6rem) var(--pad);display:flex;flex-direction:column;align-items:center;text-align:center}.next-project span{font-size:.72rem;letter-spacing:.13em;text-transform:uppercase;color:var(--muted);margin-bottom:1rem}.next-project strong{font:500 clamp(1.5rem,3vw,2.3rem) var(--serif)}.next-project em{font:italic .95rem Georgia,serif;color:var(--muted);margin-top:.5rem}
.text-page{max-width:900px;padding:clamp(4rem,8vw,8rem) var(--pad) 7rem;margin:auto}.text-page section{padding:0}.text-page .bi-block{max-width:760px}.text-page .bi-block p{margin:0 0 1.3rem;word-break:keep-all}.text-page .bi-block.en{color:var(--muted);font-size:.94rem}.bi-divider{border-top:1px solid var(--line);padding-top:1rem;margin:3.5rem 0 2rem;text-align:right;color:var(--muted);font-size:.72rem;letter-spacing:.12em}.cv-group{margin:4rem 0}.cv-group h2{font:500 1.1rem var(--serif);margin:0 0 1.6rem}.cv-entry{display:grid;grid-template-columns:6rem 1fr;gap:1.5rem;padding:1.15rem 0;border-top:1px solid var(--line)}.cv-entry:last-child{border-bottom:1px solid var(--line)}.cv-entry .year{font-variant-numeric:tabular-nums;color:var(--muted)}.cv-entry p{margin:0!important}.cv-entry .en{font-style:italic;color:var(--muted);font-size:.91rem}.site-footer{border-top:1px solid var(--line);padding:2.5rem var(--pad);display:flex;justify-content:space-between;gap:2rem;color:var(--muted);font-size:.75rem}.site-footer span:first-child{font-family:var(--serif);font-size:.9rem;color:var(--ink)}:focus-visible{outline:2px solid #272a28;outline-offset:4px}
@media(max-width:850px){.home-hero{grid-template-columns:1fr}.home-copy{min-height:430px}.home-copy h1{margin:2rem 0 1rem}.home-copy p{margin-bottom:2rem}.home-image{min-height:52vw;max-height:650px}.home-intro{align-items:flex-start;flex-direction:column}.work-row,.work-row:nth-of-type(even){grid-template-columns:1fr;gap:1.5rem}.work-row:nth-of-type(even) .work-image,.work-row:nth-of-type(even) .work-copy{grid-column:auto;grid-row:auto}.work-image img{height:auto;max-height:560px;object-fit:contain}.work-copy p{margin-bottom:1.3rem}}@media(max-width:560px){.site-header{align-items:flex-start;flex-direction:column;gap:.75rem}.site-nav{width:100%;justify-content:space-between}.site-nav a{font-size:.82rem}.home-copy{min-height:400px}.home-image{min-height:320px}.page-heading{padding-bottom:2rem}.works-divider{display:block}.works-divider span{display:block}.works-divider span:last-child{margin-top:.45rem}.cv-entry{grid-template-columns:1fr;gap:.2rem}.site-footer{flex-direction:column;gap:.5rem}.plate{margin-bottom:4.5rem}.plate img{max-height:82vh}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.work-image img{transition:none}}
.author-portrait{width:min(100%,360px);margin:2rem 0 3rem}.author-portrait img{width:100%;height:auto}

/* The generated pages use a plain nav element inside the site header. */
.site-header nav{display:flex;align-items:center;gap:clamp(1.5rem,3vw,3rem)}
.site-header nav a{font-size:.88rem;letter-spacing:.03em;white-space:nowrap;padding:.35rem 0;border-bottom:1px solid transparent}
.site-header nav a[aria-current=page],.site-header nav a:hover{border-color:var(--ink)}

/* Keep the biographical and exhibition headings quieter than the photographs. */
.text-page .page-title{font-size:clamp(1.8rem,2.8vw,2.65rem);line-height:1.4;margin:0 0 2rem}

/* Two photographs form each spread, shortening the long series scroll. */
.sequence{max-width:1400px;margin:0 auto;padding:0 var(--pad) 7rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(2rem,4vw,4rem) clamp(1.5rem,3vw,3rem);align-items:start}
.sequence .plate,.sequence .plate.portrait{width:100%;max-width:none;margin:0}
.sequence .plate img{width:100%;height:auto;max-height:62svh;object-fit:contain}
.sequence .plate figcaption{padding-top:.6rem}
.sequence .sequence-chapter{grid-column:1/-1;margin:2rem auto 1rem}

@media(max-width:700px){
  .sequence{grid-template-columns:1fr;gap:3rem;padding-bottom:5rem}
  .sequence .plate img{max-height:76svh}
}
@media(max-width:560px){
  .site-header nav{width:100%;justify-content:space-between;gap:1rem}
  .site-header nav a{font-size:.82rem}
}

/* Exhibition CV: solo work leads; international participation is easy to scan. */
.cv-group.solo h2{font-size:1.28rem}
.cv-group.solo .featured .ko{font-size:1.1rem;font-weight:500}
.cv-group.solo .featured .year{color:var(--ink);font-weight:500}
.cv-entry.international{border-left:2px solid #6c746c;padding-left:1rem}
.cv-entry.international .ko{color:var(--ink);font-weight:500}
.cv-tag{display:inline-block;margin-bottom:.35rem;color:#4a554d;font:.7rem/1.3 var(--sans);letter-spacing:.14em;text-transform:uppercase}

.contact-page{min-height:60svh}
.contact-page>p{max-width:35rem;margin:0 0 1.2rem;word-break:keep-all}
.contact-page>p[lang=en]{color:var(--muted);font-size:.94rem}
.contact-email{display:inline-block;margin:2rem 0 1rem;padding-bottom:.2rem;border-bottom:1px solid var(--ink);font:400 clamp(1rem,1.25vw,1.15rem)/1.5 var(--sans);overflow-wrap:anywhere}
.contact-page .contact-note{color:var(--muted);font-size:.85rem}
@media(max-width:560px){.site-header nav{gap:.5rem}.site-header nav a{font-size:.76rem}}

/* The opening statement defines Travel before the visitor reaches the work. */
.home-copy{padding-top:clamp(2.5rem,5vw,5rem);padding-bottom:clamp(2.5rem,5vw,5rem)}
.home-copy h1{margin:1.8rem 0 .65rem}
.home-copy .home-subtitle{margin:0;font:italic .98rem/1.7 Georgia,serif;color:var(--muted)}
.home-manifesto{border-top:1px solid var(--line);margin:clamp(2rem,4vw,3.5rem) 0 2.3rem;padding-top:clamp(1.4rem,2.5vw,2rem);max-width:32rem}
.home-manifesto p{margin:0;word-break:keep-all}
.home-manifesto p:first-child{font:500 clamp(1.03rem,1.45vw,1.22rem)/1.75 var(--serif);letter-spacing:-.035em}
.home-manifesto p[lang=en]{margin-top:.7rem;color:var(--muted);font:italic clamp(.85rem,1vw,.95rem)/1.7 Georgia,serif}
@media(max-width:850px){.home-copy{min-height:0}.home-manifesto{margin:2rem 0}}
.home-intro-copy{min-width:0}
.home-intro .home-intro-en{margin:1.15rem 0 0;color:var(--muted);font:italic clamp(.9rem,1.15vw,1.02rem)/1.8 Georgia,serif;letter-spacing:0}

/* At normal desktop zoom, let the photograph and both parts of the opening
   statement share the first viewport. Long archives still scroll naturally. */
@media (min-width:1100px){
  .home-hero{height:clamp(500px,calc(100svh - 290px),640px);min-height:0}
  .home-copy{padding-top:1.25rem;padding-bottom:1.25rem}
  .home-copy h1{font-size:clamp(2.2rem,3vw,3.1rem);line-height:1.42;margin:1.05rem 0 .45rem}
  .home-manifesto{margin:clamp(1.3rem,2.8vh,2rem) 0 1.35rem;padding-top:1.15rem}
  .home-manifesto p:first-child{line-height:1.6}
  .home-manifesto p[lang=en]{margin-top:.45rem;line-height:1.55}
  .home-image{min-height:0}
  .home-intro{max-width:none;min-height:185px;padding:1.5rem var(--pad);align-items:center}
  .home-intro p{font-size:clamp(1.08rem,1.65vw,1.5rem);line-height:1.48}
  .home-intro .home-intro-en{margin-top:.45rem;line-height:1.45}
}

/* Make the first project, photograph, or CV entry visible without requiring
   an initial scroll through oversized page headings. */
@media (min-width:851px){
  .page-heading{padding-top:clamp(2rem,4vh,3rem);padding-bottom:1.5rem}
  .page-heading h1{margin:.45rem 0 .65rem}
  .work-row{padding:clamp(1.5rem,3vw,3rem) 0}
  .work-image img{height:clamp(250px,26vw,370px)}
  .works-divider{padding:2.5rem 0 1.8rem}
  .series-heading{padding-top:clamp(2rem,4vh,3rem);padding-bottom:1rem}
  .back-link{margin-bottom:1.25rem}
  .series-heading h1{margin:.45rem 0 .25rem}
  .series-statement{max-width:1200px;display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,4vw,4rem);padding-bottom:2.5rem}
  .series-statement .statement{margin-top:1rem}
  .series-statement .statement p{margin-bottom:.75rem;font-size:.94rem;line-height:1.65}
  .series-statement .statement[lang=en]{border-top:0;border-left:1px solid var(--line);padding:0 0 0 clamp(1.5rem,3vw,3rem);font-size:.92rem}
  .text-page{padding-top:clamp(2rem,4vh,3rem)}
  .text-page .page-title{margin-bottom:1.5rem}
  .text-page .cv-group:first-of-type{margin-top:2rem}
  .author-portrait{float:right;width:min(36%,280px);margin:0 0 1.5rem 2.5rem}
}

/* The Works link opens the complete archive; the adjacent control and hover
   expose direct links to all six series. */
.nav-works{position:relative;display:inline-flex;align-items:center;white-space:nowrap}
.works-toggle{margin-left:.15rem;padding:.25rem .35rem;border:0;background:transparent;color:var(--muted);font:1.1rem/1 var(--sans);cursor:pointer}
.works-toggle:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.works-menu{position:absolute;top:100%;left:-1.1rem;z-index:20;width:min(290px,calc(100vw - 2rem));max-height:min(70svh,550px);overflow:auto;padding:.8rem 1rem 1rem;background:var(--bg);border:1px solid var(--line);box-shadow:0 12px 24px #20211f1c;opacity:0;visibility:hidden;pointer-events:none;transform:translateY(6px);transition:opacity .16s ease,transform .16s ease,visibility .16s}
.works-menu[hidden]{display:none}
.nav-works:hover .works-menu,.nav-works:focus-within .works-menu,.nav-works.is-open .works-menu{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)}
.site-header nav .works-menu a{display:block;border:0;padding:.55rem .25rem;white-space:normal;font-size:.9rem;letter-spacing:0;line-height:1.4}
.site-header nav .works-menu a:hover,.site-header nav .works-menu a:focus-visible{background:#e9eae6;color:var(--ink)}
.works-menu small{display:block;margin-top:.12rem;color:var(--muted);font:italic .77rem/1.4 Georgia,serif}
.works-menu-label{display:block;margin:.45rem .25rem .2rem;padding-top:.8rem;border-top:1px solid var(--line);color:var(--muted);font-size:.71rem;letter-spacing:.05em}
@media(max-width:560px){.works-menu{left:-.5rem}.works-toggle{padding:.25rem .1rem}}
@media(prefers-reduced-motion:reduce){.works-menu{transition:none}}

/* Keep the exhibition record compact enough to scan at 100% zoom. The
   overseas venue is identified by its label without an extra border. */
.exhibitions-page{max-width:1050px}
.exhibitions-page .page-title{margin-bottom:1.2rem}
.exhibitions-page .cv-group{margin:2.5rem 0}
.exhibitions-page .cv-group h2,.exhibitions-page .cv-group.solo h2{font-size:1.02rem;margin-bottom:1rem}
.exhibitions-page .cv-entry,.exhibitions-page .cv-entry:last-child{grid-template-columns:4.8rem minmax(0,1fr);gap:1.15rem;padding:.68rem 0;border:0;font-size:.92rem;line-height:1.5}
.exhibitions-page .cv-entry .year{font-size:.86rem}
.exhibitions-page .cv-entry .ko{font-size:.94rem;line-height:1.5}
.exhibitions-page .cv-entry .en{font-size:.82rem;line-height:1.45;margin-top:.15rem!important}
.exhibitions-page .cv-group.solo .featured .ko{font-size:1rem}
.exhibitions-page .cv-entry.international{border-left:0;padding-left:0}
.exhibitions-page .cv-tag{font-size:.62rem;margin-bottom:.15rem}
@media(max-width:560px){
  .exhibitions-page .cv-entry,.exhibitions-page .cv-entry:last-child{grid-template-columns:1fr;gap:.15rem}
}

/* About: the portrait is a small introduction beside the Korean statement. */
.about-page{max-width:1000px}
.about-page .page-title{font-size:clamp(1.2rem,1.5vw,1.35rem);line-height:1.4;margin-bottom:1.2rem}
.about-intro{display:grid;grid-template-columns:minmax(0,1fr) 4.6rem;gap:clamp(1rem,2.2vw,1.6rem);align-items:start}
.about-page .author-portrait{float:none;grid-column:2;grid-row:1;width:4.6rem;margin:0}
.about-page .author-portrait img{display:block;width:4.6rem;height:6rem;object-fit:cover}
.about-page .bi-block.ko{grid-column:1;grid-row:1}
.about-page .bi-block p{line-height:1.6;margin-bottom:1rem}
.about-page .bi-divider{margin:2rem 0 1.4rem}
@media(max-width:480px){
  .about-intro{grid-template-columns:minmax(0,1fr) 4rem;gap:.8rem}
  .about-page .author-portrait,.about-page .author-portrait img{width:4rem}
  .about-page .author-portrait img{height:5.2rem}
}
