@charset "UTF-8";#preloader{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--preloader-bg, #0a0a0a);transition:opacity .5s ease,visibility .5s ease}#preloader.hide{opacity:0;visibility:hidden}#preloader svg{width:80px;height:80px;transition:transform .6s ease-out,opacity .6s ease-out}#preloader.hide svg{transform:scale(3);opacity:0}:root{--bg-body: #121212;--bg-section-left: #1a1a1a;--bg-section-right: #242424;--bg-card: #222;--bg-card-hover: #2b2b2b;--bg-nav: #1f1f1f;--bg-btn: #333;--bg-btn-hover: #555;--bg-indicator: #606060;--border-card: #2e2e2e;--border-card-hover: #3c3c3c;--text-primary: #e0e0e0;--text-secondary: #cfcfcf;--text-muted: #b5b5b5;--text-white: #fff;--accent-red: #ce4541;--accent-red-light: #ff6464;--accent-blue: #007aff;--accent-blue-hover: #005fcc;--overlay-dark: rgba(0, 0, 0, .5);--shadow-color: rgba(0, 0, 0, .15);--nav-hover: #33333348;--nav-indicator: #333;--filter-hover: #d2d2d233;--slider-icon: #333;--preloader-bg: #0a0a0a;--browser-bar: #e3e3e3;--browser-dots: #b0b0b0;--browser-bg: #fff;--photo-border: #585858;--photo-bg: #7e7e7e;--social-bg: #333;--social-bg-hover: #555;--tooltip-bg: #1a1a1a;--tooltip-color: #fff;--skeleton-from: #2a2a2a;--skeleton-mid: #3a3a3a;--form-placeholder: #666;--form-overlay: rgba(26, 26, 26, .5);--form-muted: #888;--map-border: #3c3c3c;--logo-fill: rgba(255, 255, 255, .15);--logo-stroke: #fff;--header-glass-bg: rgba(255, 255, 255, .08);--header-glass-border: rgba(255, 255, 255, .2);--header-glass-shadow-inset: rgba(255, 255, 255, .3);--header-glass-shadow: rgba(0, 0, 0, .15)}[data-theme=light]{--bg-body: #f5f5f5;--bg-section-left: #ffffff;--bg-section-right: #eaeaea;--bg-card: #ffffff;--bg-card-hover: #f0f0f0;--bg-nav: #ffffff;--bg-btn: #e0e0e0;--bg-btn-hover: #d0d0d0;--bg-indicator: #c0c0c0;--border-card: #ddd;--border-card-hover: #ccc;--text-primary: #1a1a1a;--text-secondary: #333;--text-muted: #666;--text-white: #1a1a1a;--accent-red: #ce4541;--accent-red-light: #e04040;--accent-blue: #007aff;--accent-blue-hover: #005fcc;--overlay-dark: rgba(0, 0, 0, .3);--shadow-color: rgba(0, 0, 0, .08);--nav-hover: rgba(0, 0, 0, .06);--nav-indicator: #ddd;--filter-hover: rgba(0, 0, 0, .06);--slider-icon: #bbb;--preloader-bg: #f5f5f5;--browser-bar: #d0d0d0;--browser-dots: #aaa;--browser-bg: #fff;--photo-border: #ccc;--photo-bg: #ddd;--social-bg: #e0e0e0;--social-bg-hover: #d0d0d0;--tooltip-bg: #333;--tooltip-color: #fff;--skeleton-from: #e0e0e0;--skeleton-mid: #f0f0f0;--form-placeholder: #999;--form-overlay: rgba(255, 255, 255, .5);--form-muted: #999;--map-border: #ccc;--logo-fill: rgba(0, 0, 0, .08);--logo-stroke: #1a1a1a;--header-glass-bg: rgba(255, 255, 255, .7);--header-glass-border: rgba(0, 0, 0, .1);--header-glass-shadow-inset: rgba(255, 255, 255, .5);--header-glass-shadow: rgba(0, 0, 0, .08)}*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;-webkit-tap-highlight-color:rgba(0,0,0,0)}html{scrollbar-gutter:stable}html,body{height:100%;margin:0}body{background-color:var(--bg-body);color:var(--text-primary);transition:background-color .3s ease,color .3s ease}body.open{overflow:hidden}h2{margin-bottom:15px}p,ul{line-height:1.6}ul{list-style:none;padding-left:0}img{max-width:100%}li{margin:5px 0}a{text-decoration:none;color:inherit}a,button{border:none;outline:none;background-color:transparent;cursor:pointer}.btn-main{min-width:160px;width:fit-content;display:flex;align-items:center;justify-content:center;gap:5px;line-height:100%;padding:14px 28px;background-color:var(--bg-btn);color:var(--text-primary);border-radius:5px;transition:.3s;font-size:1rem;letter-spacing:1.2px;transition:.3s ease!important}@media screen and (max-width:768px){.btn-main{width:100%;padding:10px 20px}}.btn-main:hover{background-color:var(--bg-btn-hover)}.btn-main--disabled{opacity:.4;pointer-events:none;cursor:default}.heading-2{font-size:72px;font-weight:700;line-height:1.2;margin-bottom:.5em}@media screen and (max-width:767px){.heading-2{font-size:40px}}main{display:flex;flex-direction:column;margin-left:100px}@media(max-width:768px){main{padding-top:73px;margin-left:0}}section{padding:20px;display:flex;flex-wrap:wrap;gap:15px;min-height:100vh}section .right{position:relative}section .right footer{position:absolute;bottom:20px}@media(max-width:1199px){section{flex-direction:column}}@media screen and (max-width:500px){section{padding:10px;gap:10px}}.laptop-wrap{min-height:335px}.laptop-wrap .laptop{height:250px;width:350px;display:flex;align-items:center;justify-content:center;border-radius:11px 11px 0 0;background-color:#3d3d3d;box-shadow:0 0 0 2px #000,0 0 0 4.5px #f5f5f5,0 0 14px #000}.laptop-wrap .laptop:before{content:"";position:absolute;height:28px;width:460px;border-radius:3px;border-bottom:5px solid #9c9c9c;background-color:#f5f5f5;transform:translateY(144px);box-shadow:0 3px 5px #b2c1d4}.laptop-wrap .laptop:after{content:"";position:absolute;height:6px;width:90px;border-radius:0 0 3px 3px;background-color:#9c9c9c;transform:translateY(131px)}.laptop-wrap .laptop .laptop-screen{position:relative;display:flex;align-items:center;justify-content:center;height:215px;width:329px;background-image:linear-gradient(45deg,#ace8e1 65%,#dbfffb 65%)}.laptop-wrap .laptop .laptop-screen:before{content:"";position:absolute;height:14px;width:14px;border-radius:50%;background-image:radial-gradient(#abebff 0 20%,#000 20% 50%,gray 50% 90%);left:50%;transform:translate(-50%);top:-17px}.laptop-wrap .laptop .laptop-terminal{position:absolute;height:170px;width:250px;border-radius:3px 3px 0 0;background-color:#3f3f3f;border-top:11px solid #545454}.laptop-wrap .laptop .laptop-terminal:before{content:"🔴   🟡   🟢 ~/ code / css-stuff";position:absolute;color:#fff;font-size:5px;transform:translate(8px) translateY(-9px)}.laptop-wrap p{width:1ch;padding:8px;color:#fff;font-size:16px;font-family:menlo,monaco;border-right:2px solid white;margin:0;overflow:hidden;white-space:nowrap}@keyframes typing-animation{20%,to{width:60%}}@keyframes blink{50%{border-color:transparent}}.laptop-wrap .laptop>.laptop-terminal>p{animation:typing-animation 4s steps(15) infinite,blink 1s infinite}@media screen and (max-width:767px){.laptop-wrap{min-height:270px}.laptop-wrap .laptop{height:188px;width:263px;border-radius:11px 11px 0 0}.laptop-wrap .laptop:before{height:21px;width:345px;border-bottom:5px solid #9c9c9c;transform:translateY(108px)}.laptop-wrap .laptop:after{height:6px;width:68px;transform:translateY(98px)}.laptop-wrap .laptop .laptop-screen{height:162px;width:247px}.laptop-wrap .laptop .laptop-screen:before{height:11px;width:11px;top:-13px}.laptop-wrap .laptop .laptop-screen:after{top:30%;width:100px;height:100px}.laptop-wrap .laptop .laptop-terminal{height:128px;width:188px;border-top:11px solid #545454}.laptop-wrap .laptop .laptop-terminal:before{font-size:4px;transform:translate(6px) translateY(-8px)}.laptop-wrap p{font-size:12px;padding:6px;border-right:2px solid white}}@media(max-width:500px){.laptop-wrap{min-height:280px}.laptop-wrap .laptop{height:175px;width:245px;border-radius:9px 9px 0 0}.laptop-wrap .laptop:before{height:19px;width:310px;border-bottom:4px solid #9c9c9c;transform:translateY(98px)}.laptop-wrap .laptop:after{height:5px;width:62px;transform:translateY(90px)}.laptop-wrap .laptop .laptop-screen{height:150px;width:230px}.laptop-wrap .laptop .laptop-screen:before{height:10px;width:10px;top:-12px}.laptop-wrap .laptop .laptop-terminal{height:105px;width:155px;border-top:9px solid #545454}.laptop-wrap .laptop .laptop-terminal:before{font-size:4px;transform:translate(6px) translateY(-7px)}.laptop-wrap p{font-size:11px;padding:5px;border-right:1.5px solid white}}nav{position:fixed;top:0;left:0;width:100px;min-height:100vh;background:var(--bg-nav);display:flex;flex-direction:column;align-items:center;z-index:100;transition:transform .3s ease,background-color .3s ease}nav .logo{padding:20px;margin-bottom:100px}nav .nav-header{display:none;width:100%;margin-bottom:20px}nav .nav-back{width:100%;color:var(--text-white);font-size:30px}nav .nav-buttons{position:relative;width:100%;display:flex;flex-direction:column;gap:5px;flex:1}nav .nav-buttons .nav-indicator{position:absolute;top:0;right:0;width:10px;height:60px;background:var(--nav-indicator);border-radius:8px;z-index:0}nav .nav-buttons .nav-indicator:not(.no-transition){transition:transform .3s ease,height .3s ease}nav .nav-buttons .nav-button{position:relative;z-index:1;width:100%;height:60px;background:none;border-radius:8px;border:none;color:var(--text-primary);font-size:30px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.3s ease}nav .nav-buttons .nav-button:hover{background-color:var(--nav-hover)}nav .theme-toggle{margin-top:auto;margin-bottom:20px;width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-primary);background:var(--bg-btn);transition:background-color .3s ease;cursor:pointer}nav .theme-toggle:hover{background:var(--bg-btn-hover)}.nav-overlay{position:fixed;inset:0;background:var(--overlay-dark);opacity:0;pointer-events:none;transition:opacity .3s;z-index:90}.nav-overlay.active{opacity:1;pointer-events:auto;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}@media(max-width:768px){nav{transform:translate(-100%)}nav .logo{display:none}nav .nav-buttons{flex:none}nav .theme-toggle{display:none}nav.open{transform:translate(0)}nav .nav-header{display:block;padding:20px}}@media(max-width:1280px){.home{flex-direction:column}}.home .left{background-color:var(--bg-section-left)}.home .left .left-title{font-size:64px;line-height:128%;font-weight:400;margin-bottom:50px}@media screen and (max-width:767px){.home .left .left-title{font-size:46px}}@media screen and (max-width:500px){.home .left .left-title{font-size:36px}}.home .left .left-title .hand-hello{animation:4s cubic-bezier(.4,0,.2,1) infinite hello}.home .left .left-title .left-title__hello{white-space:nowrap;display:flex;align-items:center;gap:10px}.home .left .left-title .left-title__hello p{display:inline}.home .left .left-title .left-title__subtitle{font-size:26px;font-weight:400;color:var(--text-muted);letter-spacing:1.5px;margin-top:6px}@media screen and (max-width:767px){.home .left .left-title .left-title__subtitle{font-size:20px}}@media screen and (max-width:500px){.home .left .left-title .left-title__subtitle{font-size:15px}}.home .left .btn-main{font-size:1.5rem}@media screen and (max-width:500px){.home .left .btn-main{font-size:1.3rem}}.home .left .btn-main.btn-portfolio{margin-bottom:10px}.home .right{background-color:var(--bg-section-right);display:flex;flex-direction:column;align-items:center;justify-content:center;perspective:1000px}.home .right img{width:100%;max-width:300px;margin-bottom:20px}.home .right .laptop{transform-style:preserve-3d;will-change:transform}@media screen and (max-width:500px){.home .hand-hello{width:40px;height:40px}}@keyframes hello{0%,72%,to{transform:rotate(8deg) translate3d(2px,0,0)}12%,60%{transform:rotate(-12deg) translate3d(-3px,0,0)}24%{transform:rotate(16deg) translate3d(4px,0,0)}36%{transform:rotate(-16deg) translate3d(-4px,0,0)}48%{transform:rotate(12deg) translate3d(3px,0,0)}}.slider{position:relative;width:200px;height:100px}.slider svg path{fill:#333}.slider svg{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);opacity:0;transition:opacity .5s ease,transform .5s ease}.slider svg.active{opacity:1;transform:translate(-50%,-50%) scale(1.2)}@media screen and (max-width:767px){.slider svg{width:70px;height:70px}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@media(max-width:768px){@keyframes fadeInLeft{0%{opacity:0;transform:translate(-15px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(15px)}to{opacity:1;transform:translate(0)}}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes fadeInCentered{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.item-portf{perspective:1000px}.item-portf__body{position:relative;transform-style:preserve-3d;transition:transform .15s ease-out;overflow:hidden;border-radius:8px}.item-portf__glass{position:absolute;inset:0;background:var(--overlay-dark);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;opacity:0;transition:opacity .35s ease;z-index:15}.item-portf__subtitle{color:#ffffffb3;font-size:12px;text-transform:uppercase;letter-spacing:2px;font-weight:500;transform:translateY(15px);transition:transform .35s ease}.item-portf__title{color:#fff;font-size:20px;font-weight:600;transform:translateY(15px);transition:transform .35s ease .05s}.item-portf__icon{color:#fff;font-size:22px;margin-top:10px;opacity:0;transform:translateY(10px);transition:opacity .3s ease .1s,transform .3s ease .1s}.item-portf__img img{transition:opacity .3s ease,transform .5s ease-out}@media(hover:hover){.item-portf:hover .item-portf__glass{opacity:1}.item-portf:hover .item-portf__subtitle,.item-portf:hover .item-portf__title{transform:translateY(0)}.item-portf:hover .item-portf__icon{opacity:1;transform:translateY(0)}.item-portf:hover .item-portf__img img{transform:scale(1.05)}}@media(hover:none){.item-portf__body{transform:none!important}}.header{position:fixed;top:0;left:0;z-index:50;width:100%;background:var(--header-glass-bg);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid var(--header-glass-border);box-shadow:inset 0 1px 1px var(--header-glass-shadow-inset),0 4px 20px var(--header-glass-shadow);transition:transform .3s ease,background-color .3s ease;display:none;align-items:center;justify-content:space-between;padding:10px}.header .logo{line-height:0;height:100%}.header .logo svg{width:52px;height:52px}.header .header-right{display:flex;align-items:center;gap:8px}.header .theme-toggle{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:10px;color:var(--text-white);background:var(--header-glass-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;transition:background-color .3s ease}.header .theme-toggle:hover{background:var(--bg-btn-hover)}.header .burger{display:none;z-index:100;color:var(--text-white);width:44px;height:44px;align-items:center;justify-content:center;border-radius:10px;background:var(--header-glass-bg);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);cursor:pointer;transition:background-color .3s ease}.header .burger:hover{background:var(--bg-btn-hover)}@media screen and (max-width:768px){.header,.header .burger{display:flex}}.devices{width:100%;display:flex;flex-direction:column;align-items:center;gap:40px}.device{position:relative}.device__frame{width:100%;height:auto;display:block}.device__img{object-fit:cover;object-position:top;display:block}.device--browser{width:100%;max-width:600px}.device--browser .browser-window{border-radius:12px}.device--browser .browser-window__content{max-height:350px;overflow:hidden;padding:12px 12px 0}.device--browser .device__img--desktop{width:100%;height:auto;border-radius:6px 6px 0 0}.device--browser .device__img--desktop.device__img--email{max-width:450px;margin:0 auto}.device--phone{width:220px}.device--phone .device__img--mobile{position:absolute;top:12%;left:6%;width:88%;height:76%;border-radius:20px}@media(max-width:768px){.device--browser{width:100%}.device--phone{width:190px;margin:0 auto}}.left,.right{flex:1;padding:60px 3% 40px;border-radius:15px;transition:background-color .3s ease}@media screen and (max-width:768px){.left,.right{padding-top:40px}}.text-xl{font-size:26px}@media screen and (max-width:1023px){.text-xl{font-size:22px}}.navigation-btns{display:flex;gap:10px;margin-bottom:80px}@media screen and (max-width:768px){.navigation-btns{width:100%!important;display:flex;flex-direction:column}.navigation-btns .btn-main:first-child{order:2!important}}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease,visibility .2s ease;z-index:1000;background:var(--tooltip-bg);color:var(--tooltip-color);font-size:14px;font-weight:500;white-space:nowrap;padding:8px 12px;border-radius:6px;box-shadow:0 4px 12px var(--shadow-color)}@media(hover:hover){[data-tooltip]:hover:after{opacity:1;visibility:visible}}[data-tooltip].tooltip-active:after{opacity:1;visibility:visible}[data-tooltip-position=right]:after,[data-tooltip]:not([data-tooltip-position]):after{left:calc(100% + 8px);top:50%;transform:translateY(-50%)}[data-tooltip-position=top]:after{bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}[data-tooltip-position=bottom]:after{top:calc(100% + 8px);left:50%;transform:translate(-50%)}[data-tooltip-position=left]:after{right:calc(100% + 8px);top:50%;transform:translateY(-50%)}.footer[data-v-c44ac01c]{text-align:center;padding:1rem 0;font-size:.9rem}.footer .copyright[data-v-c44ac01c]{display:flex;align-items:center;justify-content:center;gap:.3rem}.footer .copyright a[data-v-c44ac01c]{text-decoration:underline}.footer .tech-icons[data-v-c44ac01c]{margin-top:.5rem;display:flex;justify-content:center;gap:1rem;font-size:1.3rem}.footer svg[data-v-c44ac01c]{transition:transform .2s ease}.footer svg[data-v-c44ac01c]:hover{transform:scale(1.1)}.home .left .left-title__hello,.home .left .left-title__second,.home .left .left-title__third,.home .left .left-title__fours,.home .left .left-title__fifth,.home .left .left-title__subtitle{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards}.home .left .left-title__hello{animation-delay:.15s}.home .left .left-title__second{animation-delay:.35s}.home .left .left-title__third,.home .left .left-title__fours{animation-delay:.55s}.home .left .left-title__fifth{animation-delay:.75s}.home .left .left-title__subtitle{animation-delay:.85s}.home .left .btn-portfolio,.home .left .btn-contacts{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards}.home .left .btn-portfolio{animation-delay:.95s}.home .left .btn-contacts{animation-delay:1.1s}.home .right .laptop-wrap{opacity:.001;will-change:opacity,transform;animation:fadeInRight .6s ease forwards;animation-delay:.3s}.home .right .navigation-btns{opacity:.001;will-change:opacity,transform;animation:fadeInRight .5s ease forwards;animation-delay:.8s}.home .right footer{opacity:.001;will-change:opacity,transform;animation:fadeInRight .5s ease forwards;animation-delay:1s}.about .left{min-width:250px;background-color:var(--bg-section-left)}.about .about-features{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}.about .feature-item{flex:1 1 calc(50% - 20px);min-width:120px;background-color:var(--bg-card);border-radius:12px;padding:15px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border:1px solid var(--border-card);transition:.3s ease,transform .6s ease,opacity .6s ease}.about .feature-item:hover{background-color:var(--bg-card-hover);border-color:var(--border-card-hover)}.about .feature-item svg{margin-bottom:10px}.about .feature-item p{font-size:15px;color:var(--text-secondary);line-height:1.3}.about .right{flex:1;min-width:300px;background-color:var(--bg-section-right);padding:60px 3% 40px;border-radius:15px;display:flex;flex-direction:column;justify-content:space-between;align-items:center;position:relative}.about .right__content{display:flex;flex-direction:column;align-items:center;perspective:1000px}.about .photo-wrap{margin-bottom:50px;transform-style:preserve-3d;will-change:transform}.about .photo-wrap img{display:block;width:300px;height:300px;border-radius:50%;object-fit:cover;border:4px solid var(--photo-border);background-color:var(--photo-bg)}.about .social-links{display:flex;justify-content:center;width:100%;margin-bottom:50px}.about .social-links__item{position:relative;width:50px;height:50px;background-color:var(--social-bg);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-primary);text-decoration:none;transition:.3s;margin:0 5px;font-size:20px}.about .social-links__item:hover{background-color:var(--social-bg-hover)}.about .social-links>.social-links__item:first-child,.about .social-links>.social-links__item:last-child{margin-left:0;margin-right:0;bottom:62px}.about .social-links>.social-links__item:nth-child(2),.about .social-links>.social-links__item:nth-child(5){bottom:20px}.about .social-links>.social-links__item:nth-child(2){margin-left:4px;margin-right:6px}.about .social-links>.social-links__item:nth-child(5){margin-left:6px;margin-right:4px}.about .social-links>.social-links__item:nth-child(3),.about .social-links>.social-links__item:nth-child(4){margin-left:8px;margin-right:8px}@media(max-width:768px){.about .social-links__item{width:40px;height:40px;font-size:16px;margin:0 3px}.about .about-features{gap:15px}.about .feature-item{flex:1 1 100%}.about .photo-wrap{margin-bottom:40px}.about .photo-wrap img{width:260px;height:260px}}@media(max-width:1279px){.about .social-links>.social-links__item:first-child,.about .social-links>.social-links__item:last-child{margin-left:2px;margin-right:2px}.about .social-links>.social-links__item:nth-child(2),.about .social-links>.social-links__item:nth-child(5){bottom:26px}.about .social-links>.social-links__item:nth-child(3),.about .social-links>.social-links__item:nth-child(4){bottom:8px}}@media(max-width:959px){.about .social-links>.social-links__item:first-child,.about .social-links>.social-links__item:last-child{margin-left:0;margin-right:0}.about .social-links>.social-links__item:nth-child(2),.about .social-links>.social-links__item:nth-child(5){bottom:20px}.about .social-links>.social-links__item:nth-child(3),.about .social-links>.social-links__item:nth-child(4){bottom:0}}@media(max-width:599px){.about .social-links>.social-links__item:first-child,.about .social-links>.social-links__item:last-child{margin-left:2px;margin-right:2px}.about .social-links>.social-links__item:nth-child(2),.about .social-links>.social-links__item:nth-child(5){bottom:26px}.about .social-links>.social-links__item:nth-child(3),.about .social-links>.social-links__item:nth-child(4){bottom:8px}}@media(max-width:420px){.about .social-links{flex-wrap:nowrap}.about .social-links>.social-links__item{margin:0 3px!important}.about .social-links>.social-links__item:first-child,.about .social-links>.social-links__item:last-child{bottom:52px!important}.about .social-links>.social-links__item:nth-child(2),.about .social-links>.social-links__item:nth-child(5){bottom:18px!important}.about .social-links>.social-links__item:nth-child(3),.about .social-links>.social-links__item:nth-child(4){bottom:0!important}}.about .left .heading-2{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.15s}.about .left .text{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.35s}.about .about-features .feature-item{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards}.about .about-features .feature-item:nth-child(1){animation-delay:.55s}.about .about-features .feature-item:nth-child(2){animation-delay:.7s}.about .about-features .feature-item:nth-child(3){animation-delay:.85s}.about .about-features .feature-item:nth-child(4){animation-delay:1s}.about .about-features .feature-item:nth-child(5){animation-delay:1.15s}.about .right img{opacity:.001;will-change:opacity,transform;animation:fadeInRight .6s ease forwards;animation-delay:.25s}.about .right .social-links__item{opacity:.001;will-change:opacity,transform;animation:fadeInRight .5s ease forwards}.about .right .social-links__item:nth-child(1){animation-delay:.6s}.about .right .social-links__item:nth-child(2){animation-delay:.7s}.about .right .social-links__item:nth-child(3){animation-delay:.8s}.about .right .social-links__item:nth-child(4){animation-delay:.9s}.about .right .social-links__item:nth-child(5){animation-delay:1s}.about .right .social-links__item:nth-child(6){animation-delay:1.1s}.about .right .navigation-btns{opacity:.001;will-change:opacity,transform;animation:fadeInRight .5s ease forwards;animation-delay:1.3s}.about .right footer{opacity:.001;will-change:opacity,transform;animation:fadeInRight .5s ease forwards;animation-delay:1.5s}.skills .left{background-color:var(--bg-section-left)}.skills .right{display:flex;flex-direction:column;justify-content:space-between;align-items:center;gap:30px;background-color:var(--bg-section-right)}.skills .skills-features{display:flex;flex-wrap:wrap;gap:20px;margin-top:30px}.skills .skills-features__item{flex:1 1 calc(50% - 20px);min-width:120px;background-color:var(--bg-card);border-radius:12px;padding:15px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;border:1px solid var(--border-card);transition:.3s ease,transform .6s ease,opacity .6s ease}.skills .skills-features__item:hover{background-color:var(--bg-card-hover);border-color:var(--border-card-hover)}.skills .skills-features__item svg{margin-bottom:10px}.skills .skills-features__item p{font-size:15px;color:var(--text-secondary);line-height:1.3}.skills .skills-features__detail-wrap{overflow:hidden;max-height:0;opacity:0;margin-top:0;transition:max-height .4s ease,opacity .4s ease,margin-top .4s ease}.skills .skills-features__detail{font-size:12px;color:var(--text-secondary);line-height:1.4;opacity:.5}.skills .btn-details{margin:20px auto 0}.skills .btn-details__chev{transition:transform .3s ease}.skills .btn-details__chev.open{transform:rotate(180deg)}.skills .text a{color:inherit;text-decoration:underline;text-underline-offset:3px;transition:opacity .2s ease}.skills .text a:hover{opacity:.6}.skills .skills-list{width:100%}.skills .skills-list .skill-category{background-color:var(--bg-card);border:1px solid var(--border-card);overflow:hidden;transition:.3s ease}.skills .skills-list .skill-category:first-child{border-radius:12px 12px 0 0}.skills .skills-list .skill-category:last-child{border-radius:0 0 12px 12px}.skills .skills-list .skill-category+.skills .skills-list .skill-category{margin-top:0}.skills .skills-list .skill-category[aria-expanded=true]{margin-bottom:10px}.skills .skills-list .skill-category[aria-expanded=true]:not(:first-child){margin-top:10px}.skills .skills-list .skill-category[aria-expanded=true] .chev{transform:rotate(90deg)}.skills .skills-list .skill-category .skill-category-btn{width:100%;background:none;border:none;color:var(--text-white);padding:14px 20px;font-size:20px;cursor:pointer;display:flex;justify-content:space-between;align-items:center}.skills .skills-list .skill-category .skill-category-btn .chev{transition:transform .3s ease}.skills .skills-list .skill-category .skill-items{transition:.3s ease}.skills .skills-list .skill-category .skill-items .skill-items__wrap{display:flex;flex-wrap:wrap;gap:15px;padding:20px}.skills .skills-list .skill-category .skill-items .skill-items__wrap .skill-item{flex:1 1 calc(33.33% - 15px);min-width:110px;background-color:var(--bg-card-hover);border-radius:8px;padding:12px 10px;text-align:center;display:flex;flex-direction:column;align-items:center}.skills .skills-list .skill-category .skill-items .skill-items__wrap .skill-item i{font-size:26px;margin-bottom:8px;color:var(--text-primary)}@media(max-width:900px){.skills .skill-item{flex:1 1 calc(50% - 15px)}}@media(max-width:768px){.skills .skills-features{gap:10px}}@media(max-width:600px){.skills .skills-features__item{flex:1 1 100%}}.skills-features--expanded .skills-features__detail-wrap{max-height:150px;opacity:1;margin-top:8px}.accordion-enter-active,.accordion-leave-active{transition:height .3s ease;overflow:hidden}.accordion-enter-from,.accordion-leave-to{height:0}.chev{transition:transform .3s ease}.chev.open{transform:rotate(90deg)}.skills .left .heading-2{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.15s}.skills .left .text{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.35s}.skills .left .btn-details{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:1.45s}.skills .left .skills-features__item{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards}.skills .left .skills-features__item:nth-child(1){animation-delay:.55s}.skills .left .skills-features__item:nth-child(2){animation-delay:.65s}.skills .left .skills-features__item:nth-child(3){animation-delay:.75s}.skills .left .skills-features__item:nth-child(4){animation-delay:.85s}.skills .left .skills-features__item:nth-child(5){animation-delay:.95s}.skills .left .skills-features__item:nth-child(6){animation-delay:1.05s}.skills .left .skills-features__item:nth-child(7){animation-delay:1.15s}.skills .left .skills-features__item:nth-child(8){animation-delay:1.25s}.skills .left .skills-features__item:nth-child(9){animation-delay:1.35s}.skills .right .skills-list{opacity:.001;will-change:opacity,transform;animation:fadeInRight .6s ease forwards;animation-delay:.3s}.skills .right .navigation-btns{opacity:.001;will-change:opacity,transform;animation:fadeInRight .5s ease forwards;animation-delay:.7s}.skills .right footer{opacity:.001;will-change:opacity,transform;animation:fadeInRight .5s ease forwards;animation-delay:.9s}.browser-window{position:relative;width:100%;border-radius:8px;overflow:hidden;background:var(--browser-bg);box-shadow:0 4px 24px var(--shadow-color)}.browser-window__bar{position:relative;height:28px;background:var(--browser-bar);display:flex;align-items:center;justify-content:space-between;padding:0 12px}.browser-window__dots{display:flex;align-items:center;gap:6px}.browser-window__dots:before,.browser-window__dots:after{content:"";width:10px;height:10px;border-radius:50%;background:var(--browser-dots)}.browser-window__dots:before{box-shadow:16px 0 0 var(--browser-dots),32px 0 0 var(--browser-dots)}.browser-window__dots:after{display:none}.browser-window__menu{display:flex;flex-direction:column;gap:3px}.browser-window__menu:before,.browser-window__menu:after{content:"";width:16px;height:2px;background:var(--browser-dots);border-radius:1px}.browser-window__menu:before{box-shadow:0 5px 0 var(--browser-dots)}.browser-window__content{position:relative;width:100%;height:calc(100% - 28px);overflow:hidden}.browser-window__content img{display:block;width:100%;height:100%;object-fit:cover;object-position:top}.item-portf[data-v-85cf3e08]{opacity:0;transform:translateY(20px);transition:opacity .4s ease,transform .4s ease}.item-portf.is-visible[data-v-85cf3e08]{opacity:1;transform:translateY(0)}.item-portf__img[data-v-85cf3e08]{position:relative;width:100%;height:100%}.item-portf__img img[data-v-85cf3e08]{opacity:0;transition:opacity .3s ease,transform .5s ease-out}.item-portf__img img.loaded[data-v-85cf3e08]{opacity:1}.item-portf__skeleton[data-v-85cf3e08]{position:absolute;inset:0;background:linear-gradient(90deg,var(--skeleton-from) 25%,var(--skeleton-mid) 50%,var(--skeleton-from) 75%);background-size:200% 100%;animation:skeleton-loading-85cf3e08 1.5s infinite}@keyframes skeleton-loading-85cf3e08{0%{background-position:200% 0}to{background-position:-200% 0}}.portfolio__wrap{position:relative;padding:60px 3% 40px;display:flex;justify-content:space-between;flex-direction:column;border-radius:15px;background-color:var(--bg-section-left);width:100%;max-width:100%;transition:background-color .3s ease}@media(max-width:768px){.portfolio__wrap{padding-top:40px}}.portfolio__wrap .navigation-btns{align-self:center}.portfolio__wrap footer{position:absolute;bottom:20px;left:50%;transform:translate(-50%);width:100%}.portfolio .list-filter{position:relative;display:flex}.portfolio .list-filter__item{position:relative;padding:8px 18px;border-radius:10px 10px 0 0;font-size:20px;font-weight:500;cursor:pointer;z-index:1;color:var(--text-white);transition:.3s ease}@media(hover:hover){.portfolio .list-filter__item:hover{background-color:var(--filter-hover)}}.portfolio__list{display:grid;gap:30px;padding:35px 0}@media screen and (max-width:768px){.portfolio__list{gap:15px}}.portfolio__list{grid-template-columns:repeat(4,1fr)}@media(max-width:1199px){.portfolio__list{padding:calc(20px + 15 * (100vw - 320px) / 680) 0;grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}.portfolio .item-portf{cursor:pointer}.portfolio .item-portf.html{display:block}.portfolio .item-portf__body{position:relative;width:100%;aspect-ratio:1/1;z-index:5}.portfolio .item-portf__body .browser-window{height:100%}.portfolio .item-portf__img{position:relative;width:100%;height:100%}.portfolio .item-portf__img img{width:100%;height:100%;object-fit:cover;object-position:center top}.portfolio .item-portf__content{position:absolute;inset:0;padding:20px;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:var(--overlay-dark);transform:translateY(130%);z-index:5}.portfolio .item-portf__content>:not(:last-child){margin-bottom:10px}.portfolio .item-portf__title{font-size:20px;font-weight:700;text-transform:uppercase;text-align:center}.portfolio .item-portf__title span{text-transform:none;color:var(--accent-red-light)}.portfolio .item-portf__list{position:relative}.portfolio .item-portf__list:before{content:"";position:absolute;top:0;left:-14px;width:4px;height:100%;background-color:var(--accent-red-light)}.portfolio .item-portf__list-item{font-size:15px;line-height:150%}.portfolio .item-portf__list-item:not(:last-child){margin-bottom:7px}.portfolio .item-portf__btn{margin-top:10px;width:100%;height:50px;padding:5px}@media(max-width:768px){.portfolio .list-filter{justify-content:flex-start;overflow-x:auto;scrollbar-width:none}.portfolio .list-filter::-webkit-scrollbar{display:none}.portfolio .list-filter__item{white-space:nowrap}}@media(max-width:500px){.portfolio .list-filter__item{font-size:16px;padding:8px 15px}.portfolio .list-filter__item:not(:last-child){margin-right:0}}.portfolio .portfolio__top .heading-2,.portfolio .portfolio__top .portfolio__hint{opacity:.001;will-change:opacity,transform;animation:fadeInDown .5s ease forwards;animation-delay:.1s}.portfolio .portfolio__top .list-filter{opacity:.001;will-change:opacity,transform;animation:fadeInDown .5s ease forwards;animation-delay:.25s}.portfolio .navigation-btns{opacity:.001;will-change:opacity,transform;animation:fadeInUp .5s ease forwards;animation-delay:.9s}.portfolio__wrap footer{opacity:.001;will-change:opacity,transform;animation:fadeInCentered .5s ease forwards;animation-delay:1.1s}.scroll-top-btn{position:fixed;bottom:30px;right:30px;z-index:50;width:48px;height:48px;border-radius:50%;background-color:var(--bg-btn);color:var(--text-primary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:.3s ease}.scroll-top-btn svg{width:24px;height:24px}@media(hover:hover){.scroll-top-btn:hover{background-color:var(--bg-btn-hover)}}@media(max-width:768px){.scroll-top-btn{bottom:20px;right:20px;width:42px;height:42px}}@media(max-width:500px){.scroll-top-btn{bottom:15px;right:15px}}.portfolio__heading{position:relative;z-index:2;display:flex;align-items:center;gap:10px;margin-bottom:.5em}.portfolio__heading .heading-2{margin-bottom:0}.portfolio__hint{display:flex;align-items:center;color:var(--text-secondary);cursor:default}.portfolio__hint[data-tooltip]:after{white-space:normal;width:240px;text-align:left;left:auto;right:0;transform:translateY(-4px);transition:opacity .2s ease,visibility .2s ease,transform .2s ease}.portfolio__hint.tooltip-active[data-tooltip]:after,.portfolio__hint[data-tooltip]:hover:after{transform:translateY(0)}.list-filter{position:relative;display:flex}.list-filter__item{padding:10px 20px;cursor:pointer;position:relative;z-index:1}.list-filter__item.active{color:var(--text-white)}.list-filter__indicator{position:absolute;bottom:0;background:var(--bg-indicator);height:5px;border-radius:8px}.list-filter__indicator:not(.no-transition){transition:transform .3s ease,width .3s ease}.contact .left .heading-2{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.15s}.contact .left .text{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.3s}.contact .left .contact-item{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards}.contact .left .contact-item:nth-child(1){animation-delay:.45s}.contact .left .contact-item:nth-child(2){animation-delay:.55s}.contact .left .contact-item:nth-child(3){animation-delay:.65s}.contact .left .contact-form{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.8s}.contact .left .navigation-btns{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.95s}.contact .left footer{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:1.1s}.contact .right .map-placeholder{opacity:.001;will-change:opacity,transform;animation:fadeInRight .6s ease forwards;animation-delay:.3s}.contact .left[data-v-2b1b9bcb],.contact .right[data-v-2b1b9bcb]{flex:1;padding:60px 3% 40px;border-radius:15px}.contact .left[data-v-2b1b9bcb]{background-color:var(--bg-section-left)}.contact .right[data-v-2b1b9bcb]{background-color:var(--bg-section-right);gap:10px;display:flex;flex-direction:column;align-items:center;justify-content:center}.social-list[data-v-2b1b9bcb]{list-style:none;padding:0;margin:0 0 40px}.social-list li[data-v-2b1b9bcb]{margin-bottom:14px}.social-list li a[data-v-2b1b9bcb]{font-size:20px;font-weight:500;color:var(--text-white);text-decoration:none;transition:.2s}.social-list li a[data-v-2b1b9bcb]:hover{color:var(--accent-blue);transform:translate(4px)}.back-btn[data-v-2b1b9bcb]{display:inline-block;margin-top:30px;font-size:18px;text-decoration:none;color:#fff;background:var(--accent-blue);padding:10px 18px;border-radius:8px;transition:.25s}.back-btn[data-v-2b1b9bcb]:hover{background:var(--accent-blue-hover)}.dev-box[data-v-2b1b9bcb]{text-align:center}.dev-box img[data-v-2b1b9bcb]{width:200px;opacity:.8}@media(max-width:768px){.page-container[data-v-2b1b9bcb]{flex-direction:column;height:auto}.left[data-v-2b1b9bcb],.right[data-v-2b1b9bcb]{width:100%;padding:40px 25px;height:auto}.right[data-v-2b1b9bcb]{padding:0;min-height:600px}.social-list li a[data-v-2b1b9bcb]{font-size:18px}.dev-box img[data-v-2b1b9bcb]{width:160px}.back-btn[data-v-2b1b9bcb]{font-size:16px;padding:8px 14px}}.contact .left[data-v-2b1b9bcb]{display:flex;flex-direction:column}.contact .contact-links[data-v-2b1b9bcb]{display:flex;flex-wrap:wrap;gap:15px;margin-top:20px}.contact .contact-item[data-v-2b1b9bcb]{flex:1 1 calc(50% - 15px);min-width:140px;background-color:var(--bg-card);border-radius:12px;padding:18px 12px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;border:1px solid var(--border-card);transition:background-color .3s ease,border-color .3s ease,transform .3s ease;text-decoration:none;color:inherit}.contact .contact-item[data-v-2b1b9bcb]:hover{background-color:var(--bg-card-hover);border-color:var(--border-card-hover)}.contact .contact-item svg[data-v-2b1b9bcb]{color:var(--text-primary)}.contact .contact-item p[data-v-2b1b9bcb]{font-size:14px;color:var(--text-secondary);margin:0}.contact .contact-form[data-v-2b1b9bcb]{position:relative;margin-top:30px}.contact .contact-form__fields[data-v-2b1b9bcb]{display:flex;flex-direction:column;gap:12px}.contact .contact-form__row[data-v-2b1b9bcb]{display:flex;gap:12px}.contact .contact-form__row input[data-v-2b1b9bcb]{flex:1}.contact .contact-form input[data-v-2b1b9bcb],.contact .contact-form textarea[data-v-2b1b9bcb]{background-color:var(--bg-card);border:1px solid var(--border-card);border-radius:8px;padding:12px 14px;color:var(--text-secondary);font-size:14px;font-family:inherit;resize:none;transition:border-color .3s ease}.contact .contact-form input[data-v-2b1b9bcb]::placeholder,.contact .contact-form textarea[data-v-2b1b9bcb]::placeholder{color:var(--form-placeholder)}.contact .contact-form input[data-v-2b1b9bcb]:disabled,.contact .contact-form textarea[data-v-2b1b9bcb]:disabled{opacity:.6;cursor:not-allowed}.contact .contact-form button[data-v-2b1b9bcb]{align-self:flex-start}.contact .contact-form button[data-v-2b1b9bcb]:disabled{opacity:.5;cursor:not-allowed}.contact .contact-form__overlay[data-v-2b1b9bcb]{position:absolute;inset:0;background:var(--form-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--form-muted)}.contact .contact-form__overlay svg[data-v-2b1b9bcb]{opacity:.6}.contact .contact-form__overlay p[data-v-2b1b9bcb]{font-size:13px;text-transform:uppercase;letter-spacing:2px;margin:0}.contact .navigation-btns[data-v-2b1b9bcb]{margin-top:auto;padding-top:30px}.contact .right[data-v-2b1b9bcb]{padding:0!important;overflow:hidden}.contact .map-container[data-v-2b1b9bcb]{position:relative;width:100%;height:100%}.contact .map-container iframe[data-v-2b1b9bcb]{display:block;width:100%;height:100%;filter:grayscale(1)}@media(max-width:768px){.contact .map-container[data-v-2b1b9bcb]{height:600px}}@media(max-width:600px){.contact .contact-item[data-v-2b1b9bcb]{flex:1 1 100%}.contact .contact-form__row[data-v-2b1b9bcb]{flex-direction:column}}.portfolio-project .left .btn-back{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.05s}.portfolio-project .left .heading-2{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.15s}.portfolio-project .left .text{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards;animation-delay:.3s}.portfolio-project .left .project-stack .stack-item{opacity:.001;will-change:opacity,transform;animation:fadeInLeft .5s ease forwards}.portfolio-project .left .project-stack .stack-item:nth-child(1){animation-delay:.45s}.portfolio-project .left .project-stack .stack-item:nth-child(2){animation-delay:.55s}.portfolio-project .left .project-stack .stack-item:nth-child(3){animation-delay:.65s}.portfolio-project .left .project-stack .stack-item:nth-child(4){animation-delay:.75s}.portfolio-project .left .project-stack .stack-item:nth-child(5){animation-delay:.85s}.portfolio-project .left .project-stack .stack-item:nth-child(6){animation-delay:.95s}.portfolio-project .left .project-stack .stack-item:nth-child(7){animation-delay:1.05s}.portfolio-project .left .project-stack .stack-item:nth-child(8){animation-delay:1.15s}.portfolio-project .left .project-stack .stack-item:nth-child(9){animation-delay:1.25s}.portfolio-project .left .btn-watch{opacity:.001;will-change:opacity,transform;animation:fadeInUp .5s ease forwards;animation-delay:1.1s}.portfolio-project .right .device--browser{opacity:.001;will-change:opacity,transform;animation:fadeInRight .6s ease forwards;animation-delay:.2s}.portfolio-project .right .device--phone{opacity:.001;will-change:opacity,transform;animation:fadeInUp .5s ease forwards;animation-delay:.5s}.portfolio-project .right footer{opacity:.001;will-change:opacity,transform;animation:fadeInRight .5s ease forwards;animation-delay:1s}.portfolio-project .left[data-v-84995d6c]{position:relative;background:var(--bg-section-left);display:flex;flex-direction:column;justify-content:space-between}.portfolio-project .left .btn-back[data-v-84995d6c]{align-self:flex-start;margin-bottom:20px}.portfolio-project .left .company-link[data-v-84995d6c]{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.portfolio-project .left .company-link[data-v-84995d6c]:hover{opacity:.8}.portfolio-project .left .btn-watch[data-v-84995d6c]{display:flex;width:fit-content;margin:48px auto 0}.portfolio-project .left .title[data-v-84995d6c]{font-size:48px;line-height:1.1}.portfolio-project .left .subtitle[data-v-84995d6c]{max-width:420px;line-height:1.6;color:var(--text-muted)}.portfolio-project .left .project-stack[data-v-84995d6c]{display:flex;flex-wrap:wrap;gap:20px;margin-top:20px}.portfolio-project .left .stack-item[data-v-84995d6c]{flex:1 1 calc(50% - 20px);min-width:140px;background-color:var(--bg-card);border-radius:12px;padding:14px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;border:1px solid var(--border-card);transition:background-color .3s ease,border-color .3s ease,transform .3s ease}.portfolio-project .left .stack-item[data-v-84995d6c]:hover{background-color:var(--bg-card-hover);border-color:var(--border-card-hover)}.portfolio-project .left .stack-item svg[data-v-84995d6c]{width:24px;height:24px;margin-bottom:8px}.portfolio-project .left .stack-item p[data-v-84995d6c]{font-size:14px;color:var(--text-secondary);line-height:1.3;white-space:nowrap}.portfolio-project .right[data-v-84995d6c]{background:var(--bg-section-right);padding:60px;display:flex;flex-direction:column;align-items:center;justify-content:space-between}.portfolio-project .right .devices[data-v-84995d6c]{margin-bottom:50px}@media(max-width:1024px){.portfolio-project[data-v-84995d6c]{grid-template-columns:1fr}.portfolio-project .left[data-v-84995d6c]{padding:60px 40px}.portfolio-project .left .subtitle[data-v-84995d6c]{max-width:100%}.portfolio-project .right[data-v-84995d6c]{padding:40px 20px}}@media(max-width:767px){.portfolio-project .left[data-v-84995d6c]{padding:40px 20px}.portfolio-project .left .title[data-v-84995d6c]{font-size:32px}.portfolio-project .left .project-stack[data-v-84995d6c]{gap:10px}.portfolio-project .right .devices .device--phone[data-v-84995d6c]{width:180px}}.device-frame-bg[data-v-84995d6c]{fill:var(--browser-bar)}.device-frame-screen[data-v-84995d6c]{fill:var(--browser-bg)}.device-frame-notch[data-v-84995d6c]{fill:var(--browser-dots)}@media(max-width:767px){.stack-item[data-v-84995d6c]{flex:1 1 100%}}
