:root{--black:#111214;--ink:#242528;--mid:#6e6e73;--line:rgba(17,18,20,.14);--paper:#fafaf9;--soft:#f3f3f1;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:"Pretendard Variable",Pretendard,system-ui,sans-serif;color:var(--ink);background:var(--paper);word-break:keep-all;-webkit-font-smoothing:antialiased}.skip{position:fixed;top:-60px;left:12px;z-index:100;background:#fff;color:#000;padding:12px}.skip:focus{top:12px}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}.site-header{height:78px;padding:0 max(20px,calc((100vw - var(--max))/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:10px;font-size:18px;font-weight:700;letter-spacing:-.02em}.brand svg{width:25px;height:19px;fill:#000}.site-header nav{display:flex;align-items:center;gap:30px}.site-header nav a{font-size:12px;font-weight:650;letter-spacing:.1em}.site-header nav a:hover{opacity:.5}.menu-button{display:none;border:0;background:none;font-size:12px;font-weight:700;letter-spacing:.1em}.hero{min-height:calc(100vh - 78px);padding:100px max(20px,calc((100vw - var(--max))/2)) 44px;background:#000;color:#fff;display:flex;flex-direction:column;justify-content:center;position:relative}.eyebrow,.section-label{font-size:12px;font-weight:650;letter-spacing:.16em;color:var(--mid);margin-bottom:28px}.hero .eyebrow{color:rgba(255,255,255,.58)}h1{font-size:clamp(52px,7vw,96px);line-height:1.02;letter-spacing:-.055em;margin:0;max-width:980px}h2{font-size:clamp(34px,4.1vw,58px);line-height:1.13;letter-spacing:-.045em;margin:0;color:#000}h3{font-size:22px;line-height:1.25;letter-spacing:-.025em;margin:0}.hero>p{font-size:clamp(17px,1.8vw,22px);line-height:1.7;color:rgba(255,255,255,.78);max-width:640px;margin:32px 0}.actions{display:flex;align-items:center;gap:28px}.button{display:inline-flex;min-height:50px;align-items:center;justify-content:center;padding:0 22px;background:#000;color:#fff;border:1px solid #000;font-weight:650;font-size:14px}.button.inverse{background:#fff;color:#000;border-color:#fff}.text-link{font-weight:650;border-bottom:1px solid rgba(0,0,0,.35);padding-bottom:4px}.text-link.light{border-color:rgba(255,255,255,.4)}.hero-index{position:absolute;bottom:34px;right:max(20px,calc((100vw - var(--max))/2));display:flex;gap:24px;color:rgba(255,255,255,.48);font-size:12px;text-transform:uppercase;letter-spacing:.12em}.section{padding:112px max(20px,calc((100vw - var(--max))/2))}.split-head{display:grid;grid-template-columns:1.65fr .8fr;gap:60px;align-items:end}.split-head>p,.lead{font-size:18px;line-height:1.75;margin:0;color:#424245}.research-list{margin-top:84px;border-top:1px solid var(--line)}.research-list article{display:grid;grid-template-columns:70px 1.2fr 1fr;gap:36px;padding:34px 0;border-bottom:1px solid var(--line);align-items:start}.research-list article>span{font-size:12px;color:var(--mid)}.research-list article p{margin:0;color:var(--mid);line-height:1.7}.experience{border-top:1px solid var(--line)}.experience-grid{display:grid;grid-template-columns:1.35fr 1fr;gap:100px;margin-top:70px}.experience-grid ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--line)}.experience-grid li{padding:17px 0;border-bottom:1px solid var(--line);font-weight:600}.dark{background:#000;color:#fff}.dark h2{color:#fff}.dark .split-head p{color:rgba(255,255,255,.68)}.project-list{margin:76px 0 38px;border-top:1px solid rgba(255,255,255,.18)}.project-row{display:grid;grid-template-columns:80px 1.5fr 1fr 120px;gap:32px;padding:28px 0;border-bottom:1px solid rgba(255,255,255,.18);align-items:center}.project-row .num,.project-row .meta{font-size:12px;color:rgba(255,255,255,.48)}.project-row h3{font-size:25px}.status{border:1px solid rgba(255,255,255,.44);padding:8px 10px;text-align:center;font-size:12px}.process-flow{list-style:none;margin:74px 0 0;padding:0;display:grid;grid-template-columns:repeat(6,1fr);border-top:1px solid var(--line)}.process-flow li{padding:20px 20px 0 0;min-height:140px;border-right:1px solid var(--line)}.process-flow li:last-child{border:0}.process-flow b,.process-flow span{display:block}.process-flow b{font-size:15px}.process-flow span{font-size:13px;line-height:1.55;color:var(--mid);margin-top:12px}.digital{border-top:1px solid var(--line)}.digital-lines{margin-top:70px;margin-left:calc(50% + 20px);border-top:1px solid var(--line)}.digital-lines p{font-size:20px;font-weight:600;margin:0;padding:23px 0;border-bottom:1px solid var(--line)}.outputs{background:var(--soft)}.output-tabs{display:flex;flex-wrap:wrap;gap:22px;margin:64px 0 16px;border-bottom:1px solid var(--line)}.output-tabs button{border:0;background:none;padding:0 0 14px;font-size:14px;color:var(--mid);cursor:pointer}.output-tabs button.active{color:#000;font-weight:700;border-bottom:2px solid #000}.output-row,.insight-row{display:grid;grid-template-columns:150px 1fr 100px;gap:30px;padding:24px 0;border-bottom:1px solid var(--line);align-items:start}.output-row .type,.output-row .year,.insight-row .type,.insight-row .date{font-size:13px;color:var(--mid)}.output-row h3,.insight-row h3{font-size:19px}.output-row p,.insight-row p{font-size:14px;line-height:1.65;color:var(--mid);margin:7px 0 0}.empty-note{padding:36px 0;border-bottom:1px solid var(--line);color:var(--mid)}.archive{background:#fff}.director{background:#000;color:#fff}.director h2{color:#fff}.director-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:100px}.director .role{line-height:1.65;color:rgba(255,255,255,.72);margin:0 0 22px}.degree{color:rgba(255,255,255,.6)}.director .lead{color:#fff;font-size:23px}.director-grid>div:last-child>p:not(.lead){color:rgba(255,255,255,.68);line-height:1.8}.profile-links{display:flex;gap:26px;margin-top:36px}.profile-links a{font-weight:650;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:4px}.value-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:0 60px;margin-top:70px;border-top:1px solid var(--line)}.value-grid p{font-size:18px;font-weight:600;margin:0;padding:22px 0;border-bottom:1px solid var(--line)}.partnership{display:grid;grid-template-columns:1.15fr .85fr;gap:90px;border-top:1px solid var(--line)}.partnership p{font-size:18px;line-height:1.75;margin:0 0 30px}footer{padding:64px max(20px,calc((100vw - var(--max))/2));background:#000;color:#fff}footer .inverse-brand svg{fill:#fff}footer>p{color:rgba(255,255,255,.6);margin:20px 0 42px}footer>div:nth-of-type(2){display:flex;gap:28px;margin-bottom:60px}footer small{color:rgba(255,255,255,.45)}.admin-link{border:0;background:none;color:#fff;padding:0;border-bottom:1px solid rgba(255,255,255,.35);cursor:pointer}dialog{width:min(900px,calc(100% - 24px));max-height:90vh;border:0;padding:0;box-shadow:0 20px 80px rgba(0,0,0,.28)}dialog::backdrop{background:rgba(0,0,0,.64)}.dialog-close{position:absolute;right:18px;top:15px;border:0;background:none;font-size:30px;cursor:pointer;z-index:2}.admin-head,#library-content{padding:54px 54px 30px}.admin-head span{font-size:12px;letter-spacing:.14em}.admin-head h2{font-size:40px;margin-top:12px}.admin-head p{color:var(--mid)}#admin-content{padding:0 54px 54px}.admin-tabs{display:flex;gap:18px;border-bottom:1px solid var(--line);margin-bottom:28px}.admin-tabs button{border:0;background:none;padding:14px 0;cursor:pointer}.admin-tabs button.active{font-weight:700;border-bottom:2px solid #000}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-form label{font-size:13px;font-weight:600}.admin-form label span{display:block;margin-bottom:7px}.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid #bbb;padding:12px;background:#fff}.admin-form textarea{min-height:110px}.admin-form .wide{grid-column:1/-1}.admin-actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap}.admin-actions button,.admin-actions label{border:1px solid #000;background:#000;color:#fff;padding:12px 16px;cursor:pointer;font-size:13px}.admin-actions .secondary{background:#fff;color:#000}.admin-record{display:grid;grid-template-columns:1fr auto;gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}.admin-record button{border:0;background:none;text-decoration:underline;cursor:pointer}.library-head{padding-bottom:22px;border-bottom:1px solid var(--line)}.library-head h2{font-size:40px}.library-items{padding-bottom:40px}
@media(max-width:800px){.site-header{height:66px}.menu-button{display:block}.site-header nav{position:absolute;top:66px;left:0;right:0;background:#fff;padding:22px 20px 28px;border-bottom:1px solid var(--line);display:none;flex-direction:column;align-items:flex-start;gap:20px}.site-header nav.open{display:flex}.hero{min-height:calc(100vh - 66px);padding-top:70px}.hero-index{display:none}.section{padding-top:72px;padding-bottom:72px}.split-head,.experience-grid,.director-grid,.partnership{grid-template-columns:1fr;gap:34px}.research-list{margin-top:48px}.research-list article{grid-template-columns:38px 1fr;gap:18px}.research-list article p{grid-column:2}.project-row{grid-template-columns:38px 1fr}.project-row .meta,.project-row .status{grid-column:2}.process-flow{grid-template-columns:1fr 1fr}.process-flow li{border-bottom:1px solid var(--line);min-height:120px}.digital-lines{margin-left:0;margin-top:42px}.output-row,.insight-row{grid-template-columns:90px 1fr}.output-row .year,.insight-row .date{grid-column:2}.value-grid{grid-template-columns:1fr}.profile-links{flex-direction:column;align-items:flex-start}.admin-head,#library-content{padding:44px 22px 24px}#admin-content{padding:0 22px 36px}.admin-form{grid-template-columns:1fr}.admin-form .wide{grid-column:auto}}

/* v1.1.10 — featured projects and responsive rhythm */
.project-list{margin:64px 0 34px}.project-link{display:block}.project-row{grid-template-columns:64px minmax(0,1fr) minmax(220px,280px);gap:36px;padding:34px 0;align-items:start}.project-row .num{padding-top:6px}.project-copy{min-width:0}.project-copy h3{font-size:clamp(22px,1.7vw,27px);line-height:1.3}.project-copy p{max-width:760px;margin:12px 0 0;color:rgba(255,255,255,.72);font-size:15px;line-height:1.68}.project-thumb{display:block;width:100%;max-width:680px;max-height:320px;object-fit:cover;margin:0 0 22px}.project-aside{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding-top:5px}.project-row .meta{line-height:1.55}.project-row .status{border:0;padding:0;text-align:left;color:rgba(255,255,255,.78);font-size:12px;font-weight:650;line-height:1.5}.process{padding-top:88px;padding-bottom:88px;border-top:1px solid var(--line)}.process h2{max-width:760px}.process-flow{margin-top:52px}.process-flow li{min-height:112px;padding:18px 18px 18px 0}.library-items .project-link .output-row{transition:background-color .2s ease}.library-items .project-link:hover .output-row{background:var(--soft)}
@media(max-width:1100px) and (min-width:801px){.project-row{grid-template-columns:52px minmax(0,1fr) 200px;gap:24px}.project-copy h3{font-size:22px}.project-copy p{font-size:14px}.process-flow{grid-template-columns:repeat(3,1fr)}.process-flow li{min-height:108px;border-bottom:1px solid var(--line)}.process-flow li:nth-child(3n){border-right:0}}
@media(max-width:800px){.project-list{margin:48px 0 30px}.project-row{grid-template-columns:30px minmax(0,1fr);gap:12px 14px;padding:26px 0}.project-row .num{padding-top:4px}.project-copy h3{font-size:20px;line-height:1.35}.project-copy p{margin-top:10px;font-size:14px;line-height:1.65}.project-thumb{margin-bottom:18px}.project-aside{grid-column:2;gap:6px;padding-top:2px}.project-row .meta,.project-row .status{grid-column:auto}.process{padding-top:68px;padding-bottom:68px}.process-flow{margin-top:42px}.process-flow li{min-height:104px;padding:17px 16px 17px 0}}
@media(max-width:520px){.process-flow{grid-template-columns:1fr}.process-flow li{min-height:auto;padding:18px 0;border-right:0}.project-row{grid-template-columns:26px minmax(0,1fr);gap:10px 12px}.project-copy h3{font-size:19px}.project-copy p{font-size:13.5px}}

/* v1.1.12 — resume archive and responsive long titles */
dialog{overflow:auto}.library-items .output-row p{max-width:640px}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.content-link{display:block}.content-link:hover h3{text-decoration:underline}.project-thumb{width:58px;height:58px;object-fit:cover}.output-thumb{width:96px;height:68px;object-fit:cover}.output-row small{display:block;margin-top:7px;color:var(--mid)}.dark-empty{color:rgba(255,255,255,.65)}
.output-detail-dialog{width:min(880px,calc(100% - 24px))}#output-detail-content{padding:54px}.output-detail-head{padding-right:42px}.output-detail-head .section-label{margin-bottom:18px}.output-detail-head h2{font-size:40px;line-height:1.2}.output-title-en{font-size:16px;line-height:1.6;color:var(--mid);margin:14px 0 0}.output-detail-summary{font-size:18px;line-height:1.75;color:#424245;margin:28px 0 0}.output-detail-image{display:block;width:100%;max-height:380px;object-fit:cover;margin:34px 0 0}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 40px;margin:40px 0 0;border-top:1px solid var(--line)}.detail-grid:empty{display:none}.detail-grid>div{padding:18px 0;border-bottom:1px solid var(--line)}.detail-grid dt{font-size:12px;font-weight:650;letter-spacing:.04em;color:var(--mid);margin-bottom:7px}.detail-grid dd{font-size:15px;line-height:1.65;margin:0}.detail-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:32px}.detail-links .button{min-height:46px}
.output-row h3{word-break:normal;overflow-wrap:anywhere;line-height:1.4}.library-head p{color:var(--mid);line-height:1.65;margin:14px 0 0}.library-items .output-row{grid-template-columns:64px minmax(0,1fr) 120px}.library-items .output-row .year{text-align:right}
@media(max-width:800px){.library-items .output-row{grid-template-columns:34px minmax(0,1fr)}.library-items .output-row .year{grid-column:2;text-align:left}.output-detail-head h2{font-size:30px;overflow-wrap:anywhere;word-break:normal}}
@media(max-width:800px){#output-detail-content{padding:44px 22px 32px}.output-detail-head{padding-right:24px}.output-detail-head h2{font-size:30px}.output-detail-summary{font-size:17px}.detail-grid{grid-template-columns:1fr;gap:0}.detail-links{flex-direction:column}.detail-links .button{width:100%}}

/* v1.1.2 — charcoal palette and field/lifespan hero */
.brand svg{fill:var(--black)}
.hero{background-color:var(--black);background-image:linear-gradient(rgba(17,18,20,.78),rgba(17,18,20,.78)),url("hero-field-lifespan.webp");background-size:cover;background-position:center}
.dark,.director,footer{background:var(--black)}
h2{color:var(--black)}
.button{background:var(--black);border-color:var(--black)}
.button.inverse{background:#fff;color:var(--black);border-color:#fff}
.output-tabs button.active{color:var(--black);border-bottom-color:var(--black)}
.admin-tabs button.active{border-bottom-color:var(--black)}
.admin-actions button,.admin-actions label{background:var(--black);border-color:var(--black)}
.admin-actions .secondary{background:#fff;color:var(--black)}
@media(max-width:800px){.hero{background-image:linear-gradient(rgba(17,18,20,.82),rgba(17,18,20,.82)),url("hero-field-lifespan.webp");background-position:72% center}}

/* v1.1.3 — restrained external channel links */
footer .footer-channel-links{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0 0 24px}
footer .footer-channel-links a{font-size:13px;font-weight:650;letter-spacing:.025em;border-bottom:1px solid rgba(255,255,255,.28);padding-bottom:4px}
footer .footer-channel-links a:hover{border-bottom-color:#fff}
footer .footer-utility{display:flex;flex-wrap:wrap;gap:12px 28px;margin:0 0 60px;color:rgba(255,255,255,.7)}
@media(max-width:800px){footer .footer-channel-links{gap:16px 22px}footer .footer-utility{margin-bottom:48px}}

/* v1.1.6 — official CI assets; preserve original proportions */
.brand-logo{display:block;width:154px;max-width:100%;height:auto;flex:none}.site-header .brand-logo{width:150px}footer .brand-logo{width:172px}
@media(max-width:800px){.site-header .brand-logo{width:142px}}
