:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#a82727;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{scroll-behavior:smooth}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--bg-main: #021529;--bg-header: #020617;--bg-hero: #021529;--bg-section: #0A1E33;--text-main: #ffffff;--text-sub: #a1b5d8;--text-muted: #8b9bb8;--accent: #c4b44e;--accent-purple: #c471f5;--header-h: 56px;--container-w: 1080px}html,body{margin:0;padding:0;width:100%;overflow-x:hidden;background-color:var(--bg-main);color:var(--text-main);font-family:system-ui,-apple-system,BlinkMacSystemFont,Noto Sans KR,sans-serif}*{box-sizing:border-box}.app{min-height:100vh;padding-top:var(--header-h)}.section{padding:70px 32px 100px;background:var(--bg-section)}.section-inner{max-width:var(--container-w);margin:0 auto;padding:0 24px}.title{font-size:42px;font-weight:550}.title-underline{width:80px;height:4px;margin:0 auto;border-radius:999px;background:linear-gradient(90deg,#e76df5,#9b7bff)}.hero-header{position:fixed;top:0;left:0;right:0;z-index:1000;font-size:14px;background:transparent;transition:background .25s ease,box-shadow .25s ease}.hero-header-inner{max-width:1440px;margin:0 auto;width:100%;display:flex;align-items:center;justify-content:space-between;padding:12px 32px}.hero-header-right{position:relative;display:flex;align-items:center;gap:16px}.hero-header.hero-header-scrolled{background:var(--bg-header);box-shadow:0 4px 12px #0006}.hero-logo{display:flex;align-items:center;gap:12px}.hero-logo-circle{width:32px;height:32px;border-radius:999px;border:1px solid #ffffff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:600;color:#fff}.hero-logo-text{font-size:16px;letter-spacing:.06em;color:#fff}.hero-nav{display:flex;align-items:center;gap:20px}.hero-nav a{color:var(--text-sub);text-decoration:none;font-size:14px}.hero-nav a:hover{color:var(--accent-blue)}.hero-menu-toggle{background:none;border:none;cursor:pointer;padding:4px;display:none;flex-direction:column;justify-content:center;align-items:center;gap:4px}.hero-menu-toggle span{width:18px;height:2px;background:var(--text-main);border-radius:999px;display:block}.hero-nav-mobile{position:absolute;top:120%;right:-80%;background:#020617f5;padding:8px 16px;border-radius:12px;z-index:1100;display:none;box-shadow:0 6px 20px #00000040;min-width:100px;white-space:nowrap;text-align:left;display:flex;flex-direction:column;gap:8px}.hero-nav-mobile a{color:var(--text-sub);padding:1px 0;border-radius:6px;transition:.2s}.hero-nav-mobile a:hover{color:var(--accent-blue);background:#ffffff0a}@media(max-width:900px){.hero-header{font-size:13px}.hero-logo-text{font-size:14px}.hero-nav{display:none}.hero-menu-toggle{display:inline-flex}.hero-nav-mobile{display:flex;align-items:flex-start;gap:8px;font-size:14px}}.footer{background-color:var(--bg-header);color:#fff9;padding:64px 24px 56px;position:relative}.footer:before{content:"";position:absolute;left:0;right:0;top:0;height:1px;background:linear-gradient(90deg,#fff0,#ffffff24,#fff0)}.footer-inner{max-width:1080px;margin:0 auto}.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;margin-bottom:38px}.footer-col{flex:1;min-width:240px}.footer-left{text-align:left}.footer-center{text-align:center}.footer-right{text-align:right}.footer-heading{font-size:22px;letter-spacing:.2px;font-weight:700;margin:0 0 14px;color:#ffffffe6}.footer-insite-desc{margin:0 0 14px;font-size:13px;line-height:1.6;color:#ffffff94}.footer-subtext{margin:0 0 16px;font-size:13px;line-height:1.6;color:#ffffff94}.footer-mini-grid{display:flex;gap:26px;flex-wrap:wrap}.footer-mini-item{display:flex;flex-direction:column;gap:6px}.footer-mini-label{font-size:12px;color:#ffffff7a;text-transform:lowercase}.footer-mini-value{font-size:14px;color:#ffffffc7}.footer-links{list-style:none;padding:0;margin:0}.footer-link{display:inline-block;margin:7px 0;color:#ffffffad;text-decoration:none;font-size:13px;position:relative;transition:transform .16s ease,color .16s ease,opacity .16s ease}.footer-link:hover{color:#c4b44e;transform:translate(2px)}.footer-link:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:1px;background:#c4b44ea6;opacity:0;transform:scaleX(.9);transform-origin:left;transition:opacity .16s ease,transform .16s ease}.footer-link:hover:after{opacity:1;transform:scaleX(1)}.footer-icons{display:flex;justify-content:flex-end;gap:14px}.footer-icon{width:46px;height:46px;border-radius:14px;display:inline-flex;align-items:center;justify-content:center;background:#ffffff16;border:1px solid rgba(255,255,255,.11);text-decoration:none;transition:transform .18s ease,background .18s ease,border .18s ease,box-shadow .18s ease}.footer-icon:hover{transform:translateY(-2px);background:#ffffff24;border-color:#c4b44e80;box-shadow:0 10px 26px #c4b44e1f}.footer-icon-img{width:22px;height:22px;display:block;opacity:.92;transition:opacity .18s ease,transform .18s ease}.footer-icon:hover .footer-icon-img{opacity:1;transform:scale(1.02)}.footer-bottom{text-align:center}.footer-divider{width:100%;max-width:560px;height:1px;background:#ffffff16;margin:0 auto 18px}.footer-copy{margin:0 0 6px;font-size:13px;line-height:1.7;color:#ffffff9e}.footer-email{display:inline-block;margin:3px 0 10px;color:#ffffffb8;text-decoration:none;font-size:13px;transition:color .16s ease,transform .16s ease}.footer-email:hover{color:#c4b44e;transform:translateY(-1px)}.footer-credit{font-size:11px;opacity:.55;margin:0}@media(max-width:840px){.footer-top{flex-direction:column;align-items:stretch}.footer-left,.footer-right,.footer-center{text-align:left}.footer-icons{justify-content:flex-start}}.hero{width:100%;min-height:calc(100dvh - var(--header-h));min-height:calc(100vh - var(--header-h));max-width:none;margin:0;background:var(--bg-hero);padding:24px 32px 104px;position:relative;display:flex;flex-direction:column;overflow:hidden}.hero:after{position:absolute;left:0;right:0;bottom:0;height:150px;background:linear-gradient(to bottom,#02152900,#020617d9 70%,#020617);pointer-events:none}.hero-main{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:14px;position:relative;z-index:1}.hero-greeting p{margin:4px 0;font-size:clamp(20px,2.1vw,30px)}.hero-greeting p:first-child{margin-top:0}.hero-headline{font-weight:700;letter-spacing:-.01em}.highlight-name{color:#5fb3ff;font-weight:700}.hero-value{margin:14px 0 2px;max-width:720px;line-height:1.55;font-size:clamp(14px,1.25vw,18px);color:#ffffffd1}.hero-role{margin:4px 0 0;font-size:clamp(16px,1.9vw,24px);color:#ffffff9e}.hero-cta{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;justify-content:center}.hero-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.16);background:#00000042;color:#ffffffe0;padding:10px 14px;border-radius:999px;font-size:13px;cursor:pointer;text-decoration:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);transition:transform .15s ease,border-color .15s ease,background .15s ease}.hero-btn-icon{opacity:.9;transition:transform .15s ease,opacity .15s ease;display:inline-flex;align-items:center;font-size:14px;line-height:1}.hero-btn:hover{transform:translateY(-2px);border-color:#ffffff38;background:#00000052}.hero-btn:hover .hero-btn-icon[data-direction=out]{transform:translate(2px,-2px);opacity:1}.hero-btn:hover .hero-btn-icon[data-direction=down]{transform:translateY(3px);opacity:1}.hero-btn:focus-visible .hero-btn-icon[data-direction=out]{transform:translate(2px,-2px);opacity:1}.hero-btn:focus-visible .hero-btn-icon[data-direction=down]{transform:translateY(3px);opacity:1}.hero-btn:active{transform:translateY(0)}.hero-btn-primary{border-color:#5fb3ff73;background:#5fb3ff33}.hero-btn-primary:hover{border-color:#5fb3ff8c;background:#5fb3ff38}.hero-btn-ghost{border-color:#ffffff24}.hero-strengths{margin-top:44px}.hero-strengths-title{font-size:13px;letter-spacing:.26em;color:#ffffffdb;margin-bottom:12px}.hero-strengths-text{font-size:14px;color:#ffffff94}.hero-scroll{position:absolute;bottom:26px;left:50%;transform:translate(-50%);opacity:.85;display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 14px;border-radius:999px;background:#00000047;border:1px solid rgba(255,255,255,.14);color:#ffffffdb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:2;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}.hero-scroll:hover{transform:translate(-50%) translateY(-2px);border-color:#ffffff38;background:#0000005c}.hero-scroll-label{font-size:12px;opacity:.9;animation:scroll-label-fade 4.5s ease-in-out infinite}@keyframes scroll-label-fade{0%{opacity:0;transform:translateY(4px)}12%{opacity:.95;transform:translateY(0)}55%{opacity:.55;transform:translateY(0)}to{opacity:0;transform:translateY(0)}}.hero-scroll-arrow{font-size:20px;opacity:.9;animation:arrow-bounce 1.6s ease-in-out infinite}@keyframes arrow-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}.hero :where(header,.header,.navbar) :where(a,button){transition:opacity .15s ease,transform .15s ease}.hero :where(header,.header,.navbar) :where(a:hover,button:hover){opacity:.95;transform:translateY(-1px)}@media(max-width:960px){.hero{padding:24px 20px 110px}.hero-greeting p{font-size:clamp(18px,5vw,22px)}.hero-value{font-size:clamp(13px,3.6vw,16px);padding:0 8px}.hero-role{font-size:clamp(15px,4.2vw,19px)}.hero-strengths{margin-top:40px}}@media(max-width:640px){.hero{padding:70px 16px 80px}.hero-strengths-text{font-size:12px}.hero-scroll{bottom:22px}}.about{display:flex;flex-direction:column;align-items:center;position:relative}.about-inner{width:100%;max-width:1440px;margin:0 auto;display:flex;gap:64px}.about-left{flex:0 0 50%;display:flex;flex-direction:column;justify-content:center;gap:24px;position:relative;align-items:center}.about-photo-large-wrapper{position:relative;width:380px;height:380px;border-radius:999px;overflow:hidden;z-index:2}.about-photo-large{width:100%;height:100%;object-fit:cover}.about-photo-small-wrapper{width:140px;height:140px;border-radius:999px;overflow:visible;align-self:flex-end;margin-right:32px;bottom:140px;position:relative;z-index:2}.about-photo-small{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block;border:1px solid rgba(255,255,255,.12);box-shadow:0 12px 26px #00000040}.about-photo-connector{width:2px;height:120px;margin:0 auto 13px;background-image:linear-gradient(to bottom,#ffffff59 40%,#fff0 0%);background-size:2px 7px;background-repeat:repeat-y;opacity:.7;transform:translate(180px,30px) rotate(148deg);transform-origin:top center;-webkit-mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent);mask-image:linear-gradient(to bottom,transparent,black 20%,black 80%,transparent)}.about-circle{position:absolute;border-radius:999px;background:#94b8d052;z-index:1;pointer-events:none}.about-circle--top{width:160px;height:160px;top:-40px;right:80px;background:#9ad5d9;opacity:.09;z-index:3}.about-circle--bottom{width:110px;height:110px;bottom:240px;left:200px;background:#ffa305;opacity:.27}.about-photo-small-meta{margin-top:10px;text-align:center}.about-photo-small-tag{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;letter-spacing:.02em;color:#ffffffdb;background:#00000038;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.about-keyword:hover .about-keyword-tag{border-color:#ffffff40;background:#00000052}.about-photo-small-caption{white-space:nowrap;margin:8px 0 0;font-size:12px;line-height:1.4;color:#ffffff9e}.about-photo-small-tag:hover{border-color:#ffffff40;background:#00000052}.about-right{flex:0 0 50%;padding:0 50px;display:flex;flex-direction:column;justify-content:center;color:var(--text-main)}.about-title-block{margin-bottom:32px}.about-title-block-top{text-align:center;margin-bottom:48px}.about-heading{font-size:30px;font-weight:800;line-height:1.5;margin:0 0 20px}.about-identity{margin:12px 0 0;font-size:14px;line-height:1.6;color:#ffffffc7}.about-divider{width:100%;max-width:420px;height:1px;background:#ffffff3d;margin:0 0 20px}.about-text{font-size:14px;color:#ffffffad;line-height:1.75;margin:0 0 16px}.about-keywords{margin-top:18px;padding-top:14px;border-top:1px solid rgba(255,255,255,.1)}.about-keywords-title{margin:0 0 12px;font-size:12px;letter-spacing:.24em;color:#ffffffc7}.about-keywords-list{display:grid;gap:12px}.about-keyword{display:grid;grid-template-columns:130px 1fr;align-items:center}.about-keyword-tag{flex:0 0 auto;display:inline-flex;justify-self:start;align-items:center;padding:6px 10px;border-radius:999px;font-size:12px;color:#ffffffdb;background:#00000038;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.about-keyword-desc{margin:0;font-size:13px;line-height:1.45;color:#ffffffa6}.career-card-award-badge{display:none}@media(max-width:960px){.about{padding:72px 20px 80px}.about-inner{flex-direction:column;align-items:center;gap:40px}.about-left{align-items:center}.about-photo-large-wrapper{width:260px;height:260px}.about-photo-small-wrapper,.about-photo-connector{display:none}.about-right{text-align:center;align-items:center}.about-title-block{margin-top:8px;margin-bottom:24px}.title{font-size:24px}.about-title-underline{margin-top:6px}.about-heading{font-size:20px}.about-divider{max-width:360px;margin:16px auto 20px}.about-text{max-width:360px;font-size:14px}.about-circle--top{width:130px;height:130px;top:-8%;right:-10%}.about-circle--bottom{width:80px;height:80px;bottom:-10%;left:8%}}@media(max-width:640px){.about{padding-inline:16px}.about-photo-large-wrapper{width:230px;height:230px}.about-text{max-width:320px}.about-keyword{align-items:flex-start}.about-keyword-desc{font-size:12px}}.career{color:#f5f5f5}.career-inner{max-width:1080px;margin:0 auto;padding:0 24px}.career-header{text-align:center;font-size:30px;margin-bottom:48px}.career-content{display:flex;gap:24px}.career-rail{position:relative;width:100px;display:flex;flex-direction:column;align-items:center;margin-top:80px}.career-rail-line{position:absolute;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#d4b3ff66,#d4b3ff00);left:50%;transform:translate(-50%)}.career-rail-icon{font-size:22px}.career-rail-label{font-size:14px;text-align:center;line-height:1.3}.rail-item-1{top:650px}.rail-item-2{top:1000px}.rail-item-3{top:1300px}.career-rail-item{position:absolute;display:flex;flex-direction:column;align-items:center;gap:6px;transform:translate(-50%);left:50%}.career-main{flex:1}.career-group{margin-bottom:56px}.career-group-title{font-size:18px;font-weight:600;margin-bottom:20px}.career-group-list{display:flex;flex-direction:column;gap:24px}.career-card{display:grid;grid-template-columns:auto 1fr;column-gap:20px;padding:20px 24px 24px;border-radius:18px;background-color:#162235;box-shadow:0 4px 14px #0000002e}.career-card-top-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.career-card-period{font-size:13px;padding:6px 14px;border-radius:999px;background:#0c1528e6;border:1px solid rgba(255,255,255,.08)}.career-card-image{width:100%;height:100%;object-fit:cover;display:block;padding-top:0}.career-card-left{display:flex;flex-direction:column;align-items:flex-start;gap:12px;margin-right:8px}.career-card-image-wrapper{width:140px;height:auto;align-self:center;border-radius:16px;overflow:hidden;background:#162235}.career-card-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.career-card-title{font-size:16px;font-weight:600}.career-card-link-btn{border:none;outline:none;background:transparent;color:#b8c2ff;font-size:18px;cursor:pointer;display:inline-flex;align-items:center;gap:4px;opacity:.85}.career-card-link-btn:hover{opacity:1}.career-card-link-label{font-size:10px;text-transform:uppercase}.career-card-desc{margin:0;padding:10px 18px;display:flex;flex-direction:column;gap:10px;font-size:14px;color:#dde4f5}.career-card-desc li{line-height:1.45}.career-card-tag{display:flex;padding:5px 12px;font-size:12px;border-radius:999px;background:#02040a;color:#e3d5ff}.career-cert-group{margin-top:40px}.career-cert-badges{display:flex;flex-wrap:wrap;gap:12px;margin-top:18px}.career-cert-badge{padding:10px 24px;border-radius:999px;background-color:#d3d5da;opacity:.9;color:#1f242b;font-size:14px;font-weight:500;box-shadow:0 2px 6px #0000001f;white-space:nowrap}@media(max-width:960px){.career-rail{display:none}.career-card-header-row{align-items:flex-start;gap:8px}.career-card-award-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;background:#ffd70014;font-size:12px;white-space:nowrap}.career-cert-badge{font-size:13px}.career-cert-badges{display:flex;text-align:center;flex-direction:column;align-items:flex-start;gap:18px}.career-card-award-badge .award-icon{font-size:14px}.career-card-award-badge .award-text{letter-spacing:.02em}}@media(max-width:640px){.career{padding-top:70px}.title{font-size:24px}.career-group-title{font-size:16px}.career-inner{padding:0 10px}.career-card{padding:16px 10px 18px;grid-template-columns:150px 1fr;column-gap:16px;align-items:flex-start}.career-card-image-wrapper{width:120px}.career-card-desc{font-size:14px}.career-card-period{font-size:12px;padding:5px 10px}.career-cert-badge{font-size:12px;padding:8px 14px}}.career-image-modal{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.career-image-modal-content{position:relative;max-width:min(90vw,700px);max-height:80vh;background:#0a1e33;padding:16px;border-radius:18px;box-shadow:0 12px 40px #0009;display:flex;align-items:center;justify-content:center}.career-image-modal-content img{max-width:100%;max-height:70vh;border-radius:12px;object-fit:contain}.career-image-modal-close{position:absolute;top:8px;right:10px;width:32px;height:32px;border-radius:999px;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:#000000b3;color:#fff;font-size:18px;box-shadow:0 2px 8px #0006;z-index:2}.career-image-modal-close:hover{background:#000000e6;transform:translateY(-1px)}.skill-inner{max-width:1080px;margin:0 auto;padding:0 24px}.skill-title-block{text-align:center;margin-bottom:48px}.skill-tab-row{display:flex;justify-content:center;gap:24px;margin-bottom:40px;flex-wrap:wrap}.skill-tab-btn{min-width:180px;padding:14px 28px;border-radius:999px;border:none;outline:none;cursor:pointer;background-color:#242430;color:#f0f0ff;font-size:18px;letter-spacing:.03em;transition:all .2s ease}.skill-tab-btn:hover{background-color:#2f2f3b}.skill-tab-btn.is-active{background:#6c63ff;color:#fff;box-shadow:0 10px 26px #6c63ff80}.skill-card-row-wrapper{overflow-x:auto;padding-bottom:8px;margin-bottom:32px}.skill-card-row-wrapper::-webkit-scrollbar{height:10px}.skill-card-row-wrapper::-webkit-scrollbar-thumb{background-color:#ffffff26;border-radius:999px}.skill-card-row{display:inline-flex;gap:20px;min-width:100%}.skill-card{width:140px;min-width:140px;height:210px;border-radius:26px;background:#111827;box-shadow:0 14px 32px #00000073;padding:16px 16px 18px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;flex-shrink:0;transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease}.skill-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px #0009;background:#151c2b}.skill-card-label{padding:4px 14px;border-radius:999px;background-color:#2a2c36;font-size:12px;color:#e5e5ff;letter-spacing:.04em}.skill-card-logo-wrap{flex:1;display:flex;align-items:center;justify-content:center;width:100%}.skill-card-logo{max-width:64px;max-height:64px;object-fit:contain}.dot{width:8px;height:8px;border-radius:50%;background:#fff3;display:inline-block}.dot.full{background:#b2ff5c}.dot.empty{background:#ffffff26}.dot.half{background:linear-gradient(to right,#b2ff5c 50%,#ffffff26 50%)}.skill-card-level-dots{display:flex;justify-content:center;gap:4px}.skill-empty{color:#fff9;font-size:14px;padding:20px 0}.skill-description{text-align:center;margin-top:8px;font-size:16px;line-height:1.7;color:#e4ecfce6}@media(max-width:960px){.skill-section{padding:80px 0}.title{font-size:24px}.skill-tab-row{gap:12px}.skill-tab-btn{min-width:140px;padding:10px 18px;font-size:15px}.skill-card{width:100px;min-width:80px;height:130px;border-radius:26px}.skill-card-label{font-size:10px;letter-spacing:.02em}.skill-description{font-size:14px}.skill-card-logo{max-width:50px;max-height:50px}.dot{width:6px;height:6px}}.project-inner{max-width:1080px;margin:0 auto;padding:0 24px}.project-header{text-align:center;margin-bottom:48px}.project-carousel{display:grid;grid-template-columns:56px 1fr 56px;align-items:center;column-gap:28px}.project-viewport{overflow:hidden}.project-track{display:flex;gap:28px;transition:transform .36s ease;will-change:transform}.project-carousel-btn{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:#0a1e338c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;line-height:1;padding:0;cursor:pointer}.project-carousel-btn:hover{background:#ffffff40}.project-carousel-btn.disabled{opacity:.35;cursor:not-allowed}.project-carousel-dots{margin-top:18px;display:flex;justify-content:center;gap:10px}.project-carousel-dot{height:10px;width:10px;min-width:10px;border-radius:999px;padding:0;border:none;background:#ffffff2e;transition:all .25s ease;cursor:pointer}.project-carousel-dot.active{width:20px;min-width:20px;background:#c4b44e}.project-carousel-dot:hover{background:#ffffff59}.project-card{flex:0 0 calc((100% - 56px) / 3);height:450px;margin-top:10px;position:relative;border-radius:24px;background-color:#162235;overflow:hidden;cursor:pointer;transform:translateY(0);box-shadow:0 4px 14px #0000002e;transition:transform .18s ease-out,box-shadow .18s ease-out,background-color .18s ease-out}.project-card:hover{transform:translateY(-10px);box-shadow:0 10px 24px #00000052;background-color:#1a2941}.project-card-top{display:flex;flex-direction:column}.project-card-image{width:100%;height:100%;display:flex;overflow:hidden;object-fit:cover}.project-card-body{text-align:center;padding:22px 24px 84px}.project-card-subtitle{font-size:16px;font-weight:600;margin-bottom:10px}.project-card-summary{font-size:14px;margin-top:26px;color:#dde4f5}.summary-line{margin:0 0 8px;line-height:1.55}.project-card-tags{position:absolute;left:24px;right:24px;bottom:22px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}.project-tag-pill{padding:5px 12px;border-radius:999px;background:#02040a;color:#e3d5ff;font-size:12px}.project-modal-backdrop{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:9999}.project-modal{position:relative;max-width:880px;max-height:90vh;width:100%;border-radius:24px;background:#111319;box-shadow:0 16px 44px #0009;display:flex;flex-direction:column;overflow:hidden}.project-modal-close{position:absolute;top:16px;right:16px;width:36px;height:36px;border-radius:50%;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;background:#0000008c;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);color:#fff;font-size:20px;font-weight:300;box-shadow:0 4px 12px #0006,inset 0 0 0 1px #ffffff14;transition:all .2s ease;z-index:10}.project-modal-close:hover{background:#000c;transform:scale(1.08)}.project-modal-close:active{transform:scale(.95)}.project-modal-close:focus-visible{outline:none;box-shadow:0 0 0 2px #78a0ff99,0 4px 12px #00000080}.project-modal-top{flex:0 0 auto;padding:24px 28px 18px;border-bottom:1px solid rgba(255,255,255,.08)}.project-modal-body{flex:1 1 auto;overflow-y:auto;padding:24px 40px 32px}.project-modal-body::-webkit-scrollbar{width:8px}.project-modal-body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px}.project-modal-body::-webkit-scrollbar-track{background:transparent}.project-modal-hero{padding-bottom:10px;position:relative;display:flex;justify-content:center}.hero-slide{display:flex;justify-content:center;align-items:flex-start;gap:32px;width:100%}.hero-image-wrapper{width:50%;max-width:280px;display:flex;flex-direction:column;align-items:center}.hero-image-wrapper img{width:100%;height:auto;border-radius:18px;object-fit:cover}.project-modal-hero img{width:50%;height:auto;display:block;margin:0 auto;object-fit:cover;border-radius:18px}.hero-caption{margin-top:10px;padding:6px 10px;border-radius:999px;background:#ffffff0f;border:1px solid rgba(255,255,255,.08);font-size:12.5px;line-height:1.4;color:#ffffffbf}.project-modal .hero-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:14px;z-index:5}.project-modal .hero-nav-prev{left:24px;width:50px;height:50px}.project-modal .hero-nav-next{right:24px;width:50px;height:50px}.hero-nav.disabled{opacity:.2;cursor:default;pointer-events:none}.hero-dots{margin-top:10px;display:flex;justify-content:center;padding-bottom:30px}.hero-dot{width:10px;height:10px;background-color:#555;border-radius:50%;border:none;margin:0 4px;cursor:pointer;padding:0;transition:background-color .2s ease}.hero-dot.active{width:18px;border-radius:999px;box-shadow:0 0 8px #6496ff99;background-color:#15d6f8;transform:scale(1.3)}.project-modal-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}.project-modal-title{font-size:20px;font-weight:700}.project-modal-badge{padding:4px 10px;border-radius:999px;font-size:12px;background:#9b7bff26;color:#e4ddff}.project-modal-section{margin-bottom:20px}.project-modal-section-title{font-size:15px;font-weight:600;margin-bottom:8px;color:#e4ebff}.project-modal-list{list-style:disc;padding-left:18px;margin:0;color:#cbd3e6;font-size:14px;line-height:1.5}.project-modal-tech-tags{display:flex;flex-wrap:wrap;gap:8px}@media(max-width:960px){.project-inner{padding:0 12px}.project-track{gap:24px}.project-card{flex:0 0 calc((100% - 24px)/2);height:auto}}@media(max-width:640px){.project-section{padding:70px 16px 80px}.title{font-size:24px}.project-carousel{grid-template-columns:48px 1fr 48px;column-gap:14px}.project-carousel-btn{width:38px;height:38px;font-size:26px}.project-track{gap:16px}.project-card{flex:0 0 100%}.project-modal{border-radius:18px}.project-modal-hero img{max-height:220px}}.quick-top{position:fixed;right:20px;bottom:90px;z-index:1200;width:50px;height:50px;border-radius:999px;border:none;background:#ffffffdb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.35);box-shadow:0 10px 26px #00000040;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .2s ease,transform .2s ease,background .2s ease}.quick-top-img{filter:saturate(.95)}.quick-top.show{opacity:1;transform:translateY(0);pointer-events:auto}.quick-top:hover{background:#fff}.quick-top:active{transform:translateY(0) scale(.96)}.quick-top:focus-visible{outline:none;box-shadow:0 0 0 2px #5fb3ffb3,0 10px 26px #00000040}.quick-top-icon{font-size:22px;line-height:1;font-weight:700;color:#0a1e33}.quick-top-tooltip{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%) translate(6px);padding:6px 10px;border-radius:999px;font-size:12px;font-weight:600;letter-spacing:.02em;background:#000000bf;color:#fff;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .3s ease,transform .3s ease}.quick-top:hover .quick-top-tooltip{opacity:1;transform:translateY(-50%) translate(0)}@media(max-width:960px){.quick-top-tooltip{display:none}.quick-top{width:44px;height:44px;background:#ffffffc7;border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 20px #00000038}.quick-top-img{filter:drop-shadow(0 1px 1px rgba(0,0,0,.15));width:18px;height:18px}}
