@font-face{font-family:'Gowun Dodum';src:url('/fonts/GowunDodum-Regular.ttf') format('truetype');font-weight:400;font-style:normal;font-display:swap}
:root{color-scheme:dark;--ink:#e7e7e4;--muted:#b7b7b2;--line:#505050;--paper:#303030;--accent:#d5c2a7;font-family:'Gowun Dodum','Malgun Gothic',sans-serif;color:var(--ink);background:var(--paper)}*{box-sizing:border-box}body{margin:0}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,textarea,select{touch-action:manipulation}button{cursor:pointer}button:disabled{opacity:.55;cursor:wait}a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:5px}header{max-width:1600px;margin:auto;padding:38px 5vw;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);gap:24px}.brand{font:26px Georgia,serif;letter-spacing:2px}.brand span{display:block;font:10px Arial,sans-serif;letter-spacing:2.3px;margin-top:9px}nav{display:flex;gap:28px;font-size:14px}nav a{padding:10px 0;border-bottom:1px solid transparent}nav a.active{border-color:var(--ink)}main{min-height:70vh}.home-intro{max-width:1600px;padding:55px 5vw 30px;margin:auto;display:flex;align-items:end;justify-content:space-between;gap:20px}.eyebrow{font-size:12px;letter-spacing:2px;color:var(--muted);text-transform:uppercase}.home-intro h1{font:clamp(36px,5vw,74px)/1.07 Georgia,serif;letter-spacing:-2px;margin:15px 0 0}.intro-side{font-size:14px;line-height:1.9;color:var(--muted)}.hero{margin:0 5vw;position:relative;overflow:hidden;aspect-ratio:2.74;background:#d9ddda}.reference{background-image:url('/reference.png');background-size:201.5% 352%;background-position:34.8% 61.7%}.hero>img{width:100%;height:100%;object-fit:cover}.hero-caption{margin:15px 5vw 65px;display:flex;justify-content:space-between;font-size:12px;color:var(--muted);letter-spacing:1px}.section{max-width:1600px;margin:0 auto;padding:0 5vw 65px}.section-head{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:25px 0}.section-head h2{font:30px Georgia,serif;margin:0}.section-head a{font-size:14px}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:38px 24px}.card{display:block;border:0;background:none;text-align:left;color:inherit;padding:0;width:100%}.card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.card h3{font-size:17px;font-weight:400;margin:15px 0 8px}.meta{font-size:12px;color:var(--muted);letter-spacing:.7px}.empty{padding:32px 0;color:var(--muted);line-height:1.9}.empty strong{display:block;color:var(--ink);font-weight:400;font-size:20px}.page-head{padding:65px 5vw 45px;max-width:1600px;margin:auto}.page-head h1{font:clamp(42px,7vw,84px) Georgia,serif;margin:10px 0 20px}.page-head p{font-size:16px;color:var(--muted);line-height:1.9}.portfolio-grid{columns:3;column-gap:24px}.portfolio-grid .card{break-inside:avoid;margin-bottom:35px}.portfolio-grid img{aspect-ratio:auto;max-height:650px;object-fit:contain;background:#f1f3ef}.article{max-width:1080px;margin:auto;padding:35px 30px 80px}.article-title{text-align:center;margin:25px 0 60px}.article-title h1{font:clamp(28px,4vw,50px)/1.4 Georgia,'Malgun Gothic',serif}.article figure{margin:0 0 45px}.article img{display:block;max-width:100%;max-height:90vh;width:auto;height:auto;margin:auto;cursor:zoom-in}.article figcaption{max-width:740px;margin:25px auto 50px;line-height:2;white-space:pre-wrap}.article .actions{justify-content:center}.back{font-size:14px;color:var(--muted)}footer{display:flex;gap:25px;align-items:center;padding:30px 5vw;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}footer span{margin-left:auto}footer button{border:0;background:none;color:inherit}dialog{border:1px solid var(--line);padding:45px 30px 30px;max-width:900px;width:calc(100% - 30px);max-height:90vh;background:var(--paper);color:var(--ink)}dialog::backdrop{background:#121918bb;backdrop-filter:blur(4px)}.close{position:absolute;right:16px;top:10px;font-size:27px;border:0;background:none}.zoom{display:block;max-width:100%;max-height:76vh;margin:auto}label{display:block;font-size:14px;margin:18px 0 8px}input:not([type=checkbox]),select,textarea{padding:12px;border:1px solid #bbc4be;background:white;color:var(--ink);width:100%;border-radius:0}textarea{min-height:100px;resize:vertical}.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:22px 0}.btn{border:1px solid var(--ink);padding:11px 18px;background:var(--ink);color:white;font-size:14px}.btn.secondary{color:var(--ink);background:transparent}.btn.danger{color:#933b35;background:transparent;border-color:#933b35}.edit-block{border:1px solid var(--line);padding:16px;margin:20px 0}.edit-block img{max-width:100%;max-height:220px;display:block}.edit-block label{display:flex;gap:10px;align-items:center}.edit-block .actions{margin:10px 0}.hint{font-size:14px;line-height:1.8;color:var(--muted)}#notice{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:white;padding:15px 24px;display:none;z-index:5;max-width:90vw}#notice.visible{display:block}.about{max-width:700px;line-height:2}.split{display:grid;grid-template-columns:1fr 1fr;gap:20px}@media(max-width:750px){header{display:block;padding:25px 6vw}.brand{font-size:23px}nav{gap:24px;margin-top:25px;overflow:auto;padding-bottom:5px}.home-intro{padding:35px 6vw 25px;display:block}.home-intro h1{letter-spacing:-1px}.intro-side{margin-top:20px}.hero{margin:0 6vw;aspect-ratio:1.6}.hero.reference{background-size:340% 352%;background-position:40.5% 61.7%}.hero-caption{margin:14px 6vw 45px;font-size:11px}.section{padding:0 6vw 45px}.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:25px 15px}.card h3{font-size:15px;line-height:1.5}.portfolio-grid{columns:2;column-gap:15px}.page-head{padding:40px 6vw 30px}.page-head h1{font-size:48px}.article{padding:25px 6vw 50px}.article-title{margin-bottom:35px}.split{grid-template-columns:1fr;gap:0}footer{flex-wrap:wrap;gap:16px}.section-head h2{font-size:25px}}@media(prefers-reduced-motion:no-preference){.card img{transition:opacity .2s}.card:hover img{opacity:.83}}

/* Soft typography for the photographic journal. */
body{font-weight:400;line-height:1.7;word-break:keep-all;overflow-wrap:anywhere;-webkit-font-smoothing:antialiased}.brand,.home-intro h1,.section-head h2,.page-head h1,.article-title h1{font-family:'Gowun Dodum','Malgun Gothic',sans-serif;font-weight:400}.brand{letter-spacing:2.5px}.brand span{font-family:'Gowun Dodum','Malgun Gothic',sans-serif;font-size:12px;letter-spacing:1.8px}nav{font-size:16px}.home-intro h1{letter-spacing:-1.5px;line-height:1.2}.page-head h1{line-height:1.25;letter-spacing:-1.5px}.intro-side,.hint,label,.btn{font-size:16px}.about{font-size:18px;line-height:2}.card h3{font-size:18px}.article-title h1{line-height:1.5}@media(max-width:750px){nav{font-size:15px;gap:22px}.brand{font-size:23px}.card h3{font-size:16px}.about{font-size:17px}}

.slide-stage{position:relative;touch-action:pan-y}.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.1s ease;pointer-events:none}.slide.current{opacity:1}.slide img{width:100%;height:100%;object-fit:contain;display:block}.slide-controls{display:flex;align-items:center;gap:14px;flex-shrink:0}.slide-controls button{border:1px solid var(--line);background:transparent;color:var(--ink);min-height:40px;min-width:40px;padding:6px 12px;font:inherit;font-size:14px}.slideshow .hero-caption{align-items:center;gap:18px}.story-links{display:flex;gap:20px}.slide-choice{display:flex;gap:10px;align-items:center;margin:15px 0;flex-wrap:wrap}.slide-choice img{width:100px;height:65px;object-fit:cover}.slide-choice span{margin-right:auto}.slide-stage:focus-visible{outline:2px solid var(--accent);outline-offset:4px}@media(max-width:750px){.slideshow .hero-caption{flex-wrap:wrap}.section-head{gap:16px;flex-wrap:wrap}.story-links{gap:20px}}@media(prefers-reduced-motion:reduce){.slide{transition:none}}

