@font-face{font-family:gapSans;src:url(../media/GapSans-s.p.2e008a7b.ttf)format("truetype");font-display:swap;font-weight:400;font-style:normal}@font-face{font-family:gapSans;src:url(../media/GapSansBold-s.p.def7e51a.ttf)format("truetype");font-display:swap;font-weight:700;font-style:normal}@font-face{font-family:gapSans;src:url(../media/GapSansBlack-s.p.6c5e1e49.ttf)format("truetype");font-display:swap;font-weight:900;font-style:normal}@font-face{font-family:gapSans Fallback;src:local(Arial);ascent-override:101.71%;descent-override:21.41%;line-gap-override:3.0%;size-adjust:91.22%}.gapsans_3efb2a23-module__P7YIMG__className{font-family:gapSans,gapSans Fallback}.gapsans_3efb2a23-module__P7YIMG__variable{--font-gap-sans:"gapSans","gapSans Fallback"}
@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/8a480f0b521d4e75-s.8e0177b5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/7178b3e590c64307-s.b97b3418.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/caa3a2e1cccd8315-s.p.853070df.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Fallback;src:local(Arial);ascent-override:95.94%;descent-override:28.16%;line-gap-override:0.0%;size-adjust:104.76%}.geist_a71539c9-module__T19VSG__className{font-family:Geist,Geist Fallback;font-style:normal}.geist_a71539c9-module__T19VSG__variable{--font-geist-sans:"Geist","Geist Fallback"}
@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/4fa387ec64143e14-s.c1fdd6c2.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/bbc41e54d2fcbd21-s.799d8ef8.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,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:Geist Mono;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/797e433ab948586e-s.p.dbea232f.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Geist Mono Fallback;src:local(Arial);ascent-override:74.67%;descent-override:21.92%;line-gap-override:0.0%;size-adjust:134.59%}.geist_mono_8d43a2aa-module__8Li5zG__className{font-family:Geist Mono,Geist Mono Fallback;font-style:normal}.geist_mono_8d43a2aa-module__8Li5zG__variable{--font-geist-mono:"Geist Mono","Geist Mono Fallback"}
*{box-sizing:border-box;margin:0;padding:0}html{font-size:110%}:root{--color-turquoise:#3dd5c8;--color-turquoise-light:#7fffd4;--color-peach:#e8d5c4;--color-beige-light:#fafaf8;--color-beige:#f0f8f8}body{font-family:system-ui,-apple-system,Segoe UI,sans-serif;overflow-x:hidden}img{max-width:100%;height:auto;display:block}h1,h2,h3,h4,h5,h6,.hero-content h1,.page-title,.contact-title,.about-section h2,.skill-card h3,.timeline-card h3,.contact-info-card h3,.project-hero-title,.project-section h2,.project-info-card h3{font-family:var(--font-gap-sans),sans-serif}.bg-gradient-main{background:linear-gradient(#fafaf8 0%,#f0f8f8 30%,#d0f0ed 60%,#3dd5c8 100%)}.container{max-width:1200px;margin:0 auto;padding:0 64px}@media (max-width:1024px){.container{padding:0 48px}}@media (max-width:768px){.container{padding:0 16px}}.header{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-bottom:1px solid #e5e7eb;position:fixed;top:0;left:0;right:0}.header-content{justify-content:space-between;align-items:center;max-width:1400px;height:80px;margin:0 auto;padding:0 64px;display:flex}@media (max-width:768px){.header-content{padding:0 16px}}.logo{flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;display:flex}.burger-menu{cursor:pointer;z-index:50;background:0 0;border:none;flex-direction:column;justify-content:space-between;width:28px;height:21px;padding:0;display:none;position:relative}.burger-menu span{background-color:#111827;border-radius:2px;width:100%;height:3px;transition:all .3s}.burger-menu.open span:first-child{transform:translateY(9px)rotate(45deg)}.burger-menu.open span:nth-child(2){opacity:0}.burger-menu.open span:nth-child(3){transform:translateY(-9px)rotate(-45deg)}@media (max-width:768px){.burger-menu{display:flex}}.nav{align-items:center;gap:40px;display:flex}@media (max-width:768px){.nav{opacity:0;visibility:hidden;pointer-events:none;z-index:40;background:#fff;flex-direction:column;justify-content:center;align-items:center;gap:32px;width:100vw;height:100vh;transition:opacity .3s,visibility .3s,transform .3s;position:fixed;inset:0;transform:translateY(-100%)}.nav.mobile-open{opacity:1;visibility:visible;pointer-events:all;transform:translateY(0)}.nav a{font-size:24px}}.nav a{color:#4b5563;font-size:15px;font-weight:500;line-height:1;text-decoration:none;transition:color .2s}.nav a:hover{color:#111827}.nav a.active{color:#111827;text-underline-offset:4px;text-decoration:underline}main{flex:1;padding-top:80px}.footer{text-align:center;margin-top:auto;padding:32px 0}.footer-content{flex-direction:column;align-items:center;gap:12px;display:flex}.footer p{color:#6b7280;margin:0;font-size:15px}.footer-links{align-items:center;gap:12px;display:flex}.footer-link{color:#6b7280;font-size:14px;text-decoration:none;transition:color .2s}.footer-link:hover{color:#0f766e;text-decoration:underline}.footer-separator{color:#9ca3af;font-size:14px}.hero-section{align-items:center;max-width:1200px;min-height:calc(100vh - 64px);margin:0 auto;padding:64px;display:flex}@media (max-width:768px){.hero-section{padding:32px 16px}}.hero-grid{grid-template-columns:1fr 1fr;align-items:center;gap:48px;width:100%;display:grid}@media (max-width:1024px){.hero-grid{grid-template-columns:1fr}}.hero-content{flex-direction:column;gap:32px;display:flex}.hero-content h1{color:#111827;font-size:48px;font-weight:900;line-height:1.2}@media (min-width:768px){.hero-content h1{font-size:60px}}.hero-content p{color:#374151;font-size:18px;line-height:1.6}.hero-illustration{justify-content:center;align-items:center;max-width:100%;display:flex;overflow:hidden}.btn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.btn-primary{color:#111827;background-color:#7fffd4}.btn-primary:hover{opacity:.9;transform:scale(1.05);box-shadow:0 10px 15px -3px #0000001a}.page-container{max-width:1200px;margin:0 auto;padding:48px 64px}.page-title{color:#111827;text-align:center;margin-bottom:48px;font-size:36px;font-weight:900}.projects-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}@media (max-width:1024px){.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}}.project-card{aspect-ratio:16/10;background-color:#e8d5c4;border-radius:12px;transition:all .2s;position:relative;overflow:hidden}.project-card:hover{transform:scale(1.02);box-shadow:0 10px 15px -3px #0000001a}.about-container{flex-direction:column;gap:80px;max-width:1200px;margin:0 auto;padding:48px 64px;display:flex}.about-section h2{color:#111827;margin-bottom:40px;font-size:28px;font-weight:900}.about-intro{grid-template-columns:auto 1fr;align-items:start;gap:32px;display:grid}@media (max-width:768px){.about-intro{grid-template-columns:1fr}}.profile-photo{background-color:#d1d5db;border-radius:8px;justify-content:center;align-items:center;width:280px;height:350px;display:flex;overflow:hidden}@media (max-width:768px){.profile-photo{aspect-ratio:4/5;width:100%;max-width:280px;height:auto}}.profile-image{object-fit:cover;width:100%;max-width:100%;height:100%}.about-text{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a}.about-text p{color:#374151;margin-bottom:16px;font-size:16px;line-height:1.8}.about-text p:last-child{margin-bottom:0}.skills-grid{grid-template-columns:repeat(3,1fr);gap:32px;display:grid}@media (max-width:1024px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.skills-grid{grid-template-columns:1fr}}.skill-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-radius:8px;flex-direction:column;align-items:flex-start;padding:24px;transition:box-shadow .2s;display:flex;box-shadow:0 1px 2px #0000000d}.skill-card:hover{box-shadow:0 4px 6px #0000001a}.skill-icon{margin-bottom:16px;font-size:48px}.skill-card h3{color:#111827;margin-bottom:12px;font-size:20px;font-weight:700}.skills-text{color:#4b5563;font-size:15px;line-height:1.6}.timeline{max-width:800px;margin:0 auto;position:relative}.timeline-line{background-color:#3dd5c84d;width:2px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%)}.timeline-items{flex-direction:column;gap:32px;display:flex}.timeline-item{align-items:center;gap:32px;display:flex}.timeline-item.left{flex-direction:row-reverse}.timeline-content{flex:1}.timeline-content.text-right{text-align:right}.timeline-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-radius:8px;padding:24px;box-shadow:0 1px 2px #0000000d}.timeline-badge{color:#111827;background-color:#7fffd4;border-radius:9999px;margin-bottom:12px;padding:4px 12px;font-size:15px;font-weight:500;display:inline-block}.timeline-card h3{color:#111827;margin-bottom:8px;font-size:18px;font-weight:700}.timeline-card p{color:#374151;font-size:15px}.timeline-dot-wrapper{justify-content:center;align-items:center;display:flex;position:relative}.timeline-dot{z-index:10;background-color:#3dd5c8;border:4px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0000001a}.timeline-spacer{flex:1}.contact-page{min-height:calc(100vh - 64px)}.contact-container{max-width:1200px;margin:0 auto;padding:48px 64px}.contact-header{text-align:center;margin-bottom:48px}.contact-title{color:#111827;margin-bottom:16px;font-size:36px;font-weight:900}.contact-subtitle{color:#6b7280;max-width:600px;margin:0 auto;font-size:18px}.contact-content{grid-template-columns:1.5fr 1fr;align-items:start;gap:48px;display:grid}@media (max-width:1024px){.contact-content{grid-template-columns:1fr}}.contact-form-section{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-radius:12px;padding:32px;box-shadow:0 1px 3px #0000001a}.contact-form{flex-direction:column;gap:20px;display:flex}.form-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}@media (max-width:768px){.form-row{grid-template-columns:1fr}}.form-group{flex-direction:column;gap:8px;display:flex}.form-group label{color:#374151;font-size:15px;font-weight:600}.form-input,.form-textarea{background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:12px 16px;font-family:inherit;font-size:15px;transition:all .2s}.form-input:focus,.form-textarea:focus{border-color:#3dd5c8;outline:none;box-shadow:0 0 0 3px #3dd5c81a}.form-textarea{resize:vertical;min-height:120px}.submit-button{color:#111827;cursor:pointer;background-color:#7fffd4;border:none;border-radius:8px;padding:14px 28px;font-size:16px;font-weight:600;transition:all .2s}.submit-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #7fffd466}.submit-button:disabled{opacity:.6;cursor:not-allowed}.submit-button.submitting{background-color:#6ee7be}.success-message,.error-message{border-radius:8px;padding:12px 16px;font-size:15px;font-weight:500}.success-message{color:#065f46;background-color:#d1fae5;border:1px solid #6ee7b7}.error-message{color:#991b1b;background-color:#fee2e2;border:1px solid #fca5a5}.contact-info-section{flex-direction:column;gap:24px;display:flex}.contact-info-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-radius:12px;padding:24px;box-shadow:0 1px 3px #0000001a}.contact-info-card h3{color:#111827;margin-bottom:16px;font-size:18px;font-weight:700}.contact-info-item{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.contact-info-item:last-child{margin-bottom:0}.contact-info-item strong{color:#6b7280;font-size:15px}.contact-info-item a{color:#3dd5c8;font-weight:500;text-decoration:none;transition:color .2s}.contact-info-item a:hover{color:#2bb3a0;text-decoration:underline}.contact-info-item span{color:#374151;font-size:15px}.social-links{flex-direction:column;gap:8px;display:flex}.social-link{font-weight:500;text-decoration:none;transition:all .2s;color:#3dd5c8!important}.social-link:hover{text-decoration:underline;color:#2bb3a0!important}.expertise-tags{flex-wrap:wrap;gap:8px;display:flex}.expertise-tag{color:#0f766e;background-color:#3dd5c81a;border:1px solid #3dd5c833;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500;display:inline-block}.project-image{border-radius:12px;width:100%;max-width:100%;height:100%;overflow:hidden}.project-img{object-fit:cover;width:100%;max-width:100%;height:100%;transition:transform .3s,filter .3s}.project-card:hover .project-img{filter:brightness(.4)grayscale(.5);transform:scale(1.05)}.project-img-zoomed-out{object-fit:contain;background-color:#fff}.project-overlay{opacity:0;pointer-events:none;background:#00000080;justify-content:center;align-items:center;width:100%;height:100%;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}.project-card:hover .project-overlay{opacity:1}.project-title-overlay{color:#fff;text-align:center;font-size:24px;font-weight:700;font-family:var(--font-gap-sans),sans-serif;padding:0 20px}.project-detail-page{min-height:100vh}.project-detail-container{max-width:1200px;margin:0 auto;padding:48px 64px}@media (max-width:768px){.project-detail-container{padding:32px 16px}}.project-header{margin-bottom:48px}.project-breadcrumb{margin-bottom:24px}.breadcrumb-link{color:#374151;align-items:center;gap:8px;font-size:15px;text-decoration:none;transition:color .2s;display:inline-flex}.breadcrumb-link:hover{color:#3dd5c8}.project-hero{grid-template-columns:1fr 1fr;align-items:center;gap:48px;margin-bottom:48px;display:grid}@media (max-width:768px){.project-hero{grid-template-columns:1fr;gap:24px}}.project-hero-content{flex-direction:column;gap:24px;display:flex}.project-meta{align-items:center;gap:12px;display:flex}.project-category-badge{color:#0f766e;background-color:#3dd5c833;border-radius:20px;padding:6px 16px;font-size:14px;font-weight:600}.project-status-badge{border-radius:20px;padding:6px 16px;font-size:14px;font-weight:600}.project-status-badge.completed{color:#166534;background-color:#22c55e33}.project-status-badge.ongoing{color:#1e40af;background-color:#3b82f633}.project-hero-title{color:#111827;font-size:48px;font-weight:900;line-height:1.2}@media (max-width:768px){.project-hero-title{font-size:32px}}.project-hero-description{color:#4b5563;font-size:18px;line-height:1.6}.project-hero-image{border-radius:16px;width:100%;height:400px;overflow:hidden;box-shadow:0 20px 25px -5px #0000001a}@media (max-width:768px){.project-hero-image{height:300px}}@media (max-width:480px){.project-hero-image{height:250px}}.hero-img{object-fit:cover;width:100%;height:100%}.project-content{grid-template-columns:2fr 1fr;gap:48px;margin-bottom:48px;display:grid}@media (max-width:1024px){.project-content{grid-template-columns:1fr}}.project-main{flex-direction:column;gap:32px;display:flex}.project-section h2{color:#111827;margin-bottom:16px;font-size:28px;font-weight:700}.project-section p{color:#4b5563;margin-bottom:16px;font-size:16px;line-height:1.7}.feature-list{flex-direction:column;gap:12px;list-style:none;display:flex}.feature-list li{color:#374151;padding-left:28px;font-size:16px;line-height:1.6;position:relative}.feature-list li:before{content:"✓";color:#3dd5c8;font-size:18px;font-weight:700;position:absolute;left:0}.project-sidebar{flex-direction:column;gap:24px;display:flex}.project-info-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000001a}.project-info-card h3{color:#111827;margin-bottom:20px;font-size:20px;font-weight:700}.info-item{margin-bottom:20px}.info-item:last-child{margin-bottom:0}.info-item strong{color:#6b7280;margin-bottom:8px;font-size:14px;font-weight:600;display:block}.tech-tags{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.tech-tag{color:#0f766e;background-color:#3dd5c81a;border:1px solid #3dd5c833;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:500}.project-links-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 6px -1px #0000001a}.project-links-card h3{color:#111827;margin-bottom:16px;font-size:20px;font-weight:700}.project-external-link{color:#3dd5c8;align-items:center;gap:8px;margin-bottom:12px;font-size:15px;font-weight:500;text-decoration:none;transition:color .2s;display:block}.project-external-link:last-child{margin-bottom:0}.project-external-link:hover{color:#2ba89f;text-decoration:underline}.legal-content{max-width:900px;margin:0 auto}.legal-section{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffc;border-radius:12px;margin-bottom:32px;padding:32px;box-shadow:0 1px 3px #0000001a}.legal-section:last-child{margin-bottom:0}.legal-section h2{color:#111827;margin-bottom:16px;font-size:24px;font-weight:700}.legal-section h3{color:#374151;margin-top:20px;margin-bottom:12px;font-size:18px;font-weight:600}.legal-section p{color:#4b5563;margin-bottom:12px;font-size:15px;line-height:1.7}.legal-section p:last-child{margin-bottom:0}.legal-section ul{margin:16px 0;padding-left:0;list-style:none}.legal-section li{color:#4b5563;margin-bottom:8px;padding-left:24px;font-size:15px;line-height:1.7;position:relative}.legal-section li:before{content:"•";color:#3dd5c8;font-weight:700;position:absolute;left:8px}.legal-intro{font-weight:500;color:#1f2937!important;font-size:16px!important}.legal-date{font-style:italic;color:#6b7280!important;font-size:14px!important}
