@font-face{font-family:BMHANNAPro;src:url(/fonts/BMHANNAPro.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{--primary-color: #2AC1BC;--primary-hover: #219B97;--primary-light: #E2F9F8;--text-color: #222222;--text-muted: #666666;--bg-white: #FFFFFF;--bg-light: #F6F6F6;--bg-dark: #1E2022;--border-color: #EAEAEA;--accent-color: #FF5A5F;--font-heading: "BMHANNAPro", "Noto Sans KR", sans-serif;--font-body: "Noto Sans KR", "Montserrat", sans-serif;--max-width: 1100px;--transition-smooth: all .3s cubic-bezier(.25, .8, .25, 1);--border-radius-lg: 24px;--border-radius-md: 16px;--border-radius-sm: 8px;--shadow-soft: 0 10px 30px rgba(0, 0, 0, .05);--shadow-medium: 0 15px 35px rgba(0, 0, 0, .08), 0 5px 15px rgba(0, 0, 0, .03);--shadow-hover: 0 20px 40px rgba(42, 193, 188, .15)}*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-body);color:var(--text-color);background-color:var(--bg-white);line-height:1.6;overflow-x:hidden;word-break:keep-all}a{color:inherit;text-decoration:none;transition:var(--transition-smooth)}ul,ol{list-style:none}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:400;line-height:1.3}.highlight{color:var(--primary-color);position:relative;display:inline-block}.highlight:after{content:"";position:absolute;bottom:4px;left:0;width:100%;height:8px;background-color:var(--primary-light);z-index:-1;border-radius:4px}.section-padding{padding:100px 20px}.alt-bg{background-color:var(--bg-light)}.section-container{max-width:var(--max-width);margin:0 auto;width:100%}.section-header{text-align:center;margin-bottom:60px}.section-title{font-size:2.5rem;color:var(--text-color);margin-bottom:15px;position:relative;display:inline-block}.section-subtitle{font-size:1.1rem;color:var(--text-muted)}.btn{display:inline-block;padding:14px 28px;border-radius:30px;font-family:var(--font-heading);font-size:1.1rem;border:none;cursor:pointer;transition:var(--transition-smooth);text-align:center;box-shadow:0 4px 15px #0000000d}.btn-primary{background-color:var(--primary-color);color:var(--bg-white)}.btn-primary:hover{background-color:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #2ac1bc4d}.btn-secondary{background-color:var(--bg-white);color:var(--text-color);border:2px solid var(--border-color)}.btn-secondary:hover{background-color:var(--bg-light);border-color:var(--text-muted);transform:translateY(-2px)}#main-header{position:fixed;top:0;left:0;width:100%;height:80px;z-index:1000;background-color:#ffffffd9;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid rgba(0,0,0,.05);transition:var(--transition-smooth)}#main-header.scrolled{height:70px;box-shadow:0 4px 20px #0000000d}.header-container{max-width:var(--max-width);height:100%;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between;align-items:center}.logo{font-size:1.8rem}.logo span{color:var(--primary-color)}.nav-menu ul{display:flex;gap:35px}.nav-link{font-family:var(--font-heading);font-size:1.1rem;color:var(--text-color);position:relative;padding:5px 0}.nav-link:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:3px;background-color:var(--primary-color);transition:var(--transition-smooth);transform:translate(-50%);border-radius:2px}.nav-link:hover,.nav-link.active{color:var(--primary-color)}.nav-link:hover:after,.nav-link.active:after{width:100%}.mobile-menu-btn{display:none;background:none;border:none;font-size:1.5rem;color:var(--text-color);cursor:pointer}.mobile-nav{position:fixed;top:80px;left:0;width:100%;background-color:var(--bg-white);box-shadow:0 10px 20px #0000000d;z-index:999;padding:20px;border-bottom:1px solid var(--border-color);display:none}.mobile-nav ul{display:flex;flex-direction:column;gap:15px;text-align:center}.mobile-nav-link{font-family:var(--font-heading);font-size:1.2rem;padding:10px 0;display:block}.mobile-nav-link:hover{color:var(--primary-color)}.hero-section{height:100vh;min-height:600px;display:flex;align-items:center;justify-content:center;position:relative;background-color:#f9fdfd;overflow:hidden;padding-top:80px}.hero-bg-accent{position:absolute;bottom:-10%;right:-10%;width:60vw;height:60vw;border-radius:50%;background:radial-gradient(circle,#2ac1bc14,#fff0 70%);z-index:1}.hero-container{max-width:var(--max-width);margin:0 auto;padding:0 20px;width:100%;position:relative;z-index:2;text-align:center}.hero-badge{display:inline-block;padding:6px 16px;background-color:var(--primary-light);color:var(--primary-color);border-radius:20px;font-family:var(--font-heading);font-size:.95rem;margin-bottom:25px}.hero-title{font-size:4.2rem;color:var(--text-color);margin-bottom:30px;line-height:1.2}.hero-subtitle{font-size:1.35rem;color:var(--text-muted);margin:0 auto 40px;font-weight:300;word-break:keep-all}.hero-subtitle strong{font-weight:700;color:var(--text-color)}.hero-actions{display:flex;gap:20px;justify-content:center}.scroll-down-indicator{position:absolute;bottom:40px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:var(--text-muted);font-size:.85rem;animation:bounce 2s infinite;cursor:pointer}@keyframes bounce{0%,20%,50%,80%,to{transform:translate(-50%)}40%{transform:translate(-50%,-10px)}60%{transform:translate(-50%,-5px)}}.about-grid{display:grid;grid-template-columns:1fr 2fr;gap:40px;align-items:stretch}.about-card{background-color:var(--bg-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-soft);padding:40px;border:1px solid rgba(0,0,0,.03);transition:var(--transition-smooth)}.about-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-medium)}.profile-card{display:flex;flex-direction:column;align-items:center;text-align:center}.profile-avatar{width:140px;height:140px;border-radius:50%;background-color:var(--primary-light);display:flex;align-items:center;justify-content:center;margin-bottom:25px;color:var(--primary-color);font-size:4rem;border:4px solid var(--bg-white);box-shadow:0 4px 15px #2ac1bc33}.profile-name{font-size:2rem;margin-bottom:8px}.profile-role{font-size:1.05rem;color:var(--primary-color);font-weight:600;letter-spacing:.5px}.card-divider{width:100%;height:1px;border:none;background-color:var(--border-color);margin:25px 0}.profile-info-list{width:100%;text-align:left}.profile-info-list li{margin-bottom:15px;font-size:.95rem;display:flex;align-items:center;gap:12px;color:var(--text-muted)}.profile-info-list li i{width:20px;color:var(--primary-color);font-size:1.1rem;text-align:center}.profile-info-list li a:hover{color:var(--primary-color)}.intro-card{display:flex;flex-direction:column;justify-content:center}.card-badge{align-self:flex-start;padding:4px 12px;background-color:var(--bg-light);border-radius:12px;font-size:.85rem;font-weight:600;color:var(--text-muted);margin-bottom:20px}.intro-heading{font-size:1.8rem;margin-bottom:25px;color:var(--text-color)}.intro-text{font-size:1.05rem;color:var(--text-muted);margin-bottom:20px;line-height:1.7}.personality-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:15px}.personality-tags .tag{background-color:var(--primary-light);color:var(--primary-color);padding:8px 16px;border-radius:20px;font-size:.9rem;font-family:var(--font-heading)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}.skill-category-card{background-color:var(--bg-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-soft);padding:40px 30px;transition:var(--transition-smooth);border:1px solid rgba(0,0,0,.02)}.skill-category-card:hover{transform:translateY(-5px);box-shadow:var(--shadow-hover)}.category-icon{width:60px;height:60px;border-radius:var(--border-radius-md);background-color:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:1.8rem;color:var(--primary-color);margin-bottom:25px}.category-title{font-size:1.5rem;margin-bottom:30px;border-bottom:2px solid var(--border-color);padding-bottom:12px}.skill-list{display:flex;flex-direction:column;gap:20px}.skill-info{display:flex;justify-content:space-between;margin-bottom:8px;font-weight:500}.skill-name{font-size:1rem;color:var(--text-color)}.skill-percent{font-size:.95rem;color:var(--primary-color);font-family:var(--font-heading)}.skill-bar{width:100%;height:8px;background-color:var(--bg-light);border-radius:4px;overflow:hidden}.skill-progress{height:100%;background-color:var(--primary-color);border-radius:4px;transition:width 1s cubic-bezier(.1,.8,.25,1)}.timeline{position:relative;max-width:900px;margin:0 auto;padding:20px 0}.timeline:before{content:"";position:absolute;left:230px;top:0;width:3px;height:100%;background-color:var(--border-color)}.timeline-item{position:relative;display:flex;margin-bottom:50px}.timeline-item:last-child{margin-bottom:0}.timeline-date{width:210px;text-align:right;padding-right:20px;font-family:var(--font-heading);font-size:1.05rem;color:var(--primary-color);padding-top:15px;white-space:nowrap}.timeline-dot{position:absolute;left:230px;top:20px;width:15px;height:15px;border-radius:50%;background-color:var(--primary-color);border:3px solid var(--bg-white);transform:translate(-50%);box-shadow:0 0 0 4px #2ac1bc26;z-index:2}.timeline-content{flex:1;padding-left:40px}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:nowrap;gap:15px}.company-name{font-size:1.5rem;color:var(--text-color);white-space:nowrap}.job-role{font-size:.95rem;background-color:var(--primary-light);color:var(--primary-color);padding:4px 12px;border-radius:12px;font-weight:600;white-space:nowrap}.experience-summary{font-size:1.05rem;color:var(--text-muted);margin-bottom:15px}.experience-details{list-style:none}.experience-details li{position:relative;padding-left:20px;margin-bottom:10px;font-size:.95rem;color:var(--text-muted)}.experience-details li:before{content:"•";color:var(--primary-color);font-size:1.5rem;position:absolute;left:0;top:-4px}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.project-card{background-color:var(--bg-white);border-radius:var(--border-radius-lg);overflow:hidden;box-shadow:var(--shadow-soft);border:1px solid rgba(0,0,0,.03);transition:var(--transition-smooth);display:flex;flex-direction:column}.project-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-medium)}.project-image-fallback{height:220px;background-color:var(--primary-light);display:flex;align-items:center;justify-content:center;font-size:5rem;color:var(--primary-color);border-bottom:1px solid var(--border-color);position:relative}.project-image-fallback.alt-color{background-color:#fff2e2;color:#ffa43a}.project-image-fallback:after{content:"Project Preview";position:absolute;bottom:15px;font-family:var(--font-heading);font-size:.95rem;opacity:.5}.project-info{padding:35px;flex:1;display:flex;flex-direction:column}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:15px}.project-tags .tag{font-size:.8rem;background-color:var(--bg-light);color:var(--text-muted);padding:4px 10px;border-radius:8px;font-weight:500}.project-title{font-size:1.7rem;margin-bottom:15px;color:var(--text-color)}.project-desc{font-size:.98rem;color:var(--text-muted);margin-bottom:25px;line-height:1.6}.project-highlights{background-color:var(--bg-light);padding:20px;border-radius:var(--border-radius-md);margin-bottom:25px;font-size:.9rem;flex:1}.project-highlights strong{display:block;margin-bottom:10px;color:var(--text-color)}.project-highlights ul{list-style:none}.project-highlights li{position:relative;padding-left:15px;margin-bottom:8px;color:var(--text-muted)}.project-highlights li:before{content:"-";position:absolute;left:0;color:var(--primary-color);font-weight:700}.project-links{display:flex;gap:20px;margin-top:auto}.project-link{font-family:var(--font-heading);font-size:.95rem;color:var(--text-muted);display:flex;align-items:center;gap:8px}.project-link:hover{color:var(--primary-color)}.contact-section{background-color:var(--bg-dark)}.contact-section .section-title{color:var(--bg-white)}.text-white{color:var(--bg-white)!important}.text-mint{color:var(--primary-color)!important}.contact-container{display:grid;grid-template-columns:1fr 1.2fr;gap:50px;margin-top:50px}.contact-card{background-color:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:var(--border-radius-lg);padding:40px;color:var(--bg-white);display:flex;flex-direction:column;justify-content:center}.contact-card-title{font-size:1.8rem;margin-bottom:30px;color:var(--bg-white)}.contact-channels{display:flex;flex-direction:column;gap:25px}.channel-item{display:flex;align-items:center;gap:20px}.channel-icon{width:50px;height:50px;background-color:#2ac1bc26;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.3rem;color:var(--primary-color)}.channel-details{display:flex;flex-direction:column}.channel-label{font-size:.85rem;color:#888;margin-bottom:3px}.channel-value{font-size:1.1rem;font-weight:500}.channel-value a:hover{color:var(--primary-color)}.contact-form-container{background-color:var(--bg-white);border-radius:var(--border-radius-lg);padding:45px;box-shadow:0 20px 50px #0000004d}.contact-form{display:flex;flex-direction:column;gap:22px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:.9rem;font-weight:600;color:var(--text-color)}.form-group input,.form-group textarea{padding:14px 18px;border-radius:var(--border-radius-sm);border:2px solid var(--border-color);font-family:var(--font-body);font-size:.95rem;transition:var(--transition-smooth);background-color:var(--bg-light)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--primary-color);background-color:var(--bg-white)}.btn-mint-submit{background-color:var(--primary-color);color:var(--bg-white);padding:16px;border-radius:var(--border-radius-sm);font-family:var(--font-heading);font-size:1.1rem;border:none;cursor:pointer;transition:var(--transition-smooth);box-shadow:0 4px 15px #2ac1bc33}.btn-mint-submit:hover{background-color:var(--primary-hover);box-shadow:0 6px 20px #2ac1bc59}#main-footer{background-color:#17181a;color:#777;padding:40px 20px;border-top:1px solid rgba(255,255,255,.05)}.footer-container{max-width:var(--max-width);margin:0 auto;display:flex;justify-content:space-between;align-items:center;font-size:.9rem}.footer-credit{font-size:.85rem}@media(max-width:1024px){.section-padding{padding:80px 20px}.hero-title{font-size:3.5rem}.about-grid{gap:30px}.skills-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{gap:30px}}@media(max-width:768px){html{font-size:15px}.mobile-menu-btn{display:block}.nav-menu{display:none}.hero-title{font-size:2.8rem}.hero-subtitle{font-size:1.2rem;white-space:normal}.about-grid,.skills-grid{grid-template-columns:1fr}.timeline:before{left:20px}.timeline-dot{left:20px}.timeline-date{width:100%;text-align:left;padding-left:40px;padding-bottom:5px}.timeline-item{flex-direction:column}.timeline-content{padding-left:40px}.timeline-header{flex-wrap:wrap;align-items:flex-start;gap:10px}.company-name,.job-role{white-space:normal}.projects-grid,.contact-container{grid-template-columns:1fr}}
