#contact,#skills,#projects,#education,#experience,#about{box-sizing:border-box;width:100%;padding:130px 16px;position:relative}@media screen and (width<=780px){#contact,#skills,#projects,#education,#experience,#about{padding:60px 16px}}#contact .wrapper,#skills .wrapper,#projects .wrapper,#education .wrapper,#experience .wrapper,#about .wrapper{box-sizing:border-box;width:100%;max-width:1180px;margin:0 auto}.terminal,.project-card,.education-card,.job-card,#contact .contact-card,#projects .github-banner,#about .about-stats .stat-card{background:#fff;border:1px solid #e2e5e9;border-radius:10px;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s,background .3s;box-shadow:0 2px 8px #1f1f1f14,0 1px 2px #1f1f1f0f}.terminal:hover,.project-card:hover,.education-card:hover,.job-card:hover,#contact .contact-card:hover,#projects .github-banner:hover,#about .about-stats .stat-card:hover{background:#f7f8fa;border-color:#c6cbd1;transform:translateY(-2px);box-shadow:0 10px 28px #1f1f1f24}@font-face{font-family:LatoWeb;src:url(/fonts/lato/Lato-Regular.woff2)format("woff2");font-style:normal;font-weight:400;display:swap}@font-face{font-family:LatoWeb;src:url(/fonts/lato/Lato-Heavy.woff2)format("woff2");font-style:normal;font-weight:900;display:swap}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-size:62.5%}body{color:#1f1f1f;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fff;background-image:radial-gradient(circle at 50% 0,#dd00310f,#0000 34%),linear-gradient(#fff 0%,#fafbfc 55%,#fff 100%);width:100%;min-height:100vh;margin:0;padding:0;font-family:LatoWeb,Lato,sans-serif;font-size:1.6rem;line-height:1.6;overflow-x:hidden}h1,h2,h3,h4,h5,h6{color:#1f1f1f;letter-spacing:-.02em;margin-top:0;font-weight:700}p{color:#4a4f55;margin:0 0 1.5em;font-size:1.6rem;line-height:1.7}p:last-child{margin-bottom:0}a{color:#b8002a;text-decoration:none;transition:color .2s}a:hover{color:#b8002a}code,pre{font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#fff}::-webkit-scrollbar-thumb{background:#11131540;border-radius:9999px}::-webkit-scrollbar-thumb:hover{background:#ff6d00}.reveal-on-scroll{opacity:0;transition:opacity .6s cubic-bezier(.16,1,.3,1),transform .6s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}#intro{box-sizing:border-box;background:linear-gradient(#fff 0%,#fafbfc 100%);align-items:center;min-height:min(900px,100vh);padding-top:140px;padding-bottom:100px;display:flex;position:relative;overflow:hidden}#intro .wrapper{z-index:1;grid-template-columns:minmax(0,1.05fr) minmax(300px,.95fr);align-items:center;gap:90px;width:100%;max-width:1180px;margin:0 auto;padding:0 16px;display:grid;position:relative}@media screen and (width<=960px){#intro .wrapper{text-align:center;grid-template-columns:1fr;gap:40px}}.hero-pattern{pointer-events:none;position:absolute;inset:0;overflow:hidden}.hero-pattern__line{pointer-events:auto;border:1px solid #dd00311a;border-color:#dd00311a #0000;border-radius:50%;width:136%;height:70%;transition:transform .5s,border-color .5s,opacity .5s;position:absolute;left:-18%;transform:rotate(-7deg)}.hero-pattern__line:first-child{top:-42%}.hero-pattern__line:nth-child(2){border-color:#ff6d001c #0000;top:-18%}.hero-pattern__line:nth-child(3){top:8%}.hero-pattern__line:nth-child(4){border-color:#ff6d0017 #0000;top:34%}.hero-pattern__line:hover{opacity:1;border-color:#dd00314d #0000;transform:rotate(-7deg)translateY(-5px)scaleX(1.015)}@media screen and (width<=960px){.hero-pattern__line{width:210%;height:52%;left:-55%}.hero-pattern__line:first-child{top:18%}.hero-pattern__line:nth-child(2){top:31%}.hero-pattern__line:nth-child(3){top:44%}.hero-pattern__line:nth-child(4){top:57%}}.hero-content{flex-direction:column;gap:22px;display:flex;position:relative}@media screen and (width<=960px){.hero-content{align-items:center}}.hero-content__eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#6b7280;align-items:center;gap:10px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.15rem;font-weight:700;display:flex}.hero-content__eyebrow span:first-child,.hero-content__eyebrow span:nth-child(3){color:#b8002a}.hero-content__status{color:#b8002a;letter-spacing:.02em;background:#dd00310f;border:1px solid #dd003133;border-radius:9999px;align-items:center;gap:8px;width:fit-content;padding:7px 12px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.25rem;font-weight:700;display:inline-flex}.hero-content__status .status-dot{background-color:#0f766e;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 0 4px #16866b24}.hero-content__title{letter-spacing:-.06em;color:#1f1f1f;margin:0;font-family:LatoWeb,Lato,sans-serif;font-size:clamp(5.8rem,8vw,10rem);font-weight:900;line-height:.88}@media screen and (width<=780px){.hero-content__title{font-size:clamp(4.6rem,16vw,5.8rem)}}.hero-content__title .title-gradient{background:linear-gradient(110deg,#dd0031 0%,#ff6d00 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.hero-content__role{color:#1f1f1f;align-items:center;gap:10px;margin:0;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.55rem;font-weight:700;display:flex}.hero-content__role:before{content:">";color:#dd0031}.hero-content__bio{color:#4a4f55;max-width:540px;margin:0;font-size:1.8rem;line-height:1.55}.hero-content__bio strong{color:#1f1f1f;font-weight:600}.hero-content__actions{flex-wrap:wrap;align-items:center;gap:14px;width:100%;margin-top:8px;display:flex}@media screen and (width<=960px){.hero-content__actions{justify-content:center}}@media screen and (width<=520px){.hero-content__actions{align-items:stretch}.hero-content__actions .btn,.hero-content__actions .cv-buttons{width:100%}}.hero-content__tech-strip{border-top:1px solid #e2e5e9;flex-wrap:wrap;align-items:center;gap:12px;margin-top:10px;padding-top:18px;display:flex}@media screen and (width<=960px){.hero-content__tech-strip{justify-content:center}}.hero-content__tech-strip-label{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem}.hero-terminal-container{justify-content:center;width:100%;padding:34px 0 0 34px;display:flex;position:relative}.hero-terminal-container:before{content:"";z-index:-1;background:linear-gradient(135deg,#dd00311f,#ff6d0014);border:1px solid #dd00312e;border-radius:14px;position:absolute;inset:0 34px 34px 0}@media screen and (width<=960px){.hero-terminal-container{padding:25px 25px 0 0}}.hero-note{text-transform:uppercase;align-items:baseline;gap:8px;max-width:170px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;display:flex;position:absolute;top:0;right:0}.hero-note__index{color:#dd0031;font-size:2.4rem;font-weight:800}.hero-note__label{color:#6b7280;text-align:right;max-width:120px;font-size:1rem;line-height:1.25}@media screen and (width<=520px){.hero-note{gap:5px;max-width:145px}.hero-note__index{font-size:2rem}.hero-note__label{max-width:95px;font-size:.9rem}}#about .about-container{grid-template-columns:320px 1fr;align-items:start;gap:64px;display:grid}@media screen and (width<=900px){#about .about-container{text-align:center;grid-template-columns:1fr;gap:40px}}#about .about-sidebar{flex-direction:column;align-items:center;gap:28px;display:flex}#about .about-content{flex-direction:column;gap:24px;display:flex}#about .about-content p{color:#4a4f55;margin:0;font-size:1.7rem;line-height:1.7}#about .about-content p strong{color:#1f1f1f;font-weight:600}#about .about-stats{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:20px;margin-top:10px;display:grid}#about .about-stats .stat-card{flex-direction:column;gap:6px;padding:22px;display:flex}#about .about-stats .stat-card__number{color:#b8002a;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:2.8rem;font-weight:800;line-height:1}#about .about-stats .stat-card__label{color:#1f1f1f;font-size:1.3rem;font-weight:600}#about .about-stats .stat-card__desc{color:#6b7280;font-size:1.2rem;line-height:1.4}#experience .wrapper{max-width:1180px}#projects .github-banner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;margin-top:40px;padding:24px 30px;display:flex}#projects .github-banner__content{align-items:center;gap:16px;display:flex}#projects .github-banner__content svg{fill:#1f1f1f;width:32px;height:32px}#projects .github-banner__text{flex-direction:column;gap:4px;display:flex}#projects .github-banner__text h4{color:#1f1f1f;margin:0;font-size:1.6rem}#projects .github-banner__text p{color:#6b7280;margin:0;font-size:1.35rem}#skills .skills-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;width:100%;display:grid}#skills .skills-legend{flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;margin-top:40px;display:flex}#skills .skills-legend__item{color:#6b7280;align-items:center;gap:8px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem;display:inline-flex}#skills .skills-legend__item .legend-dot{border-radius:50%;width:8px;height:8px}#skills .skills-legend__item .legend-dot.cyan{background:#dd0031;box-shadow:0 0 8px #dd0031}#skills .skills-legend__item .legend-dot.emerald{background:#0f766e;box-shadow:0 0 8px #0f766e}#skills .skills-legend__item .legend-dot.purple{background:#ff6d00;box-shadow:0 0 8px #ff6d00}#contact .contact-card{text-align:center;border:1px solid #1f1f1f;flex-direction:column;align-items:center;gap:30px;max-width:800px;margin:0 auto;padding:50px 40px;display:flex;box-shadow:0 2px 8px #1f1f1f14,0 1px 2px #1f1f1f0f}@media screen and (width<=600px){#contact .contact-card{padding:35px 20px}}#contact .contact-card__badge{color:#1f1f1f;background:#dd0031;border:1px solid #1f1f1f;border-radius:9999px;align-items:center;gap:8px;padding:6px 14px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem;display:inline-flex}#contact .contact-card__title{letter-spacing:-.03em;color:#1f1f1f;margin:0;font-size:3.2rem;font-weight:800}@media screen and (width<=600px){#contact .contact-card__title{font-size:2.5rem}}#contact .contact-card__text{color:#4a4f55;max-width:520px;margin:0;font-size:1.6rem;line-height:1.6}#contact .contact-card__email-box{box-sizing:border-box;background:#1f1f1f;border:1px solid #c6cbd1;border-radius:10px;align-items:center;gap:12px;max-width:100%;padding:8px 12px 8px 20px;display:flex}@media screen and (width<=500px){#contact .contact-card__email-box{flex-direction:column;width:100%;padding:16px}}#contact .contact-card__email-text{color:#ff9bad;letter-spacing:.02em;word-break:break-all;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.5rem;font-weight:600}#contact .contact-card__email-box .btn-secondary{color:#fff;background:#dd0031;border-color:#dd0031}#contact .contact-card__email-box .btn-secondary:hover{color:#fff;background:#ff6d00;border-color:#ff6d00}#contact .contact-card__details{color:#6b7280;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.25rem;display:flex}#contact .contact-card__details .detail-item{align-items:center;gap:6px;display:inline-flex}#footer{background:#05070be6;border-top:1px solid #e2e5e9;width:100%;padding:40px 16px;position:relative}#footer .footer-container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:20px;max-width:1180px;margin:0 auto;display:flex}@media screen and (width<=780px){#footer .footer-container{text-align:center;flex-direction:column;gap:24px}}#footer .footer-info{flex-direction:column;gap:6px;display:flex}#footer .footer-info__copyright{color:#6b7280;margin:0;font-size:1.4rem;font-weight:500}#footer .footer-info__tech{color:#6b7280;margin:0;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem}#footer .footer-info__tech .tech-highlight{color:#b8002a}#footer .footer-right{align-items:center;gap:20px;display:flex}.align-center{text-align:center}.body>p{margin:0 0 1em}.navbar{z-index:1000;background:#fffffff0;border-bottom:1px solid #e2e5e9;height:70px;transition:all .3s;position:fixed;top:0;left:0;right:0}.navbar.is-scrolled{border-bottom-color:#c6cbd1;box-shadow:0 1px #dd0031}.navbar__container{justify-content:space-between;align-items:center;max-width:1180px;height:100%;margin:0 auto;padding:0 16px;display:flex}.navbar__brand{color:#1f1f1f;letter-spacing:-.03em;align-items:center;gap:8px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.8rem;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.navbar__brand .brand-accent{color:#dd0031}.navbar__brand .brand-dot{background:#0f766e;border-radius:50%;width:8px;height:8px;animation:2s ease-in-out infinite pulse-dot;box-shadow:0 0 0 4px #16866b24}.navbar__brand:hover{color:#b8002a;transform:scale(1.02)}.navbar__nav{align-items:center;gap:22px;display:flex}@media screen and (width<=860px){.navbar__nav{display:none}}.navbar__link{color:#4a4f55;padding:6px 0;font-size:1.4rem;font-weight:500;text-decoration:none;transition:color .2s;position:relative}.navbar__link:after{content:"";background:#dd0031;border-radius:2px;width:0;height:2px;transition:width .25s;position:absolute;bottom:0;left:0}.navbar__link:hover,.navbar__link.is-active{color:#1f1f1f}.navbar__link:hover:after,.navbar__link.is-active:after{width:100%}.navbar__link.is-active{color:#dd0031}.navbar__actions{align-items:center;gap:12px;display:flex}@media screen and (width<=860px){.navbar__actions{display:none}}.navbar__toggle{cursor:pointer;color:#1f1f1f;background:#f7f8fa;border:1px solid #e2e5e9;border-radius:6px;flex-direction:column;justify-content:center;gap:5px;width:38px;height:38px;padding:6px;display:none}@media screen and (width<=860px){.navbar__toggle{display:flex}}.navbar__toggle span{background-color:#1f1f1f;border-radius:2px;width:100%;height:2px;transition:all .3s;display:block}.navbar__toggle.is-active span:first-child{transform:translateY(7px)rotate(45deg)}.navbar__toggle.is-active span:nth-child(2){opacity:0}.navbar__toggle.is-active span:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.mobile-nav{z-index:999;opacity:0;pointer-events:none;background:#fff;border-bottom:1px solid #e2e5e9;flex-direction:column;gap:20px;padding:30px 16px;transition:all .35s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:70px 0 0;transform:translateY(-100%)}.mobile-nav.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.mobile-nav__link{color:#1f1f1f;background:#f7f8fa;border:1px solid #0000;border-radius:6px;padding:12px 16px;font-size:1.8rem;font-weight:600;transition:all .2s}.mobile-nav__link:hover,.mobile-nav__link.is-active{color:#1f1f1f;background:#dd0031;border-color:#e2e5e9}.mobile-nav__actions{flex-direction:column;gap:12px;margin-top:10px;display:flex}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}.btn{cursor:pointer;white-space:normal;text-align:center;border:1px solid #0000;border-radius:6px;outline:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-family:LatoWeb,Lato,sans-serif;font-size:1.4rem;font-weight:600;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{color:#fff;background:#dd0031;font-weight:700;box-shadow:0 6px 14px #dd003138}.btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 9px 18px #dd003147}.btn-primary:active{transform:translateY(0)}.btn-secondary{color:#1f1f1f;background:#fff;border-color:#c6cbd1}.btn-secondary:hover{color:#1f1f1f;background:#dd00310f;border-color:#1f1f1f;transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.btn-sm{padding:8px 16px;font-size:1.3rem}.btn-mono{font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace}.cv-buttons{background:0 0;border:1px solid #c6cbd1;border-radius:6px;align-items:center;gap:4px;padding:4px;display:inline-flex}.cv-buttons__label{color:#4a4f55;padding:0 8px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem}.cv-buttons__link{color:#4a4f55;white-space:nowrap;background:#fff;border-radius:4px;align-items:center;padding:6px 12px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.cv-buttons__link:hover{color:#1f1f1f;background:#dd003114}.scroll-indicator{color:#6b7280;cursor:pointer;z-index:10;flex-direction:column;align-items:center;gap:8px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.1rem;text-decoration:none;transition:color .2s;display:flex;position:absolute;bottom:30px;left:50%;transform:translate(-50%)}.scroll-indicator:hover{color:#b8002a}.scroll-indicator__mouse{border:2px solid #c6cbd1;border-radius:12px;justify-content:center;width:22px;height:36px;padding-top:6px;display:flex;position:relative}.scroll-indicator__mouse:before{color:#c6cbd1;content:"⌄";font-weight:700;animation:2s ease-in-out infinite scroll-wheel}.btn-to-top{color:#4a4f55;cursor:pointer;background:#f7f8fa;border:1px solid #e2e5e9;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .25s;display:inline-flex}.btn-to-top:hover{color:#b8002a;background:#dd00310f;border-color:#dd0031;transform:translateY(-3px);box-shadow:0 2px 8px #1f1f1f14,0 1px 2px #1f1f1f0f}@keyframes scroll-wheel{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(12px)}}.section-heading{text-align:left;margin-bottom:56px;position:relative}.section-heading--left{text-align:left}.section-heading__tag{color:#dd0031;letter-spacing:.05em;text-transform:uppercase;border-bottom:2px solid #dd00312e;align-items:center;gap:6px;margin-bottom:12px;padding-bottom:6px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.3rem;font-weight:600;display:inline-flex}.section-heading__tag:before{content:"/";color:#dd0031;opacity:.7}.section-heading__title{letter-spacing:-.035em;color:#1f1f1f;margin:0 0 16px;font-size:clamp(3.4rem,5vw,5.4rem);font-weight:700;line-height:1.2}@media screen and (width<=780px){.section-heading__title{font-size:3.6rem}}.section-heading__title .highlight{background:linear-gradient(110deg,#dd0031 0%,#ff6d00 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text}.section-heading__subtitle{color:#6b7280;max-width:660px;margin:0;font-size:1.6rem;line-height:1.6}.section-heading--left .section-heading__subtitle{margin:0}.tag-list{flex-wrap:wrap;gap:10px;margin:0;padding:0;list-style:none;display:flex}.tag-list--center{justify-content:center}.tag{color:#4a4f55;cursor:default;background:#fff;border:1px solid #e2e5e9;border-radius:6px;align-items:center;gap:6px;padding:6px 14px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.3rem;font-weight:500;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.tag__dot{background-color:#6b7280;border-radius:50%;width:6px;height:6px}.tag:hover{color:#1f1f1f;background:#dd00310f;border-color:#dd0031;transform:translateY(-1px);box-shadow:0 2px 8px #1f1f1f14,0 1px 2px #1f1f1f0f}.tag.is-advanced,.tag.is-expert{color:#1f1f1f;border-color:#dd003140}.tag.is-advanced .tag__dot,.tag.is-expert .tag__dot{background-color:#dd0031;box-shadow:0 0 0 3px #dd00311f}.tag.is-advanced:hover,.tag.is-expert:hover{border-color:#dd0031;box-shadow:0 2px 8px #1f1f1f14,0 1px 2px #1f1f1f0f}.tag.is-intermediate{color:#4a4f55;border-color:#0f766e40}.tag.is-intermediate .tag__dot{background-color:#0f766e;box-shadow:0 0 0 3px #0f766e1f}.tag.is-intermediate:hover{border-color:#0f766e;box-shadow:0 2px 8px #1f1f1f14,0 1px 2px #1f1f1f0f}.tag.is-basic{color:#4a4f55;border-color:#ff6d004d}.tag.is-basic .tag__dot{background-color:#ff6d00;box-shadow:0 0 0 3px #ff6d001f}.tag.is-basic:hover{border-color:#ff6d00;box-shadow:0 2px 8px #1f1f1f14,0 1px 2px #1f1f1f0f}.tag--sm{padding:4px 10px;font-size:1.15rem}.skill-card{background:#fff;border:1px solid #e2e5e9;border-radius:10px;flex-direction:column;gap:16px;padding:24px;transition:all .3s;display:flex}.skill-card:hover{border-color:#dd0031;transform:translateY(-4px);box-shadow:0 10px 28px #1f1f1f24}.skill-card__header{align-items:center;gap:12px;display:flex}.skill-card__icon{color:#dd0031;background:#dd00310f;border:1px solid #c6cbd1;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.8rem;display:flex}.skill-card__title{color:#1f1f1f;margin:0;font-size:1.8rem;font-weight:700}.social-links{align-items:center;gap:12px;margin:0;padding:0;list-style:none;display:flex}.social-links--center{justify-content:center}.social-links__item{display:inline-flex}.social-links__link{color:#4a4f55;background:#f7f8fa;border:1px solid #e2e5e9;border-radius:10px;justify-content:center;align-items:center;width:44px;height:44px;text-decoration:none;transition:all .25s cubic-bezier(.16,1,.3,1);display:inline-flex}.social-links__link svg{fill:currentColor;width:20px;height:20px;transition:transform .25s}.social-links__link:hover{color:#1f1f1f;background:#dd0031;border-color:#dd0031;transform:translateY(-3px);box-shadow:0 4px 15px #00f0ff40}.social-links__link:hover svg{transform:scale(1.1)}.social-links__link:hover.github{color:#1f1f1f;border-color:#1f1f1f;box-shadow:0 4px 15px #fff3}.social-links__link:hover.linkedin{color:#0a66c2;border-color:#0a66c2;box-shadow:0 4px 15px #0a66c24d}.social-links__link:hover.stackoverflow{color:#f48225;border-color:#f48225;box-shadow:0 4px 15px #f482254d}.social-links__link:hover.habr{color:#65a3be;border-color:#65a3be;box-shadow:0 4px 15px #65a3be4d}.avatar-wrapper{margin:0 auto;display:inline-block;position:relative}.avatar-wrapper:before{content:"";opacity:.5;filter:blur(14px);z-index:0;background:linear-gradient(135deg,#dd0031,#b8002a,#ff6d00);border-radius:24px;position:absolute;inset:-8px}.avatar-wrapper__box{z-index:1;background:#1f1f1f;border:2px solid #1f1f1f;border-radius:20px;width:240px;height:240px;position:relative;overflow:hidden;box-shadow:0 15px 35px #00000080}@media screen and (width<=480px){.avatar-wrapper__box{width:200px;height:200px}}.avatar-wrapper__box img{object-fit:cover;width:100%;height:100%;transition:transform .4s;display:block}.avatar-wrapper__box:hover img{transform:scale(1.04)}.avatar-wrapper__badge{z-index:2;white-space:nowrap;color:#1f1f1f;background:#f7f8fa;border:1px solid #dd0031;border-radius:9999px;align-items:center;gap:6px;padding:6px 14px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.15rem;font-weight:600;display:inline-flex;position:absolute;bottom:-10px;left:50%;transform:translate(-50%);box-shadow:0 4px 15px #00f0ff40}.avatar-wrapper__badge .status-dot{background-color:#0f766e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 8px #0f766e}.timeline{width:100%;max-width:960px;margin:0 auto;padding:20px 0;position:relative}.timeline:before{content:"";background:linear-gradient(#dd0031 0%,#dd003140 70%,#0000 100%);width:2px;position:absolute;top:0;bottom:0;left:20px;box-shadow:0 0 8px #dd003126}@media screen and (width>=860px){.timeline:before{left:50%;transform:translate(-50%)}}.timeline__item{width:100%;margin-bottom:40px;position:relative}.timeline__item:last-child{margin-bottom:0}@media screen and (width>=860px){.timeline__item{justify-content:flex-end;padding-right:50%;display:flex}.timeline__item:nth-child(2n){justify-content:flex-start;padding-left:50%;padding-right:0}.timeline__item:nth-child(2n) .job-card{margin-left:35px;margin-right:0}.timeline__item:nth-child(2n) .timeline__node{left:50%}}.timeline__node{z-index:5;background:#fff;border:2px solid #dd0031;border-radius:50%;width:14px;height:14px;position:absolute;top:24px;left:20px;transform:translate(-50%);box-shadow:0 0 0 3px #dd00311f}@media screen and (width>=860px){.timeline__node{left:50%}}.timeline__node.is-current{background:#dd0031;border-color:#1f1f1f;animation:2s ease-in-out infinite pulse-node;box-shadow:0 0 0 3px #dd00311f}.job-card{box-sizing:border-box;width:calc(100% - 50px);margin-left:50px;padding:24px;position:relative}@media screen and (width>=860px){.job-card{width:calc(100% - 35px);margin-left:0;margin-right:35px}}.job-card.is-highlight{background:#dd00310a;border-color:#dd00314d}.job-card.is-highlight:before{content:"CURRENT ROLE";color:#1f1f1f;letter-spacing:.05em;background:#dd0031;border-radius:9999px;padding:2px 10px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1rem;font-weight:700;position:absolute;top:16px;right:20px}.job-card__header{flex-direction:column;gap:6px;margin-bottom:14px;display:flex}.job-card__date{color:#b8002a;letter-spacing:-.01em;align-items:center;gap:6px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem;display:inline-flex}.job-card__employer{color:#1f1f1f;margin:0;font-size:2.2rem;font-weight:700}.job-card__role{color:#b8002a;margin:0;font-size:1.5rem;font-weight:500}.job-card__description{color:#4a4f55;margin-bottom:16px;font-size:1.45rem;line-height:1.6}.job-card__description strong{color:#1f1f1f}.job-card__projects{border-top:1px solid #e2e5e9;margin-top:16px;padding-top:16px}.job-card__projects-title{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin-bottom:12px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem;font-weight:600}.job-card__projects .project-mini{background:#0000004d;border:1px solid #e2e5e9;border-radius:6px;margin-bottom:14px;padding:12px 14px}.job-card__projects .project-mini:last-child{margin-bottom:0}.job-card__projects .project-mini__name{color:#1f1f1f;margin:0 0 6px;font-size:1.5rem;font-weight:600}.job-card__projects .project-mini__name a{color:#dd0031}.job-card__projects .project-mini__desc{color:#4a4f55;margin:0 0 10px;font-size:1.35rem}@keyframes pulse-node{0%,to{transform:translate(-50%)scale(1);box-shadow:0 0 12px #0f766e}50%{transform:translate(-50%)scale(1.25);box-shadow:0 0 20px #0f766e}}.education-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;width:100%;display:grid}.education-card{flex-direction:column;gap:12px;padding:24px;display:flex}.education-card__header{flex-direction:column;gap:6px;display:flex}.education-card__date{color:#b8002a;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem}.education-card__title{color:#1f1f1f;margin:0;font-size:1.8rem;font-weight:700;line-height:1.3}.education-card__speciality{color:#0f766e;margin:0;font-size:1.4rem;font-weight:500}.education-card__text{color:#4a4f55;margin:0;font-size:1.4rem;line-height:1.6}.education-card__link{color:#b8002a;align-self:flex-start;align-items:center;gap:4px;margin-top:auto;padding-top:10px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem;display:inline-flex}.education-card__link:hover{color:#b8002a;text-decoration:underline}.projects-grid{grid-template-columns:repeat(3,1fr);gap:24px;width:100%;display:grid}.project-card{flex-direction:column;height:100%;padding:0;display:flex;overflow:hidden}.project-card__media{background:linear-gradient(135deg,#dd003124,#ff6d001f);border-bottom:1px solid #e2e5e9;justify-content:center;align-items:center;width:100%;height:190px;display:flex;position:relative;overflow:hidden}.project-card__media img{object-fit:contain;width:100%;height:100%;padding:16px;transition:transform .4s}.project-card:hover .project-card__media img{transform:scale(1.05)}.project-card__body{flex-direction:column;flex:1;padding:26px;display:flex}.project-card__title{color:#1f1f1f;margin:0 0 10px;font-size:2.2rem;font-weight:700}.project-card__desc{color:#4a4f55;flex:1;margin-bottom:20px;font-size:1.5rem;line-height:1.6}.project-card__tags{flex-wrap:wrap;gap:6px;margin-bottom:20px;display:flex}.project-card__footer{border-top:1px solid #e2e5e9;align-items:center;gap:12px;padding-top:16px;display:flex}.project-card__link{color:#b8002a;align-items:center;gap:6px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.3rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.project-card__link:hover{color:#1f1f1f;transform:translate(2px)}.project-card__link svg{fill:currentColor;width:14px;height:14px}@media screen and (width<=900px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media screen and (width<=620px){.projects-grid{grid-template-columns:1fr}}.svg-icon{vertical-align:-.15em;fill:currentColor;width:1em;height:1em;display:inline-block}.terminal{border:1px solid #e2e5e9;border-radius:14px;width:100%;max-width:520px;overflow:hidden;box-shadow:0 2px 8px #1f1f1f14,0 1px 2px #1f1f1f0f}.terminal__header{background:#242629;border-bottom:1px solid #e2e5e9;justify-content:space-between;align-items:center;padding:12px 18px;display:flex}.terminal__buttons{align-items:center;gap:8px;display:flex}.terminal__buttons span{border-radius:50%;width:11px;height:11px;display:inline-block}.terminal__buttons span.btn-close{background-color:#ef4444}.terminal__buttons span.btn-minimize{background-color:#f59e0b}.terminal__buttons span.btn-maximize{background-color:#10b981}.terminal__title{color:#f4f5f6;letter-spacing:-.02em;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.2rem}.terminal__status{color:#dd0031;align-items:center;gap:5px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.1rem;display:flex}.terminal__status:before{content:"";background:#dd0031;border-radius:50%;width:6px;height:6px}.terminal__body{background:#1a1d1c;padding:20px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.35rem;line-height:1.7;overflow-x:auto}.terminal__code{white-space:pre-wrap;word-break:break-word;display:block}.terminal .tok-keyword{color:#ff9bad;font-weight:600}.terminal .tok-var{color:#a9b7ff}.terminal .tok-prop{color:#f6a7b7}.terminal .tok-str{color:#9fe3d7}.terminal .tok-num{color:#ffbd80}.terminal .tok-bool{color:#ffc2a1}.terminal .tok-comment{color:#98a0aa;font-style:italic}.terminal .tok-punct{color:#c7cec8}.terminal .cursor-blink{vertical-align:middle;background-color:#dd0031;width:8px;height:1.3em;margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.toast{z-index:2000;color:#6b7280;opacity:0;pointer-events:none;background:#0f172a;border:1px solid #dd0031;border-radius:10px;align-items:center;gap:10px;padding:12px 20px;font-family:JetBrains Mono,Fira Code,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:1.3rem;transition:all .3s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;bottom:30px;right:30px;transform:translateY(100px);box-shadow:0 10px 30px #0009,0 8px 24px #dd00312e}.toast.is-visible{opacity:1;pointer-events:auto;transform:translateY(0)}.toast__icon{color:#0f766e;align-items:center;font-size:1.6rem;display:flex}
