html,body,#root{min-height:100%}html{box-sizing:border-box;overflow-x:clip;scroll-behavior:smooth}*,*:before,*:after{box-sizing:inherit}body{margin:0;overflow-x:clip}@keyframes pulse{0%,to{opacity:.3}50%{opacity:1}}#logomask{background-color:#0a0a0a00;-webkit-mask-image:url(/favicon.svg);mask-image:url(/favicon.svg);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-size:clamp(1800vh,3500%,0vh);mask-size:clamp(1800vh,3500%,0vh)}.hero{min-height:100vh;min-height:100svh;background:#eeede8;padding-top:58px}.section-container{background-color:#fff;padding:80px 40px;display:flex;flex-direction:column;align-items:center;box-sizing:border-box;width:100%}.grain{position:absolute;inset:0;z-index:20;pointer-events:none;opacity:1;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='0.08'/%3E%3C/svg%3E");background-repeat:repeat;background-size:180px 180px;mix-blend-mode:multiply}.tape-band{top:calc(58px + 78vh);background:#111;left:0%;width:100%;position:absolute;height:48px;background:#0a0a0a;overflow:hidden;display:flex;align-items:center;z-index:4;transform-origin:center center}.tape-band:before,.tape-band:after{content:"";position:absolute;left:0;right:0;height:1px;background:#ffffff0f}.tape-band:before{top:0}.tape-band:after{bottom:0}.tape-text{display:inline-block;white-space:nowrap;flex-shrink:0;font-family:IBM Plex Mono,Courier New,monospace;font-size:13px;font-weight:700;color:#ffffffd1;letter-spacing:10px;animation:tapescroll linear infinite;padding-left:0}.tape-band:nth-child(odd) .tape-text{animation-duration:10s}.tape-band:nth-child(2n) .tape-text{animation-duration:13s}.tape-band:nth-child(3) .tape-text{animation-duration:8s}@keyframes tapescroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.hero-content{position:absolute;top:44%;left:24%;transform:translate(-46%,-48%);z-index:8;display:flex;flex-direction:column;align-items:flex-start}.hero-label{font-family:IBM Plex Mono,monospace;font-size:9.5px;letter-spacing:6px;color:#888;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:12px}.hero-label:before{content:"";display:block;width:36px;height:1px;background:#ccc}.hero-name{font-family:Bebas Neue,Arial Black,sans-serif;font-size:clamp(88px,13vw,168px);line-height:.88;color:#0a0a0a;letter-spacing:-1px}.hero-name-outline{color:transparent;-webkit-text-stroke:2px #0a0a0a;font-family:Bebas Neue,Arial Black,sans-serif;font-size:clamp(88px,13vw,168px);line-height:.88;display:block;letter-spacing:-1px}.hero-tags{display:flex;align-items:center;gap:10px;margin-top:18px}.hero-tag{font-family:IBM Plex Mono,monospace;font-size:9px;letter-spacing:4px;text-transform:uppercase;border:1px solid #0a0a0a;padding:5px 12px;color:#0a0a0a}.hero-tag.filled{background:#0a0a0a;color:#eeede8}.hero-image{left:59%;position:absolute;right:0%;top:41%;transform:translateY(-50%);width:65vh;height:67vh;z-index:5;will-change:transform}.hero-index{position:fixed;bottom:16px;left:44px;z-index:10;font-family:IBM Plex Mono,monospace;font-size:9px;color:#aaa;letter-spacing:3px;text-transform:uppercase}.hero-scroll{position:fixed;bottom:16px;right:44px;z-index:10;font-family:IBM Plex Mono,monospace;font-size:9px;color:#aaa;letter-spacing:4px;text-transform:uppercase;display:flex;align-items:center;gap:14px}.scroll-line{width:44px;height:1px;background:#bbb;transform-origin:left center;animation:linepulse 2s ease-in-out infinite}.box{border:1px solid #0a0a0a;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:15px;padding:40px;box-sizing:border-box;color:#fff}.box .subtitle{margin:0}.aboutme{margin-left:20%;width:89%;height:50%;opacity:0;position:absolute;z-index:100;pointer-events:none;top:35%;left:-15%}.aboutme p{font-family:Space Grotesk,Arial,sans-serif;font-size:1.1rem;line-height:1.5;color:#0a0a0a;margin:0}.subtitle{font-family:Bebas Neue,Arial Black,sans-serif;font-size:clamp(32px,5vw,88px);line-height:.88;color:#0a0a0a;letter-spacing:-1px;margin-top:-300px}.projects{width:95%;height:auto}@keyframes linepulse{0%,to{width:44px}50%{width:28px}}@media(max-width:768px){.section-container{padding:40px 20px}.box{padding:25px}.hero-image{display:none}.hero-content{top:50%;left:50%;transform:translate(-50%,-50%);width:90%}.hero-name,.hero-name-outline{font-size:70px}.hero-label:before{display:none}.hero-tags{flex-wrap:wrap;justify-content:center}.aboutme{height:auto;width:90%;margin-left:0;left:5%;padding:25px}.aboutme p{font-size:.95rem}.subtitle{margin-top:-150px}.hero-index,.hero-scroll{display:none}}.navbar{position:fixed;top:0;left:0;right:0;z-index:200;height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 44px;background:#0a0a0a;border-bottom:1px solid #1e1e1e}.nav-logo{font-family:Bebas Neue,Arial Black,sans-serif;font-size:28px;letter-spacing:6px;color:#eeede8;display:flex;align-items:center;gap:2px}.nav-logo em{color:#444;font-style:normal}.nav-links{display:flex;align-items:center;gap:38px;position:absolute;left:49%;transform:translate(-50%);margin:0}.nav-links a{font-family:IBM Plex Mono,Courier New,monospace;font-size:9.5px;letter-spacing:3.5px;text-transform:uppercase;color:#eeede8;opacity:.15;transition:opacity .25s;position:relative;text-decoration:none}.nav-links a:hover{opacity:1}@media(max-width:768px){.navbar{padding:0 10px;justify-content:center}.nav-logo{display:none}.nav-links{position:static;transform:none;margin:0;padding:0;gap:15px}.nav-links a{font-size:8.5px;letter-spacing:1.5px}}.project-card{border:1px solid #0a0a0a;padding:30px;display:flex;flex-direction:column;gap:15px;background-color:transparent;position:relative;text-decoration:none;color:#0a0a0a;overflow:hidden}.project-header{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.project-title{font-family:Bebas Neue,sans-serif;font-size:clamp(1.8rem,6vw,2.5rem);letter-spacing:2px;margin:0;color:#0a0a0a}.project-icon{width:28px;height:28px;fill:currentColor;opacity:.8}.project-description{font-family:Space Grotesk,sans-serif;font-size:1rem;line-height:1.5;color:#333;margin:0;flex-grow:1}.project-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.project-tag{font-family:IBM Plex Mono,monospace;font-size:.8rem;padding:4px 10px;border:1px solid currentColor;border-radius:20px;display:flex;align-items:center;gap:6px;letter-spacing:.5px}.tag-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;width:100%;margin-top:30px}.stack-card{border:1px solid #0a0a0a;padding:30px;display:flex;flex-direction:column;gap:20px;background-color:transparent;color:#0a0a0a;position:relative;overflow:hidden}.stack-title{font-family:Bebas Neue,sans-serif;font-size:clamp(1.8rem,6vw,2.5rem);letter-spacing:2px;margin:0;color:#0a0a0a}.stack-items{display:flex;flex-wrap:wrap;gap:15px}.stack-item{display:flex;align-items:center;gap:8px;font-family:IBM Plex Mono,monospace;font-size:.9rem;border:1px solid currentColor;padding:6px 14px;border-radius:20px}.stack-icon{display:flex;align-items:center;justify-content:center;font-size:1.2rem}.stack-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;width:100%;margin-top:30px}
