@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/ba9851c3c22cd980-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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/21350d82a1f187e9-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/c5fe6dc8356a8c31-s.woff2) format("woff2");unicode-range:u+1f??}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/19cfc7226ec3afaa-s.woff2) format("woff2");unicode-range:u+0370-0377,u+037a-037f,u+0384-038a,u+038c,u+038e-03a1,u+03a3-03ff}@font-face{font-family:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/df0a9ae256c0569c-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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/8e9860b6e62d6359-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:Inter;font-style:normal;font-weight:900;font-display:swap;src:url(/_next/static/media/e4af272ccee01ff0-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:Inter Fallback;src:local("Arial");ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.00%;size-adjust:107.12%}.__className_8cef3a{font-family:Inter,Inter Fallback;font-style:normal}.__variable_8cef3a{--font-inter:"Inter","Inter Fallback"}:root{--primary-color:#213448;--secondary-color:#547792;--accent-color:#94B4C1;--bg-color:#EAE0CF;--text-color:var(--primary-color);--card-bg:#fff;--card-text:#444;--footer-bg:#162433;--form-placeholder:#b0c9db;--section-alt-bg:rgba(84,119,146,0.05);--font-family:var(--font-inter),"Inter",sans-serif}[data-theme=dark]{--primary-color:#EAE0CF;--secondary-color:#94B4C1;--accent-color:#547792;--bg-color:#1a1a2e;--text-color:#EAE0CF;--card-bg:#16213e;--card-text:#b8c5d6;--footer-bg:#0f0f1a;--form-placeholder:#6b7c8d;--section-alt-bg:rgba(148,180,193,0.08)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-family);background-color:var(--bg-color);color:var(--text-color);overflow-x:hidden;line-height:1.6;transition:background-color .3s ease,color .3s ease}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}h1,h2,h3,h4,h5,h6{font-weight:800;letter-spacing:-.03em}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 20px}.row{display:grid;grid-gap:40px;gap:40px}.row.g-4{gap:24px}.row.g-5{gap:48px}.grid-2{grid-template-columns:1fr 1fr}.grid-5-7{grid-template-columns:5fr 7fr}.grid-7-5{grid-template-columns:7fr 5fr}.grid-4-8{grid-template-columns:4fr 8fr}.grid-5-6-offset{grid-template-columns:5fr 1fr 6fr}@media (max-width:991px){.grid-2,.grid-4-8,.grid-5-6-offset,.grid-5-7,.grid-7-5{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:8px}.gap-2{gap:12px}.gap-3{gap:16px}.gap-4{gap:24px}.gap-5{gap:32px}.mb-0{margin-bottom:0}.mb-1{margin-bottom:8px}.mb-2{margin-bottom:12px}.mb-3{margin-bottom:16px}.mb-4{margin-bottom:24px}.mb-5{margin-bottom:32px}.mt-1{margin-top:8px}.mt-3{margin-top:16px}.mt-4{margin-top:24px}.mt-auto{margin-top:auto}.text-center{text-align:center}.text-uppercase{text-transform:uppercase}.fw-bold{font-weight:700}.fw-800{font-weight:800}.text-muted{color:var(--secondary-color)}.text-small{font-size:.85rem}.fs-5{font-size:1.2rem}.w-full{width:100%}.navbar{position:fixed;top:0;left:0;right:0;background-color:rgba(234,224,207,.85);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:2px solid var(--primary-color);padding:15px 0;z-index:1000;transition:all .3s ease}[data-theme=dark] .navbar{background-color:rgba(26,26,46,.9)}.navbar-inner{display:flex;align-items:center;justify-content:space-between}.navbar-brand{font-weight:900;font-size:1.5rem;color:var(--primary-color);border:2px solid var(--primary-color);padding:5px 15px;box-shadow:4px 4px 0 var(--accent-color);text-decoration:none}.nav-links{display:flex;list-style:none;gap:0;align-items:center}.nav-link{color:var(--primary-color);font-weight:600;text-transform:uppercase;font-size:.85rem;letter-spacing:1px;margin:0 15px;position:relative;text-decoration:none;transition:color .3s}.nav-link:after{content:"";position:absolute;width:0;height:2px;bottom:-2px;left:0;background-color:var(--secondary-color);transition:width .3s ease}.nav-link:hover:after{width:100%}.nav-toggler{display:none;background:var(--bg-color);border:2px solid var(--primary-color);padding:8px 12px;box-shadow:4px 4px 0 var(--accent-color);cursor:pointer;font-size:1.5rem;color:var(--primary-color);line-height:1;transition:all .2s}.nav-toggler:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--accent-color)}.theme-toggle{background:transparent;border:2px solid var(--primary-color);color:var(--primary-color);padding:5px 10px;cursor:pointer;font-size:1.1rem;box-shadow:3px 3px 0 var(--accent-color);transition:all .2s;margin-left:0;line-height:1}.nav-theme-toggle-item{display:flex;align-items:center;margin-left:8px}.mobile-controls{display:none;align-items:center;gap:8px}.theme-toggle:hover{background:var(--primary-color);color:var(--bg-color);transform:translate(1px,1px);box-shadow:2px 2px 0 var(--accent-color)}@media (max-width:991px){.mobile-controls{display:flex}.nav-theme-toggle-item{display:none}.nav-toggler{display:block}.nav-links{display:none;flex-direction:column;position:absolute;top:100%;left:0;right:0;border-bottom:2px solid var(--primary-color);padding:20px;gap:10px;align-items:flex-end}.nav-links,[data-theme=dark] .nav-links{background-color:var(--bg-color)}.nav-links.open{display:flex}.nav-link{margin:5px 0;padding:8px 0}}section{padding:120px 0}@media (max-width:576px){section{padding:80px 0}}.section-title{font-size:3rem;text-transform:uppercase;margin-bottom:60px;display:inline-block;position:relative;z-index:1}.section-title:before{content:"";position:absolute;width:100%;height:15px;background-color:var(--accent-color);bottom:10px;left:10px;z-index:-1}.hero-section{min-height:100vh;display:flex;align-items:center;padding-top:100px}.hero-title{font-size:clamp(3rem,8vw,5rem);line-height:1;margin-bottom:20px}.hero-subtitle{font-size:1.2rem;font-weight:400;max-width:600px;margin-bottom:40px}.hero-label,.hero-subtitle{color:var(--secondary-color)}.hero-label{font-weight:700;letter-spacing:2px;margin-bottom:8px;font-size:.9rem}.btn-custom,.hero-label{text-transform:uppercase}.btn-custom{background-color:var(--primary-color);color:var(--bg-color);border:2px solid var(--primary-color);border-radius:0;padding:12px 30px;font-weight:600;letter-spacing:1px;box-shadow:6px 6px 0 var(--accent-color);transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-family:inherit;font-size:inherit}.btn-custom:hover{transform:translate(2px,2px);box-shadow:4px 4px 0 var(--secondary-color);color:white;background-color:var(--secondary-color);border-color:var(--secondary-color)}.btn-outline-custom{background-color:transparent;color:var(--primary-color);border:2px solid var(--primary-color);border-radius:0;padding:10px 20px;font-weight:600;font-size:.85rem;box-shadow:4px 4px 0 var(--accent-color);transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-outline-custom:hover{background-color:var(--primary-color);color:var(--bg-color);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--accent-color)}.btn-outline-demo{background-color:var(--accent-color);color:var(--primary-color);border:2px solid var(--primary-color);border-radius:0;padding:10px 20px;font-weight:600;font-size:.85rem;box-shadow:4px 4px 0 var(--primary-color);transition:all .2s ease;text-decoration:none;display:inline-flex;align-items:center;gap:8px}.btn-outline-demo:hover{background-color:var(--primary-color);color:var(--bg-color);transform:translate(2px,2px);box-shadow:2px 2px 0 var(--primary-color)}.hero-graphic{position:relative;width:100%;height:400px}.shape-1{background:var(--secondary-color);top:0;right:0;z-index:1}.shape-1,.shape-2{position:absolute;width:80%;height:80%;border:2px solid var(--primary-color)}.shape-2{background:var(--card-bg);bottom:0;left:0;z-index:2;transition:.4s ease;display:flex;align-items:center;justify-content:center;overflow:hidden}.shape-2:hover{transform:translate(-10px,-10px);box-shadow:8px 8px 0 var(--accent-color)}.hero-svg{width:90%;height:90%;color:var(--primary-color);opacity:.85}.about-image{width:75%;height:450px;object-fit:cover;border:2px solid var(--primary-color);box-shadow:-15px 15px 0 var(--accent-color)}.about-tagline{color:var(--secondary-color);margin-bottom:24px}.about-text{font-size:1.2rem;line-height:1.8;margin-bottom:24px}.timeline{position:relative;padding-left:35px;margin-top:20px}.timeline:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background-color:var(--primary-color)}.timeline-item{position:relative;margin-bottom:40px}.timeline-item:last-child{margin-bottom:0}.timeline-dot{position:absolute;left:-48px;top:5px;width:22px;height:22px;background-color:var(--accent-color);border:4px solid var(--primary-color);border-radius:50%;z-index:2}.timeline-content{background:var(--card-bg);padding:25px;border:2px solid var(--primary-color);box-shadow:6px 6px 0 var(--secondary-color);transition:transform .3s ease,box-shadow .3s ease}.timeline-content:hover{transform:translate(-3px,-3px);box-shadow:9px 9px 0 var(--accent-color)}.timeline-date{font-weight:700;color:var(--secondary-color);margin-bottom:8px}.skills-container{display:flex;flex-wrap:wrap;gap:15px}.skill-badge{background:transparent;color:var(--primary-color);border:2px solid var(--primary-color);padding:10px 20px;font-weight:800;font-size:1.1rem;box-shadow:4px 4px 0 var(--accent-color);transition:.3s ease}.skill-badge:hover{background:var(--primary-color);color:var(--bg-color);transform:translateY(-5px);box-shadow:6px 9px 0 var(--secondary-color)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:48px;gap:48px}@media (max-width:991px){.projects-grid{grid-template-columns:1fr}}.projects-col-right{margin-top:0}@media (min-width:992px){.projects-col-right{margin-top:40px}}.project-card{background-color:var(--card-bg);border:2px solid var(--primary-color);padding:30px;height:100%;display:flex;flex-direction:column;box-shadow:8px 8px 0 var(--secondary-color);transition:all .3s ease;border-radius:0}.project-card:hover{transform:translate(-5px,-5px);box-shadow:13px 13px 0 var(--accent-color)}.project-card h4{margin-bottom:15px;font-size:1.5rem}.project-card p{color:var(--card-text);font-size:.95rem;line-height:1.6;flex-grow:1}.tech-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:25px;margin-top:15px}.tech-tag{background-color:var(--bg-color);color:var(--primary-color);font-size:.75rem;font-weight:600;padding:4px 10px;border:1px solid var(--primary-color);text-transform:uppercase}.github-stats{display:flex;gap:16px;align-items:center;flex-wrap:wrap;font-size:.85rem;opacity:.75}.github-stat{display:inline-flex;align-items:center;gap:5px}.github-stat i{font-size:.75rem}.research-card{background-color:var(--card-bg);border:2px solid var(--primary-color);padding:25px 30px;box-shadow:6px 6px 0 var(--secondary-color);transition:all .3s ease;display:flex;flex-direction:column;justify-content:center}.research-card:hover{transform:translate(-4px,-4px);box-shadow:10px 10px 0 var(--accent-color)}.research-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:12px;margin-bottom:8px}.badge{background-color:var(--accent-color);color:var(--primary-color);border:1px solid var(--primary-color);font-weight:800;letter-spacing:.5px;text-transform:uppercase;padding:4px 12px;font-size:.75rem;white-space:nowrap}.research-keywords{font-size:.85rem;color:var(--secondary-color);margin-bottom:12px}.contact-section{background-color:var(--primary-color);color:var(--bg-color)}[data-theme=dark] .contact-section{background-color:#0f0f1a;color:#EAE0CF}.contact-section .section-title{color:var(--bg-color)}[data-theme=dark] .contact-section .section-title{color:#EAE0CF}.contact-section .section-title:before{background-color:var(--secondary-color)}[data-theme=dark] .contact-section .contact-links a{color:#94B4C1}[data-theme=dark] .contact-section .contact-links a:hover{color:#fff}.contact-form-wrapper{background:white;padding:40px;border:2px solid var(--primary-color);box-shadow:-15px 15px 0 var(--accent-color)}[data-theme=dark] .contact-form-wrapper{background:var(--card-bg)}.contact-form-wrapper h4{color:var(--primary-color);margin-bottom:24px}[data-theme=dark] .contact-form-wrapper h4{color:var(--text-color)}.contact-form input,.contact-form textarea{width:100%;background:transparent;border:none;border-bottom:2px solid var(--secondary-color);border-radius:0;color:var(--primary-color);padding:15px 0;font-family:inherit;font-size:1rem;outline:none;transition:border-color .3s}[data-theme=dark] .contact-form input,[data-theme=dark] .contact-form textarea{color:var(--text-color)}.contact-form input::placeholder,.contact-form textarea::placeholder{color:var(--form-placeholder);opacity:1}.contact-form input:focus,.contact-form textarea:focus{border-color:var(--primary-color)}.contact-form textarea{resize:vertical;min-height:100px}.contact-links a{color:var(--accent-color);text-decoration:none;font-weight:600;transition:.3s;display:inline-flex;align-items:center;gap:8px}.contact-links a:hover{color:white;transform:translateX(5px)}footer{background-color:var(--footer-bg);color:var(--accent-color);padding:30px 0;font-size:.9rem;text-align:center}.not-found-page{min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-color)}.not-found-main{flex:1 1;display:flex;align-items:center;padding:80px 0}.not-found-inner{display:grid;grid-template-columns:auto 1fr;grid-gap:60px;gap:60px;align-items:center}.not-found-code-block{border:3px solid var(--primary-color);padding:40px 50px;box-shadow:10px 10px 0 var(--accent-color);text-align:center;background-color:var(--bg-color)}.not-found-label{display:block;font-size:.75rem;font-weight:800;text-transform:uppercase;letter-spacing:4px;color:var(--secondary-color);margin-bottom:8px}.not-found-title{font-size:clamp(5rem,15vw,9rem);line-height:1;letter-spacing:-4px;margin:0}.not-found-heading,.not-found-title{font-weight:900;color:var(--primary-color)}.not-found-heading{font-size:clamp(2rem,5vw,3.5rem);margin-bottom:20px;line-height:1.1}.not-found-text{font-size:1.1rem;color:var(--secondary-color);line-height:1.7;margin-bottom:40px;max-width:500px}.not-found-actions{display:flex;gap:16px;flex-wrap:wrap}@media (max-width:768px){.not-found-inner{grid-template-columns:1fr;text-align:center;gap:40px}.not-found-code-block{padding:30px 40px;margin:0 auto;display:inline-block}.not-found-actions{justify-content:center}.not-found-text{margin-left:auto;margin-right:auto}}.back-to-top{position:fixed;bottom:30px;right:30px;width:50px;height:50px;background-color:var(--primary-color);color:var(--bg-color);border:2px solid var(--primary-color);box-shadow:4px 4px 0 var(--accent-color);display:flex;align-items:center;justify-content:center;font-size:1.5rem;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1000;text-decoration:none;cursor:pointer}.back-to-top.show{opacity:1;visibility:visible}.back-to-top:hover{background-color:var(--secondary-color);color:white;transform:translate(-3px,-3px);box-shadow:7px 7px 0 var(--accent-color)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .8s cubic-bezier(.5,0,0,1),transform .8s cubic-bezier(.5,0,0,1)}.reveal.active{opacity:1;transform:translateY(0)}.delay-1{transition-delay:.1s}.delay-2{transition-delay:.2s}.delay-3{transition-delay:.3s}.delay-4{transition-delay:.4s}.section-alt{background-color:var(--section-alt-bg);border-top:2px solid var(--primary-color)}.section-border-bottom{border-bottom:2px solid var(--primary-color)}.divider{border:none;border-top:1px solid var(--secondary-color);opacity:.5;margin:24px 0}.prose{font-size:1.1rem;line-height:1.8;color:var(--text-color)}.prose h2{font-size:1.8rem;margin-top:48px;margin-bottom:16px;position:relative;display:inline-block}.prose h2:before{content:"";position:absolute;width:100%;height:10px;background-color:var(--accent-color);bottom:5px;left:5px;z-index:-1;opacity:.5}.prose h3{font-size:1.4rem;margin-top:36px;margin-bottom:12px}.prose p{margin-bottom:20px}.prose ol,.prose ul{margin-bottom:20px;padding-left:24px}.prose li{margin-bottom:8px}.prose a{color:var(--secondary-color);text-decoration:underline;text-underline-offset:3px;transition:color .2s}.prose a:hover{color:var(--accent-color)}.prose strong{font-weight:800}.prose code{background-color:var(--section-alt-bg);border:1px solid var(--primary-color);padding:2px 6px;font-size:.9em;font-family:Courier New,monospace}.prose pre{background-color:var(--primary-color);color:var(--bg-color);padding:20px;border:2px solid var(--primary-color);box-shadow:6px 6px 0 var(--accent-color);overflow-x:auto;margin-bottom:24px;font-size:.9rem;line-height:1.6}[data-theme=dark] .prose pre{background-color:#0f0f1a;border-color:var(--secondary-color)}.prose pre code{background:none;border:none;padding:0;font-size:inherit}.prose blockquote{border-left:4px solid var(--accent-color);padding:12px 20px;margin:24px 0;background-color:var(--section-alt-bg);font-style:italic}.prose hr{border:none;border-top:2px solid var(--accent-color);margin:40px 0}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}
/*!
  Theme: GitHub Dark
  Description: Dark theme as seen on github.com
  Author: github.com
  Maintainer: @Hirse
  Updated: 2021-05-15

  Outdated base version: https://github.com/primer/github-syntax-dark
  Current colors taken from GitHub's CSS
*/.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id,.hljs-variable{color:#79c0ff}.hljs-meta .hljs-string,.hljs-regexp,.hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-code,.hljs-comment,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-pseudo,.hljs-selector-tag{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}