:root{--bg:#f5f7fa;--text:#1c1c1c;--accent:#00bcd4;--logo-color:#0099cc;--card-bg:#ffffff;--card-border:#e0e0e0;--logo-bg:transparent;--text-subtle:#6e6e6e;--link-color:#0d47a1}html.dark{--bg:#0f0f0f;--text:#f0f0f0;--accent:#00bcd4;--logo-color:#00f7ff;--card-bg:#1a1a1a;--card-border:#333333;--logo-bg:#ffffff;--text-subtle:#d7d7d7;--link-color:#64b5f6}body,html{margin:0;padding:0;font-family:sans-serif}.header__container,.layout-container,.site-footer .footer-nav{width:100%;max-width:1400px;margin-inline:auto;padding-inline:1rem}@media(max-width:768px){.header__container,.layout-container,.site-footer .footer-nav{padding-inline:1.25rem}}@media(max-width:480px){.header__container,.layout-container,.site-footer .footer-nav{padding-inline:1.5rem}}@media(max-width:374px){.header__container,.layout-container,.site-footer .footer-nav{padding-inline:.25rem}}main{width:100%}main>*{max-width:100%;box-sizing:border-box}section{margin-bottom:3rem}.glove-cursor{cursor:url(/images/glove_pointer.png) 16 16,auto}.header{width:100vw;margin-left:calc(-50vw + 50%);background-color:var(--card-bg);border-bottom:1px solid var(--card-border);padding:1rem 0;position:relative;z-index:10}.header .flag-icon{position:relative;width:24px;height:24px;display:inline-block}.header__container{display:flex;justify-content:space-between;align-items:center}@media(max-width:768px){.header__container{flex-direction:column;gap:.5rem;text-align:center}}.header__logo{gap:.5rem;font-family:Orbitron,sans-serif;font-size:1.5rem;font-weight:700}.header__logo,.header__logo a{display:flex;align-items:center;color:var(--logo-color);text-shadow:0 0 2px rgba(0,0,0,.5)}.header__logo a{text-decoration:none}.header__logo a:hover{text-shadow:0 0 3px var(--logo-color),0 0 6px var(--logo-color)}.header__logo a img{width:40px;height:auto}.header__nav ul{display:flex;gap:2rem;list-style:none;padding:0;margin:0}@media(max-width:768px){.header__nav ul{flex-wrap:wrap;justify-content:center}}.header__nav ul li a{position:relative;font-family:Orbitron,sans-serif;font-weight:700;font-size:1.1rem;letter-spacing:.04em;color:var(--text);text-decoration:none;transition:color .3s ease}.header__nav ul li a:hover{color:var(--accent);text-shadow:0 0 1px var(--accent),0 0 1px var(--accent)}.header__nav ul li a:after{content:"";position:absolute;left:0;bottom:-4px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.header__nav ul li a:hover:after{transform:scaleX(1)}.header__actions{display:flex;align-items:center;gap:1rem}@media(max-width:768px){.header__actions{flex-wrap:wrap;justify-content:center}}.header__actions .toggle-group{display:flex;gap:.5rem}.header__actions .toggle-group button{width:32px;height:32px;display:grid;place-items:center;font-size:18px;background:none;border:1px solid var(--card-border);border-radius:4px;cursor:pointer;padding:0}.header__actions .toggle-group button.active,.header__actions .toggle-group button:hover{border-color:var(--accent)}.header__actions .toggle-group img{width:20px;height:20px;display:block}.site-footer{width:100vw;margin-left:calc(-50vw + 50%);background-color:var(--card-bg);color:var(--text);padding:1.5rem 0;text-align:center;font-family:Orbitron,sans-serif;font-size:.95rem;border-top:1px solid var(--card-border);box-shadow:0 -1px 4px rgba(0,0,0,.05)}.site-footer .footer-nav{display:flex;justify-content:center;gap:2.5rem;flex-wrap:wrap;padding:.5rem}.site-footer .footer-nav a{position:relative;color:var(--text);text-decoration:none;font-weight:600;letter-spacing:.03em;transition:color .3s ease}.site-footer .footer-nav a:after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:2px;background-color:var(--accent);transition:width .3s ease}.site-footer .footer-nav a:hover{color:var(--accent)}.site-footer .footer-nav a:hover:after{width:100%}.hero{padding:4rem 1rem;background-color:var(--bg);color:var(--text)}.hero__container{max-width:1400px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:2rem}@media(max-width:768px){.hero__container{flex-direction:column;text-align:center}}.hero__text{flex:1;padding:.4rem .6rem;border-radius:4px;min-height:120px}.hero__image{flex-shrink:0}.hero__profile-pic{border-radius:50%;border:2px solid var(--card-border);object-fit:cover;box-shadow:0 0 10px rgba(0,0,0,.2)}.hero__subtitle{margin:1rem 0;color:var(--text-subtle)}.hero__cta{display:inline-block;margin-top:1rem;padding:.75rem 1.5rem;background-color:var(--accent);color:#000;border-radius:8px;text-decoration:none;font-weight:600}.hero__cta:hover{filter:brightness(1.1)}.skills-carousel__wrapper{max-width:1400px;margin:0 auto;padding:1rem;overflow:hidden;border:1px solid var(--card-border);border-radius:12px;background:var(--card-bg);box-shadow:0 4px 10px rgba(0,0,0,.15);cursor:grab}.skills-carousel__title{text-align:center;font-size:2rem;margin-bottom:1.5rem;font-weight:700;color:var(--text)}.skills-carousel .keen-slider{display:flex}.skills-carousel .keen-slider__slide{flex:0 0 20%;max-width:20%;padding:0 .5rem;box-sizing:border-box}.skills-carousel .skill-card{flex:1 0 auto;padding:1rem;border:1px solid var(--card-border);background:var(--card-bg);border-radius:8px;text-align:center;font-family:Orbitron,sans-serif;text-transform:uppercase;font-weight:600;color:var(--text);transition:box-shadow .3s ease,border .3s ease}.skills-carousel .skill-card:hover{box-shadow:0 0 8px var(--accent);border-color:var(--accent)}.skills-carousel .skill-card img{margin-bottom:.5rem;width:auto;height:80px;object-fit:contain;border-radius:8px;background-color:var(--logo-bg);padding:.5rem}.skills-carousel .skill-card p{font-weight:500}.project-grid{margin-bottom:3rem}.project-grid__title{text-align:center;font-size:2rem;margin-bottom:2rem;font-weight:700;color:var(--text)}.project-grid__wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:2rem}.project-card{display:block;padding:1.5rem;background:var(--card-bg);border-radius:16px;box-shadow:0 6px 14px rgba(0,0,0,.06);text-decoration:none;color:var(--text);transition:transform .25s ease,box-shadow .25s ease;text-align:center;border:1px solid var(--card-border);outline:none}.project-card:focus-visible,.project-card:hover{transform:translateY(-6px);box-shadow:0 8px 20px rgba(0,0,0,.1)}.project-card__image{width:110px;height:110px;margin:0 auto 1rem;border-radius:10px;overflow:hidden}.project-card__image img{width:100%;height:100%;object-fit:cover;display:block}.project-card__content{display:flex;flex-direction:column;align-items:center;gap:.75rem}.project-card__content h3{font-size:1.25rem;font-weight:700}.project-card__desc-title{font-size:1rem;font-weight:500;color:var(--text);margin-top:.25rem;margin-bottom:.25rem}.project-card__desc{font-size:.85rem;color:var(--text);line-height:1.6;opacity:.95;max-width:90%;padding:.25rem 0 .5rem;white-space:pre-line}.project-card__link{margin-top:.75rem;font-weight:600;color:var(--link-color);font-size:.9rem;text-decoration:none;position:relative}.project-card__link:after{content:"";position:absolute;left:0;bottom:-2px;width:100%;height:2px;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .3s ease}.project-card__link:focus-visible:after,.project-card__link:hover:after{transform:scaleX(1)}.project-card__link:focus-visible,.project-card__link:hover{color:var(--accent-hover,#00ffff)}.contact-section{max-width:1400px;margin:0 auto 3rem}.contact-section__title{text-align:center;font-size:1.8rem;font-weight:700;margin-bottom:2rem;color:var(--text)}.contact-section__row{display:flex;justify-content:space-around;align-items:center;gap:2rem;flex-wrap:wrap;padding:2rem;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;box-shadow:0 4px 10px rgba(0,0,0,.3)}.contact-section__row a,.contact-section__row button.contact-link{display:flex;align-items:center;gap:.5rem;background:none;border:none;padding:0;cursor:pointer;text-decoration:none;color:var(--text);font-family:Orbitron,sans-serif;font-weight:500;transition:transform .2s ease,filter .2s ease}.contact-section__row a:hover,.contact-section__row button.contact-link:hover{transform:scale(1.05);filter:brightness(1.2)}.contact-section__row a img,.contact-section__row button.contact-link img{display:block;object-fit:contain;transition:transform .2s ease}.contact-section__row a img.github-logo,.contact-section__row button.contact-link img.github-logo{filter:none}html.dark .contact-section__row a img.github-logo,html.dark .contact-section__row button.contact-link img.github-logo{filter:invert(1)}.contact-section__row a span,.contact-section__row button.contact-link span{font-size:1rem;display:inline-block}.contact-section__row a:not(:has(span)) img{height:60px;width:auto}.contact-section__row a:not(:has(span)):hover img{transform:scale(1.05)}.contact-section__row a:has(span) img,.contact-section__row button.contact-link img{height:24px;width:24px}@font-face{font-family:Orbitron;src:url(/fonts/orbitron/Orbitron-Regular.woff2) format("woff2"),url(/fonts/orbitron/Orbitron-Regular.woff) format("woff");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter/Inter-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:Inter;src:url(/fonts/inter/Inter-Bold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}*,:after,:before{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;min-height:100%;background-color:var(--bg);color:var(--text);font-family:Inter,sans-serif;overflow-x:hidden}h1,h2,h3,h4{font-family:Orbitron,sans-serif;letter-spacing:.5px;font-weight:600}p{white-space:pre-line}h1{font-size:2.2rem}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b3097673cd409a21-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/2409d02eaee47cb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/b72a6a678d511e3a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a33a3f3323a75998-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Oswald;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/bd9b9909c3a641ff-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b3097673cd409a21-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/2409d02eaee47cb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/b72a6a678d511e3a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/a33a3f3323a75998-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Oswald;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/bd9b9909c3a641ff-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b3097673cd409a21-s.woff2) format("woff2");unicode-range:u+0460-052f,u+1c80-1c8a,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/2409d02eaee47cb9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b72a6a678d511e3a-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a33a3f3323a75998-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Oswald;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/bd9b9909c3a641ff-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Oswald Fallback;src:local("Arial");ascent-override:146.51%;descent-override:35.49%;line-gap-override:0.00%;size-adjust:81.43%}.__className_f4861c{font-family:Oswald,Oswald Fallback;font-style:normal}.__variable_f4861c{--font-oswald:"Oswald","Oswald Fallback"}