@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.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:Inter;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.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:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_fe8b9d92-module__LINzvG__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_fe8b9d92-module__LINzvG__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(../media/5e96579fd74ec546-s.3-nwzazwr9g8p.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:"Jersey 10";font-style:normal;font-weight:400;font-display:swap;src:url(../media/400f9cf0f12196ea-s.p.07f8q-37_4hra.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:"Jersey 10 Fallback";src:local(Arial);ascent-override:101.52%;descent-override:33.84%;line-gap-override:0.0%;size-adjust:79.15%}.jersey_10_5acef1ee-module__ow_M1a__className{font-family:"Jersey 10","Jersey 10 Fallback";font-style:normal;font-weight:400}.jersey_10_5acef1ee-module__ow_M1a__variable{--font-jersey:"Jersey 10", "Jersey 10 Fallback"}
:root{--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-jersey:"Jersey 10", sans-serif;--radius:.625rem;--radius-sm:calc(var(--radius) - 4px);--radius-md:calc(var(--radius) - 2px);--radius-lg:var(--radius);--radius-xl:.75rem;--radius-2xl:1rem}:root,html.light{--background:0 0% 100%;--foreground:240 10% 3.9%;--card:0 0% 100%;--card-foreground:240 10% 3.9%;--popover:0 0% 100%;--popover-foreground:240 10% 3.9%;--primary:240 5.9% 10%;--primary-foreground:0 0% 98%;--secondary:240 4.8% 95.9%;--secondary-foreground:240 5.9% 10%;--muted:240 4.8% 95.9%;--muted-foreground:240 3.8% 46.1%;--accent:240 4.8% 95.9%;--accent-foreground:240 5.9% 10%;--destructive:0 84.2% 60.2%;--destructive-foreground:0 0% 98%;--border:240 5.9% 90%;--input:240 5.9% 90%;--ring:240 5.9% 10%;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}html.dark{--background:240 10% 3.9%;--foreground:0 0% 98%;--card:240 10% 3.9%;--card-foreground:0 0% 98%;--popover:240 10% 3.9%;--popover-foreground:0 0% 98%;--primary:0 0% 98%;--primary-foreground:240 5.9% 10%;--secondary:240 3.7% 15.9%;--secondary-foreground:0 0% 98%;--muted:240 3.7% 15.9%;--muted-foreground:240 5% 82%;--accent:240 3.7% 15.9%;--accent-foreground:0 0% 98%;--destructive:0 62.8% 30.6%;--destructive-foreground:0 0% 98%;--border:240 3.7% 15.9%;--input:240 3.7% 15.9%;--ring:240 4.9% 83.9%;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@keyframes shake{0%{transform:translate(0)}25%{transform:translate(-3px)rotate(-3deg)}50%{transform:translate(3px)rotate(3deg)}75%{transform:translate(-3px)rotate(-3deg)}to{transform:translate(0)}}.hover-shake{transition:transform .2s;display:inline-block}.hover-shake:hover{animation:.4s ease-in-out infinite shake}*,:before,:after{box-sizing:border-box;border:0 solid;margin:0;padding:0}html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);-webkit-tap-highlight-color:transparent;scroll-behavior:smooth}body{background-color:hsl(var(--background));color:hsl(var(--foreground));font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;transition:background-color .3s,color .3s;position:relative}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}img,svg,video{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit;background-color:#0000}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}ul,ol,menu{list-style:none}.bg-pattern-wrapper{z-index:-1;pointer-events:none;width:100vw;height:100vh;position:fixed;top:0;left:0;overflow:hidden}.bg-pattern{background-image:radial-gradient(circle, hsl(var(--foreground) / .1) 1px, transparent 1px);background-size:24px 24px;width:100%;height:100%;position:absolute}html.dark .bg-pattern{background-image:radial-gradient(circle, hsl(var(--foreground) / .08) 1px, transparent 1px)}.dock{z-index:50;position:fixed;bottom:1rem;left:50%;transform:translate(-50%)}.dock-inner{background-color:hsl(var(--background) / .85);-webkit-backdrop-filter:blur(16px);border:1px solid hsl(var(--border) / .6);border-radius:9999px;align-items:center;gap:.25rem;padding:.375rem .5rem;display:flex;box-shadow:0 0 0 1px #00000008,0 2px 4px #0000000d,0 12px 24px #0000000d}html.dark .dock-inner{border-color:hsl(var(--border) / .4);background-color:#18181be6;box-shadow:0 0 0 1px #ffffff0d,0 4px 12px #0006,0 16px 32px #0000004d}.dock-item{width:2.25rem;height:2.25rem;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;text-decoration:none;transition:all .2s cubic-bezier(.22,1,.36,1);display:flex;position:relative}.dock-item svg{flex-shrink:0;width:18px;height:18px;display:block}.dock-item:hover{color:hsl(var(--foreground));background-color:hsl(var(--muted) / .7);transform:scale(1.2)translateY(-4px)}.dock-item:active{transform:scale(1.1)translateY(-2px)}.dock-item:hover+.dock-item{transform:scale(1.08)translateY(-2px)}.dock-item:has(+.dock-item:hover){transform:scale(1.08)translateY(-2px)}.dock-item-accent{color:#00b22d}.dock-item-accent:hover{color:#00d434}.dock-separator{background-color:hsl(var(--border));opacity:.6;flex-shrink:0;width:1px;height:1.5rem;margin:0 .125rem}html.dark .dock-item .sun-icon{display:block}html.dark .dock-item .moon-icon,html.light .dock-item .sun-icon{display:none}html.light .dock-item .moon-icon{display:block}.dock-item:before{content:attr(data-tooltip);border-radius:var(--radius-md);background-color:hsl(var(--foreground));color:hsl(var(--background));white-space:nowrap;pointer-events:none;opacity:0;letter-spacing:.01em;padding:.25rem .5rem;font-size:.6875rem;font-weight:500;transition:opacity .15s,transform .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)scale(.8)}.dock-item:hover:before{opacity:1;transform:translate(-50%)scale(1)}.page-container{max-width:53rem;min-height:100vh;margin:0 auto;padding:3rem 1.5rem 5rem}.main-content{flex-direction:column;gap:2.5rem;min-height:100dvh;margin-top:2.5rem;display:flex}.hero-container{flex-direction:column;width:100%;display:flex}.hero-flex{justify-content:space-between;align-items:center;gap:1rem;width:100%;display:flex}.hero-text{flex-direction:column;flex:1;gap:.375rem;display:flex}.hero-greeting{align-items:center;gap:.5rem;display:flex}.hero-title{letter-spacing:-.05em;color:hsl(var(--foreground));white-space:nowrap;margin:0;font-size:2.25rem;font-weight:800;line-height:1.1;display:inline-block}.hero-description{max-width:37.5rem;color:hsl(var(--muted-foreground));font-size:1rem;line-height:1.6}.text-blue-link{color:#3b82f6;transition:all .2s}.text-blue-link:hover{text-decoration:underline}.avatar{border:1px solid hsl(var(--border));border-radius:9999px;flex-shrink:0;display:flex;position:relative;overflow:hidden}.avatar-large{width:8rem;height:8rem}.avatar-sm{background-color:hsl(var(--muted));width:3rem;height:3rem;margin:auto}html.dark .avatar-sm{background-color:hsl(var(--foreground))}.avatar-img{object-fit:cover;border-radius:9999px;width:100%;height:100%}.avatar-letter{background-color:hsl(var(--muted));width:100%;height:100%;color:hsl(var(--foreground));border-radius:9999px;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;display:flex}html.dark .avatar-letter{color:hsl(var(--background))}.github-grid-container{scrollbar-width:none;-ms-overflow-style:none;width:100%;margin-top:2rem;padding-bottom:.5rem;overflow-x:auto}.github-grid-container::-webkit-scrollbar{display:none}.github-grid-wrapper{opacity:.95;flex-direction:column;gap:6px;min-width:600px;display:flex}.github-grid-header{color:hsl(var(--muted-foreground));justify-content:space-between;padding:0 10px;font-size:.75rem;display:flex}.github-grid-body{grid-template-rows:repeat(7,1fr);grid-template-columns:repeat(52,1fr);grid-auto-flow:column;gap:3px;width:100%;display:grid}.github-day-cell{border-radius:2px;width:10px;height:10px}.github-grid-footer{color:hsl(var(--muted-foreground));justify-content:space-between;align-items:center;margin-top:.5rem;padding:0 .25rem;font-size:.75rem;display:flex}.github-legend{align-items:center;gap:.5rem;display:flex}.legend-squares{gap:4px;display:flex}.legend-sq{border-radius:2px;width:10px;height:10px}.sq-0{background-color:#ebedf0}.sq-1{background-color:#93c5fd}.sq-2{background-color:#60a5fa}.sq-3{background-color:#3b82f6}.sq-4{background-color:#2563eb}html.dark .sq-0{background-color:#151b23}html.dark .sq-1{background-color:#1e3a8a}html.dark .sq-2{background-color:#2563eb}html.dark .sq-3{background-color:#3b82f6}html.dark .sq-4{background-color:#93c5fd}.section-title{color:hsl(var(--foreground));font-size:1.125rem;font-weight:700}.section-flex{flex-direction:column;gap:.75rem;min-height:0;display:flex}.about-text{text-wrap:pretty;max-width:100%;color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.75}.about-text a{color:hsl(var(--foreground));text-underline-offset:4px;font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px}.about-text a:hover{color:#3b82f6}.about-text strong{color:hsl(var(--foreground));font-weight:600}.about-text p{margin-top:1.25em;margin-bottom:1.25em}.about-text p:first-child{margin-top:0}.photo-grid{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;gap:.5rem;padding-top:.5rem;display:grid}.photo-cell{border-radius:var(--radius-xl);background-color:hsl(var(--primary) / .06);min-width:0;min-height:0;animation:2s cubic-bezier(.4,0,.6,1) infinite pulse;position:relative;overflow:hidden;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.col-span-2{grid-column:span 2/span 2}.row-span-2{grid-row:span 2/span 2}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.experience-card{box-shadow:none;background:0 0;border:none;padding:1rem 0;display:flex}.exp-avatar-section{flex:none}.exp-content{flex-direction:column;flex-grow:1;margin-left:1rem;display:flex}.exp-header{flex-direction:column;gap:.375rem;padding:0;display:flex}.exp-title-row{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.exp-company{align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.exp-link{color:hsl(var(--muted-foreground));align-items:center;transition:opacity .2s;display:inline-flex}.exp-link:hover{opacity:.8}.chevron-icon{opacity:0;width:1rem;height:1rem;color:hsl(var(--muted-foreground));transition:all .3s ease-out;transform:translate(0)}.group:hover .chevron-icon{opacity:1;transform:translate(4px)}.exp-date-col{flex-direction:column;align-items:flex-end;min-width:85px;display:flex}.exp-date{font-variant-numeric:tabular-nums;color:hsl(var(--muted-foreground));font-size:.75rem}.exp-role-row{justify-content:space-between;align-items:center;display:flex}.exp-role{font-family:var(--font-sans);color:hsl(var(--muted-foreground));margin-top:.25rem;font-size:.75rem}.exp-duration{color:hsl(var(--muted-foreground));margin-top:.125rem;font-size:11px}.exp-description{color:hsl(var(--muted-foreground));margin-top:.5rem;font-size:.75rem;line-height:1.6;transition:all .3s}.exp-description.collapsed{opacity:0;height:0;overflow:hidden}.experience-card:hover .exp-description.collapsed{opacity:1;height:auto}.skills-container{flex-wrap:wrap;gap:.25rem;display:flex}.skill-category{background-color:hsl(var(--muted) / .5);border-radius:var(--radius-lg);padding:1rem}.skill-category-title{color:hsl(var(--primary));margin-bottom:.75rem;font-size:1.125rem;font-weight:600}.skill-badges{flex-wrap:wrap;gap:.5rem;display:flex}.skill-badge{border-radius:var(--radius-md);background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));cursor:default;border:1px solid #0000;align-items:center;padding:.375rem .75rem;font-size:.875rem;font-weight:500;transition:background-color .2s;display:inline-flex}.skill-badge:hover{background-color:hsl(var(--secondary) / .8)}.skill-icon{flex-shrink:0;width:1.25rem;height:1.25rem;margin-right:.5rem}.projects-grid{grid-template-columns:repeat(1,1fr);gap:1rem;display:grid}.project-card{border-radius:var(--radius-lg);border:1px solid hsl(var(--border));background-color:hsl(var(--card));color:hsl(var(--card-foreground));cursor:pointer;flex-direction:column;gap:.75rem;padding:1.25rem;transition:all .3s;display:flex}.project-card:hover{border-color:hsl(var(--foreground) / .2);transform:translateY(-2px);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a}.exp-timeline{flex-direction:column;margin-top:1rem;display:flex}.timeline-item{display:flex;position:relative}.timeline-marker{flex-direction:column;flex-shrink:0;align-items:center;width:12px;margin-top:.35rem;margin-right:1.25rem;display:flex}.timeline-dot{background-color:hsl(var(--muted-foreground));z-index:2;border-radius:50%;flex-shrink:0;width:10px;height:10px}.timeline-line{background-color:hsl(var(--border));opacity:.6;flex-grow:1;width:2px;margin-top:4px;margin-bottom:-1rem}.timeline-item:last-child .timeline-line{display:none}.timeline-content{flex-direction:column;flex:1;gap:.25rem;padding-bottom:2rem;display:flex}.timeline-item:last-child .timeline-content{padding-bottom:.5rem}.timeline-role{color:hsl(var(--foreground));margin:0;font-size:1rem;font-weight:600;line-height:1.3}.timeline-meta{color:hsl(var(--muted-foreground));font-size:.875rem}.timeline-skills{gap:.5rem;margin-top:.5rem;display:flex}.timeline-skill-tag{color:hsl(var(--foreground));background:hsl(var(--muted) / .5);border:1px solid hsl(var(--border) / .5);border-radius:9999px;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.project-card-header{flex-direction:column;gap:.5rem;display:flex}.project-card-top{justify-content:space-between;align-items:flex-start;display:flex}.project-title{font-size:.875rem;font-weight:600}.project-date{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;font-size:.75rem}.project-link{color:hsl(var(--muted-foreground));flex-shrink:0;margin-top:2px;transition:opacity .2s}.project-link:hover{opacity:.7}.project-desc{color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.6}.project-tags{flex-wrap:wrap;gap:.25rem;display:flex}.project-tag{background-color:hsl(var(--secondary));color:hsl(var(--secondary-foreground));border-radius:9999px;align-items:center;padding:.25rem .625rem;font-size:.75rem;font-weight:500;display:inline-flex}.hackathon-intro{color:hsl(var(--muted-foreground));font-size:.875rem;line-height:1.6}.hackathon-timeline{flex-direction:column;gap:1.5rem;padding-left:2rem;display:flex;position:relative}.hackathon-timeline:before{content:"";background-color:hsl(var(--border));width:2px;position:absolute;top:.5rem;bottom:.5rem;left:.5rem}.hackathon-item{gap:1rem;display:flex;position:relative}.timeline-dot{background-color:hsl(var(--primary));border:2px solid hsl(var(--background));width:.75rem;height:.75rem;box-shadow:0 0 0 2px hsl(var(--primary) / .2);border-radius:9999px;flex-shrink:0;position:absolute;top:.375rem;left:-1.625rem}.hackathon-content{flex-direction:column;gap:.5rem;display:flex}.hackathon-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.hackathon-title{font-size:.875rem;font-weight:600}.hackathon-date{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;white-space:nowrap;font-size:.75rem}.hackathon-desc{color:hsl(var(--muted-foreground));font-size:.75rem;line-height:1.6}.hackathon-tags{flex-wrap:wrap;gap:.25rem;display:flex}.contact-content{flex-direction:column;gap:1.5rem;display:flex}.contact-text{color:hsl(var(--muted-foreground));max-width:37.5rem;font-size:.875rem;line-height:1.75}.contact-link{color:#3080ff;color:lab(54.1736% 13.3369 -74.6839);text-underline-offset:4px;text-decoration:underline;transition:opacity .2s}.contact-link:hover{opacity:.8}.contact-socials{gap:.75rem;display:flex}.social-btn{border-radius:var(--radius-md);border:1px solid hsl(var(--border));width:2.5rem;height:2.5rem;color:hsl(var(--muted-foreground));background-color:hsl(var(--background));justify-content:center;align-items:center;transition:all .2s;display:flex}.social-btn:hover{color:hsl(var(--foreground));background-color:hsl(var(--muted));border-color:hsl(var(--foreground) / .2);transform:translateY(-2px)}@keyframes blurIn{0%{opacity:0;filter:blur(6px);transform:translateY(6px)}to{opacity:1;filter:blur();transform:translateY(0)}}.animate-blur-in{opacity:0;animation:.8s cubic-bezier(.2,.8,.2,1) forwards blurIn}@media (min-width:640px){.hero-title{font-size:3rem}.hero-description{font-size:1rem}.page-container{padding:6rem 1.5rem}.photo-grid{grid-template-columns:repeat(3,1fr)}.exp-company,.exp-date,.exp-description{font-size:.875rem}.projects-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:768px){.main-content{margin-top:0}.photo-grid{grid-template-columns:repeat(4,1fr);grid-auto-rows:120px}.md-row-span-2{grid-row:span 2/span 2}}@media (min-width:1024px){.hero-title{font-size:3.75rem;line-height:1}.hero-description{font-size:1.25rem}}@media (max-width:639px){.dock-inner{gap:.125rem;padding:.25rem .375rem}.dock-item{width:2rem;height:2rem}.dock-item svg{width:16px;height:16px}.dock-separator{height:1.25rem}.hero-flex{flex-direction:column-reverse;align-items:flex-start;gap:1.5rem}.avatar-large{width:5rem;height:5rem}.hackathon-header{flex-direction:column;align-items:flex-start;gap:.25rem}}html.dark .about-text{--tw-prose-body:hsl(var(--muted-foreground));--tw-prose-headings:hsl(var(--foreground));--tw-prose-links:hsl(var(--foreground));--tw-prose-bold:hsl(var(--foreground))}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:hsl(var(--background))}::-webkit-scrollbar-thumb{background:hsl(var(--muted-foreground) / .3);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:hsl(var(--muted-foreground) / .5)}::selection{color:hsl(var(--foreground));background-color:#3080ff33;background-color:lab(54.1736% 13.3369 -74.6839/.2)}.centered-section{flex-direction:column;align-items:center;margin-top:4rem;margin-bottom:4rem;display:flex}.text-center{text-align:center;flex-direction:column;align-items:center;display:flex}.pill-badge{background-color:hsl(var(--foreground));color:hsl(var(--background));border-radius:9999px;margin-bottom:1rem;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.section-title-large{color:hsl(var(--foreground));letter-spacing:-.05em;margin-bottom:1rem;font-size:2.5rem;font-weight:800}.section-subtitle{color:hsl(var(--muted-foreground));max-width:600px;margin-bottom:3rem;font-size:1rem;line-height:1.6}.projects-grid-2x2{grid-template-columns:repeat(2,1fr);gap:1.5rem;width:100%;display:grid}@media (max-width:768px){.projects-grid-2x2{grid-template-columns:1fr}}.project-card-new{background-color:hsl(var(--card));border:1px solid hsl(var(--border) / .5);border-radius:var(--radius-lg);flex-direction:column;height:100%;display:flex;overflow:hidden}.project-img-placeholder{aspect-ratio:16/9;border-bottom:1px solid hsl(var(--border) / .5);width:100%}.project-card-content{flex-direction:column;flex:1;padding:1.25rem;display:flex}.project-title-row{justify-content:space-between;align-items:center;margin-bottom:.25rem;display:flex}.project-title-new{color:hsl(var(--foreground));font-size:1.125rem;font-weight:700}.status-badge{border-radius:9999px;align-items:center;gap:.25rem;padding:.125rem .5rem;font-size:.65rem;font-weight:600;display:inline-flex}.status-badge.published{color:#22c55e;background-color:#22c55e26}.status-badge.draft{color:#f97316;background-color:#f9731626}.project-role{color:hsl(var(--muted-foreground));margin-bottom:.75rem;font-size:.75rem}.project-desc-new{color:hsl(var(--muted-foreground));flex:1;margin-bottom:1.25rem;font-size:.8125rem;line-height:1.6}.project-tags-new{flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem;display:flex}.project-tags-new span{background-color:hsl(var(--muted));color:hsl(var(--foreground));border-radius:4px;padding:.125rem .35rem;font-size:.65rem}.project-actions{gap:.5rem;display:flex}.btn-outline{color:hsl(var(--foreground));background:hsl(var(--background));border:1px solid hsl(var(--border));border-radius:var(--radius-sm);align-items:center;gap:.35rem;padding:.35rem .65rem;font-size:.75rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-outline:hover{background:hsl(var(--muted))}.btn-outline svg{width:12px;height:12px}.pagination{justify-content:center;gap:.5rem;width:100%;margin-top:3rem;display:flex}.page-btn{width:32px;height:32px;color:hsl(var(--foreground));cursor:pointer;background:0 0;border-radius:9999px;justify-content:center;align-items:center;font-size:.875rem;font-weight:600;transition:all .2s;display:inline-flex}.page-btn:hover{background:hsl(var(--muted))}.page-btn.active{background:hsl(var(--foreground));color:hsl(var(--background))}.page-btn svg{width:16px;height:16px}.contact-section{padding-top:4rem;padding-bottom:6rem}.contact-section .pill-badge{margin-bottom:1.5rem;padding:.375rem 1.25rem;font-size:.875rem}.contact-section .section-title-large{letter-spacing:-.05em;margin-bottom:1.5rem;font-size:4rem}.contact-section .section-subtitle{max-width:700px;font-size:1.125rem;line-height:1.7}@media (max-width:768px){.contact-section .section-title-large{font-size:2.5rem}}.hackathon-images{grid-template-columns:repeat(2,1fr);gap:1rem;width:100%;margin-top:1.5rem;display:grid}.hackathon-img{border-radius:var(--radius-md);border:1px solid hsl(var(--border) / .5);object-fit:cover;aspect-ratio:16/9;cursor:pointer;width:100%;height:auto;transition:transform .25s,box-shadow .25s}.hackathon-img:hover{transform:scale(1.03);box-shadow:0 8px 30px #0000004d}.lightbox-image{object-fit:cover;border-radius:var(--radius-md);cursor:default;will-change:transform;z-index:9999;pointer-events:auto;max-width:70vw;max-height:70vh;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 25px 80px #00000080}.footer{text-align:center;color:hsl(var(--muted-foreground));margin-top:2rem;padding:2rem 1.5rem;font-size:.875rem}
