:root{--font-sans:"Malgun Gothic", "맑은 고딕", "Apple SD Gothic Neo", sans-serif;--paper:#f2f0e9;--paper-deep:#e8e5dc;--ink:#111827;--muted:#606873;--line:#c9c7bf;--blue:#1746d1;--acid:#d9ff43;--white:#fffef8;font-family:var(--font-sans);color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:linear-gradient(#11182709 1px, transparent 1px), linear-gradient(90deg, #11182709 1px, transparent 1px), var(--paper);background-size:48px 48px;min-width:320px;margin:0}a{color:inherit}.shell{width:min(1180px,100% - 48px);margin-inline:auto}.site-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:88px;display:flex}.wordmark{font:800 1.35rem/1 var(--font-sans);color:var(--blue);text-decoration:none}nav{gap:30px;display:flex}nav a{font-size:.9rem;font-weight:600;text-decoration:none}nav a:hover{color:var(--blue)}.hero{grid-template-columns:minmax(0,1fr) 330px;align-items:center;gap:48px;min-height:520px;padding-block:56px;display:grid}.eyebrow{color:var(--blue);font:500 .78rem/1.2 var(--font-sans);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:10px;margin:0 0 24px;display:flex}.eyebrow span{background:var(--blue);width:32px;height:2px}h1{letter-spacing:-.065em;word-break:keep-all;max-width:820px;margin:0;font-size:clamp(3.15rem,6.4vw,6.35rem);line-height:1.04}h1 em{color:var(--blue);font-family:var(--font-sans);letter-spacing:-.045em;font-style:normal}.hero-description{color:#424a55;word-break:keep-all;max-width:670px;margin:34px 0 0;font-size:1.08rem;line-height:1.85}.hero-actions{gap:12px;margin-top:36px;display:flex}.button{border:1px solid var(--ink);justify-content:center;align-items:center;min-height:50px;padding:0 20px;font-size:.92rem;font-weight:700;text-decoration:none;transition:transform .16s,background .16s,color .16s;display:inline-flex}.button:hover{transform:translateY(-2px)}.button-primary{color:var(--white);background:var(--ink)}.button-primary:hover{background:var(--blue);border-color:var(--blue)}.button-ghost{background:0 0;gap:12px}.button-ghost:hover{color:var(--white);background:var(--blue);border-color:var(--blue)}.hero-aside{color:var(--white);background:var(--blue);flex-direction:column;justify-content:flex-end;align-self:stretch;padding:26px;display:flex;position:relative;overflow:hidden}.hero-aside:before{content:"";border:44px solid #d9ff4340;border-radius:50%;width:220px;height:220px;position:absolute;top:-90px;right:-90px}.status-row{font:400 .7rem/1.2 var(--font-sans);text-transform:uppercase;align-items:center;gap:9px;display:flex;position:absolute;top:24px;left:26px}.status-dot{background:var(--acid);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #d9ff4326}.aside-label{color:var(--acid);font:500 .72rem/1 var(--font-sans);margin:0 0 9px}.aside-title{margin:0;font-size:1.35rem;font-weight:700;line-height:1.45}.system-map{align-items:center;gap:8px;margin-top:36px;display:flex}.system-map span{font:500 .68rem/1 var(--font-sans)}.system-map i{background:#ffffff73;flex:1;height:1px;position:relative}.system-map i:after{content:"";border-left:4px solid #ffffffb3;border-block:2px solid #0000;position:absolute;top:-2px;right:0}.impact{border-block:1px solid var(--ink);grid-template-columns:repeat(3,1fr);display:grid}.impact article{align-items:center;gap:22px;padding:28px 30px;display:flex}.impact article+article{border-left:1px solid var(--line)}.impact strong{color:var(--blue);font:500 2.65rem/1 var(--font-sans);letter-spacing:-.06em}.impact strong span{letter-spacing:0;margin-left:2px;font-size:.9rem}.impact p{color:var(--muted);margin:0;font-size:.82rem;line-height:1.55}.section{padding-block:96px}.section-heading{margin-bottom:48px}.section-index{color:var(--blue);font:500 .75rem/1 var(--font-sans);letter-spacing:.08em;margin:0 0 24px}.section-index.light{color:var(--acid)}.section-heading h2,.contact-inner h2{letter-spacing:-.055em;word-break:keep-all;margin:0;font-size:clamp(2.3rem,4.7vw,4.8rem);line-height:1.12}.section-heading h2 em,.contact-inner h2 em{color:var(--blue);font-family:var(--font-sans);letter-spacing:-.035em;font-style:normal}.heading-row{justify-content:space-between;align-items:flex-end;gap:60px;display:flex}.heading-row>p{max-width:280px;color:var(--muted);margin:0 0 8px;line-height:1.75}.experience-grid{border-top:1px solid var(--ink);grid-template-columns:300px 1fr;gap:80px;padding-top:42px;display:grid}.experience-meta{align-self:start;position:sticky;top:32px}.meta-period{color:var(--blue);font:500 .78rem/1 var(--font-sans);margin:0 0 24px}.experience-meta h3{letter-spacing:-.03em;margin:0;font-size:1.4rem}.experience-meta>p:last-child{color:var(--muted);margin:10px 0 0;font-size:.9rem}.story-lead{letter-spacing:-.035em;word-break:keep-all;margin:0 0 60px;font-size:clamp(1.45rem,2.5vw,2.15rem);line-height:1.55}.story-list{border-top:1px solid var(--line)}.story-list article{border-bottom:1px solid var(--line);grid-template-columns:42px 1fr;gap:16px;padding:30px 0;display:grid}.story-list article>span{color:var(--blue);font:500 .72rem/1.5 var(--font-sans)}.story-list h4{margin:0 0 10px;font-size:1.08rem}.story-list p{color:var(--muted);word-break:keep-all;margin:0;line-height:1.75}.flow-section{color:var(--white);background:var(--ink)}.flow-inner{grid-template-columns:repeat(7,auto);justify-content:space-between;align-items:center;gap:24px;min-height:168px;display:grid}.flow-inner div{flex-direction:column;gap:10px;display:flex}.flow-inner span{color:var(--acid);font:500 .68rem/1 var(--font-sans)}.flow-inner strong{white-space:nowrap;font-size:.95rem}.flow-inner i{background:#626975;width:clamp(30px,5vw,76px);height:1px;position:relative}.flow-inner i:after{content:"";border-left:5px solid var(--acid);border-block:3px solid #0000;position:absolute;top:-3px;right:0}.project-grid{border:1px solid var(--ink);grid-template-columns:repeat(2,1fr);display:grid}.project-card{flex-direction:column;min-height:570px;padding:34px;display:flex;position:relative}.project-card:nth-child(odd){border-right:1px solid var(--ink)}.project-card:nth-child(n+3){border-top:1px solid var(--ink)}.project-topline{color:var(--muted);font:500 .66rem/1 var(--font-sans);letter-spacing:.05em;justify-content:space-between;display:flex}.project-card h3{letter-spacing:-.055em;margin:48px 0 22px;font-size:clamp(2rem,3.8vw,3.8rem);line-height:1.05}.project-subtitle{color:var(--blue);font:500 .72rem/1.4 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;margin:-10px 0 24px}.project-summary{color:#4d5560;word-break:keep-all;max-width:560px;margin:0;line-height:1.75}.project-facts{font:500 .72rem/1 var(--font-sans);gap:12px;margin:28px 0 20px;display:flex}.project-facts span+span{border-left:1px solid;padding-left:12px}.project-card>ul{border-top:1px solid #11182733;margin:0 0 28px;padding:18px 0 0;list-style:none}.project-card>ul li{color:#3d444d;padding-left:16px;font-size:.84rem;line-height:1.75;position:relative}.project-card>ul li:before{content:"";background:var(--blue);width:5px;height:5px;position:absolute;top:.72em;left:0}.tag-list{flex-wrap:wrap;gap:7px;margin-top:auto;display:flex}.tag-list span{font:500 .66rem/1 var(--font-sans);border:1px solid #11182740;padding:7px 10px}.card-link{color:var(--blue);font:500 .74rem/1 var(--font-sans);position:absolute;bottom:34px;right:34px}.project-card:has(.card-link) .tag-list{padding-right:90px}.accent-blue{color:var(--white);background:var(--blue)}.accent-blue .project-summary,.accent-blue .project-topline,.accent-blue>ul li{color:#ffffffc7}.accent-blue .tag-list span,.accent-blue>ul{border-color:#ffffff4d}.accent-blue>ul li:before{background:var(--acid)}.accent-control-plane{background-color:#dfe7f7;background-image:linear-gradient(#1746d10e 1px,#0000 1px),linear-gradient(90deg,#1746d10e 1px,#0000 1px),none;background-position:0 0,0 0,0 0;background-repeat:repeat,repeat,repeat;background-size:32px 32px;background-attachment:scroll,scroll,scroll;background-origin:padding-box,padding-box,padding-box;background-clip:border-box,border-box,border-box}.accent-control-plane:before{content:"SAFETY-FIRST";color:var(--acid);background:var(--ink);font:500 .6rem/1 var(--font-sans);letter-spacing:.08em;padding:7px 9px;position:absolute;top:76px;right:34px}.accent-control-plane h3{color:#123693}.accent-control-plane .project-subtitle{color:#36569e}.accent-control-plane>ul li:before{background:#123693}.accent-control-plane .tag-list span{background:#ffffff59;border-color:#12369359}.accent-ink{color:var(--white);background:var(--ink)}.accent-ink .project-summary,.accent-ink .project-topline,.accent-ink>ul li{color:#ffffffb3}.accent-ink .tag-list span,.accent-ink>ul{border-color:#ffffff38}.accent-ink>ul li:before{background:var(--acid)}.accent-paper{background:var(--white)}.principles-section{color:var(--white);background:var(--blue)}.principles-grid{grid-template-columns:1fr 1fr;gap:100px;display:grid}.section-heading.compact{margin:0}.principles-section h2 em{color:var(--acid)}.principle-list{border-top:1px solid #ffffff59;margin:0;padding:0;list-style:none}.principle-list li{border-bottom:1px solid #ffffff59;grid-template-columns:42px 1fr;gap:16px;padding:30px 0;display:grid}.principle-list li>span{color:var(--acid);font:500 .72rem/1.6 var(--font-sans)}.principle-list strong{margin-bottom:8px;font-size:1.05rem;display:block}.principle-list p{color:#ffffffb8;word-break:keep-all;margin:0;line-height:1.7}.skills-grid{border-top:1px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.skills-grid article{padding:28px 24px 12px 0}.skills-grid article+article{border-left:1px solid var(--line);padding-left:24px}.skills-grid p{min-height:32px;color:var(--blue);font:500 .7rem/1.4 var(--font-sans);margin:0 0 26px}.skills-grid ul{margin:0;padding:0;list-style:none}.skills-grid li{border-bottom:1px solid var(--line);padding:13px 0;font-size:.95rem}.contact-section{color:var(--white);background:var(--ink);padding-block:96px}.contact-inner h2 em{color:var(--acid)}.contact-inner>p:nth-of-type(2){color:#aeb4be;max-width:650px;margin:36px 0 0;font-size:1.03rem;line-height:1.8}.contact-links{gap:12px;margin-top:52px;display:flex}.contact-links a{min-width:150px;font:500 .8rem/1 var(--font-sans);border:1px solid #59606a;justify-content:space-between;padding:18px;text-decoration:none;transition:color .16s,border-color .16s,background .16s;display:flex}.contact-links a:hover{color:var(--ink);background:var(--acid);border-color:var(--acid)}.site-footer{color:var(--white);background:var(--ink)}.site-footer>div{color:#8e96a2;font:400 .67rem/1 var(--font-sans);border-top:1px solid #3e4550;justify-content:space-between;padding-block:28px;display:flex}.site-footer a{text-decoration:none}@media (width<=900px){.hero{grid-template-columns:1fr;gap:40px;padding-top:64px}.hero-aside{min-height:280px}.impact article{flex-direction:column;align-items:flex-start;gap:10px}.section{padding-block:110px}.experience-grid{grid-template-columns:1fr;gap:50px}.experience-meta{position:static}.flow-inner{grid-template-columns:repeat(4,1fr);gap:14px;padding-block:36px}.flow-inner i{display:none}.project-grid{grid-template-columns:1fr}.project-card{min-height:540px}.project-card:nth-child(odd){border-right:0}.project-card+.project-card{border-top:1px solid var(--ink)}.principles-grid{grid-template-columns:1fr;gap:70px}.skills-grid{grid-template-columns:repeat(2,1fr)}.skills-grid article:nth-child(3){border-left:0}.skills-grid article:nth-child(n+3){border-top:1px solid var(--line)}}@media (width<=640px){.shell{width:min(100% - 32px,1180px)}.site-header{height:70px}nav{gap:16px}nav a:nth-child(3){display:none}.hero{min-height:auto;padding-block:56px 52px}h1{font-size:clamp(2.8rem,14vw,4.2rem)}.hero-description{font-size:1rem}.hero-actions{flex-direction:column;align-items:stretch}.impact{grid-template-columns:1fr}.impact article{flex-direction:row;padding:22px 6px}.impact article+article{border-left:0;border-top:1px solid var(--line)}.section{padding-block:88px}.section-heading{margin-bottom:54px}.heading-row{display:block}.heading-row>p{margin-top:30px}.experience-grid{padding-top:28px}.story-lead{margin-bottom:42px}.flow-inner{grid-template-columns:repeat(2,1fr);gap:30px 16px}.project-card{min-height:590px;padding:26px}.accent-control-plane:before{right:26px}.card-link{bottom:28px;right:26px}.skills-grid{grid-template-columns:1fr}.skills-grid article+article{border-left:0;border-top:1px solid var(--line);padding-left:0}.contact-section{padding-block:92px}.contact-links{flex-direction:column}.site-footer>div{gap:20px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important}}html{scroll-padding-top:24px}:focus-visible{outline:3px solid var(--blue);outline-offset:5px}.accent-blue :focus-visible,.accent-ink :focus-visible,.contact-section :focus-visible{outline-color:var(--acid)}.skip-link{z-index:10;background:var(--white);color:var(--ink);padding:16px;position:fixed;top:-100px;left:16px}.skip-link:focus{top:16px}.hero h1{font-size:clamp(2.5rem,5.4vw,4.6rem);line-height:1.2}.hero-actions{flex-wrap:wrap}.hero-aside{min-height:350px}.aside-stack{margin:28px 0 0;font-size:.875rem;line-height:1.8}.status-row{font-size:.75rem;line-height:1.5;right:20px}.status-dot{flex-shrink:0}.impact article{gap:14px;padding-inline:18px}.impact strong{white-space:nowrap}.impact small{font-size:.8rem}.impact p,.section-index,.meta-period,.skills-grid p{font-size:.875rem}.story-list p,.project-card>ul li{font-size:1rem}.section-heading h2,.contact-inner h2{font-size:clamp(2rem,4vw,3.6rem);line-height:1.25}.text-link{text-underline-offset:5px;margin-top:24px;font-weight:600;display:inline-block}.project-card{min-width:0;min-height:550px}.project-card h3{overflow-wrap:anywhere;font-size:clamp(1.8rem,3.4vw,3rem);line-height:1.25}.project-topline{gap:16px;font-size:.75rem;line-height:1.5}.project-topline span:last-child{text-align:right}.project-subtitle{font-size:.875rem}.project-facts{flex-wrap:wrap;font-size:.875rem;line-height:1.6}.tag-list span{font-size:.8rem;line-height:1.4}.project-actions{flex-wrap:wrap;gap:24px;padding-top:28px;display:flex}.project-actions a{text-underline-offset:5px;padding-block:8px;font-weight:600}.accent-control-plane:before{font-size:.75rem}.contact-email{color:var(--acid);overflow-wrap:anywhere;text-underline-offset:7px;margin-top:28px;font-size:clamp(1.1rem,3vw,2rem);display:inline-block}.contact-links{flex-wrap:wrap;margin-top:32px}.contact-links a{font-size:.875rem}.site-footer>div{flex-wrap:wrap;font-size:.75rem;line-height:1.6}.case-study{max-width:1000px;padding-block:64px 80px}.case-header{border-bottom:1px solid var(--line);padding-bottom:40px}.case-header h1{overflow-wrap:anywhere;font-size:clamp(2rem,6vw,4.8rem);line-height:1.2}.case-subtitle{color:var(--blue);line-height:1.7}.case-intro{word-break:keep-all;max-width:800px;margin-block:28px;font-size:1.2rem;line-height:1.8}.case-facts{flex-wrap:wrap;gap:24px 60px;margin-block:32px;display:flex}.case-facts dt{color:var(--muted);margin-bottom:8px;font-size:.875rem}.case-facts dd{margin:0;line-height:1.6}.case-context{padding-block:36px}.case-study h2{letter-spacing:-.03em;word-break:keep-all;margin:0 0 16px;font-size:1.5rem;line-height:1.5}.case-study p{word-break:keep-all;overflow-wrap:anywhere;line-height:1.85}.case-section{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:48px;padding-block:40px;display:grid}.case-section p:first-child{margin-top:0}.scope-label{color:var(--blue);border:1px solid var(--blue);margin:0;padding:4px 10px;font-size:.875rem;display:inline-block}.case-outcome{color:var(--white);background:var(--ink);padding:32px}.case-outcome p{margin-bottom:0}.case-links{flex-wrap:wrap;align-items:center;gap:16px 24px;margin-top:40px;display:flex}.case-links .text-link{margin-top:0}@media (width<=900px){.hero-aside{min-height:260px}.case-section{grid-template-columns:1fr;gap:20px}}@media (width<=640px){.hero h1{font-size:clamp(2rem,10vw,3.8rem)}.hero{padding-block:40px}.hero-aside{min-height:240px}.project-card{min-height:auto}.project-card h3{margin-top:60px}.tag-list{margin-top:12px}.project-facts{flex-direction:column;gap:4px}.project-facts span+span{border-left:0;padding-left:0}.case-study{padding-top:40px}.case-outcome{padding:24px}.case-links{flex-direction:column;align-items:stretch}}@media print{body{color:#000;background:#fff}.site-header,.site-footer,.skip-link,.hero-actions,.case-links{display:none}.shell{width:100%}.case-study{padding:0}.case-section{break-inside:avoid;padding-block:20px}.case-outcome{color:#000;background:#fff;border:1px solid #777}}
