@charset "UTF-8";.header-title{position:absolute;left:50%;transform:translate(-50%);width:-moz-max-content;width:max-content;max-width:220px;overflow:hidden;font-family:Noto Sans KR,system-ui,sans-serif;font-size:24px;font-weight:700;line-height:32px;text-overflow:ellipsis;white-space:nowrap}.site-header .icon-button{font-size:24px;line-height:1}.header-actions{justify-content:flex-end}.email-button span{position:relative;width:19px;height:14px;border:2px solid #1a1a1a;border-radius:3px}.email-button span:after,.email-button span:before{position:absolute;top:2px;width:12px;height:2px;background:#1a1a1a;content:""}.email-button span:before{left:1px;transform:rotate(34deg);transform-origin:left center}.email-button span:after{right:1px;transform:rotate(-34deg);transform-origin:right center}.header-spacer{width:40px}@media(max-width:420px){.header-title{max-width:calc(100vw - 176px);line-height:26px}.header-title,.site-header .icon-button{font-size:16px}.header-spacer{width:36px}}.intro{display:grid;grid-template-columns:62px 1fr;align-items:center;gap:17px;padding:19px max(24px,env(safe-area-inset-right)) 0 max(24px,env(safe-area-inset-left))}.intro__avatar{width:62px;height:62px;border-radius:10px;-o-object-fit:cover;object-fit:cover}.intro__copy h1{margin:0;font-family:Noto Sans KR,system-ui,sans-serif;font-size:30px;font-weight:500;line-height:38px}.intro__copy strong{display:block;margin-top:8px}.intro__copy p,.intro__copy strong{font-family:Noto Sans KR,system-ui,sans-serif;font-size:14px;line-height:22px}.intro__copy p{margin:8px 0 0;color:#94a3b8}@media(max-width:420px){.intro{grid-template-columns:52px minmax(0,1fr);gap:12px;padding:20px max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.intro__avatar{width:52px;height:52px}.intro__copy h1{font-size:24px;line-height:32px}}@media(min-width:760px){.intro{grid-template-columns:96px 1fr;gap:24px;padding:40px 40px 0}.intro__avatar{width:96px;height:96px}.intro__copy h1{font-size:30px;line-height:38px}.intro__copy p,.intro__copy strong{font-size:14px;line-height:22px}}.timeline{display:grid;gap:32px}.timeline__item{position:relative;display:grid;grid-template-columns:9px 1fr;gap:12px}.timeline__item:not(:last-child):before{position:absolute;top:12px;bottom:-34px;left:4px;width:1px;background:#e5e7eb;content:""}.timeline__dot{position:relative;z-index:1;width:9px;height:9px;margin-top:7px;border-radius:10px;background:#1a1a1a}.timeline__head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}.timeline h3,.timeline p{margin:0}.timeline h3{color:#334155;font-family:Noto Sans KR,system-ui,sans-serif;font-size:24px;font-weight:700;line-height:32px}.timeline p{color:#64748b}.timeline p,.timeline time{font-size:14px;line-height:22px}.timeline time{display:block;margin-top:8px;color:#94a3b8;font-family:Noto Sans KR,system-ui,sans-serif}.timeline ul{display:grid;gap:7px;margin:16px 0 0;padding-left:13px}.timeline li{color:#475569;font-family:Noto Sans KR,system-ui,sans-serif;font-size:14px;line-height:22px}@media(max-width:420px){.timeline{gap:24px}.timeline__head{display:grid;gap:4px}.timeline .status{width:-moz-fit-content;width:fit-content}.timeline h3{font-size:16px;line-height:26px}}@media(min-width:760px){.timeline{gap:40px}.timeline h3{font-size:24px;line-height:32px}.timeline li,.timeline p{font-size:14px;line-height:22px}}.project-card{position:relative;display:grid;grid-template-columns:56px 1fr;gap:17px;min-width:0}.project-card__flow{position:relative;display:grid;place-items:start center;min-height:100%;padding-top:2px}.project-card:not(:last-child) .project-card__flow:before{position:absolute;top:36px;bottom:-28px;left:50%;width:1px;background:#e5e7eb;content:"";transform:translate(-50%)}.project-card__flow span{position:relative;z-index:1;display:grid;place-items:center;width:36px;height:36px;border:1px solid #1a1a1a;border-radius:10px;background:#fff;color:#1a1a1a;font-family:Noto Sans KR,system-ui,sans-serif;font-size:14px;font-weight:700;line-height:1}.project-card__body{min-width:0}.project-card__head{display:flex;align-items:center;justify-content:space-between;gap:12px}.project-card h3{margin:0;font-size:24px;font-weight:800;line-height:32px}.project-card h3 a{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}.project-card h3 a:after{content:"↗";color:currentColor;font-size:.75em;line-height:1}.project-card h3 a:hover{text-decoration:underline;text-underline-offset:3px}.status{padding:3px 8px;border-radius:10px;background:#1a1a1a;color:#f7f7f7;font-family:Noto Sans KR,system-ui,sans-serif;font-weight:700}.project-card__meta,.status{font-size:12px;line-height:18px}.project-card__meta{margin:2px 0 0;color:#666}.project-card ul{display:grid;gap:4px;margin:16px 0 0;padding:0;list-style:none}.project-card li{color:#1a1a1a;font-size:14px;line-height:22px}.project-card__tags{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.project-card__tags span{padding:4px 9px;border:1px solid #e5e7eb;border-radius:10px;color:#4b5563;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:500;line-height:18px}@media(max-width:420px){.project-card{grid-template-columns:40px minmax(0,1fr);gap:12px}.project-card:not(:last-child) .project-card__flow:before{top:32px;bottom:-24px}.project-card__flow span{width:32px;height:32px;font-size:12px}.project-card__head{display:grid;justify-content:stretch;gap:8px}.project-card h3{font-size:16px;line-height:26px}.status{width:-moz-fit-content;width:fit-content}.project-card ul{margin-top:12px}.project-card__tags{gap:4px;margin-top:16px}}@media(min-width:760px){.project-card{grid-template-columns:72px 1fr;gap:24px;align-items:start}.project-card:not(:last-child) .project-card__flow:before{top:44px}.project-card__flow span{width:44px;height:44px;font-size:14px}.project-card__tags span{font-size:12px;line-height:18px}}.blog__head{display:flex;align-items:center;justify-content:space-between;gap:16px}.blog__head a{color:#666;font-size:12px;font-weight:700;line-height:18px}.blog__scroll{display:grid;grid-auto-columns:minmax(206px,72%);grid-auto-flow:column;gap:20px;overflow-x:auto;padding-bottom:8px;scrollbar-width:none}.blog__scroll::-webkit-scrollbar{display:none}.post{min-height:174px;padding:12px;border:1px solid #e5e7eb;border-radius:4px}.post__meta{display:flex;align-items:center;justify-content:space-between;gap:12px}.post__meta,.post__meta strong{font-size:12px;line-height:18px}.post__meta time{color:#9ca3af;white-space:nowrap}.post h3{margin:8px 0 0;font-size:24px;font-weight:700;line-height:32px}.post h3,.post pre{font-family:Noto Sans KR,system-ui,sans-serif}.post pre{min-height:54px;margin:16px 0 0;overflow:hidden;color:#6b7280;font-size:12px;line-height:18px;white-space:pre-wrap}@media(max-width:420px){.blog__head{gap:8px}.blog__scroll{grid-auto-columns:minmax(180px,82%);gap:12px}.post{min-height:150px}.post h3{font-size:16px;line-height:26px}.post__meta{align-items:flex-start}.post__meta time{white-space:normal;text-align:right}}.tone-blue{color:#2563eb}.tone-green{color:#16a34a}.tone-orange{color:#ea580c}@media(min-width:760px){.blog__scroll{grid-auto-columns:minmax(240px,1fr);grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row;overflow:visible}.post{min-height:198px;padding:16px}.post h3{font-size:24px;line-height:32px}.post pre{font-size:12px;line-height:18px}}.home-page{width:min(100%,960px);min-height:100dvh;margin:0 auto;background:#f7f7f7}.home-hero{display:grid;gap:32px;padding:32px max(24px,env(safe-area-inset-right)) calc(64px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.home-hero__media{width:100%;overflow:hidden;border-radius:4px;background:#f1f3f5;aspect-ratio:16/9;max-height:240px}.home-hero__media img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.home-hero__copy{display:grid;justify-items:start;gap:20px;max-width:780px}.home-hero__heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px}.home-hero__eyebrow{margin:0;color:#64748b;font-size:12px;font-weight:700;line-height:18px;text-transform:uppercase}.home-hero__copy h1{margin:0;font-family:Noto Sans KR,system-ui,sans-serif;font-size:30px;font-weight:800;line-height:38px}.home-hero__copy p:not(.home-hero__eyebrow){margin:0;color:#1a1a1a;font-size:14px;font-weight:500;line-height:26px;word-break:keep-all}.home-hero .primary-button:not(.primary-button--sm){min-height:52px;padding:6px 10px;font-size:14px;line-height:22px}.home-footer{display:flex;justify-content:center;padding:32px max(24px,env(safe-area-inset-right)) calc(48px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))}.project-list{display:grid;gap:28px}.project-tabs{display:flex;gap:4px;margin-bottom:28px;padding:2px;border:1px solid #e5e7eb;border-radius:4px;background:#fff}.project-tabs button{flex:1 1 0;min-width:0;min-height:30px;padding:4px 7px;border:0;border-radius:3px;background:transparent;color:#475569;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:700;line-height:18px;cursor:pointer}.project-tabs button.is-active{background:#1a1a1a;color:#f7f7f7}.projects-page{padding-bottom:64px}.projects-section__head{display:grid;gap:4px;margin-bottom:32px}.projects-section__head p{color:#64748b;font-size:12px;font-weight:700;line-height:18px;text-transform:uppercase}.projects-section__head h1,.projects-section__head p{margin:0;font-family:Noto Sans KR,system-ui,sans-serif}.projects-section__head h1{color:#111;font-size:30px;font-weight:800;line-height:38px}.home-footer .primary-button{min-height:48px;padding:6px 10px;font-size:14px;line-height:22px}@media(max-width:420px){.home-hero{gap:24px;padding:24px max(16px,env(safe-area-inset-right)) calc(48px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.home-hero__media{max-height:200px}.home-hero__copy{gap:16px;max-width:none}.home-hero__heading{display:grid;gap:4px}.project-list{gap:24px}.project-tabs{margin-bottom:20px}.project-tabs button{min-height:32px;padding:6px 8px}.projects-section__head{margin-bottom:24px}.home-footer{padding:24px max(16px,env(safe-area-inset-right)) calc(40px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}}@media(min-width:760px){.home-hero{gap:40px;padding:40px 40px 64px}.home-hero__media{width:min(100%,320px);max-height:none;aspect-ratio:1/1}.home-hero__media img{-o-object-fit:cover;object-fit:cover}.home-hero__copy p:not(.home-hero__eyebrow){font-size:14px;line-height:26px}.home-footer{justify-content:flex-start;padding-inline:40px}.home-footer .primary-button{min-height:54px;font-size:14px;line-height:22px}}.detail{min-height:100vh;padding-bottom:118px;background:#f7f7f7}.case-hero{border-bottom:1px solid #e5e7eb}.case-hero__inner{width:min(100%,1120px);margin:0 auto;padding:32px max(20px,env(safe-area-inset-right)) 32px max(20px,env(safe-area-inset-left))}.case-hero__eyebrow{margin:0 0 16px;color:#64748b;font-size:12px;font-weight:800;letter-spacing:.04em;line-height:22px;text-transform:uppercase}.case-hero h1,.case-hero__eyebrow{font-family:Noto Sans KR,system-ui,sans-serif}.case-hero h1{max-width:860px;margin:0;color:#1a1a1a;font-size:16px;font-weight:850;letter-spacing:0;line-height:26px}.case-hero__summary{max-width:760px;margin:16px 0 0;color:#475569;font-family:Noto Sans KR,system-ui,sans-serif;font-weight:500}.case-meta{display:grid;gap:12px;margin:28px 0 0}.case-meta div{display:grid;gap:2px;padding-block:12px;border-top:1px solid #e5e7eb}.case-meta dd,.case-meta dt{margin:0;font-family:Noto Sans KR,system-ui,sans-serif}.case-meta dt{font-size:12px;font-weight:800;line-height:18px}.case-meta dd{font-size:12px;font-weight:650;line-height:22px}.case-highlights{gap:8px 24px;max-width:960px;margin:28px 0 0;padding:16px 0;border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;list-style:none}.case-highlights li{position:relative;min-width:0;padding-left:16px;color:#334155;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:600;line-height:22px;word-break:keep-all;overflow-wrap:break-word}.case-highlights li:before{position:absolute;top:9px;left:0;width:6px;height:2px;background:#1a1a1a;content:""}.case-document{width:min(100%,1120px);margin:0 auto;padding:32px max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}.case-main{min-width:0;max-width:760px;margin:0 auto;word-break:keep-all;overflow-wrap:break-word}.case-section{padding-top:32px;border-top:1px solid #e5e7eb}.case-section__label{margin:0 0 8px;color:#64748b;font-size:12px;font-weight:800}.case-section h2,.case-section__label,.markdown h2{font-family:Noto Sans KR,system-ui,sans-serif;line-height:22px}.case-section h2,.markdown h2{margin:0 0 20px;color:#1a1a1a;font-size:14px;font-weight:850;letter-spacing:0}.markdown h2{padding-top:32px;border-top:1px solid #e5e7eb}.markdown h2:first-child{margin-top:0;padding-top:0;border-top:0}.case-section h3,.markdown h3{margin:24px 0 12px;color:#334155;font-weight:800;line-height:22px}.case-section h3,.case-section p,.markdown h3,.markdown p{font-family:Noto Sans KR,system-ui,sans-serif;font-size:14px}.case-section p,.markdown p{margin:0;color:#475569;line-height:26px;word-break:keep-all;overflow-wrap:break-word}.case-section p+p,.markdown p+p{margin-top:16px}.case-section strong,.markdown strong{color:#1a1a1a;font-weight:850}.case-section ol,.case-section ul,.markdown ol,.markdown ul{display:grid;gap:12px;margin:0;padding:0;color:#475569;font-family:Noto Sans KR,system-ui,sans-serif;font-size:14px;line-height:26px;list-style:none;word-break:keep-all;overflow-wrap:break-word}.markdown h2+ol,.markdown h2+p,.markdown h2+ul{margin-top:0}.markdown ol+p,.markdown p+ol,.markdown p+ul,.markdown ul+p{margin-top:20px}.case-section li,.markdown li{position:relative;padding-left:20px}.case-section li:before,.markdown li:before{position:absolute;top:13px;left:0;width:7px;height:2px;background:#d1d5db;content:""}.markdown ol{list-style:decimal;padding-left:24px}.markdown ol li{padding-left:8px}.markdown ol li:before{content:none}.markdown a{color:#2563eb;font-weight:750;text-decoration-thickness:1px;text-underline-offset:3px}.markdown blockquote{margin:28px 0;padding:4px 0 4px 20px;border-left:3px solid #d1d5db;color:#334155;font-family:Noto Sans KR,system-ui,sans-serif;font-size:16px;font-weight:650;line-height:26px}.markdown figure{margin:32px 0}.markdown figure img,.markdown p img{display:block;width:100%;border:1px solid #e5e7eb;border-radius:6px;background:#fff}.markdown hr{height:1px;margin:40px 0;border:0;background:#e5e7eb}.case-media__head{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}.case-media__head h2{color:#1a1a1a;font-size:16px;font-weight:850;line-height:26px}.case-media__head h2,.case-media__head p{margin:0;font-family:Noto Sans KR,system-ui,sans-serif}.case-media__head p{color:#64748b;font-size:12px;font-weight:800;line-height:22px;white-space:nowrap}.case-media figure{margin:0}.case-media figure img{width:100%;aspect-ratio:16/10;border:1px solid #e5e7eb;border-radius:6px;background:#fff;-o-object-fit:contain;object-fit:contain}.case-media figcaption{margin-top:12px;color:#475569;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;line-height:22px}.case-media figcaption strong{display:block;margin-bottom:2px;color:#1a1a1a}.case-media__controls{display:flex;justify-content:flex-end;gap:8px;margin-top:12px}.case-media__controls button{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #d1d5db;border-radius:10px;background:#fff;color:#1a1a1a;cursor:pointer}.case-media__controls span{font-size:16px;line-height:1}.case-media__thumbs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.case-media__thumbs button{padding:3px;border:1px solid #e5e7eb;border-radius:4px;background:#fff;cursor:pointer}.case-media__thumbs button.is-active{border-color:#1a1a1a}.case-media__thumbs img{width:100%;aspect-ratio:16/9;border-radius:3px;background:#f1f3f5;-o-object-fit:contain;object-fit:contain}.case-anchor-link{display:inline-flex;align-items:center;margin-top:20px;color:#2563eb;font-family:Noto Sans KR,system-ui,sans-serif;font-size:14px;font-weight:800;line-height:22px;text-decoration:none}.case-anchor-link:after{margin-left:8px;content:"↓"}.case-issue-list{display:grid;gap:16px;margin-top:24px}.case-issue{padding:20px;border:1px solid #e5e7eb;border-radius:6px;background:#f7f7f7}.case-issue h3{margin-top:0}.case-sidebar{gap:24px;align-self:start}.case-sidebar__block{border-top:1px solid #d1d5db;padding-top:16px}.case-sidebar__block h2{margin:0 0 12px;color:#1a1a1a;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:850;line-height:22px}.case-sidebar dl{display:grid;gap:12px;margin:0}.case-sidebar dd,.case-sidebar dt{margin:0;font-family:Noto Sans KR,system-ui,sans-serif}.case-sidebar dt{color:#64748b;font-size:12px;font-weight:800;line-height:18px}.case-sidebar dd{color:#334155;font-size:12px;font-weight:650;line-height:22px}.tag-row{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}.tag-row li{padding:4px 8px;border:1px solid #e5e7eb;border-radius:10px;background:#fff;color:#4b5563;font-weight:650}.impact-list,.tag-row li{font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;line-height:22px}.impact-list{display:grid;gap:12px;margin:0;padding:0;color:#475569;list-style:none;counter-reset:impact}.impact-list li{position:relative;padding-left:24px;counter-increment:impact}.impact-list li:before{position:absolute;top:0;left:0;color:#64748b;content:counter(impact,decimal-leading-zero);font-size:12px;font-weight:850}.project-pager{display:grid;gap:12px;width:min(100%,1120px);margin:48px auto 0;padding:0 max(20px,env(safe-area-inset-right)) 0 max(20px,env(safe-area-inset-left))}.project-pager__link{display:grid;align-items:center;min-width:0;min-height:82px;padding:16px;border:1px solid #e5e7eb;border-radius:6px;color:#1a1a1a;text-decoration:none}.project-pager__link--previous{grid-template-columns:auto minmax(0,1fr)}.project-pager__link--next{grid-template-columns:minmax(0,1fr) auto;text-align:right}.project-pager__link--next span{grid-column:2;grid-row:1/span 2}.project-pager__link--next small,.project-pager__link--next strong{grid-column:1}.project-pager span{grid-row:span 2;color:#64748b;font-size:16px;line-height:1}.project-pager small{color:#64748b;font-weight:850;line-height:18px}.project-pager small,.project-pager strong{font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px}.project-pager strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sticky-action{position:fixed;right:0;bottom:0;left:0;z-index:10;display:flex;justify-content:center;padding:20px max(20px,env(safe-area-inset-right)) calc(20px + env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:linear-gradient(180deg,#f7f7f700,#f7f7f7 48%)}.sticky-action .primary-button{width:min(100%,520px);min-height:56px}@media(min-width:760px){.detail{padding-bottom:132px}.case-hero__inner{padding:48px 40px}.case-hero h1,.case-hero__summary{font-size:16px;line-height:26px}.case-meta{grid-template-columns:repeat(3,minmax(0,1fr));max-width:960px}.case-meta div{padding-right:16px}.case-highlights{grid-template-columns:repeat(2,minmax(0,1fr))}.case-document{padding:48px 40px 0}.case-sidebar{position:sticky;top:32px}.case-section h2,.markdown h2{font-size:14px;line-height:22px}.case-section ol,.case-section p,.case-section ul,.markdown ol,.markdown p,.markdown ul{font-size:14px;line-height:26px}.case-media figure img{aspect-ratio:16/8.5}.case-media__thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.project-pager{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:40px}.sticky-action .primary-button{max-width:520px}}.case-hero__eyebrow,.case-highlights li,.case-media figcaption,.case-media__head p,.case-meta dd,.case-meta dt,.case-section__label,.case-sidebar dd,.case-sidebar dt,.impact-list,.impact-list li:before,.project-pager small,.tag-row li{font-size:12px;line-height:18px}.project-pager strong{font-size:14px;line-height:22px}.sticky-action .primary-button{font-size:16px;line-height:26px}.case-hero__summary,.case-section ol,.case-section p,.case-section ul,.markdown ol,.markdown p,.markdown ul{font-size:14px;line-height:26px}.case-media__head h2,.case-section h2,.case-sidebar__block h2,.markdown h2{font-size:24px;line-height:32px}.case-section h3,.markdown h3{font-size:16px;line-height:26px}.case-hero,.detail{background:#fff}.case-hero{border-bottom:0}.case-document,.case-hero__inner,.project-pager{width:min(100%,840px)}.case-hero__inner{padding-top:40px;padding-bottom:40px;border-bottom:1px solid #e5e7eb}.case-hero__eyebrow{margin-bottom:20px;color:#2563eb;letter-spacing:0;text-transform:none}.case-hero h1{max-width:100%;font-size:30px;line-height:38px;word-break:keep-all}.case-hero__summary{max-width:100%;margin-top:20px;color:#334155;font-size:16px;line-height:26px}.case-meta{display:flex;flex-wrap:wrap;gap:12px 20px;margin-top:24px;padding-top:20px;border-top:1px solid #e5e7eb}.case-meta div{display:inline-flex;gap:8px;padding-block:0;border-top:0}.case-meta dt{color:#64748b}.case-meta dt:after{content:":"}.case-meta dd{color:#1a1a1a}.case-highlights{display:grid;gap:12px;max-width:100%;margin-top:28px;padding:20px;border:1px solid #e5e7eb;border-radius:6px;background:#f7f7f7}.case-highlights li{padding-left:20px;color:#1a1a1a;font-weight:650}.case-highlights li:before{top:11px;width:8px;height:8px;border-radius:10px;background:#2563eb}.case-document{padding-top:40px}.case-layout{display:block}.case-main,.case-media,.case-section{max-width:100%}.case-media{margin-bottom:48px}.case-media__head{padding-bottom:12px;border-bottom:1px solid #e5e7eb}.case-media figure img{border:0;border-radius:0;background:#f7f7f7;aspect-ratio:16/9}.case-media figcaption{color:#64748b}.case-section{padding-top:0;border-top:0}.case-media+.case-section,.case-section+.case-section{margin-top:48px}.case-stack+.case-media,.case-stack+.case-section{margin-top:40px}.case-section__label{margin-bottom:12px;color:#2563eb}.case-section h2,.markdown h2{margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid #e5e7eb}.markdown h2{margin-top:48px;padding-top:0}.case-section h3,.markdown h3{color:#1a1a1a}.case-section p,.case-section ul,.markdown p,.markdown ul{color:#334155;line-height:26px}.case-section ul,.markdown ul{gap:8px;padding-left:20px;list-style:disc}.case-section li,.markdown li{padding-left:4px}.case-section li:before,.markdown li:before{display:none}.case-sidebar{position:static;display:grid;grid-template-columns:1fr;gap:32px;margin-top:48px;padding-top:32px;border-top:1px solid #e5e7eb}.case-sidebar__block{padding-top:0;border-top:0}.case-sidebar dl{gap:8px}.case-sidebar dl div{display:flex;gap:8px}.case-sidebar dt:after{content:":"}.tag-row li{background:#f7f7f7}.project-pager{margin-top:48px}.project-pager__link{border-radius:0;background:#fff}@media(max-width:420px){.detail{padding-bottom:104px}.case-document,.case-hero__inner,.project-pager{width:100%;padding-right:max(16px,env(safe-area-inset-right));padding-left:max(16px,env(safe-area-inset-left))}.case-hero__inner{padding-top:24px;padding-bottom:24px}.case-hero h1{font-size:24px;line-height:32px}.case-hero__summary{margin-top:16px;font-size:14px;line-height:26px}.case-meta{gap:8px 16px;margin-top:20px;padding-top:16px}.case-highlights{gap:8px;margin-top:20px;padding:16px}.case-document{padding-top:24px}.case-media,.case-media+.case-section,.case-section+.case-section,.case-sidebar,.project-pager{margin-top:32px}.case-stack+.case-media,.case-stack+.case-section{margin-top:24px}.case-media__head h2,.case-section h2,.case-sidebar__block h2,.markdown h2{font-size:16px;line-height:26px}.case-section h3,.markdown h3{margin-top:20px}.case-section ul,.markdown ol,.markdown ul{padding-left:16px}.markdown blockquote{margin:20px 0;padding-left:16px}.case-media__head{display:grid;gap:4px;align-items:start}.case-media__head p{white-space:normal}.case-media figure img{aspect-ratio:4/3}.case-issue{padding:16px}.case-sidebar{gap:24px;padding-top:24px}.case-sidebar dl div{display:grid;gap:4px}.project-pager{gap:8px}.project-pager__link{min-height:68px;padding:12px}.project-pager strong{white-space:normal}.sticky-action{padding:12px max(16px,env(safe-area-inset-right)) calc(12px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.sticky-action .primary-button{min-height:44px}}@media(min-width:760px){.case-document,.case-hero__inner,.project-pager{width:min(100%,840px);padding-right:40px;padding-left:40px}.case-layout{display:block}.case-sidebar{grid-template-columns:repeat(3,minmax(0,1fr))}.case-section p,.case-section ul,.markdown p,.markdown ul{font-size:14px;line-height:26px}}.case-hero__tags{margin-top:24px}.case-article{max-width:760px;color:#1a1a1a}.case-article.markdown h1,.case-article.markdown h2,.case-article.markdown h3,.case-article.markdown h4{border:0;color:#1a1a1a;font-family:Noto Sans KR,system-ui,sans-serif;letter-spacing:0}.case-article.markdown h1{margin:0 0 24px;font-size:30px;font-weight:850;line-height:38px}.case-article.markdown h2{margin:64px 0 20px;padding:0;font-size:24px;font-weight:850;line-height:32px}.case-article.markdown h2:first-child{margin-top:0}.case-article.markdown h3{margin:40px 0 16px;font-size:16px;font-weight:850;line-height:26px}.case-article.markdown h4{margin:28px 0 12px;font-size:14px;font-weight:850;line-height:22px}.case-article.markdown li,.case-article.markdown p,.case-article.markdown td,.case-article.markdown th{color:#334155;font-family:Noto Sans KR,system-ui,sans-serif;font-size:16px;font-weight:450;line-height:26px}.case-article.markdown p+p{margin-top:20px}.case-article.markdown ol,.case-article.markdown ul{display:grid;gap:8px;margin:20px 0;padding-left:24px;color:#334155;font-family:Noto Sans KR,system-ui,sans-serif;list-style-position:outside}.case-article.markdown ul{list-style:disc}.case-article.markdown ol{list-style:decimal}.case-article.markdown li{padding-left:4px}.case-article.markdown li:before{display:none}.case-article.markdown blockquote{margin:32px 0;padding:8px 0 8px 20px;border-left:4px solid #d1d5db;color:#475569;font-size:16px;font-weight:650;line-height:26px}.case-article.markdown figure{margin:40px 0}.case-article.markdown figure img,.case-article.markdown p img{width:100%;border:0;border-radius:0;background:#f1f3f5}.case-article.markdown pre{overflow-x:auto;margin:28px 0;padding:20px;border:1px solid #e5e7eb;border-radius:6px;background:#f1f3f5}.case-article.markdown code{color:#1a1a1a;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92em}.case-article.markdown li code,.case-article.markdown p code{padding:2px 5px;border-radius:3px;background:#f1f3f5}.case-article.markdown table{display:block;overflow-x:auto;width:100%;margin:32px 0;border-collapse:collapse}.case-article.markdown td,.case-article.markdown th{min-width:120px;padding:12px;border:1px solid #e5e7eb;text-align:left;vertical-align:top}.case-article.markdown th{background:#f1f3f5;color:#1a1a1a;font-weight:800}@media(max-width:420px){.case-hero__tags{margin-top:20px}.case-article.markdown h2{margin-top:48px}.case-article.markdown li,.case-article.markdown p,.case-article.markdown td,.case-article.markdown th{font-size:14px;line-height:26px}}.resume-page{padding-bottom:64px}.resume-intro{display:grid;grid-template-columns:128px minmax(0,1fr);gap:32px;align-items:start}.resume-intro__portrait{position:relative;width:128px;margin:0}.resume-intro__portrait:before{display:none}.resume-intro__photo{display:block;width:100%;height:auto}.resume-intro__content{display:grid;gap:20px;min-width:0}.resume-intro h1,.resume-intro__meta,.resume-intro__role,.resume-item h3,.resume-item h4,.resume-section-title{font-family:Noto Sans KR,system-ui,sans-serif}.resume-intro h1,.resume-section-title{margin:0;color:#111;font-weight:800;letter-spacing:0}.resume-intro h1{font-family:Noto Sans KR,system-ui,sans-serif;font-size:30px;font-weight:900;line-height:38px}.resume-intro__heading{display:flex;flex-wrap:wrap;align-items:baseline;gap:12px}.resume-intro__role{margin:0;color:#64748b;font-size:12px;font-weight:800;line-height:18px}.resume-intro__bio{max-width:760px;margin:16px 0 0;color:#1a1a1a;font-size:16px;font-weight:400;line-height:26px;word-break:keep-all}.resume-intro__meta{display:flex;flex-wrap:wrap;gap:16px;margin:0}.resume-intro__meta dt,.resume-intro__meta span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.resume-intro__meta dd{min-width:0;margin:0}.resume-intro__meta a{display:inline-flex;align-items:center;min-height:24px;padding:0;border:0;background:transparent;color:#737373;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:700;line-height:18px;text-decoration:none}.resume-intro__meta a:after{margin-left:6px;color:currentColor;font-size:.8em;line-height:1;content:"↗"}.resume-section{scroll-margin-top:96px}.resume-section-title{margin-bottom:24px;font-size:24px;line-height:32px}.resume-section-head{display:grid;gap:16px;margin-bottom:24px}.resume-section-head .resume-section-title{margin-bottom:0}.resume-section-title-row{display:flex;align-items:center;gap:12px}.resume-section-link{display:inline-flex;align-items:center;flex:0 0 auto;min-height:28px;padding:4px 0;color:#8a8a8a;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:700;line-height:18px;text-decoration:none}.resume-section-link:after{margin-left:5px;color:currentColor;font-size:.8em;line-height:1;content:"↗"}.resume-tabs{display:inline-flex;width:-moz-fit-content;width:fit-content;max-width:100%;gap:4px;padding:3px;border:1px solid #e5e7eb;border-radius:4px;background:#fff}.resume-tabs button{min-width:86px;min-height:34px;padding:6px 12px;border:0;border-radius:3px;background:transparent;color:#475569;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:800;line-height:18px;cursor:pointer}.resume-tabs button.is-active{background:#1a1a1a;color:#f7f7f7}.resume-list{display:grid;gap:32px}.resume-item{display:grid;gap:12px}.resume-item+.resume-item{padding-top:8px}.resume-item__head{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:start}.resume-item h3,.resume-item h4,.resume-item p,.resume-item ul{margin:0}.resume-item h3{color:#111;font-size:16px;font-weight:800;line-height:26px}.resume-item h3 a,.resume-item h4 a{display:inline-flex;align-items:center;gap:6px}.resume-item h3 a:after,.resume-item h4 a:after{content:"↗";color:currentColor;font-size:.75em;line-height:1}.resume-item__head p,.resume-item__note,.resume-subitem>p{margin-top:4px;color:#737373;font-size:14px;line-height:22px}.resume-item time{color:#737373;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:500;line-height:18px;white-space:nowrap}.resume-career-card,.resume-career-list{display:grid;gap:12px}.resume-career-card{grid-template-columns:minmax(0,1fr) auto;align-items:start;min-width:0;padding-block:12px;border-bottom:1px solid #e5e7eb}.resume-career-card:first-child{padding-top:0}.resume-career-card:last-child{border-bottom:0;padding-bottom:0}.resume-career-card h3,.resume-career-card p{margin:0}.resume-career-card h3{color:#1a1a1a;font-family:Noto Sans KR,system-ui,sans-serif;font-size:16px;font-weight:700;line-height:26px}.resume-career-card p{color:#475569;font-size:14px;line-height:22px}.resume-career-card time{color:#475569;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:500;line-height:18px;white-space:nowrap}.resume-item ul{display:grid;gap:4px;padding-left:16px;color:#737373;font-size:14px;line-height:22px}.resume-item li::marker{color:#737373}.resume-subitem{display:grid;gap:8px;margin-left:0;padding-left:16px;border-left:2px solid #e8e8e8}.resume-subitem h4{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:start;color:#111;font-size:16px;font-weight:800;line-height:26px}.resume-subitem h4 time{color:#737373;font-size:12px;font-weight:500;line-height:18px;white-space:nowrap}.resume-item--compact{gap:8px}.resume-skill-group{display:grid;gap:16px}.resume-skill-group__item{display:grid;gap:8px}.resume-skill-group__item h3{margin:0;color:#111;font-family:Noto Sans KR,system-ui,sans-serif;font-size:16px;font-weight:800;line-height:26px}.resume-skill-group__item p{margin:0;color:#737373;font-size:14px;line-height:22px}@media(max-width:420px){.resume-page{padding-bottom:48px}.resume-intro{grid-template-columns:1fr;gap:12px}.resume-intro__portrait{width:96px}.resume-intro h1{font-size:24px;line-height:32px}.resume-intro__bio{margin-top:12px;font-size:14px;line-height:22px}.resume-intro__meta{gap:8px 12px}.resume-section-head{gap:12px;margin-bottom:20px}.resume-section-title-row{display:grid;gap:4px}.resume-item ul{font-size:14px;line-height:22px}.resume-section-title{margin-bottom:20px;font-size:24px;line-height:32px}.resume-section-head .resume-section-title{margin-bottom:0}.resume-tabs,.resume-tabs button{width:100%}.resume-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.resume-tabs button{min-width:0}.resume-item__head{grid-template-columns:1fr;gap:4px}.resume-career-card h3,.resume-item h3,.resume-skill-group__item h3,.resume-subitem h4{font-size:16px;line-height:26px}.resume-career-card{grid-template-columns:1fr;gap:4px}.resume-subitem h4{grid-template-columns:1fr;gap:0}.resume-item time{font-size:12px;line-height:18px}.resume-career-card time,.resume-item time,.resume-subitem h4 time{white-space:normal}}@media(min-width:760px){.resume-page{max-width:820px}.resume-intro{grid-template-columns:168px minmax(0,1fr);gap:32px}.resume-intro__portrait{width:168px}.resume-list{gap:40px}.resume-career-card{grid-template-columns:minmax(0,1fr) auto}}*{box-sizing:border-box}html{background:#f7f7f7;color:#1a1a1a;font-family:Noto Sans KR,system-ui,sans-serif;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased}body{margin:0;min-width:0;overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}img{display:block;max-width:100%}a,dd,h1,h2,h3,li,p,strong,time{overflow-wrap:anywhere}.mobile-frame,.page-shell{width:min(100%,960px);margin:0 auto;min-height:100dvh;background:#f7f7f7}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:72px;padding-right:max(24px,env(safe-area-inset-right));padding-left:max(24px,env(safe-area-inset-left));background:#f7f7f7f2;border-bottom:1px solid rgba(229,231,235,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.brand{font-family:Noto Sans KR,system-ui,sans-serif;font-size:24px;font-weight:700;line-height:32px}.icon-button{justify-content:center;border:0;border-radius:10px;background:#f7f7f7;color:#1a1a1a;cursor:pointer}.icon-button,.language-switch{display:inline-flex;align-items:center}.language-switch{flex:0 0 auto;gap:2px;padding:2px;border:1px solid #e5e7eb;border-radius:10px;background:#f1f3f5}.language-button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 34px;width:34px;height:30px;border:0;border-radius:10px;background:transparent;color:#64748b;cursor:pointer;font-family:Noto Sans KR,system-ui,sans-serif;font-size:12px;font-weight:700;line-height:18px;overflow-wrap:normal;text-align:center;white-space:nowrap}.language-button[aria-pressed=true]{background:#1a1a1a;color:#f7f7f7}.icon-button{width:40px;height:40px}.header-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.section{padding-right:max(24px,env(safe-area-inset-right));padding-left:max(24px,env(safe-area-inset-left));margin-top:40px}.section-title{margin:0 0 20px;font-family:Noto Sans KR,system-ui,sans-serif;font-size:24px;font-weight:700;line-height:32px}.tag-list{display:flex;flex-wrap:wrap;gap:12px}.tag{min-height:32px;padding:7px 12px;border:1px solid #e5e7eb;border-radius:10px;font-size:14px;font-weight:500;line-height:22px}.primary-button,.tag{display:inline-flex;align-items:center}.primary-button{justify-content:center;min-height:48px;padding:6px 10px;border-radius:6px;background:#1a1a1a;color:#f7f7f7;font-family:Noto Sans KR,system-ui,sans-serif;font-weight:700}.primary-button--sm{min-height:36px;padding:4px 10px;font-size:14px;line-height:22px}@media(max-width:420px){.site-header{height:56px;padding-right:max(16px,env(safe-area-inset-right));padding-left:max(16px,env(safe-area-inset-left))}.brand{font-size:16px;line-height:26px}.icon-button{width:36px;height:36px}.language-button{flex-basis:32px;width:32px;height:28px}.header-actions{gap:4px}.section{padding-right:max(16px,env(safe-area-inset-right));padding-left:max(16px,env(safe-area-inset-left));margin-top:32px}.section-title{margin-bottom:16px}.tag-list{gap:8px}.tag{min-height:28px;padding:4px 9px;font-size:12px;line-height:18px}.primary-button{min-height:42px;padding:8px 12px}}@media(min-width:760px){.site-header{height:80px;padding-inline:40px}.section{padding-inline:40px;margin-top:64px}.section-title{margin-bottom:32px;font-size:24px;line-height:32px}}
