@font-face{font-family:Bebas Neue;font-style:normal;font-weight:400;font-display:block;src:url(../media/2039e8342bda6056-s.0h2amv7e1wlhq.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:Bebas Neue;font-style:normal;font-weight:400;font-display:block;src:url(../media/fabcf92ba1ccea36-s.p.0lwj123ije5i..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:Bebas Neue Fallback;src:local(Arial);ascent-override:117.32%;descent-override:39.11%;line-gap-override:0.0%;size-adjust:76.72%}.bebas_neue_3a02b932-module__vWt8QG__className{font-family:Bebas Neue,Bebas Neue Fallback;font-style:normal;font-weight:400}.bebas_neue_3a02b932-module__vWt8QG__variable{--font-display:"Bebas Neue", "Bebas Neue Fallback"}
@font-face{font-family:DM Sans;font-style:normal;font-weight:100 1000;font-display:block;src:url(../media/c3cb240f9c892514-s.163v2i5cux7-c.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:DM Sans;font-style:normal;font-weight:100 1000;font-display:block;src:url(../media/5c285b27cdda1fe8-s.p.0yo6-5yoeeudq.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:DM Sans Fallback;src:local(Arial);ascent-override:94.9%;descent-override:29.66%;line-gap-override:0.0%;size-adjust:104.53%}.dm_sans_1ca613c2-module__VaNlhW__className{font-family:DM Sans,DM Sans Fallback;font-style:normal}.dm_sans_1ca613c2-module__VaNlhW__variable{--font-body:"DM Sans", "DM Sans Fallback"}
@font-face{font-family:DM Mono;font-style:normal;font-weight:400;font-display:block;src:url(../media/b12e986493c137cf-s.0unhoe1q6hp6-.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:DM Mono;font-style:normal;font-weight:400;font-display:block;src:url(../media/36363bfb06833f56-s.p.0-pny06~-x26a.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:DM Mono;font-style:normal;font-weight:500;font-display:block;src:url(../media/b2fa3ef4ca165ab4-s.0cnogfwvi2_o-.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:DM Mono;font-style:normal;font-weight:500;font-display:block;src:url(../media/a73419dd2ba2d841-s.p.0x-0vqtj_fzf1.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:DM Mono Fallback;src:local(Arial);ascent-override:73.71%;descent-override:23.03%;line-gap-override:0.0%;size-adjust:134.59%}.dm_mono_17107cf9-module__glYmFG__className{font-family:DM Mono,DM Mono Fallback;font-style:normal}.dm_mono_17107cf9-module__glYmFG__variable{--font-mono:"DM Mono", "DM Mono Fallback"}
:root{--black:#0a0a0a;--white:#f5f2ed;--yellow:#e8c84a;--gray:#888;--light:#f0ede8;--mid:#1a1a1a;--border:#ffffff14}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:var(--font-body), "DM Sans", sans-serif;background:var(--black);color:var(--white);cursor:none;overflow-x:hidden}button,a{font:inherit}nav,footer,section,main{position:relative}ul{list-style:none}.cursor,.cursor-follower{pointer-events:none;z-index:99999;mix-blend-mode:difference;transition:transform .2s,opacity .2s;position:fixed;top:0;left:0}.cursor{background:var(--yellow);border-radius:50%;width:12px;height:12px;transform:translate(-50%,-50%)scale(1)}.cursor-follower{border:1.5px solid var(--yellow);opacity:.5;border-radius:50%;width:40px;height:40px;transform:translate(-50%,-50%)scale(1)}.cursor-hover{transform:translate(-50%,-50%)scale(2)}.cursor-follower-hover{transform:translate(-50%,-50%)scale(1.5)}nav{z-index:100;mix-blend-mode:difference;opacity:0;justify-content:space-between;align-items:center;padding:1.5rem 4rem;animation:1s .8s forwards fadeIn;display:flex;position:fixed;top:0;left:0;right:0}.nav-logo{font-family:var(--font-display), "Bebas Neue", sans-serif;letter-spacing:.1em;color:var(--white);font-size:1.4rem;text-decoration:none}.nav-links{gap:2.5rem;display:flex}.nav-links a{color:var(--white);letter-spacing:.05em;text-transform:uppercase;opacity:.7;font-size:.85rem;font-weight:500;text-decoration:none;transition:opacity .2s}.nav-links a:hover{opacity:1}.hero{background:radial-gradient(circle at 50% 10%, #ffea7a 0%, var(--white) 50%);min-height:100vh;color:var(--black);padding:0 4rem;position:relative;overflow:hidden}.hero-title-bg{font-family:var(--font-display), "Bebas Neue", cursive;color:var(--black);white-space:nowrap;z-index:1;letter-spacing:-.02em;opacity:0;margin:0;font-size:clamp(4rem,11vw,14rem);line-height:.8;position:absolute;top:18vh;left:50%;transform:translate(-50%)}.fonts-loaded .hero-title-bg{animation:1s forwards fadeUpCenter}.hero-content-layer{z-index:2;pointer-events:none;position:absolute;inset:0}.hero-left-text,.hero-right-text{opacity:0;pointer-events:auto;max-width:250px;font-size:.95rem;font-weight:500;line-height:1.6;position:absolute;top:55%;transform:translateY(-50%)}.fonts-loaded .hero-left-text,.fonts-loaded .hero-right-text{animation:1s .4s forwards fadeUpYCenter}.hero-left-text{text-align:left;left:4rem}.hero-right-text{text-align:right;right:4rem}.hero-image-wrapper{opacity:0;pointer-events:auto;justify-content:center;align-items:flex-end;width:100%;max-width:550px;height:80vh;display:flex;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.fonts-loaded .hero-image-wrapper{animation:1.2s .2s forwards fadeUpCenter}.hero-image{object-fit:contain;object-position:bottom;filter:grayscale()drop-shadow(0 20px 40px #00000026);opacity:0;pointer-events:none;width:auto;max-width:100%;height:auto;max-height:100%;transition:filter .4s;position:absolute;bottom:0;left:50%;transform:translate(-50%)}.hero-image.active{opacity:1;pointer-events:auto}.hero-image:hover{filter:grayscale(0)drop-shadow(0 20px 40px #00000026)}.hero-bottom-row{z-index:3;font-family:var(--font-mono), "DM Mono", monospace;text-transform:uppercase;opacity:0;pointer-events:auto;justify-content:space-between;align-items:flex-end;font-size:.85rem;font-weight:500;display:flex;position:absolute;bottom:2.5rem;left:4rem;right:4rem}.fonts-loaded .hero-bottom-row{animation:1s .6s forwards fadeUp}.hero-bottom-left,.hero-bottom-right{color:var(--black);align-items:center;gap:.5rem;text-decoration:none;display:flex}.hero-bottom-right{mix-blend-mode:difference;color:var(--white)}.hero-bottom-right .arrow{font-size:1.1rem}.marquee-section{background:var(--yellow);white-space:nowrap;opacity:0;padding:1.2rem 0;animation:1s .5s forwards fadeIn;overflow:hidden}.marquee-track{font-family:var(--font-display), "Bebas Neue", sans-serif;letter-spacing:.1em;color:var(--black);font-size:1.1rem;animation:25s linear infinite marquee;display:inline-flex}.marquee-track span{padding:0 1rem}.marquee-track .dot{color:#0000004d;padding:0 .5rem}.section-label{font-family:var(--font-mono), "DM Mono", monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--gray);margin-bottom:4rem;font-size:.75rem}.section-label.gold{color:var(--yellow)}.section-big{font-family:var(--font-display), "Bebas Neue", sans-serif;margin-top:.5rem;font-size:clamp(3rem,6vw,5rem);line-height:1}.about{background:var(--light);color:var(--black);padding:8rem 4rem}.about-grid{grid-template-columns:1fr 1fr;align-items:start;gap:6rem;display:grid}.about-heading{font-family:var(--font-display), "Bebas Neue", sans-serif;font-size:clamp(3rem,6vw,6rem);line-height:1}.about-heading em{color:#aaa;font-style:normal}.about-right p{color:#333;margin-bottom:1.5rem;font-size:1rem;font-weight:300;line-height:1.85}.about-right strong{color:var(--black);font-weight:600}.about-pillars{grid-template-columns:repeat(2,1fr);gap:1rem;margin-top:2rem;display:grid}.pillar{border-left:3px solid var(--black);background:#e8e5e0;border-radius:4px;padding:1.25rem}.pillar-title{margin-bottom:.3rem;font-size:.85rem;font-weight:700}.pillar-desc{color:#666;font-size:.78rem;line-height:1.5}.about-stats{border-top:1px solid #0000001a;grid-template-columns:repeat(4,1fr);gap:2rem;margin-top:5rem;padding-top:3rem;display:grid}.stat-num{font-family:var(--font-display), "Bebas Neue", sans-serif;color:var(--black);font-size:3.5rem;line-height:1}.stat-num span{color:#888;font-size:2rem}.stat-label{color:#666;letter-spacing:.05em;text-transform:uppercase;margin-top:.5rem;font-size:.78rem}.projects{background:var(--black);padding:8rem 4rem}.projects-heading{font-family:var(--font-display), "Bebas Neue", sans-serif;letter-spacing:-.02em;margin-bottom:5rem;font-size:clamp(4rem,12vw,13rem);line-height:.85}.projects-heading span{color:#0000;-webkit-text-stroke:1px #f5f2ed33}.projects-list{background:var(--border);flex-direction:column;gap:1px;display:flex}.project-row{background:var(--black);color:var(--white);grid-template-columns:80px 1fr 1fr auto;align-items:center;gap:3rem;padding:2.5rem 2rem;text-decoration:none;transition:background .3s;display:grid;position:relative;overflow:hidden}.project-row:before{content:"";background:var(--yellow);transform-origin:bottom;width:3px;transition:transform .3s;position:absolute;top:0;bottom:0;left:0;transform:scaleY(0)}.project-row:hover{background:var(--mid)}.project-row:hover:before{transform:scaleY(1)}.project-num{font-family:var(--font-display), "Bebas Neue", sans-serif;color:#ffffff14;font-size:3rem;line-height:1;transition:color .3s}.project-row:hover .project-num{color:var(--yellow)}.project-tag{font-family:var(--font-mono), "DM Mono", monospace;letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);margin-bottom:.4rem;font-size:.68rem}.project-name{margin-bottom:.3rem;font-size:1.3rem;font-weight:700}.project-problem{color:var(--gray);font-size:.82rem;font-style:italic;line-height:1.5}.project-detail{color:#f5f2ed99;font-size:.85rem;line-height:1.7}.project-arrow{color:var(--gray);font-size:1.5rem;transition:transform .2s,color .2s}.project-row:hover .project-arrow{color:var(--yellow);transform:translate(6px)}.project-modal-overlay{-webkit-backdrop-filter:blur(12px);z-index:10000;opacity:0;pointer-events:auto;background:#0a0a0ad9;justify-content:center;align-items:center;padding:2rem;animation:.4s forwards fadeInModal;display:flex;position:fixed;inset:0}.project-modal-content{background:var(--mid);border:1px solid var(--border);border-radius:16px;width:100%;max-width:900px;max-height:90vh;animation:.5s cubic-bezier(.2,.8,.2,1) forwards scaleUpModal;position:relative;overflow-y:auto;transform:translateY(40px)scale(.95);box-shadow:0 25px 50px -12px #00000080}.project-modal-content::-webkit-scrollbar{width:8px}.project-modal-content::-webkit-scrollbar-track{background:var(--mid);border-radius:0 16px 16px 0}.project-modal-content::-webkit-scrollbar-thumb{background:#fff3;border-radius:4px}.project-modal-content::-webkit-scrollbar-thumb:hover{background:#ffffff4d}.project-modal-close{color:var(--white);cursor:pointer;z-index:10;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.5rem;transition:all .2s;display:flex;position:absolute;top:1.5rem;right:1.5rem}.project-modal-close:hover{background:var(--yellow);color:var(--black);transform:rotate(90deg)}.project-modal-header{border-bottom:1px solid var(--border);padding:3rem 3rem 2rem}.project-modal-tag{font-family:var(--font-mono), "DM Mono", monospace;letter-spacing:.15em;text-transform:uppercase;color:var(--yellow);margin-bottom:1rem;font-size:.75rem}.project-modal-title{font-family:var(--font-display), "Bebas Neue", sans-serif;font-size:clamp(2.5rem,6vw,4rem);line-height:1}.project-modal-body{gap:3rem;padding:3rem;display:grid}.project-modal-image-placeholder{background:var(--black);aspect-ratio:16/9;border:1px dashed #fff3;border-radius:12px;justify-content:center;align-items:center;width:100%;display:flex;position:relative;overflow:hidden}.project-modal-image-placeholder:after{content:"";background:linear-gradient(90deg,#0000,#ffffff0d,#0000);width:50%;height:100%;animation:3s infinite shimmer;position:absolute;top:0;left:-100%}.project-modal-image-placeholder .placeholder-text{font-family:var(--font-mono), "DM Mono", monospace;color:var(--gray);letter-spacing:.1em;text-transform:uppercase;font-size:.85rem}.project-modal-media-collage{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;display:grid}.project-modal-media-collage:has(>:nth-child(3):last-child){grid-template-columns:60% 1fr;grid-auto-rows:minmax(120px,200px)}.project-modal-media-collage:has(>:nth-child(3):last-child) .collage-item-1{grid-row:span 2;height:100%}:is(.project-modal-media-collage:has(>:nth-child(3):last-child) .collage-item-2,.project-modal-media-collage:has(>:nth-child(3):last-child) .collage-item-3){height:100%}.collage-item{cursor:pointer;border:1px solid var(--border);background:var(--black);border-radius:12px;padding:0;transition:transform .3s,border-color .3s,box-shadow .3s;display:block;position:relative;overflow:hidden}.collage-item:not(.collage-item-1),.collage-item-1{aspect-ratio:16/10}.project-modal-media-collage:has(>:nth-child(3):last-child) .collage-item-1{aspect-ratio:auto}.collage-item:hover{z-index:2;border-color:#ffffff4d;transform:translateY(-4px)scale(1.02);box-shadow:0 10px 30px -10px #000c}.collage-item img{object-fit:cover;object-position:top center;width:100%;height:100%;transition:transform .5s}.collage-item:hover img{transform:scale(1.05)}.project-modal-info{grid-template-columns:1fr 1fr;gap:3rem;display:grid}.project-modal-section h4{font-family:var(--font-display), "Bebas Neue", sans-serif;letter-spacing:.05em;color:var(--yellow);margin-bottom:1rem;font-size:1.5rem}.project-modal-section p{color:#f5f2edcc;font-size:.95rem;font-weight:300;line-height:1.8}.project-modal-footer{background:var(--black);border-top:1px solid var(--border);justify-content:flex-end;padding:2rem 3rem;display:flex}.project-modal-link{background:var(--yellow);color:var(--black);letter-spacing:.05em;text-transform:uppercase;border-radius:100px;align-items:center;gap:.75rem;padding:1rem 2.5rem;font-size:.9rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex}.project-modal-link:hover{background:var(--white);transform:translateY(-2px)}@keyframes fadeInModal{0%{opacity:0}to{opacity:1}}@keyframes scaleUpModal{0%{opacity:0;transform:translateY(40px)scale(.95)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes shimmer{to{left:200%}}.lightbox-overlay{-webkit-backdrop-filter:blur(15px);z-index:100000;opacity:0;pointer-events:none;background:#000000f2;justify-content:center;align-items:center;padding:2rem;animation:.3s forwards fadeInModal;display:flex;position:fixed;inset:0}.lightbox-overlay.active{opacity:1;pointer-events:auto}.lightbox-close{color:var(--white);cursor:pointer;z-index:10;background:#ffffff1a;border:none;border-radius:50%;justify-content:center;align-items:center;width:50px;height:50px;font-size:2rem;transition:all .2s;display:flex;position:absolute;top:2rem;right:2rem}.lightbox-close:hover{background:var(--yellow);color:var(--black);transform:rotate(90deg)}.lightbox-image{object-fit:contain;border-radius:8px;max-width:95vw;max-height:90vh;animation:.4s cubic-bezier(.2,.8,.2,1) forwards scaleUpModal;transform:scale(.95);box-shadow:0 25px 50px -12px #00000080}@media (max-width:900px){.project-modal-overlay{padding:1rem}.project-modal-header{padding:2rem 1.5rem 1.5rem}.project-modal-body{gap:2rem;padding:1.5rem}.project-modal-info{grid-template-columns:1fr;gap:2rem}.project-modal-footer{justify-content:center;padding:1.5rem}.project-modal-close{width:32px;height:32px;font-size:1.2rem;top:1rem;right:1rem}}.skills{background:var(--mid);padding:8rem 4rem}.skills-intro{grid-template-columns:1fr 1fr;align-items:end;gap:6rem;margin-bottom:5rem;display:grid}.skills-desc{color:var(--gray);font-size:1rem;font-weight:300;line-height:1.8}.skills-grid{grid-template-columns:repeat(3,1fr);gap:1.5rem;display:grid}.skill-category{background:var(--black);border:1px solid var(--border);border-radius:4px;padding:2rem;transition:border-color .3s,transform .3s}.skill-category:hover{border-color:#e8c84a66;transform:translateY(-4px)}.skill-cat-icon{align-items:center;margin-bottom:1.2rem;display:flex}.skill-cat-icon img{object-fit:contain;width:35px;height:35px}.skill-cat-title{letter-spacing:.12em;text-transform:uppercase;color:var(--yellow);font-size:.72rem;font-weight:700;font-family:var(--font-mono), "DM Mono", monospace;margin-bottom:1rem}.skill-tags{flex-wrap:wrap;gap:.5rem;display:flex}.skill-tag{color:#f5f2edb3;border:1px solid var(--border);background:#ffffff0d;border-radius:2rem;padding:.3rem .7rem;font-size:.78rem}.community{background:var(--yellow);color:var(--black);padding:8rem 4rem}.community-inner{grid-template-columns:1fr 1fr;align-items:center;gap:6rem;display:grid}.community-left h2{font-family:var(--font-display), "Bebas Neue", sans-serif;margin-bottom:1.5rem;font-size:clamp(3rem,5vw,5rem);line-height:1}.community-left p{color:#0009;margin-bottom:1rem;font-size:1rem;font-weight:300;line-height:1.8}.community-cards{flex-direction:column;gap:1rem;display:flex}.community-card{background:#00000014;border-radius:4px;align-items:flex-start;gap:1.25rem;padding:1.5rem 1.75rem;transition:background .2s;display:flex}.community-card:hover{background:#00000026}.community-card-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;display:flex}.community-card-icon img{object-fit:contain;width:30px;height:30px}.community-card-title{margin-bottom:.3rem;font-size:.95rem;font-weight:700}.community-card-desc{color:#0000008c;font-size:.82rem;line-height:1.6}.experience{background:var(--light);color:var(--black);padding:8rem 4rem}.exp-list{margin-top:4rem}.exp-item{border-top:1px solid #0000001a;grid-template-columns:200px 1fr auto;align-items:start;gap:3rem;padding:2.5rem 0;display:grid}.exp-period{font-family:var(--font-mono), "DM Mono", monospace;color:#888;letter-spacing:.05em;padding-top:.3rem;font-size:.78rem}.exp-company{color:var(--black);margin-bottom:.25rem;font-size:1.2rem;font-weight:700}.exp-role{color:#555;margin-bottom:.75rem;font-size:.88rem;font-style:italic}.exp-detail{color:#666;font-size:.85rem;line-height:1.7}.exp-arrow{color:#ccc;padding-top:.3rem;font-size:1.2rem;transition:transform .2s,color .2s}.exp-item:hover .exp-arrow{color:var(--black);transform:translate(4px)}.recognition{background:var(--black);padding:8rem 4rem}.rec-grid{background:var(--border);grid-template-columns:repeat(4,1fr);gap:1px;margin-top:4rem;display:grid}.rec-card{background:var(--black);padding:3rem 2rem;transition:background .3s}.rec-card:hover{background:var(--mid)}.rec-num{font-family:var(--font-display), "Bebas Neue", sans-serif;color:var(--yellow);font-size:4rem;line-height:1}.rec-title{margin-top:.75rem;font-size:1rem;font-weight:700}.rec-sub{color:var(--gray);margin-top:.4rem;font-size:.8rem;line-height:1.5}.opensource{background:var(--mid);padding:8rem 4rem}.os-inner{grid-template-columns:1fr 1fr;align-items:start;gap:6rem;display:grid}.os-contributions{flex-direction:column;gap:1rem;margin-top:3rem;display:flex}.os-item{background:var(--black);border-left:2px solid var(--yellow);border-radius:4px;align-items:flex-start;gap:1rem;padding:1.25rem;transition:transform .2s;display:flex}.os-item:hover{transform:translate(4px)}.os-dot{color:var(--yellow);flex-shrink:0;margin-top:.15rem}.os-text{color:#f5f2edbf;font-size:.85rem;line-height:1.6}.os-text strong{color:var(--white);font-weight:600}.os-right{position:sticky;top:8rem}.drips-card{background:var(--black);border:1px solid var(--border);border-radius:8px;margin-top:3rem;padding:2.5rem}.drips-num{font-family:var(--font-display), "Bebas Neue", sans-serif;color:var(--yellow);font-size:5rem;line-height:1}.drips-label{color:var(--gray);letter-spacing:.1em;text-transform:uppercase;margin-top:.5rem;font-size:.8rem}.drips-repos{flex-wrap:wrap;gap:.5rem;margin-top:2rem;display:flex}.repo-tag{font-family:var(--font-mono), "DM Mono", monospace;color:var(--yellow);background:#e8c84a1a;border-radius:2rem;padding:.4rem .8rem;font-size:.75rem}.contact{background:var(--black);text-align:center;padding:8rem 4rem;position:relative;overflow:hidden}.contact:before{content:"LET'S BUILD";font-family:var(--font-display), "Bebas Neue", sans-serif;color:#ffffff05;white-space:nowrap;pointer-events:none;font-size:18vw;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.contact-label{font-family:var(--font-mono), "DM Mono", monospace;letter-spacing:.2em;text-transform:uppercase;color:var(--yellow);margin-bottom:2rem;font-size:.75rem}.contact h2{font-family:var(--font-display), "Bebas Neue", sans-serif;margin-bottom:3rem;font-size:clamp(4rem,10vw,10rem);line-height:.9}.contact-btn{background:var(--yellow);color:var(--black);letter-spacing:.05em;text-transform:uppercase;border-radius:100px;align-items:center;gap:1rem;padding:1.2rem 3rem;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .3s;display:inline-flex}.contact-btn:hover{background:var(--white);transform:scale(1.05)}.contact-links{flex-wrap:wrap;justify-content:center;gap:3rem;margin-top:4rem;display:flex}.contact-link{color:var(--gray);letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;text-decoration:none;transition:color .2s}.contact-link:hover{color:var(--yellow)}footer{background:var(--mid);justify-content:space-between;align-items:center;padding:2rem 4rem;display:flex}.footer-logo{font-family:var(--font-display), "Bebas Neue", sans-serif;letter-spacing:.1em;font-size:1.2rem}.footer-copy{color:var(--gray);font-size:.78rem}.reveal{opacity:0;transition:opacity .8s cubic-bezier(.2,.8,.2,1),transform .8s cubic-bezier(.2,.8,.2,1);transform:translateY(30px)}.reveal.active{opacity:1;transform:translateY(0)}.skill-category.reveal{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(20px)}.skill-category.reveal.active{opacity:1;transform:translateY(0)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeUpCenter{0%{opacity:0;transform:translate(-50%,30px)}to{opacity:1;transform:translate(-50%)}}@keyframes fadeUpYCenter{0%{opacity:0;transform:translateY(calc(30px - 50%))}to{opacity:1;transform:translateY(-50%)}}@keyframes scrollPulse{0%,to{opacity:1}50%{opacity:.3}}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}@media (max-width:900px){nav{padding:1.5rem 2rem}.nav-links{gap:1.2rem}.hero{padding-left:2rem;padding-right:2rem}.hero-title-bg{z-index:0;font-size:clamp(4rem,20vw,8rem);top:auto;bottom:38vh}.hero-left-text{max-width:85%;font-size:.85rem;top:25vh;left:2rem}.hero-right-text{text-align:left;max-width:85%;font-size:.85rem;top:42vh;left:2rem;right:auto}.hero-image-wrapper{z-index:2;max-width:90%;height:50vh}.hero-bottom-row{z-index:4;flex-direction:column;align-items:center;gap:1rem;bottom:1.5rem;left:2rem;right:2rem}.about,.projects,.skills,.community,.experience,.recognition,.opensource,.contact{padding-left:2rem;padding-right:2rem}.about-grid,.skills-intro,.community-inner,.os-inner{grid-template-columns:1fr;gap:3rem}.about-stats{grid-template-columns:repeat(2,1fr)}.about-pillars,.skills-grid{grid-template-columns:1fr}.project-row{grid-template-columns:50px 1fr;gap:1rem}.project-detail,.project-arrow{display:none}.rec-grid{grid-template-columns:repeat(2,1fr)}.exp-item{grid-template-columns:1fr;gap:.5rem}.exp-arrow{display:none}footer{text-align:center;flex-direction:column;gap:1rem}}