/* Quiet charcoal gallery, with an image-led home and artwork detail. */
body{background:var(--paper)}header{padding:25px 4vw;max-width:none}.hero,.portfolio-grid img{background:#272727}.close{color:var(--ink)}input:not([type=checkbox]),select,textarea{background:#383838;border-color:#696969;color:var(--ink)}.btn{background:var(--ink);color:#252525}.btn.secondary{background:transparent;color:var(--ink)}.btn.danger{color:#f0aaa2;border-color:#bd8078}#notice{color:#252525}input[type=checkbox],input[type=radio]{accent-color:#d5c2a7}a:hover{color:var(--accent)}.home-view header .brand{font-size:18px}.home-view header .brand span{display:none}.home-layout{display:grid;grid-template-columns:minmax(0,7fr) minmax(310px,3fr);max-width:1800px;margin:auto;min-height:calc(100svh - 160px)}.home-photo{min-width:0;display:flex;flex-direction:column;justify-content:center;background:#272727}.home-photo .slideshow{width:100%}.home-photo .hero{margin:0;aspect-ratio:auto;height:calc(100svh - 225px);min-height:380px;max-height:1000px}.home-photo .hero.reference{height:auto;min-height:0;aspect-ratio:2.74;background-size:201.5% 352%;background-position:34.8% 61.7%}.home-photo .hero-caption{margin:0;padding:18px 26px;min-height:70px;display:flex;gap:15px;flex-wrap:wrap}.home-sidebar{padding:65px 32px 30px;display:flex;flex-direction:column;border-left:1px solid var(--line)}.home-identity h1{font-size:clamp(23px,2.2vw,36px);font-weight:400;letter-spacing:1.7px;margin:12px 0}.home-identity .eyebrow{font-size:12px;letter-spacing:1.2px}.home-note{font-size:15px;color:var(--muted)}.home-menu{display:flex;flex-direction:column;gap:0;margin:35px 0 45px}.home-menu a{padding:11px 0;display:flex;justify-content:space-between;font-size:19px}.home-menu a span{font-size:14px;color:var(--muted)}.home-updates{margin-top:auto}.home-updates .section-head{padding:20px 0;gap:12px}.home-updates h2{font-size:23px}.home-updates .grid{grid-template-columns:1fr 1fr;gap:14px}.home-updates .card h3{font-size:15px}.home-updates .card img{aspect-ratio:1;object-fit:cover}.home-updates .meta{font-size:12px;letter-spacing:0}.portfolio-detail{max-width:1800px;margin:auto}.artwork{background:#272727;display:flex;justify-content:center;align-items:center}.artwork img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100svh - 105px);object-fit:contain}.artwork-info{padding:45px 5vw 65px}.artwork-info h1{font-size:26px;font-weight:400;margin:15px 0 25px}.artwork-text{max-width:900px;white-space:pre-wrap;line-height:2;color:var(--muted)}.artwork-nav{display:flex;gap:28px;flex-wrap:wrap;margin-top:45px;font-size:16px}.artwork-nav span{color:#969696}.article{max-width:1200px}.article figcaption{color:var(--ink)}
@media(max-width:900px){.home-layout{grid-template-columns:minmax(0,6fr) minmax(280px,4fr)}.home-sidebar{padding:40px 24px}.home-photo .hero{min-height:320px}.home-identity h1{font-size:24px}}
@media(max-width:750px){header{padding:22px 6vw}.home-view header .brand{font-size:22px}.home-layout{display:flex;flex-direction:column;min-height:0}.home-photo .hero{height:55svh;min-height:260px;max-height:700px}.home-sidebar{border-left:0;border-top:1px solid var(--line);padding:30px 6vw}.home-identity h1{font-size:30px}.home-menu{margin:20px 0 35px;overflow:visible}.home-updates .grid{gap:20px}.home-photo .hero-caption{padding:15px 6vw}.artwork img{max-height:80svh}.artwork-info{padding:30px 6vw 50px}.artwork-nav{gap:24px}.artwork-info h1{font-size:23px}}

/* Compact home identity and navigation, one photograph per visit. */
.home-sidebar{padding:38px 28px 25px;justify-content:flex-start}.home-identity{text-align:right}.home-identity .eyebrow{margin:0;font-size:12px;line-height:1.25;letter-spacing:.8px}.home-identity h1{margin:3px 0;font-size:clamp(23px,2.15vw,34px);line-height:1.15;letter-spacing:1px}.home-note{margin:4px 0 0;font-size:13px;line-height:1.35}.featured-caption{margin-top:22px;text-align:right;font-size:14px;line-height:1.5;color:var(--muted)}.featured-caption p{margin:3px 0}.featured-caption>a{color:var(--ink)}.featured-description{white-space:pre-wrap;max-height:9em;overflow:auto}.home-menu{margin:22px 0 35px;gap:0;align-items:flex-end}.home-menu a{display:block;font-size:15px;line-height:1.35;padding:2px 0;border:0;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}.home-updates .section-head{justify-content:flex-start;align-items:baseline;gap:5px;padding:14px 0 10px;border:0}.home-updates .section-head h2{font-size:18px;line-height:1.3}.home-updates .more-link{font-size:15px;text-decoration:underline;text-underline-offset:3px}.home-updates .card h3,.home-updates .meta{display:none}.home-updates .grid{gap:12px}.random-artwork{display:flex;width:100%;min-height:calc(100svh - 160px);align-items:center;justify-content:center}.random-artwork img{display:block;max-width:100%;width:auto;height:auto;max-height:calc(100svh - 160px);object-fit:contain}.updates-heading{max-width:1200px;padding-top:40px;padding-bottom:25px}.updates-heading h1{font-size:32px;letter-spacing:0}.updates-section{max-width:1200px}.updates-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:25px}.updates-grid .card img{aspect-ratio:1;object-fit:cover}.updates-grid .card h3{font-size:15px;margin:8px 0 3px}.updates-grid .meta{font-size:12px}.updates-pagination{display:flex;justify-content:center;gap:28px;align-items:center;margin-top:35px;font-size:15px}.updates-pagination a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:1050px){.updates-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:750px){.home-sidebar{padding:24px 6vw}.home-identity h1{font-size:28px;margin:3px 0}.home-menu{margin:20px 0 30px}.home-menu a{font-size:15px;min-height:30px;display:flex;align-items:center}.random-artwork{min-height:0}.random-artwork img{max-height:65svh}.updates-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.home-updates{margin-top:0}.updates-heading h1{font-size:28px}}

