body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Pretendard Variable,Pretendard,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;margin:0}code{background:#f5f0eb;border-radius:4px;color:#5a4232;font-family:SFMono-Regular,SF Mono,Menlo,Monaco,Consolas,monospace;font-size:.88em;font-weight:500;padding:.12em .4em}.books-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.book-card{background:#fafaf8;border:1px solid #e8e6e1;border-radius:12px;display:flex;gap:18px;min-height:170px;padding:20px}.book-card--link{cursor:pointer;transition:transform .2s ease,box-shadow .25s ease,background .2s ease}.book-card--link:hover{background:#f3f1ed;box-shadow:0 6px 20px #0000000f;transform:translateY(-2px)}.book-card__image{border-radius:6px;box-shadow:0 2px 8px #0000001a;height:130px;min-width:90px;object-fit:cover;width:90px}.book-card__body{display:flex;flex-direction:column;gap:6px}.book-card__title{color:#1a1a1a;font-size:15px;font-weight:700;line-height:1.4}.book-card__description{color:#555;font-size:14px;line-height:1.7}.book-card__link{align-self:flex-start;background:#1a1a1a;border-radius:999px;color:#fff!important;font-size:11.5px;font-weight:700;letter-spacing:.04em;margin-top:auto;padding:7px 16px;text-transform:uppercase;transition:background .2s,transform .15s}.book-card__link:hover{background:#333;color:#fff!important;text-decoration:none;transform:translateY(-1px)}.about-books-hint{color:#bbb;font-size:13px;font-style:italic;margin-top:12px;text-align:center}@media (max-width:720px){.books-grid{grid-template-columns:1fr}.book-card{align-items:flex-start;flex-direction:column}.book-card__image{height:145px;width:100px}}.projects-main{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(3,1fr);margin-bottom:8px}.projects-layout{display:flex;flex-direction:column;gap:36px;width:100%}.project-section{border-top:1px solid #e8e6e1;padding-top:28px}.project-section:first-child{border-top:none;padding-top:0}.project-section__header{margin-bottom:18px}.project-section__title{color:#1a1a1a;font-size:20px;font-weight:700;letter-spacing:-.01em;margin:0 0 4px}.project-section__subtitle{color:#888;font-size:14px;margin:0}.project-feature{background:#fff;border:1px solid #e8e6e1;border-radius:14px;cursor:pointer;display:flex;gap:0;overflow:hidden;transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease}.project-feature:hover{border-color:#ccc;box-shadow:0 10px 28px #00000014;transform:translateY(-3px)}.project-feature__image{min-height:200px;min-width:320px;object-fit:cover;object-position:center;width:320px}.project-feature__body{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:24px 28px}.project-feature__title{color:#1a1a1a;font-size:18px;font-weight:700;line-height:1.35;margin:0}.project-feature__text{color:#555;font-size:14.5px;line-height:1.7;margin:0}.project-feature__tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.project-feature__tag{background:#fafaf8;border:1px solid #e0ddd8;border-radius:999px;color:#666;font-size:12px;font-weight:600;padding:3px 10px}.project-feature__period{font-feature-settings:"tnum";color:#999;font-size:13px;font-variant-numeric:tabular-nums;margin-top:auto}.project-feature__cta{color:#2a5a84;font-size:13.5px;font-weight:600;letter-spacing:-.01em;transition:color .15s}.project-feature:hover .project-feature__cta{color:#1a3d5c}.projects-card{background:#fff;border:1px solid #e8e6e1;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease;width:100%}.projects-card:hover{border-color:#ccc;box-shadow:0 8px 24px #00000014;transform:translateY(-3px)}.projects-card__image{height:150px;object-fit:cover;object-position:center;width:100%}.projects-card__body{display:flex;flex:1 1;flex-direction:column;gap:8px;padding:16px 18px 18px}.projects-card__title{align-items:center;color:#1a1a1a;display:flex;font-size:15px;font-weight:700;line-height:1.4;margin:0;min-height:42px}.projects-card__text{color:#666;font-size:13.5px;line-height:1.6}.projects-card__period{font-feature-settings:"tnum";color:#999;font-size:12.5px;font-variant-numeric:tabular-nums;margin-top:auto;padding-top:8px}.gallery{background:#fff;border:1px solid #e8e6e1;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;margin:0;overflow:hidden;transition:transform .2s,box-shadow .2s;width:100%}.gallery:hover{box-shadow:0 6px 20px #00000014;transform:translateY(-2px)}.gallery img{height:140px;object-fit:cover;object-position:center;width:100%}.gallery-body{display:flex;flex:1 1;flex-direction:column;padding:12px 14px 14px}.projects-title{align-items:center;color:#333;display:flex;font-size:13.5px;font-weight:600;justify-content:center;margin:0;min-height:44px;padding:10px 12px;text-align:center}.projects-text{color:#666;font-size:13px;line-height:1.55;padding:0;text-align:center}.projects-period{color:#aaa;font-size:12px;margin-top:auto;padding-top:12px;text-align:center}.projects-empty{background:#fafaf9;border:1px dashed #d8d8d8;border-radius:10px;color:#888;padding:20px}@media (max-width:768px){.projects-layout{gap:24px}.project-feature{flex-direction:column}.project-feature__image{height:180px;min-height:0;min-width:0;width:100%}.project-feature__body{padding:20px}.projects-main{grid-template-columns:1fr}.gallery,.projects-card{width:100%}}*{box-sizing:border-box;margin:0;padding:0}html{height:100%}body{background:#f5f4f1;color:#1a1a1a;font-size:15px;font-weight:400;line-height:1.75;min-height:100%;padding-bottom:60px}a{color:inherit;text-decoration:none}.container{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000000a,0 8px 32px #0000000f;margin:48px auto 0;max-width:1020px;padding:52px 56px 56px;position:relative;width:min(1020px,calc(100vw - 40px))}.header{border-bottom:1px solid #e8e6e1;margin-bottom:20px;padding-bottom:24px}.header .full-name{color:#111;font-family:Newsreader,Pretendard Variable,serif;font-size:38px;font-weight:600;letter-spacing:-.02em;line-height:1.2;margin-bottom:10px}.header .first-name{font-weight:700}.header .last-name{color:#666;font-weight:300}.header .contact-info{align-items:center;color:#444;display:flex;flex-wrap:wrap;font-size:14px;gap:6px 0;margin-bottom:16px}.header .contact-info a{color:#2a5a84;transition:color .15s}.header .contact-info a:hover{color:#1a3d5c}.header .email,.header .phone{color:#888;font-size:13px;font-weight:500}.header .separator{border-left:1px solid #d0d0d0;display:inline-block;height:12px;margin:0 12px;vertical-align:middle}.header .about{margin-top:6px}.header .position{color:#111;display:inline-block;font-size:15px;font-weight:700;margin-right:10px;text-decoration:none}.header .desc{color:#555;font-size:14.5px}.tabs{border-bottom:2px solid #e8e6e1;display:flex;gap:4px;margin-bottom:36px;padding-bottom:0}.tab{background:none;border:none;border-bottom:2px solid #0000;color:#999;cursor:pointer;flex:1 1;font-family:Pretendard Variable,sans-serif;font-size:14px;font-weight:600;letter-spacing:.03em;margin-bottom:-2px;outline:none;padding:12px 0 14px;text-align:center;text-transform:uppercase;transition:color .2s,border-color .2s}.tab:hover{color:#555}.tab-active{border-bottom-color:#1a1a1a;color:#1a1a1a}.details{line-height:1.75}.details .section{margin-bottom:44px}.details .section:last-of-type{margin-bottom:0}.details .section__list{margin-bottom:4px}.details .section__list-item{margin-bottom:24px}.details .section__list-item:last-of-type{margin-bottom:0}.details .text{border-left:3px solid #e8e6e1;color:#333;font-size:15px;line-height:1.8;margin-bottom:10px;padding-left:14px}.details .left,.details .right{display:inline-block;vertical-align:top}.details .left{width:58%}.details .right{text-align:right;width:41%}.details .name{color:#1a1a1a;font-size:15px;font-weight:700;margin-bottom:2px}.details .desc{color:#888;font-size:13.5px}.details a{color:#2a5a84;font-style:normal;transition:color .15s}.details a:hover{color:#1a3d5c;text-decoration:underline}.addr-line{color:#1a1a1a;font-weight:600;text-decoration:none}.addr{color:#555;font-size:14px}.skill-columns{grid-column-gap:20px;grid-row-gap:0;column-gap:20px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:0}.skill-column{background:#fafaf8;border:1px solid #eeece8;border-radius:10px;display:flex;flex-direction:column;gap:5px;height:100%;min-width:0;padding:16px}.skill-header{border-bottom:1px solid #e0ddd8;color:#1a1a1a;font-size:14px;font-weight:700;margin-bottom:6px;padding-bottom:6px}.skill-cell{font-size:14px;line-height:1.7;min-width:0}.skill-cell-legacy{margin-top:auto;opacity:.5;padding-top:14px}.pdf-download-btn{background:#0000;border:1px solid #ddd;border-radius:8px;color:#666;cursor:pointer;font-family:Pretendard Variable,sans-serif;font-size:13px;padding:6px 14px;position:absolute;right:16px;top:16px;transition:background .2s,color .2s,border-color .2s}.pdf-download-btn:hover{background:#1a1a1a;border-color:#1a1a1a;color:#fff}@media (max-width:768px){.container{border-radius:12px;margin-top:16px;padding:32px 24px;width:calc(100vw - 24px)}.header .full-name{font-size:28px}.skill-columns{grid-template-columns:1fr;row-gap:12px}.details .left,.details .right{display:block;text-align:left;width:100%}.details .right{margin-top:12px}.tabs{margin-bottom:24px}.tab{font-size:12px;padding:8px 0 10px}}.project-title{color:#111;font-family:Newsreader,Pretendard Variable,serif;font-size:clamp(26px,3vw,34px);font-weight:600;letter-spacing:-.02em;line-height:1.3;margin-bottom:28px;text-align:center}.project-text{color:#333;font-size:14.5px;line-height:1.8;margin-bottom:8px}.details .left .addr{color:#555;font-size:14px}.details .section__title{border-bottom:2px solid #1a1a1a;color:#1a1a1a;font-size:16px;font-weight:700;letter-spacing:.02em;line-height:1.4;margin-bottom:16px;padding-bottom:10px;text-transform:uppercase}.star-story{background:#fafaf8;border:1px solid #eeece8;border-radius:10px;margin-bottom:20px;padding:20px 22px}.star-story:last-child{margin-bottom:0}.star-story__title{color:#1a1a1a;font-size:15px;font-weight:700;margin-bottom:12px}.star-story__row{color:#333;display:flex;font-size:14px;gap:8px;line-height:1.75;margin-bottom:6px}.star-story__row:last-child{margin-bottom:0}.star-story__label{color:#888;flex-shrink:0;font-size:12px;font-weight:700;letter-spacing:.03em;padding-top:2px;text-transform:uppercase;width:68px}.star-story__content{flex:1 1}.tech-tradeoff-grid{grid-gap:28px;display:grid;gap:28px;grid-template-columns:1fr 1fr}.tech-tradeoff-grid .section__title{margin-top:0}.modal{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#000000d9;display:flex;height:100%;justify-content:center;left:0;overflow:auto;position:fixed;top:0;width:100%;z-index:100}.modal-content{border-radius:8px;display:block;margin:auto;max-width:700px;width:80%}.close{color:#fff;cursor:pointer;font-size:36px;font-weight:300;opacity:.7;position:absolute;right:32px;top:20px;transition:opacity .2s}.close:hover{opacity:1}.rep-image{border-radius:10px;width:100%}.rep-image--narrow{border-radius:10px;display:block;margin:0 auto;width:min(100%,400px)}.process-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}.process-card{background:#fafaf8;border:1px solid #eeece8;border-radius:12px;display:block;padding:20px;text-decoration:none;transition:transform .2s ease,box-shadow .25s ease,border-color .2s ease}.process-card:hover{border-color:#ccc;box-shadow:0 8px 24px #0000000f;transform:translateY(-2px)}.process-card__title{color:#1a1a1a;font-size:18px;font-weight:700}.process-card__meta{color:#999;font-size:12.5px;font-weight:600;letter-spacing:.03em;margin-bottom:10px;margin-top:3px;text-transform:uppercase}.process-card__text{color:#444;font-size:14px;line-height:1.7}.process-card__docs{border-top:1px solid #e4e1dc;margin-top:14px;padding-top:12px}.process-card__doc{color:#555;font-size:12.5px;line-height:1.6;margin-top:6px}.process-card__doc:first-child{margin-top:0}.process-card__doc-name{color:#333;font-weight:700}.process-card__doc-summary{color:#777}.nav-button{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff2;border:1px solid #ddd;border-radius:999px;box-shadow:0 4px 16px #00000014;color:#666;cursor:pointer;display:flex;font-size:32px;height:56px;justify-content:center;line-height:1;padding:0;position:fixed;top:50%;transform:translateY(-50%);transition:color .2s,background .2s,box-shadow .2s;width:56px;z-index:20}.nav-button:hover{background:#fff;box-shadow:0 6px 24px #0000001f;color:#1a1a1a}.nav-button.prev{left:max(16px,calc(50vw - 590px))}.nav-button.next{right:max(16px,calc(50vw - 590px))}.navigation-buttons{display:flex;justify-content:center;margin-top:24px}.main-button{background:#1a1a1a;border:none;border-radius:10px;color:#fff;cursor:pointer;font-family:Pretendard Variable,sans-serif;font-size:14px;font-weight:600;min-height:42px;min-width:120px;padding:0 24px;transition:background .2s,transform .15s}.main-button:hover{background:#333;transform:translateY(-1px)}@media (max-width:1100px){.nav-button{font-size:28px;height:48px;width:48px}.nav-button.prev{left:12px}.nav-button.next{right:12px}}@media (max-width:768px){.process-grid,.tech-tradeoff-grid{grid-template-columns:1fr}.tech-tradeoff-grid{gap:24px}.star-story__row{flex-direction:column;gap:2px}.star-story__label{width:auto}.nav-button{bottom:20px;font-size:24px;height:44px;top:auto;transform:none;width:44px}.nav-button.prev{left:12px}.nav-button.next{right:12px}}
/*# sourceMappingURL=main.b450db8d.css.map*/