@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6c177e25b87fd9cd-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6c9a125e97d835e1-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:__Poppins_c70c06;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/4c285fdca692ea22-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:__Poppins_c70c06;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/034d78ad42e9620c-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/fe0777f1195381cb-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:__Poppins_c70c06;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/eafabf029ad39a43-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:__Poppins_c70c06;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/db911767852bc875-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/f10b8e9d91f3edcb-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:__Poppins_c70c06;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/8888a3826f4a3af4-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:__Poppins_c70c06;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/29e7bbdce9332268-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/c3bc380753a8436c-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:__Poppins_c70c06;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/0484562807a97172-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:__Poppins_c70c06;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/29a4aea02fdee119-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/a1386beebedccca4-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:__Poppins_c70c06;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/b957ea75a84b6ea7-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:__Poppins_c70c06;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/28485c0de2075f40-s.woff2) format("woff2");unicode-range:u+0900-097f,u+1cd0-1cf9,u+200c-200d,u+20a8,u+20b9,u+20f0,u+25cc,u+a830-a839,u+a8e0-a8ff,u+11b00-11b09}@font-face{font-family:__Poppins_c70c06;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/5fb25f343c7550ca-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:__Poppins_c70c06;font-style:normal;font-weight:800;font-display:swap;src:url(/_next/static/media/7db6c35d839a711c-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:__Poppins_Fallback_c70c06;src:local("Arial");ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.__className_c70c06{font-family:__Poppins_c70c06,__Poppins_Fallback_c70c06;font-style:normal}.__variable_c70c06{--font-poppins:"__Poppins_c70c06","__Poppins_Fallback_c70c06"}.portfolio-section{background:var(--color-primary);position:relative;overflow:hidden}.portfolio-background-elements{position:absolute;inset:0;opacity:.05}.portfolio-background-blur{position:absolute;border-radius:50%;filter:blur(3rem)}.portfolio-background-blur-1{top:5rem;left:2.5rem;width:18rem;height:18rem;background-color:var(--color-purple-500)}.portfolio-background-blur-2{bottom:5rem;right:2.5rem;width:24rem;height:24rem;background-color:var(--color-indigo-500)}.portfolio-animated-background{position:absolute;inset:0}.portfolio-floating-dot{position:absolute;width:.25rem;height:.25rem;background-color:var(--color-purple-400);border-radius:50%;opacity:.3}.portfolio-floating-shape{position:absolute;opacity:.1}.portfolio-shape{width:2rem;height:2rem}.portfolio-shape-circle{background-color:var(--color-purple-300);border-radius:50%}.portfolio-shape-square{background-color:var(--color-indigo-300);border-radius:.5rem;transform:rotate(45deg)}.portfolio-grid{display:grid;gap:1.5rem;grid-template-rows:auto;margin-top:3rem}@media (min-width:640px){.portfolio-grid{grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:4rem}}@media (min-width:1024px){.portfolio-grid{grid-template-columns:repeat(3,1fr)}}.portfolio-card{position:relative;background-color:rgba(var(--color-white-rgb),.8);-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);border-radius:.75rem;box-shadow:0 10px 15px rgba(var(--color-black-rgb),.1);transition:all .3s ease;overflow:hidden;border:1px solid rgba(var(--color-white-rgb),.5);display:flex;flex-direction:column;height:100%}.portfolio-card:hover{box-shadow:0 25px 50px rgba(var(--color-black-rgb),.15)}.portfolio-image-container{position:relative;overflow:hidden;height:12rem}@media (min-width:640px){.portfolio-image-container{height:14rem}}.portfolio-image{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.portfolio-card:hover .portfolio-image{transform:scale(1.1)}.portfolio-image-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--color-black-rgb),.6),transparent)}.portfolio-category{position:absolute;top:.75rem;right:.75rem}@media (min-width:640px){.portfolio-category{top:1rem;right:1rem}}.portfolio-category span{padding:.25rem .5rem;background:linear-gradient(to right,var(--color-primary),var(--color-accent-alt));color:var(--color-white);font-size:var(--font-size-xs);border-radius:9999px}@media (min-width:640px){.portfolio-category span{padding:.25rem .75rem;font-size:var(--font-size-sm)}}.portfolio-image-content{position:absolute;bottom:.75rem;left:.75rem;right:.75rem}@media (min-width:640px){.portfolio-image-content{bottom:1rem;left:1rem;right:1rem}}.portfolio-image-content h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-white);margin-bottom:.25rem}@media (min-width:640px){.portfolio-image-content h3{margin-bottom:.5rem}}.portfolio-card-content{padding:1rem;display:flex;flex-direction:column;flex-grow:1}@media (min-width:640px){.portfolio-card-content{padding:1.5rem}}.portfolio-description{flex-grow:1;margin-bottom:1rem}.portfolio-description p{color:var(--color-gray-600);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}@media (min-width:640px){.portfolio-description p{font-size:var(--font-size-base)}}.portfolio-actions{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--color-gray-100);margin-top:auto}@media (min-width:640px){.portfolio-actions{padding-top:1rem}}.portfolio-view-button{display:flex;align-items:center;color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:color .3s ease;background:none;border:none;cursor:pointer}@media (min-width:640px){.portfolio-view-button{font-size:var(--font-size-base)}}.portfolio-view-button:hover{color:var(--color-accent-alt)}.portfolio-view-button-icon{margin-left:.25rem;width:.75rem;height:.75rem}@media (min-width:640px){.portfolio-view-button-icon{margin-left:.5rem;width:1rem;height:1rem}}.portfolio-github-button{padding:.25rem;color:var(--color-gray-400);transition:color .3s ease;background:none;border:none;cursor:pointer;border-radius:.25rem}@media (min-width:640px){.portfolio-github-button{padding:.5rem}}.portfolio-github-button:hover{color:var(--color-primary)}.portfolio-github-icon{width:1rem;height:1rem}@media (min-width:640px){.portfolio-github-icon{width:1.25rem;height:1.25rem}}.portfolio-view-all{display:flex;justify-content:center;margin-top:3rem}@media (min-width:640px){.portfolio-view-all{margin-top:4rem}}.portfolio-hero-section{padding-top:2.5rem;background:var(--color-primary);color:var(--color-white);position:relative;overflow:hidden;min-height:30vh;display:flex;align-items:center}@media (min-width:640px){.portfolio-hero-section{padding-top:5rem}}@media (min-width:768px){.portfolio-hero-section{min-height:40vh}}@media (min-width:1280px){.portfolio-hero-section{min-height:100vh}}.portfolio-hero-section .hero-background-dots{position:absolute;inset:0}.portfolio-hero-section .hero-floating-dot{position:absolute;width:.5rem;height:.5rem;background-color:rgba(var(--color-white-rgb),.2);border-radius:50%}.portfolio-hero-section .hero-content{width:100%;max-width:80rem;margin:0 auto;position:relative;z-index:10;padding:3rem 1rem 4rem}@media (min-width:640px){.portfolio-hero-section .hero-content{padding:4rem 1.5rem}}@media (min-width:1024px){.portfolio-hero-section .hero-content{padding:0 2rem}}.portfolio-hero-section .hero-text-section{text-align:center;max-width:5xl;margin:0 auto}.portfolio-hero-section .hero-text-section h1{margin-bottom:1.5rem;line-height:var(--line-height-tight)}@media (min-width:640px){.portfolio-hero-section .hero-text-section h1{margin-bottom:2rem}}.portfolio-hero-section .hero-text-section p{font-size:1rem;opacity:.9;line-height:var(--line-height-relaxed);max-width:64rem;margin:0 auto}@media (min-width:640px){.portfolio-hero-section .hero-text-section p{font-size:1.125rem}}@media (min-width:768px){.portfolio-hero-section .hero-text-section p{font-size:1.25rem}}@media (min-width:1024px){.portfolio-hero-section .hero-text-section p{font-size:1.5rem}}.portfolio-hero-section .hero-text-section .inline-block{padding:.5rem 1.5rem;background:hsla(0,0%,100%,.1);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid hsla(0,0%,100%,.2);border-radius:9999px;margin-bottom:1.5rem;font-weight:var(--font-weight-semibold);font-size:.875rem}@media (min-width:640px){.portfolio-hero-section .hero-text-section .inline-block{padding:.5rem 1.5rem;margin-bottom:2rem;font-size:1rem}}.portfolio-hero-section .hero-text-section .inline-block span{color:var(--color-white)}.portfolio-filter-section{padding:4rem 0;background-color:var(--color-gray-50)}.portfolio-features-section{background-color:var(--color-white)}.portfolio-features-section .features-grid{display:grid;grid-template-columns:1fr;gap:2rem}@media (min-width:1024px){.portfolio-features-section .features-grid{grid-template-columns:repeat(12,1fr)}}.portfolio-features-section .features-content{grid-column:span 1}@media (min-width:1024px){.portfolio-features-section .features-content{grid-column:span 8}}.portfolio-features-section .features-content h2{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:1rem}@media (min-width:640px){.portfolio-features-section .features-content h2{font-size:1.875rem}}.details-card span,.portfolio-features-section .features-content h2 span{background:linear-gradient(to right,var(--color-primary),var(--color-accent-alt));background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.portfolio-features-section .feature-list ul{list-style-type:disc;margin-left:1.5rem;margin-bottom:1rem}.portfolio-features-section .feature-list li{margin-bottom:.8rem;line-height:var(--line-height-relaxed);color:var(--color-gray-700);font-size:1rem}.portfolio-features-section .feature-list span{font-weight:var(--font-weight-semibold)}.portfolio-features-section .project-details{grid-column:span 1;display:flex;justify-content:flex-end}@media (min-width:1024px){.portfolio-features-section .project-details{grid-column:span 4}}.portfolio-features-section .project-details .details-card{padding:1.5rem;border-radius:var(--radius-lg);display:inline-block;width:-moz-fit-content;width:fit-content;background-color:var(--color-gray-50);box-shadow:var(--shadow-sm)}.portfolio-features-section .project-details .details-card h3{font-size:1.5rem;font-weight:var(--font-weight-bold);color:var(--color-primary);margin-bottom:1rem}@media (min-width:640px){.portfolio-features-section .project-details .details-card h3{font-size:1.875rem}}.portfolio-features-section .project-details .details-card p{color:var(--color-gray-600);margin-bottom:.5rem}.portfolio-features-section .project-details .details-card a{color:var(--color-accent-alt);text-decoration:none;word-break:break-all}.portfolio-features-section .project-details .details-card a:hover{text-decoration:underline}.portfolio-filter-section .filter-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;margin-bottom:3rem}.portfolio-filter-section .filter-button{padding:.6rem 1.5rem;border-radius:var(--radius);font-weight:var(--font-weight-semibold);transition:all .3s ease;border:none;cursor:pointer}.portfolio-filter-section .filter-button.active{background:linear-gradient(135deg,var(--color-accent),var(--color-accent-alt));color:var(--color-white);box-shadow:0 10px 15px rgba(var(--color-black-rgb),.1)}.portfolio-filter-section .filter-button:not(.active){background-color:var(--color-white);color:var(--color-gray-700);box-shadow:0 4px 6px rgba(var(--color-black-rgb),.1)}.portfolio-filter-section .filter-button:not(.active):hover{background-color:var(--color-gray-100)}.portfolio-projects-section{display:grid;gap:1.5rem;grid-template-rows:auto;margin-top:3rem}@media (min-width:640px){.portfolio-projects-section{grid-template-columns:repeat(2,1fr);gap:2rem;margin-top:4rem}}@media (min-width:1024px){.portfolio-projects-section{grid-template-columns:repeat(3,1fr)}}.portfolio-projects-section .project-card{position:relative;background-color:rgba(var(--color-white-rgb),.8);-webkit-backdrop-filter:blur(.5rem);backdrop-filter:blur(.5rem);border-radius:.75rem;box-shadow:0 10px 15px rgba(var(--color-black-rgb),.1);transition:all .3s ease;overflow:hidden;border:1px solid rgba(var(--color-white-rgb),.5);display:flex;flex-direction:column;height:100%}.portfolio-projects-section .project-card:hover{box-shadow:0 25px 50px rgba(var(--color-black-rgb),.15)}.portfolio-projects-section .project-image-container{position:relative;overflow:hidden;height:12rem}@media (min-width:640px){.portfolio-projects-section .project-image-container{height:14rem}}.portfolio-projects-section .project-image-container img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;transition:transform .3s ease}.portfolio-projects-section .project-card:hover .project-image-container img{transform:scale(1.1)}.portfolio-projects-section .project-image-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(var(--color-black-rgb),.6),transparent)}.portfolio-projects-section .project-category{position:absolute;top:.75rem;right:.75rem}@media (min-width:640px){.portfolio-projects-section .project-category{top:1rem;right:1rem}}.portfolio-projects-section .project-category span{padding:.25rem .5rem;color:var(--color-white);font-size:var(--font-size-xs);border-radius:9999px}@media (min-width:640px){.portfolio-projects-section .project-category span{padding:.25rem .75rem;font-size:var(--font-size-sm)}}.portfolio-projects-section .project-image-content{position:absolute;bottom:.75rem;left:.75rem;right:.75rem}@media (min-width:640px){.portfolio-projects-section .project-image-content{bottom:1rem;left:1rem;right:1rem}}.portfolio-projects-section .project-image-content h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-white);margin-bottom:.25rem}@media (min-width:640px){.portfolio-projects-section .project-image-content h3{margin-bottom:.5rem}}.portfolio-projects-section .project-card-content{padding:1rem;display:flex;flex-direction:column;flex-grow:1}@media (min-width:640px){.portfolio-projects-section .project-card-content{padding:1.5rem}}.portfolio-projects-section .project-description{flex-grow:1}.portfolio-projects-section .project-description p{color:var(--color-gray-600);font-size:var(--font-size-sm);line-height:var(--line-height-relaxed)}@media (min-width:640px){.portfolio-projects-section .project-description p{font-size:var(--font-size-base)}}.portfolio-projects-section .project-actions{display:flex;align-items:center;justify-content:space-between;padding-top:.75rem;border-top:1px solid var(--color-gray-100);margin-top:auto}@media (min-width:640px){.portfolio-projects-section .project-actions{padding-top:1rem}}.portfolio-projects-section .project-view-button{display:flex;align-items:center;color:var(--color-primary);font-weight:var(--font-weight-semibold);font-size:var(--font-size-sm);transition:color .3s ease;background:none;border:none;cursor:pointer}@media (min-width:640px){.portfolio-projects-section .project-view-button{font-size:var(--font-size-base)}}.portfolio-projects-section .project-view-button:hover{color:var(--color-accent-alt)}.portfolio-projects-section .project-view-button svg{margin-left:.25rem;width:.75rem;height:.75rem}@media (min-width:640px){.portfolio-projects-section .project-view-button svg{margin-left:.5rem;width:1rem;height:1rem}}.portfolio-projects-section .project-github-button{padding:.25rem;color:var(--color-gray-400);transition:color .3s ease;background:none;border:none;cursor:pointer;border-radius:.25rem}@media (min-width:640px){.portfolio-projects-section .project-github-button{padding:.5rem}}.portfolio-projects-section .project-github-button:hover{color:var(--color-primary)}.portfolio-projects-section .project-github-button svg{width:1rem;height:1rem}@media (min-width:640px){.portfolio-projects-section .project-github-button svg{width:1.25rem;height:1.25rem}}.portfolio-projects-section .no-projects{text-align:center;padding:4rem 0}.portfolio-projects-section .no-projects p{color:var(--color-gray-500);font-size:var(--font-size-lg)}