@font-face{font-family:Suez One;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fd0a3d6dc72097e6-s.woff2) format("woff2");unicode-range:u+0307-0308,u+0590-05ff,u+200c-2010,u+20aa,u+25cc,u+fb1d-fb4f}@font-face{font-family:Suez One;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/34f607d8de353ae4-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Suez One;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/c9a4ab9e6f81fe13-s.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:Suez One Fallback;src:local("Times New Roman");ascent-override:84.41%;descent-override:27.28%;line-gap-override:0.00%;size-adjust:116.92%}.__className_9e3cf2{font-family:Suez One,Suez One Fallback,system-ui,arial;font-weight:400;font-style:normal}.__variable_9e3cf2{--font-suez-one:"Suez One","Suez One Fallback",system-ui,arial}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/5763af4a69ee2f48-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:Lexend Deca;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1b0bfecdb5d8089b-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Lexend Deca;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/17c0d8df75f00bf6-s.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:Lexend Deca Fallback;src:local("Arial");ascent-override:90.98%;descent-override:22.74%;line-gap-override:0.00%;size-adjust:109.91%}.__className_25d15e{font-family:Lexend Deca,Lexend Deca Fallback,system-ui,arial;font-weight:400;font-style:normal}.__variable_25d15e{--font-lexend-deca:"Lexend Deca","Lexend Deca Fallback",system-ui,arial}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7aee33724f9914b8-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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d5f73098666dfe7c-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f068115fe49eff41-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:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/d998f6ec04a76178-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Nunito;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/21e3314edf876f32-s.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:Nunito Fallback;src:local("Arial");ascent-override:99.71%;descent-override:34.82%;line-gap-override:0.00%;size-adjust:101.39%}.__className_302e4c{font-family:Nunito,Nunito Fallback,system-ui,arial;font-weight:400;font-style:normal}.__variable_302e4c{--font-nunito:"Nunito","Nunito Fallback",system-ui,arial}@font-face{font-family:Tajawal;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/dd994fbf464986f0-s.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:Tajawal;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/e97026df054cf2a3-s.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:Tajawal Fallback;src:local("Arial");ascent-override:67.93%;descent-override:37.71%;line-gap-override:21.13%;size-adjust:94.66%}.__className_f22d3d{font-family:Tajawal,Tajawal Fallback,system-ui,arial;font-weight:400;font-style:normal}.__variable_f22d3d{--font-tajawal:"Tajawal","Tajawal Fallback",system-ui,arial}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9da48a48bf6500f8-s.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/9efac92d680e57b6-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:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1323037a3e4ea9e8-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/17efc7caebbb6a73-s.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:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/fb66eb17bf011c3b-s.woff2) format("woff2");unicode-range:u+06??,u+0750-077f,u+0870-0891,u+0897-08e1,u+08e3-08ff,u+200c-200e,u+2010-2011,u+204f,u+2e41,u+fb50-fdff,u+fe70-fe74,u+fe76-fefc,u+102e0-102fb,u+10e60-10e7e,u+10ec2-10ec7,u+10ec9-10eee,u+10ef?,u+1ee00-1ee03,u+1ee05-1ee1f,u+1ee21-1ee22,u+1ee24,u+1ee27,u+1ee29-1ee32,u+1ee34-1ee37,u+1ee39,u+1ee3b,u+1ee42,u+1ee47,u+1ee49,u+1ee4b,u+1ee4d-1ee4f,u+1ee51-1ee52,u+1ee54,u+1ee57,u+1ee59,u+1ee5b,u+1ee5d,u+1ee5f,u+1ee61-1ee62,u+1ee64,u+1ee67-1ee6a,u+1ee6c-1ee72,u+1ee74-1ee77,u+1ee79-1ee7c,u+1ee7e,u+1ee80-1ee89,u+1ee8b-1ee9b,u+1eea1-1eea3,u+1eea5-1eea9,u+1eeab-1eebb,u+1eef0-1eef1}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/3abc2a74bccacda0-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:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/20e170e88a69dd27-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:IBM Plex Sans Arabic;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/99dc19e540dbb87b-s.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:IBM Plex Sans Arabic Fallback;src:local("Arial");ascent-override:107.25%;descent-override:41.02%;line-gap-override:0.00%;size-adjust:101.17%}.__className_e3f307{font-family:IBM Plex Sans Arabic,IBM Plex Sans Arabic Fallback,system-ui,arial;font-style:normal}.__variable_e3f307{--font-ibm-plex-sans-arabic:"IBM Plex Sans Arabic","IBM Plex Sans Arabic Fallback",system-ui,arial}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/2f186ab49059fbbb-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/7be269dd6123b082-s.woff2) format("woff2");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/db5568a2cfd831e2-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/6760c1b492207d80-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:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/1f424c9580f97313-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-20c4,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/427e4a37d3642943-s.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:JetBrains Mono Fallback;src:local("Arial");ascent-override:75.79%;descent-override:22.29%;line-gap-override:0.00%;size-adjust:134.59%}.__className_60e88c{font-family:JetBrains Mono,JetBrains Mono Fallback,monospace;font-weight:400;font-style:normal}.__variable_60e88c{--font-jetbrains-mono:"JetBrains Mono","JetBrains Mono Fallback",monospace}:root{--color-accent-purple:#3f46e5;--color-bg-primary:#0a0a0a;--color-text-primary:#ffffff;--color-text-secondary:#e5e5e5;--color-text-muted:#a0a0a0;--spacing-major-mobile:5rem;--spacing-major-desktop:7.5rem;--spacing-standard:3rem;--color-heading-light:#111827;--color-body-light:#374151;--color-heading-dark:#ffffff;--color-body-dark:#e5e7eb}.section{padding-top:var(--spacing-major-mobile);padding-bottom:var(--spacing-major-mobile);position:relative;overflow:hidden}.section:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle at 30% 30%,rgba(93,92,222,.08) 0,transparent 50%),radial-gradient(circle at 70% 70%,rgba(236,72,153,.05) 0,transparent 50%);pointer-events:none;z-index:0;animation:gradientShift 20s ease-in-out infinite}.section>*{position:relative;z-index:1}@media (min-width:768px){.section{padding-top:var(--spacing-major-desktop);padding-bottom:var(--spacing-major-desktop)}}body.dark-mode .section:before,html.dark-mode .section:before{background:radial-gradient(circle at 30% 30%,rgba(93,92,222,.12) 0,transparent 50%),radial-gradient(circle at 70% 70%,rgba(236,72,153,.08) 0,transparent 50%)}@keyframes gradientShift{0%,to{transform:translate(0) scale(1)}50%{transform:translate(5%,5%) scale(1.1)}}.section-standard{padding-top:var(--spacing-standard);padding-bottom:var(--spacing-standard);position:relative}.heading-1{font-size:3.5rem;font-weight:600;line-height:1.2;letter-spacing:-.02em;margin-bottom:1.5rem;background:linear-gradient(135deg,#111827,#374151 50%,#111827);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.dark-mode .heading-1,html.dark-mode .heading-1{background:linear-gradient(135deg,#ffffff,#e5e7eb 50%,#ffffff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width:767px){.heading-1{font-size:2.5rem}}.heading-2{font-size:2.75rem;font-weight:600;line-height:1.3;letter-spacing:-.01em;color:var(--color-heading-light);margin-bottom:1.5rem}body.dark-mode .heading-2,html.dark-mode .heading-2{color:var(--color-heading-dark)}@media (max-width:767px){.heading-2{font-size:1.75rem}}.heading-3{font-size:1.75rem;font-weight:600;line-height:1.3;color:var(--color-heading-light);margin-bottom:1rem}body.dark-mode .heading-3,html.dark-mode .heading-3{color:var(--color-heading-dark)}@media (max-width:767px){.heading-3{font-size:1.5rem}}.body{font-size:1.125rem;line-height:1.7;color:var(--color-body-light);margin-bottom:1rem}body.dark-mode .body,html.dark-mode .body{color:var(--color-body-dark)}@media (max-width:767px){.body{font-size:1rem}}.body-large{font-size:1.25rem;line-height:1.7;color:var(--color-body-light);margin-bottom:1rem}body.dark-mode .body-large,html.dark-mode .body-large{color:var(--color-body-dark)}@media (max-width:767px){.body-large{font-size:1.125rem}}.text-container{margin-left:0}.text-container,.text-container-center{max-width:65ch;margin-right:auto;position:relative}.text-container-center{margin-left:auto}.separator{border-color:currentcolor rgba(0,0,0,.1) rgba(0,0,0,.1);border-top:1px solid rgba(0,0,0,.1);margin:2rem 0}body.dark-mode .separator,html.dark-mode .separator{border-color:rgba(255,255,255,.1)}.separator--thick{border-top-width:1px;margin:3rem 0}.link{color:inherit;text-decoration:none;border-bottom:1px solid;border-color:rgba(0,0,0,.2);transition:border-color .2s ease,color .2s ease}body.dark-mode .link,html.dark-mode .link{border-color:rgba(255,255,255,.2)}.link:hover{border-color:rgba(0,0,0,.4)}body.dark-mode .link:hover,html.dark-mode .link:hover{border-color:rgba(255,255,255,.4)}.link--accent{color:var(--color-accent-purple);border-color:rgba(93,92,222,.3)}.link--accent:hover{border-color:var(--color-accent-purple)}.link:focus{outline:3px solid rgba(93,92,222,.4);outline-offset:2px}.list{list-style:none;padding:0;margin:0}.list-item{margin-bottom:1rem;padding-left:0}.list-item:last-child{margin-bottom:0}.text-block{margin-bottom:2rem}.text-block:last-child{margin-bottom:0}.two-column{display:grid;grid-template-columns:1fr;gap:3rem}.two-column>div{padding:3rem;background:rgba(255,255,255,.6);-webkit-backdrop-filter:blur(20px) saturate(180%);backdrop-filter:blur(20px) saturate(180%);border:2px solid rgba(93,92,222,.15);border-radius:0;box-shadow:0 8px 32px rgba(93,92,222,.12),0 4px 16px rgba(0,0,0,.08),inset 0 1px 0 rgba(255,255,255,.8);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.two-column>div:before{content:"";position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,rgba(93,92,222,.8),rgba(236,72,153,.6));transform:scaleX(0);transform-origin:left;transition:transform .4s}.two-column>div:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 16px 48px rgba(93,92,222,.18),0 8px 24px rgba(0,0,0,.1),inset 0 1px 0 rgba(255,255,255,1);border-color:rgba(93,92,222,.3)}.two-column>div:hover:before{transform:scaleX(1)}body.dark-mode .two-column>div,html.dark-mode .two-column>div{background:rgba(255,255,255,.04);border-color:rgba(93,92,222,.2);box-shadow:0 8px 32px rgba(93,92,222,.18),0 4px 16px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.1)}body.dark-mode .two-column>div:hover,html.dark-mode .two-column>div:hover{box-shadow:0 16px 56px rgba(93,92,222,.25),0 8px 32px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.15);border-color:rgba(93,92,222,.35)}@media (min-width:768px){.two-column{grid-template-columns:1fr 1fr;gap:4rem}}body .project,body html .project,div .project,html .project,html body .project,main .project,section .project{margin-bottom:4rem;padding:4rem;background:rgba(255,255,255,.95);-webkit-backdrop-filter:blur(30px) saturate(200%);backdrop-filter:blur(30px) saturate(200%);border:4px solid rgba(93,92,222,.4);border-radius:0;box-shadow:0 20px 60px rgba(93,92,222,.25),0 10px 30px rgba(0,0,0,.15),inset 0 3px 6px rgba(255,255,255,1),inset 0 -3px 6px rgba(93,92,222,.1);transition:all .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-sizing:border-box}body .project:before,body html .project:before,div .project:before,html .project:before,html body .project:before,main .project:before,section .project:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,rgba(93,92,222,.8),rgba(236,72,153,.6));transform:scaleX(0);transform-origin:left;transition:transform .4s}body .project:hover,body html .project:hover,div .project:hover,html .project:hover,html body .project:hover,main .project:hover,section .project:hover{transform:translateY(-10px) scale(1.03);box-shadow:0 24px 72px rgba(93,92,222,.3),0 12px 36px rgba(0,0,0,.18),inset 0 2px 4px rgba(255,255,255,1),inset 0 -2px 4px rgba(93,92,222,.1);border-color:rgba(93,92,222,.5)}body .project:hover:before,body html .project:hover:before,div .project:hover:before,html .project:hover:before,html body .project:hover:before,main .project:hover:before,section .project:hover:before{transform:scaleX(1)}body.dark-mode body .project,body.dark-mode body html .project,body.dark-mode div .project,body.dark-mode html .project,body.dark-mode html body .project,body.dark-mode main .project,body.dark-mode section .project,html.dark-mode body .project,html.dark-mode body html .project,html.dark-mode div .project,html.dark-mode html .project,html.dark-mode html body .project,html.dark-mode main .project,html.dark-mode section .project{background:rgba(255,255,255,.05);border-color:rgba(93,92,222,.2);box-shadow:0 8px 32px rgba(93,92,222,.15),0 4px 16px rgba(0,0,0,.4),inset 0 1px 0 rgba(255,255,255,.1)}body.dark-mode body .project:hover,body.dark-mode body html .project:hover,body.dark-mode div .project:hover,body.dark-mode html .project:hover,body.dark-mode html body .project:hover,body.dark-mode main .project:hover,body.dark-mode section .project:hover,html.dark-mode body .project:hover,html.dark-mode body html .project:hover,html.dark-mode div .project:hover,html.dark-mode html .project:hover,html.dark-mode html body .project:hover,html.dark-mode main .project:hover,html.dark-mode section .project:hover{box-shadow:0 16px 56px rgba(93,92,222,.25),0 8px 32px rgba(0,0,0,.5),inset 0 1px 0 rgba(255,255,255,.15);border-color:rgba(93,92,222,.35)}body .project:last-child,body html .project:last-child,div .project:last-child,html .project:last-child,html body .project:last-child,main .project:last-child,section .project:last-child{margin-bottom:0}.project-title{font-size:1.75rem;font-weight:600;line-height:1.3;color:var(--color-heading-light);margin-bottom:1rem;background:linear-gradient(135deg,#111827,#374151);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.dark-mode .project-title,html.dark-mode .project-title{background:linear-gradient(135deg,#ffffff,#e5e7eb);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@media (max-width:767px){.project-title{font-size:1.5rem}}.project-narrative{font-size:1.125rem;line-height:1.7;color:var(--color-body-light);margin-bottom:1rem}body.dark-mode .project-narrative,html.dark-mode .project-narrative{color:var(--color-body-dark)}@media (max-width:767px){.project-narrative{font-size:1rem}}.project-narrative-line{margin-bottom:.75rem;padding-left:1rem;border-left:2px solid rgba(93,92,222,.2)}.project-narrative-line:last-child{margin-bottom:0}.project-narrative-line strong{color:var(--color-accent-purple);font-weight:600}.form-field{width:100%;padding:.875rem 1.25rem;background:rgba(255,255,255,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1.5px solid rgba(0,0,0,.15);border-radius:0;color:#111827;font-size:1rem;font-family:inherit;line-height:1.5;transition:all .3s cubic-bezier(.4,0,.2,1);min-height:44px;box-shadow:0 2px 8px rgba(0,0,0,.04)}body.dark-mode .form-field,html.dark-mode .form-field{border-color:rgba(255,255,255,.15);color:#ffffff;background:rgba(255,255,255,.05);box-shadow:0 2px 12px rgba(0,0,0,.2)}.form-field::placeholder{color:rgba(0,0,0,.5)}body.dark-mode .form-field::placeholder,html.dark-mode .form-field::placeholder{color:rgba(255,255,255,.5)}.form-field:focus{outline:none;border-color:rgba(93,92,222,.6);box-shadow:0 4px 16px rgba(93,92,222,.15);background:rgba(255,255,255,.7)}body.dark-mode .form-field:focus,html.dark-mode .form-field:focus{border-color:rgba(93,92,222,.7);background:rgba(255,255,255,.08);box-shadow:0 4px 20px rgba(93,92,222,.2)}.form-field--error{border-color:rgba(239,68,68,.5)}.form-field--error:focus{border-color:rgba(239,68,68,.7);box-shadow:0 4px 16px rgba(239,68,68,.15)}.form-label{display:block;font-size:.875rem;font-weight:500;color:#111827;margin-bottom:.5rem}body.dark-mode .form-label,html.dark-mode .form-label{color:#e5e7eb}.text-left{text-align:left}.badge{display:inline-flex;align-items:center;padding:.5rem 1rem;border-radius:9999px;font-size:.875rem;font-weight:500;border:1px solid;transition:all .3s cubic-bezier(.4,0,.2,1)}.badge--primary{background:rgba(93,92,222,.1);color:var(--color-accent-purple);border-color:rgba(93,92,222,.2)}body.dark-mode .badge--primary,html.dark-mode .badge--primary{background:rgba(93,92,222,.15);border-color:rgba(93,92,222,.3)}.glow{position:absolute;width:3rem;height:3rem;border-radius:50%;filter:blur(1.5rem);pointer-events:none;z-index:0}.glow--primary{background:rgba(93,92,222,.2);top:-.5rem;left:-.5rem}.glow--accent{background:rgba(236,72,153,.2);top:-.5rem;right:-.5rem}body.dark-mode .glow--primary,html.dark-mode .glow--primary{background:rgba(93,92,222,.3)}body.dark-mode .glow--accent,html.dark-mode .glow--accent{background:rgba(236,72,153,.3)}