*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary:#050510;--bg-secondary:#0a0a1a;--bg-card:#0f0f23;--bg-card-hover:#16163a;--accent-primary:#6c63ff;--accent-secondary:#00d4ff;--accent-glow:#6c63ff66;--text-primary:#f0f0ff;--text-secondary:#99b;--text-muted:#555578;--border:#6c63ff33;--border-hover:#6c63ff99;--gradient-hero:linear-gradient(135deg, #050510 0%, #0d0d2b 50%, #050510 100%);--font-sans:"Pretendard", "Apple SD Gothic Neo", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "Fira Code", "Consolas", monospace}html{scroll-behavior:smooth;font-size:16px}body{font-family:var(--font-sans);background-color:var(--bg-primary);color:var(--text-primary);line-height:1.6;overflow-x:hidden}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;display:block}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:3px}::selection{color:#fff;background:#6c63ff59}.section{padding:6rem 0;position:relative;overflow:hidden}.container{max-width:1100px;margin:0 auto;padding:0 2rem}.section__header{margin-bottom:3rem}.section__tag{letter-spacing:.25em;text-transform:uppercase;color:var(--accent-primary);background:#6c63ff1a;border:1px solid #6c63ff40;border-radius:20px;margin-bottom:.75rem;padding:.3rem .85rem;font-size:.72rem;font-weight:700;display:inline-block}.section__title{letter-spacing:-.02em;background:linear-gradient(135deg, var(--text-primary) 40%, var(--accent-secondary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:800}.cursor-glow{pointer-events:none;z-index:9999;background:radial-gradient(circle,#6c63ff12,#0000 70%);border-radius:50%;width:300px;height:300px;transition:left .1s,top .1s;position:fixed;transform:translate(-50%,-50%)}@media (width<=640px){.section{padding:4rem 0}}.space-bg{z-index:-1;pointer-events:none;background:#050510;position:fixed;inset:0}.space-bg__canvas{width:100%;height:100%;position:absolute;inset:0}.space-bg__nebula{pointer-events:none;border-radius:50%;position:absolute}.space-bg__nebula--1{filter:blur(70px);background:radial-gradient(circle,#6c3fff38 0%,#0000 70%);width:900px;height:900px;top:-300px;left:-250px}.space-bg__nebula--2{filter:blur(65px);background:radial-gradient(circle,#00a0ff29 0%,#0000 70%);width:700px;height:700px;top:5%;right:-200px}.space-bg__nebula--3{filter:blur(90px);background:radial-gradient(circle,#3c14b42e 0%,#0000 70%);width:1000px;height:1000px;top:40%;left:-100px}.space-bg__nebula--4{filter:blur(65px);background:radial-gradient(circle,#00d2ff1f 0%,#0000 70%);width:650px;height:650px;top:60%;right:-100px}.space-bg__nebula--5{filter:blur(80px);background:radial-gradient(circle,#5028c826 0%,#0000 70%);width:800px;height:800px;bottom:-200px;left:20%}.navbar{z-index:1000;padding:1.2rem 2rem;transition:background .35s,-webkit-backdrop-filter .35s,backdrop-filter .35s,box-shadow .35s,padding .35s;position:fixed;top:0;left:0;right:0}.navbar--scrolled{-webkit-backdrop-filter:blur(16px);box-shadow:0 1px 0 var(--border);background:#050510d9;padding:.8rem 2rem}.navbar__inner{justify-content:space-between;align-items:center;max-width:1100px;margin:0 auto;display:flex}.navbar__logo{font-family:var(--font-mono);color:var(--accent-primary);letter-spacing:.05em;font-size:1.1rem;font-weight:700;transition:color .2s}.navbar__logo:hover{color:var(--accent-secondary)}.navbar__nav{align-items:center;gap:2rem;display:flex}.navbar__link{color:var(--text-secondary);font-size:.9rem;font-weight:500;transition:color .2s;position:relative}.navbar__link:after{content:"";background:var(--accent-primary);width:0;height:1.5px;transition:width .25s;position:absolute;bottom:-3px;left:0}.navbar__link:hover{color:var(--text-primary)}.navbar__link:hover:after{width:100%}.navbar__github{color:var(--accent-primary);border:1px solid var(--border);border-radius:6px;padding:.4rem 1rem;font-size:.85rem;font-weight:600;transition:border-color .2s,background .2s}.navbar__github:hover{border-color:var(--accent-primary);background:#6c63ff1a}.navbar__burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.navbar__burger span{background:var(--text-primary);border-radius:2px;width:24px;height:2px;transition:transform .3s,opacity .3s;display:block}.navbar__burger--open span:first-child{transform:translateY(7px)rotate(45deg)}.navbar__burger--open span:nth-child(2){opacity:0}.navbar__burger--open span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}@media (width<=768px){.navbar__burger{display:flex}.navbar__nav{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border-bottom:1px solid var(--border);background:#050510f5;flex-direction:column;align-items:center;gap:1.5rem;padding:1.5rem;display:none;position:absolute;top:100%;left:0;right:0}.navbar__nav--open{display:flex}}.particles{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero{background:0 0;justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative}.hero__particles{pointer-events:none;z-index:0;position:absolute;inset:0}.particle{background:var(--accent-primary);opacity:.6;border-radius:50%;position:absolute}.hero__glow{filter:blur(120px);pointer-events:none;z-index:0;border-radius:50%;width:600px;height:600px;position:absolute}.hero__glow--left{background:#6c63ff26;top:-200px;left:-200px}.hero__glow--right{background:#00d4ff1a;bottom:-200px;right:-200px}.hero__content{z-index:1;text-align:center;flex-direction:column;align-items:center;gap:1.4rem;padding:2rem 1.5rem;display:flex;position:relative}.hero__orbit-wrap{justify-content:center;align-items:center;width:280px;height:280px;display:flex;position:relative}.hero__orbit-icon{cursor:default;width:44px;height:44px;box-shadow:0 0 8px -2px var(--glow-color,currentColor);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#050510d9;border:1.5px solid;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:1px;transition:transform .3s,box-shadow .3s;display:flex;position:absolute}.hero__orbit-icon:hover{box-shadow:0 0 16px 2px var(--glow-color,currentColor);z-index:5;scale:1.25}.hero__orbit-icon__svg{justify-content:center;align-items:center;width:18px;height:18px;display:flex}.hero__orbit-icon__svg svg{width:100%;height:100%}.hero__orbit-icon__label{font-size:8px;font-family:var(--font-mono);letter-spacing:.03em;opacity:.9;font-weight:700;line-height:1}.hero__avatar-wrap{width:140px;height:140px;position:relative}.hero__avatar-ring{background:conic-gradient(from 0deg, var(--accent-primary), var(--accent-secondary), var(--accent-primary));border-radius:50%;animation:4s linear infinite spin;position:absolute;inset:-6px}@keyframes spin{to{transform:rotate(360deg)}}.hero__avatar{z-index:1;border:4px solid var(--bg-primary);object-fit:cover;border-radius:50%;width:140px;height:140px;position:relative}.hero__name{flex-direction:column;gap:.2rem;display:flex}.hero__name--en{letter-spacing:-.02em;background:linear-gradient(135deg, #fff, var(--accent-secondary));-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:clamp(2rem,5vw,3.4rem);font-weight:800}.hero__name--kr{color:var(--text-secondary);letter-spacing:.15em;font-size:clamp(1rem,2.5vw,1.5rem);font-weight:400}.hero__typed{font-family:var(--font-mono);color:var(--accent-secondary);align-items:center;gap:.3rem;font-size:clamp(1rem,2.5vw,1.4rem);display:flex}.hero__typed--bracket{color:var(--accent-primary);opacity:.7}.hero__typed--cursor{color:var(--accent-secondary);animation:.8s step-end infinite blink}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero__sub{color:var(--text-secondary);max-width:480px;font-size:clamp(.9rem,2vw,1.05rem);line-height:1.8}.hero__cta{flex-wrap:wrap;justify-content:center;gap:1rem;margin-top:.5rem;display:flex}.btn{letter-spacing:.02em;cursor:pointer;border:none;border-radius:50px;align-items:center;gap:.5rem;padding:.75rem 1.8rem;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .3s;display:inline-flex}.btn--primary{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;box-shadow:0 0 20px var(--accent-glow)}.btn--primary:hover{box-shadow:0 0 35px var(--accent-glow), 0 8px 25px #6c63ff66;transform:translateY(-3px)}.btn--ghost{color:var(--text-primary);border:1.5px solid var(--border-hover);background:0 0}.btn--ghost:hover{border-color:var(--accent-primary);background:#6c63ff1f;transform:translateY(-3px)}.hero__scroll-hint{z-index:1;flex-direction:column;align-items:center;gap:.5rem;display:flex;position:absolute;bottom:-15px;left:50%;transform:translate(-50%)}.hero__scroll-hint span{letter-spacing:.2em;text-transform:uppercase;color:var(--text-muted);margin-top:.6rem;font-size:.7rem}.hero__scroll-line{background:linear-gradient(to bottom, var(--accent-primary), transparent);width:1.5px;height:50px;animation:1.8s ease-in-out infinite scrollDown}@keyframes scrollDown{0%{transform-origin:top;transform:scaleY(0)}50%{transform-origin:top;transform:scaleY(1)}51%{transform-origin:bottom;transform:scaleY(1)}to{transform-origin:bottom;transform:scaleY(0)}}.about{background:0 0}.about__list{flex-direction:column;gap:1.5rem;margin-bottom:2rem;display:flex}.about__card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;padding:2rem;transition:border-color .3s,transform .3s,box-shadow .3s}.about__card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 8px 30px #6c63ff1f}.about__card-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.2rem;display:flex}.about__company{color:var(--text-primary);margin-bottom:.25rem;font-size:1.3rem;font-weight:700}.about__position{color:var(--accent-secondary);font-size:.9rem;font-weight:500}.about__period-wrap{flex-direction:column;align-items:flex-end;gap:.2rem;display:flex}.about__period{color:var(--text-secondary);font-size:.9rem;font-family:var(--font-mono)}.about__duration{color:var(--accent-primary);background:#6c63ff1f;border-radius:20px;padding:.15rem .6rem;font-size:.78rem}.about__tasks{flex-direction:column;gap:.7rem;margin-bottom:1.2rem;display:flex}.about__task{color:var(--text-secondary);align-items:flex-start;gap:.7rem;font-size:.95rem;line-height:1.7;display:flex}.about__task-dot{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:.55rem}.about__tags{flex-wrap:wrap;gap:.5rem;display:flex}.about__edu-wrap{margin-top:1rem}.about__edu-card{background:var(--bg-card);border:1px solid var(--border);border-radius:16px;align-items:center;gap:1.2rem;padding:1.5rem 2rem;transition:border-color .3s;display:flex}.about__edu-card:hover{border-color:var(--border-hover)}.about__edu-icon{flex-shrink:0;font-size:2.2rem}.about__edu-school{margin-bottom:.25rem;font-size:1.1rem;font-weight:700}.about__edu-detail{color:var(--text-secondary);margin-bottom:.2rem;font-size:.9rem}.about__edu-project{color:var(--accent-secondary);font-size:.85rem}.tag{color:var(--accent-primary);background:#6c63ff1f;border:1px solid #6c63ff40;border-radius:20px;padding:.2rem .7rem;font-size:.78rem;font-weight:500;transition:background .2s,border-color .2s;display:inline-block}.tag:hover{border-color:var(--accent-primary);background:#6c63ff40}.skills{background:0 0}.skills__grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem 3rem;margin-bottom:2.5rem;display:grid}.skills__col-title{letter-spacing:.15em;text-transform:uppercase;color:var(--accent-secondary);margin-bottom:1rem;font-size:.8rem;font-weight:700}.skill-bar-item{margin-bottom:1rem}.skill-bar-label{color:var(--text-secondary);justify-content:space-between;margin-bottom:.4rem;font-size:.9rem;display:flex}.skill-bar-level{font-family:var(--font-mono);color:var(--accent-primary);font-size:.8rem}.skill-bar-track{background:#ffffff0f;border-radius:3px;height:6px;overflow:hidden}.skill-bar-fill{background:linear-gradient(90deg, var(--accent-primary), var(--accent-secondary));height:100%;box-shadow:0 0 8px var(--accent-glow);border-radius:3px}.skills__level-note{color:var(--text-secondary);border-left:2px solid var(--accent-primary);background:#ffffff08;border-radius:0 6px 6px 0;margin-bottom:2rem;padding:.7rem 1rem;font-size:.8rem;line-height:1.8}.skills__level-note strong{color:var(--accent-primary);font-weight:600}.skills__tools{border-top:1px solid var(--border);padding-top:2rem}.skills__tools-title{margin-bottom:1rem}.skills__tools-list{flex-wrap:wrap;gap:.7rem;display:flex}.skills__tool-badge{background:var(--bg-card);border:1px solid var(--border);color:var(--text-primary);border-radius:8px;padding:.4rem 1rem;font-size:.85rem;font-weight:500;transition:border-color .2s,background .2s}.skills__tool-badge:hover{border-color:var(--accent-secondary);color:var(--accent-secondary);background:#00d4ff12}.skills__chart-card{border:1px solid var(--border);background:#ffffff0a;border-radius:24px;margin-bottom:2rem;padding:1.6rem}.skills__chart-canvas{width:100%;min-height:420px;max-height:520px;display:block}:root{--swiper-theme-color:#007aff}:host{z-index:1;margin-left:auto;margin-right:auto;display:block;position:relative}.swiper{z-index:1;margin-left:auto;margin-right:auto;padding:0;list-style:none;display:block;position:relative;overflow:hidden}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{z-index:1;width:100%;height:100%;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function,initial);box-sizing:content-box;display:flex;position:relative}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translate(0,0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;transition-property:transform;display:block;position:relative}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{backface-visibility:hidden;transform:translateZ(0)}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px}.swiper-3d .swiper-slide,.swiper-3d .swiper-cube-shadow{transform-style:preserve-3d}.swiper-css-mode>.swiper-wrapper{scrollbar-width:none;-ms-overflow-style:none;overflow:auto}.swiper-css-mode>.swiper-wrapper::-webkit-scrollbar{display:none}.swiper-css-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}.swiper-css-mode.swiper-horizontal>.swiper-wrapper{scroll-snap-type:x mandatory}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-horizontal>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-vertical>.swiper-wrapper{scroll-snap-type:y mandatory}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}.swiper-css-mode.swiper-vertical>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}.swiper-css-mode.swiper-free-mode>.swiper-wrapper{scroll-snap-type:none}.swiper-css-mode.swiper-free-mode>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}.swiper-css-mode.swiper-centered>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}.swiper-css-mode.swiper-centered>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-horizontal>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}.swiper-css-mode.swiper-centered.swiper-vertical>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom,.swiper-3d .swiper-slide-shadow,.swiper-3d .swiper-slide-shadow-left,.swiper-3d .swiper-slide-shadow-right,.swiper-3d .swiper-slide-shadow-top,.swiper-3d .swiper-slide-shadow-bottom{pointer-events:none;z-index:10;width:100%;height:100%;position:absolute;top:0;left:0}.swiper-3d .swiper-slide-shadow{background:#00000026}.swiper-3d .swiper-slide-shadow-left{background-image:linear-gradient(270deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-right{background-image:linear-gradient(90deg,#00000080,#0000)}.swiper-3d .swiper-slide-shadow-top{background-image:linear-gradient(#0000,#00000080)}.swiper-3d .swiper-slide-shadow-bottom{background-image:linear-gradient(#00000080,#0000)}.swiper-lazy-preloader{z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color,var(--swiper-theme-color));border-top-color:#0000;border-radius:50%;width:42px;height:42px;margin-top:-21px;margin-left:-21px;position:absolute;top:50%;left:50%}:is(.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible) .swiper-lazy-preloader{animation:1s linear infinite swiper-preloader-spin}.swiper-lazy-preloader-white{--swiper-preloader-color:#fff}.swiper-lazy-preloader-black{--swiper-preloader-color:#000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.swiper.swiper-cards{overflow:visible}.swiper-cards .swiper-slide{transform-origin:bottom;backface-visibility:hidden;overflow:hidden}.projects{background:0 0}.projects__layout{grid-template-columns:1fr 420px;align-items:center;gap:4rem;display:grid}.projects__info{flex-direction:column;gap:1.1rem;display:flex}.projects__num{font-family:var(--font-mono);background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));-webkit-text-fill-color:transparent;opacity:.35;letter-spacing:-.05em;-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:800;line-height:1}.projects__info-title{color:var(--text-primary);letter-spacing:-.02em;margin-top:-.5rem;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:800;line-height:1.2;transition:color .3s}.projects__info-desc{color:var(--text-secondary);max-width:440px;font-size:1rem;line-height:1.8}.projects__info-details{flex-direction:column;gap:.55rem;display:flex}.projects__info-details li{color:var(--text-secondary);align-items:flex-start;gap:.75rem;font-size:.9rem;line-height:1.6;display:flex}.projects__info-dot{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:.5rem}.projects__info-tags{flex-wrap:wrap;gap:.5rem;margin-top:.4rem;display:flex}.projects__info-tag{color:var(--accent-primary);background:#6c63ff1a;border:1px solid #6c63ff40;border-radius:20px;padding:.25rem .75rem;font-size:.78rem;font-weight:500}.projects__github-btn{background:linear-gradient(135deg, var(--accent-primary), var(--accent-secondary));color:#fff;border-radius:8px;align-self:flex-start;align-items:center;gap:.5rem;padding:.65rem 1.4rem;font-size:.88rem;font-weight:600;transition:opacity .2s,transform .2s;display:inline-flex}.projects__github-btn:hover{opacity:.88;transform:translateY(-2px)}.projects__btn-group{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.4rem;display:flex}.projects__demo-btn{color:var(--accent-secondary);border:1.5px solid var(--accent-secondary);background:0 0;border-radius:8px;align-self:flex-start;align-items:center;gap:.5rem;padding:.6rem 1.4rem;font-size:.88rem;font-weight:600;transition:background .2s,transform .2s;display:inline-flex}.projects__demo-btn:hover{background:#00d4ff1a;transform:translateY(-2px)}.projects__nav{z-index:10;align-items:center;gap:1rem;margin-top:.6rem;display:flex;position:relative}.projects__nav-btn{background:var(--bg-card);border:1px solid var(--border);width:40px;height:40px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:border-color .2s,background .2s;display:flex}.projects__nav-btn:hover{border-color:var(--accent-primary);background:#6c63ff1f}.projects__nav-count{font-family:var(--font-mono);color:var(--text-muted);text-align:center;min-width:40px;font-size:.85rem}.projects__cards-wrap{isolation:isolate;z-index:0;justify-content:center;align-items:center;padding:2rem 0;display:flex;position:relative}.projects__swiper{width:340px!important;height:420px!important}.projects__slide{border-radius:20px;overflow:hidden}.project-card{border:1px solid #ffffff14;border-radius:20px;flex-direction:column;justify-content:space-between;width:100%;height:100%;display:flex;position:relative;overflow:hidden}.project-card__noise{pointer-events:none;z-index:0;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");position:absolute;inset:0}.project-card__inner{z-index:1;flex-direction:column;flex:1;gap:.75rem;padding:2.2rem 2rem 1rem;display:flex;position:relative}.project-card__label{letter-spacing:.2em;text-transform:uppercase;color:#fff6;font-size:.68rem;font-weight:600}.project-card__name{color:#fff;letter-spacing:-.02em;font-size:1.7rem;font-weight:800;line-height:1.2}.project-card__short{color:#fff9;font-size:.85rem;line-height:1.7}.project-card__bottom{z-index:1;border-top:1px solid #ffffff12;flex-wrap:wrap;gap:.4rem;padding:1rem 2rem 1.8rem;display:flex;position:relative}.project-card__chip{color:#ffffffbf;background:#ffffff1a;border:1px solid #ffffff1f;border-radius:20px;padding:.2rem .65rem;font-size:.72rem;font-weight:500}.swiper-cards .swiper-slide{border-radius:20px}.projects__swiper .swiper-slide:not(.swiper-slide-active){pointer-events:none}@media (width<=900px){.projects__layout{grid-template-columns:1fr;gap:2rem}.projects__cards-wrap{order:-1}.projects__swiper{width:300px!important;height:380px!important}.projects__info-desc{max-width:100%}}.contact{background:0 0}.contact__content{text-align:center;max-width:600px;margin:0 auto}.contact__intro{color:var(--text-secondary);margin-bottom:2.5rem;font-size:1.1rem;line-height:1.9}.contact__links{flex-direction:column;gap:1rem;display:flex}.contact__link{background:var(--bg-card);border:1px solid var(--border);text-align:left;border-radius:14px;align-items:center;gap:1.2rem;padding:1.3rem 1.8rem;transition:all .3s;display:flex}.contact__link:hover{border-color:var(--border-hover);transform:translateY(-3px);box-shadow:0 8px 25px #6c63ff26}.contact__link--email:hover{border-color:#00d4ff80;box-shadow:0 8px 25px #00d4ff1f}.contact__link--github:hover .contact__link-icon{color:var(--text-primary)}.contact__link-icon{width:46px;height:46px;color:var(--accent-primary);background:#6c63ff1f;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;transition:background .3s,color .3s;display:flex}.contact__link--email .contact__link-icon{color:var(--accent-secondary);background:#00d4ff1a}.contact__link-text{flex-direction:column;gap:.2rem;display:flex}.contact__link-label{text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:.75rem;font-weight:600}.contact__link-value{color:var(--text-primary);font-size:.95rem;font-weight:600}.footer{border-top:1px solid var(--border);background:0 0;padding:2rem 0}.footer__top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.footer__logo{font-family:var(--font-mono);color:var(--accent-primary);font-size:1rem;font-weight:700}.footer__copy{color:var(--text-muted);font-size:.85rem}.footer__github{color:var(--text-secondary);font-size:.85rem;font-weight:600;transition:color .2s}.footer__github:hover{color:var(--accent-primary)}