/* TCat-inspired collection pages: compact label, vertical rule, content field. */
.collection-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:0;max-width:1500px;min-height:72vh;margin:0 auto;padding:55px 5vw 80px}.collection-title{padding:3px 34px 0 0;border-right:1px solid var(--line);text-align:right}.collection-title h1{margin:0;font-size:30px;font-weight:400;line-height:1.2;letter-spacing:-.5px}.collection-title .btn{margin-top:24px;font-size:13px;padding:8px 12px}.collection-content{padding-left:42px;min-width:0}.collection-content .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 22px}.collection-content .portfolio-grid{columns:3}.board-list{display:flex;flex-direction:column}.board-list .card{padding:18px 4px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:70px minmax(0,1fr) auto;gap:18px;align-items:baseline}.board-list .card h3{margin:0;font-size:17px}.board-list .meta{white-space:nowrap}.text-card-mark{font-size:12px;color:var(--muted);letter-spacing:1px}.updates-grid .text-card{aspect-ratio:1;background:#393939;padding:18px;display:flex;flex-direction:column;justify-content:flex-end}.updates-grid .text-card .text-card-mark{margin-bottom:auto}.home-updates .text-card{aspect-ratio:1;background:#393939;padding:12px;display:flex;align-items:flex-end}.home-updates .text-card .text-card-mark{font-size:11px}.home-updates .text-card h3,.home-updates .text-card .meta{display:none}
@media(max-width:1000px){.collection-layout{grid-template-columns:190px minmax(0,1fr)}.collection-content{padding-left:28px}.collection-content .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-content .portfolio-grid{columns:2}}
@media(max-width:750px){.collection-layout{display:block;padding:34px 6vw 55px}.collection-title{border-right:0;border-bottom:1px solid var(--line);padding:0 0 20px;text-align:left;display:flex;justify-content:space-between;align-items:center}.collection-title h1{font-size:27px}.collection-title .btn{margin:0}.collection-content{padding:28px 0 0}.collection-content .grid{gap:26px 15px}.board-list .card{grid-template-columns:52px minmax(0,1fr);gap:10px}.board-list .meta{grid-column:2;white-space:normal}.collection-content .portfolio-grid{columns:2}}

/* About keeps the supplied photograph and original introduction in the gallery frame. */
.about-layout .collection-content{max-width:1080px}.about-photo{width:100%;aspect-ratio:1.82;background-image:url('/about-source.png');background-repeat:no-repeat;background-size:176.7% auto;background-position:15% 5.7%;background-color:#242424}.about-copy{padding:38px 0 10px}.about-message{text-align:center;font-size:18px;line-height:1.8}.about-message p{margin:0 0 24px}.about-message .since{margin-top:42px;font-size:15px;color:var(--muted)}.about-signature{margin:65px 0 0 auto;width:max-content;max-width:100%;display:flex;flex-direction:column;gap:5px;text-align:right;color:var(--muted);font-size:14px}.about-signature strong{color:var(--ink);font-weight:400;letter-spacing:4px}.about-signature a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:750px){.about-photo{aspect-ratio:1.82}.about-copy{padding-top:30px}.about-message{font-size:16px}.about-message p{margin-bottom:19px}.about-signature{margin-top:45px;font-size:13px}}

/* Compact masthead hierarchy on collection and detail pages. */
body:not(.home-view) header .brand{font-size:31px;line-height:1.05;letter-spacing:1.8px}
body:not(.home-view) header .brand span{font-size:9px;line-height:1.1;letter-spacing:1.6px;margin-top:5px;color:var(--muted);text-align:center}
.about-photo-custom{width:100%;background:#242424;display:flex;justify-content:center;align-items:center}.about-photo-custom img{display:block;max-width:100%;width:auto;height:auto;max-height:72vh;object-fit:contain}.about-admin-preview{margin:20px 0;background:#242424;padding:12px}.about-admin-preview img{display:block;max-width:100%;max-height:320px;margin:auto}
@media(max-width:750px){body:not(.home-view) header .brand{font-size:25px}body:not(.home-view) header .brand span{font-size:8px}.about-photo-custom img{max-height:65vh}}

.post-edit-row{display:flex;justify-content:flex-end;margin:34px 0 14px}.edit-link{border:0;border-bottom:1px solid var(--muted);background:transparent;color:var(--muted);padding:3px 1px;font-size:12px;line-height:1.3}.edit-link:hover{color:var(--ink);border-color:var(--ink)}

.align-left{text-align:left}.align-center{text-align:center}.align-right{text-align:right}
