@import "https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&family=DM+Sans:wght@300;400;500;600&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--bg:#0c0a14;--bg-card:#13111f;--bg-card-h:#1a1730;--border:#8b5cf626;--border-h:#8b5cf666;--purple:#8b5cf6;--purple-l:#a78bfa;--purple-d:#6d28d9;--text:#e2d9f3;--muted:#9180b0;--dim:#574672;--radius:16px;--radius-sm:10px;--transition:.25s cubic-bezier(.4, 0, .2, 1)}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;font-family:DM Sans,sans-serif;font-size:16px;line-height:1.65;overflow-x:hidden}a{color:inherit;text-decoration:none}button{cursor:pointer;background:0 0;border:none;font-family:inherit}.bg-orbs{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.orb{filter:blur(70px);border-radius:50%;animation:18s ease-in-out infinite alternate drift;position:absolute}.orb:nth-child(2){animation-duration:22s;animation-delay:-6s}.orb:nth-child(3){animation-duration:26s;animation-delay:-12s}@keyframes drift{0%{transform:translate(0)scale(1)}to{transform:translate(30px,-40px)scale(1.07)}}.app{z-index:1;min-height:100vh;position:relative}main{max-width:900px;margin:0 auto;padding:0 24px}.nav{z-index:100;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--border);background:#0c0a14bf;position:fixed;top:0;left:0;right:0}.nav-progress{background:linear-gradient(90deg, var(--purple-d), var(--purple), var(--purple-l));border-radius:0 2px 2px 0;height:2px;transition:width .1s linear;position:absolute;top:0;left:0}.nav-inner{justify-content:space-between;align-items:center;max-width:900px;height:64px;margin:0 auto;padding:0 24px;display:flex}.nav-brand{color:var(--purple-l);align-items:center;gap:3px;font-family:DM Serif Display,serif;font-size:1.15rem;display:flex}.brand-slash{color:var(--purple);opacity:.8;margin-right:1px;font-family:DM Sans,sans-serif;font-size:1.4rem;font-weight:300;line-height:1}.nav-links{gap:4px;list-style:none;display:flex}.nav-link{color:var(--muted);transition:color var(--transition), background var(--transition);border-radius:8px;padding:6px 14px;font-size:.9rem;font-weight:500}.nav-link:hover{color:var(--text);background:#8b5cf61a}.nav-link.active{color:var(--purple-l);background:#8b5cf61f}.hero{justify-content:space-between;align-items:center;gap:48px;min-height:100vh;padding-top:80px;display:flex}.hero-content{flex:1;max-width:560px}.hero-title{margin-bottom:16px;font-family:DM Serif Display,serif;font-size:clamp(3.2rem,8vw,5.5rem);line-height:1;animation:.6s .1s both fadeUp}.title-line{display:block}.title-line.accent{background:linear-gradient(135deg, var(--purple-l) 0%, #c4b5fd 50%, var(--purple) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:.8em}.hero-sub{letter-spacing:.18em;text-transform:uppercase;color:var(--dim);margin-bottom:20px;font-size:.9rem;font-weight:500;animation:.6s .2s both fadeUp}.hero-desc{color:var(--muted);max-width:460px;margin-bottom:36px;font-size:1.05rem;line-height:1.75;animation:.6s .3s both fadeUp}.hero-cta{flex-wrap:wrap;gap:12px;animation:.6s .4s both fadeUp;display:flex}.btn-primary{background:linear-gradient(135deg, var(--purple-d), var(--purple));color:#fff;transition:transform var(--transition), box-shadow var(--transition), filter var(--transition);border-radius:10px;padding:12px 28px;font-size:.95rem;font-weight:600;box-shadow:0 4px 24px #6d28d959}.btn-primary:hover{filter:brightness(1.1);transform:translateY(-2px);box-shadow:0 8px 32px #8b5cf673}.btn-ghost{border:1px solid var(--border);color:var(--text);transition:border-color var(--transition), background var(--transition), transform var(--transition);background:#8b5cf60f;border-radius:10px;padding:12px 28px;font-size:.95rem;font-weight:500}.btn-ghost:hover{border-color:var(--border-h);background:#8b5cf61f;transform:translateY(-2px)}.hero-visual{flex-shrink:0;animation:.6s .2s both fadeUp}.avatar-ring{background:conic-gradient(from 0deg, var(--purple-d), var(--purple-l), var(--purple), var(--purple-d));border-radius:50%;width:220px;height:220px;padding:4px;animation:8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.avatar-inner{background:var(--bg-card);border-radius:50%;justify-content:center;align-items:center;width:100%;height:100%;animation:8s linear infinite reverse spin;display:flex}.avatar-initials{background:linear-gradient(135deg, var(--purple-l), #c4b5fd);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-family:DM Serif Display,serif;font-size:3rem}.avatar-photo{object-fit:cover;object-position:center top;border-radius:50%;width:100%;height:100%;display:block}.section{padding:100px 0}.section-header{max-width:520px;margin-bottom:56px}.section-label{letter-spacing:.2em;text-transform:uppercase;color:var(--purple);margin-bottom:12px;font-size:.75rem;font-weight:600;display:block}.section-title{color:var(--text);margin-bottom:14px;font-family:DM Serif Display,serif;font-size:clamp(2rem,4vw,2.8rem);line-height:1.1}.section-desc{color:var(--muted);font-size:1rem;line-height:1.7}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:20px;display:grid}.project-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);transition:border-color var(--transition), background var(--transition), transform var(--transition), box-shadow var(--transition);flex-direction:column;gap:12px;padding:28px;display:flex;position:relative;overflow:hidden}.project-card:before{content:"";opacity:0;transition:opacity var(--transition);background:linear-gradient(135deg,#8b5cf60f 0%,#0000 60%);position:absolute;inset:0}.project-card:hover{border-color:var(--border-h);background:var(--bg-card-h);transform:translateY(-4px);box-shadow:0 12px 40px #6d28d933}.project-card:hover:before{opacity:1}.project-card-top{justify-content:space-between;align-items:center;display:flex}.project-icon{font-size:1.6rem;line-height:1}.project-type{letter-spacing:.15em;text-transform:uppercase;color:var(--dim);border:1px solid var(--border);border-radius:100px;padding:4px 10px;font-size:.72rem;font-weight:600}.project-name{color:var(--text);font-family:DM Serif Display,serif;font-size:1.4rem}.project-desc{color:var(--muted);flex:1;font-size:.92rem;line-height:1.65}.project-tags{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.tag{color:var(--purple-l);background:#8b5cf61a;border:1px solid #8b5cf633;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:500}.project-arrow{color:var(--dim);transition:color var(--transition), transform var(--transition);font-size:1.1rem;position:absolute;top:24px;right:24px}.project-card:hover .project-arrow{color:var(--purple-l);transform:translate(3px,-3px)}.socials-grid{flex-direction:column;gap:12px;display:flex}.social-card{border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-card);transition:border-color var(--transition), background var(--transition), transform var(--transition), box-shadow var(--transition);align-items:center;gap:20px;padding:20px 28px;display:flex;position:relative;overflow:hidden}.social-card:before{content:"";background:var(--accent,var(--purple));opacity:0;width:3px;transition:opacity var(--transition);position:absolute;top:0;bottom:0;left:0}.social-card:hover{border-color:color-mix(in srgb, var(--accent,var(--purple)) 40%, transparent);background:var(--bg-card-h);transform:translate(4px);box-shadow:0 6px 24px #0003}.social-card:hover:before{opacity:1}.social-icon{width:44px;height:44px;color:var(--accent,var(--purple-l));transition:background var(--transition), color var(--transition);background:#8b5cf614;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.social-card:hover .social-icon{background:color-mix(in srgb, var(--accent,var(--purple)) 18%, transparent)}.social-info{flex-direction:column;flex:1;gap:2px;display:flex}.social-name{color:var(--text);font-size:.97rem;font-weight:600}.social-handle{color:var(--muted);font-size:.85rem}.social-arrow{color:var(--dim);transition:color var(--transition), transform var(--transition);font-size:1rem}.social-card:hover .social-arrow{color:var(--purple-l);transform:translate(3px,-3px)}.footer{border-top:1px solid var(--border);text-align:center;max-width:900px;margin:0 auto;padding:0 24px 48px}.footer-copy{color:var(--dim);margin-top:24px;font-size:.83rem}.footer-heart{color:var(--purple)}.pride-section{flex-direction:column;align-items:center;gap:16px;padding:36px 0 20px;display:flex}.pride-flags{justify-content:center;align-items:center;gap:20px;display:flex}.pride-flag{flex-direction:column;align-items:center;gap:8px;display:flex}.flag-stripes{border-radius:5px;flex-direction:column;flex-shrink:0;width:52px;height:34px;display:flex;overflow:hidden;box-shadow:0 2px 12px #0006}.flag-stripe{flex:1}.flag-label{color:var(--dim);letter-spacing:.03em;font-size:.72rem;font-weight:500}.pride-text{color:var(--muted);font-size:.85rem}.social-card.is-copyable{cursor:pointer}.social-card.is-copyable .social-arrow{color:var(--dim);align-items:center;display:flex}.social-card.is-copyable:hover .social-arrow{color:var(--purple-l);transform:none}@keyframes fadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@media (width<=700px){.hero{text-align:center;flex-direction:column-reverse;min-height:auto;padding-top:100px;padding-bottom:48px}.hero-desc{margin:0 auto 36px}.hero-cta{justify-content:center}.avatar-ring{width:140px;height:140px}.projects-grid{grid-template-columns:1fr}.nav-link{padding:6px 10px;font-size:.82rem}}
