@import "https://fonts.googleapis.com/css2?family=Space+Grotesk:wght@300;400;500;600;700&family=Inter:ital,wght@0,300;0,400;0,500;0,600;1,400&display=swap";:root{--bg:#060000;--surface:#0c0404;--surface-2:#130606;--border:#2a1010;--text:#ede8e8;--muted:#7a5a5a;--accent:#ef4444;--accent-dim:#ef44441f;--accent-2:#7f1d1d;--r:12px;--r-sm:8px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:76px}body{background:var(--bg);color:var(--text);font-family:Inter,sans-serif;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}.btn{border-radius:var(--r-sm);cursor:pointer;letter-spacing:.03em;border:none;align-items:center;gap:.5rem;padding:.75rem 1.875rem;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600;transition:transform .25s,box-shadow .25s,background .25s,border-color .25s,color .25s;display:inline-flex}.btn-primary{background:var(--accent);color:#1a0000}.btn-primary:hover{box-shadow:0 10px 30px var(--accent-dim);background:#f87171;transform:translateY(-2px)}.btn-outline{color:var(--text);border:1px solid var(--border);background:0 0}.btn-outline:hover{border-color:var(--accent);color:var(--accent);transform:translateY(-2px)}section{padding:6.5rem 2rem}.container{max-width:1100px;margin:0 auto}.eyebrow{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);margin-bottom:.75rem;font-size:.72rem;font-weight:700;display:inline-block}.sec-title{letter-spacing:-.025em;margin-bottom:1.25rem;font-family:Space Grotesk,sans-serif;font-size:clamp(2rem,5vw,3.25rem);font-weight:700;line-height:1.08}.sec-desc{color:var(--muted);max-width:600px;margin-bottom:3.75rem;line-height:1.85}.reveal{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(28px)}.reveal.visible{opacity:1;transform:translateY(0)}.nav{z-index:200;justify-content:space-between;align-items:center;padding:1.375rem 3rem;transition:padding .3s,background .3s,border .3s;display:flex;position:fixed;top:0;left:0;right:0}.nav.scrolled{-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border);background:#060000e6;padding:.875rem 3rem}.nav-brand{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);font-family:Space Grotesk,sans-serif;font-size:1.15rem;font-weight:700}.nav-links{gap:2.25rem;list-style:none;display:flex}.nav-links a{letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-size:.82rem;font-weight:500;transition:color .2s}.nav-links a:hover,.nav-links .nav-active{color:var(--text)}.nav-overlay .nav-active{color:var(--accent)}.nav-burger{cursor:pointer;background:0 0;border:none;flex-direction:column;gap:5px;padding:4px;display:none}.nav-burger span{background:var(--text);border-radius:2px;width:24px;height:2px;display:block}.nav-overlay{z-index:199;background:#060000f7;flex-direction:column;justify-content:center;align-items:center;gap:2.75rem;display:none;position:fixed;inset:0}.nav-overlay.open{display:flex}.nav-overlay a{text-transform:uppercase;letter-spacing:.08em;color:var(--text);font-family:Space Grotesk,sans-serif;font-size:2.2rem;font-weight:700;transition:color .2s}.nav-overlay a:hover{color:var(--accent)}.nav-overlay-close{color:var(--muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .2s;position:absolute;top:1.5rem;right:2.5rem}.nav-overlay-close:hover{color:var(--text)}.hero{justify-content:center;align-items:center;min-height:100vh;padding:7rem 2rem 5rem;display:flex;position:relative;overflow:hidden}.hero-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:absolute;inset:0}.hero-dots{pointer-events:none;z-index:1;background-image:radial-gradient(circle,#ffffff0f 1px,#0000 1px);background-size:32px 32px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(80% 75%,#000 25%,#0000 100%);mask-image:radial-gradient(80% 75%,#000 25%,#0000 100%)}.hero-vignette{pointer-events:none;z-index:2;background:radial-gradient(85% 70%,#0000 35%,#060000bf 100%);position:absolute;inset:0}.hero-inner{z-index:3;text-align:center;max-width:780px;position:relative}.badge{background:var(--accent-dim);color:var(--accent);letter-spacing:.06em;border:1px solid #ef444459;border-radius:100px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.35rem 1.1rem;font-size:.78rem;font-weight:600;animation:.6s both fadeUp;display:inline-flex}.badge-dot{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite blink}@keyframes blink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}.hero-name{letter-spacing:-.03em;margin-bottom:.875rem;font-family:Space Grotesk,sans-serif;font-size:clamp(3.5rem,10vw,7rem);font-weight:700;line-height:1;animation:.6s .1s both fadeUp}.hero-name .hi{color:var(--muted);margin-bottom:.25em;font-size:.45em;display:block}.hero-name .accent{color:var(--accent)}.hero-sub{color:var(--muted);letter-spacing:.02em;margin-bottom:1.5rem;font-family:Space Grotesk,sans-serif;font-size:clamp(1rem,2.5vw,1.4rem);font-weight:400;animation:.6s .2s both fadeUp}.hero-desc{color:var(--muted);max-width:560px;margin:0 auto 2.75rem;font-size:.975rem;line-height:1.85;animation:.6s .3s both fadeUp}.hero-ctas{flex-wrap:wrap;justify-content:center;gap:.875rem;margin-bottom:3rem;animation:.6s .4s both fadeUp;display:flex}.hero-socials{justify-content:center;gap:1rem;animation:.6s .5s both fadeUp;display:flex}.hero-socials a{border:1px solid var(--border);border-radius:var(--r-sm);width:44px;height:44px;color:var(--muted);justify-content:center;align-items:center;font-size:.95rem;transition:all .25s;display:flex}.hero-socials a:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim);transform:translateY(-2px)}@keyframes fadeUp{0%{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}#about{background:var(--surface)}.about-grid{grid-template-columns:380px 1fr;align-items:start;gap:5.5rem;display:grid}.photo-frame{border-radius:calc(var(--r) + 3px);position:relative}.photo-frame:before{content:"";border-radius:calc(var(--r) + 3px);background:linear-gradient(135deg, var(--accent), var(--accent-2));z-index:0;opacity:.75;position:absolute;inset:-3px}.photo-frame img{z-index:1;border-radius:var(--r);aspect-ratio:4/5;object-fit:cover;object-position:top;width:100%;position:relative}.photo-frame:after{content:"";border:2px solid var(--accent);border-radius:var(--r);opacity:.25;z-index:0;width:130px;height:130px;position:absolute;bottom:-24px;right:-24px}.about-text{color:var(--muted);margin-bottom:1.25rem;font-size:.96rem;line-height:1.9}.skills-block{margin-top:2.75rem}.skills-head{color:var(--text);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:.875rem;margin-bottom:1rem;font-family:Space Grotesk,sans-serif;font-size:.82rem;font-weight:600;display:flex}.skills-head:after{content:"";background:var(--border);flex:1;height:1px}.chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.75rem;display:flex}.chip{background:var(--surface-2);border:1px solid var(--border);color:var(--text);cursor:default;border-radius:100px;padding:.32rem .9rem;font-size:.8rem;font-weight:500;transition:border-color .2s,color .2s,background .2s}.chip:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-dim)}#projects{background:var(--bg)}.cards{grid-template-columns:repeat(auto-fill,minmax(310px,1fr));gap:1.5rem;display:grid}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r);flex-direction:column;transition:transform .3s,border-color .3s,box-shadow .3s;display:flex;overflow:hidden}.card:hover{border-color:var(--accent);box-shadow:0 24px 60px #0009, 0 0 0 1px var(--accent-dim);transform:translateY(-5px)}.card-img{object-fit:cover;width:100%;height:195px}.card-placeholder{background:var(--surface-2);width:100%;height:195px;color:var(--border);justify-content:center;align-items:center;font-size:2.75rem;display:flex}.card-body{flex-direction:column;flex:1;padding:1.5rem;display:flex}.card-tags{flex-wrap:wrap;gap:.35rem;margin-bottom:.875rem;display:flex}.tag{background:var(--surface-2);border:1px solid var(--border);color:var(--accent);letter-spacing:.05em;border-radius:100px;padding:.18rem .65rem;font-size:.7rem;font-weight:700}.card-title{color:var(--text);margin-bottom:.625rem;font-family:Space Grotesk,sans-serif;font-size:1.15rem;font-weight:700}.card-desc{color:var(--muted);flex:1;margin-bottom:1.25rem;font-size:.865rem;line-height:1.75}.card-links{gap:.875rem;display:flex}.clink{color:var(--accent);border-bottom:1px solid #0000;align-items:center;gap:.35rem;padding-bottom:2px;font-size:.82rem;font-weight:600;transition:border-color .2s;display:inline-flex}.clink:hover{border-bottom-color:var(--accent)}#contact{background:var(--surface)}.contact-wrap{max-width:680px;margin:0 auto}.contact-card{background:var(--surface-2);border:1px solid var(--border);border-radius:var(--r);padding:3rem}.contact-items{flex-direction:column;gap:1.125rem;display:flex}.citem{background:var(--surface);border:1px solid var(--border);border-radius:var(--r-sm);color:var(--text);align-items:center;gap:1.25rem;padding:1.125rem 1.25rem;transition:border-color .25s,color .25s,transform .25s;display:flex}.citem:hover{border-color:var(--accent);color:var(--accent);transform:translate(5px)}.citem-icon{background:var(--accent-dim);border-radius:var(--r-sm);width:44px;height:44px;color:var(--accent);flex-shrink:0;justify-content:center;align-items:center;font-size:1.05rem;display:flex}.citem-info{flex:1}.citem-label{letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:.2rem;font-size:.68rem;font-weight:700}.citem-value{font-size:.93rem;font-weight:500}.citem-arrow{color:var(--muted);transition:transform .25s,color .25s}.citem:hover .citem-arrow{color:var(--accent);transform:translate(4px)}footer{background:var(--bg);border-top:1px solid var(--border);text-align:center;padding:2.5rem 2rem}.foot-brand{color:var(--accent);letter-spacing:.12em;text-transform:uppercase;margin-bottom:.5rem;font-family:Space Grotesk,sans-serif;font-size:1rem;font-weight:700}.foot-copy{color:var(--muted);font-size:.78rem}@media (width<=900px){.about-grid{grid-template-columns:1fr;gap:3.5rem}.photo-frame{max-width:300px}}@media (width<=640px){.nav{padding:1.125rem 1.375rem}.nav.scrolled{padding:.75rem 1.375rem}.nav-links{display:none}.nav-burger{display:flex}section{padding:4.5rem 1.25rem}.contact-card{padding:2rem 1.375rem}}.plasma-container{width:100%;height:100%;position:relative;overflow:hidden}
