:root{--bg:#0a0a0b;--bg-alt:#131316;--bg-card:#17171b;--border:#262629;--text:#d4d4d8;--text-dim:#8b8b93;--text-h:#fafafa;--accent:#34d399;--accent-dim:#34d3991f;--accent-border:#34d39959;--shadow:#00000073 0 10px 30px -10px;--sans:"Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", "Fira Code", Consolas, monospace;--max-w:1320px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font:16px/1.6 var(--sans);color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);margin:0}h1,h2,h3{font-family:var(--sans);color:var(--text-h);margin:0;font-weight:600}p{color:var(--text-dim);margin:0}a{color:inherit;text-decoration:none}ul{margin:0;padding:0;list-style:none}button{font:inherit;cursor:pointer}::selection{background:var(--accent-dim);color:var(--text-h)}.section{width:100%;padding:96px 24px;padding-inline:max(24px, calc((100% - var(--max-w)) / 2))}.section-label{font-family:var(--mono);color:var(--accent);align-items:center;gap:12px;margin-bottom:16px;font-size:14px;display:flex}.section-label:before{content:"";background:var(--accent);width:32px;height:1px}.section-title{letter-spacing:-.5px;margin-bottom:40px;font-size:clamp(28px,4vw,36px)}@media (width<=640px){.section{padding:64px 20px}}main{display:block}.reveal{opacity:0;transition:opacity .6s,transform .6s;transition-delay:calc(var(--i,0) * 70ms);transform:translateY(22px)}.reveal.is-visible{opacity:1;transform:translateY(0)}.btn{border:1px solid #0000;border-radius:8px;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:500;transition:transform .15s,border-color .15s,background .15s;display:inline-flex}.btn:hover{transform:translateY(-2px)}.btn-primary{background:var(--accent);color:#07120c}.btn-primary:hover{background:#4ade8e}.btn-ghost{border-color:var(--border);color:var(--text-h)}.btn-ghost:hover{border-color:var(--accent-border);color:var(--accent)}.navbar{z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);background:#0a0a0bbf;position:fixed;top:0;left:0;right:0}.navbar-inner{width:100%;padding:18px max(24px, calc((100% - var(--max-w)) / 2));justify-content:space-between;align-items:center;display:flex}.navbar-logo{font-family:var(--mono);color:var(--text-h);font-size:20px;font-weight:600}.navbar-logo .dot{color:var(--accent)}.navbar-links ul{gap:32px;display:flex}.navbar-links a{color:var(--text-dim);font-size:14px;transition:color .15s}.navbar-links a:hover{color:var(--accent)}.navbar-toggle{background:0 0;border:none;flex-direction:column;gap:5px;padding:8px;display:none}.navbar-toggle span{background:var(--text-h);border-radius:2px;width:22px;height:2px}@media (width<=720px){.navbar-toggle{display:flex}.navbar-links{background:var(--bg-alt);border-bottom:1px solid var(--border);max-height:0;transition:max-height .2s;position:absolute;top:100%;left:0;right:0;overflow:hidden}.navbar-links.is-open{max-height:320px}.navbar-links ul{flex-direction:column;gap:0;padding:8px 24px 20px}.navbar-links li{border-bottom:1px solid var(--border);padding:12px 0}}.hero{justify-content:center;align-items:center;min-height:100svh;padding:120px 24px 64px;display:flex;position:relative;overflow:hidden}.hero-bg{z-index:0;pointer-events:none;background-image:linear-gradient(var(--border) 1px, transparent 1px), linear-gradient(90deg, var(--border) 1px, transparent 1px);opacity:.35;background-size:48px 48px;position:absolute;inset:0;-webkit-mask-image:radial-gradient(circle at 50% 35%,#000,#0000 72%);mask-image:radial-gradient(circle at 50% 35%,#000,#0000 72%)}.hero-bg:before{content:"";background:radial-gradient(circle, var(--accent) 0%, transparent 70%);opacity:.14;filter:blur(70px);width:560px;height:560px;animation:24s ease-in-out infinite alternate hero-drift;position:absolute;top:30%;left:50%;transform:translate(-50%,-50%)}@keyframes hero-drift{0%{transform:translate(-58%,-55%)scale(1)}to{transform:translate(-42%,-45%)scale(1.15)}}.hero-inner{z-index:1;text-align:center;max-width:720px;animation:.8s both hero-in;position:relative}@keyframes hero-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.hero-greeting{font-family:var(--mono);color:var(--accent);margin-bottom:12px;font-size:16px}.hero-name{letter-spacing:-1.5px;margin-bottom:8px;font-size:clamp(40px,7vw,68px)}.hero-title{color:var(--text-dim);margin-bottom:24px;font-size:clamp(20px,3vw,28px);font-weight:500}.hero-tagline{max-width:520px;margin:0 auto 40px;font-size:17px}.hero-actions{flex-wrap:wrap;justify-content:center;gap:16px;margin-bottom:48px;display:flex}.hero-socials{color:var(--text-dim);justify-content:center;gap:24px;font-size:22px;display:flex}.hero-socials a{transition:color .15s,transform .15s}.hero-socials a:hover{color:var(--accent);transform:translateY(-2px)}#about{background:var(--bg-alt);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.about-grid{grid-template-columns:1.1fr 1.4fr;gap:64px;display:grid}.about-bio p{margin-bottom:20px;font-size:16px;line-height:1.7}.about-skills{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));align-content:start;gap:14px;display:grid}.skill-card{border:1px solid var(--border);background:var(--bg-card);color:var(--text-dim);text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:10px;padding:18px 8px;font-size:13px;transition:border-color .15s,transform .15s;display:flex}.skill-card:hover{border-color:var(--accent-border);transform:translateY(-2px)}.skill-icon{color:var(--accent);font-size:26px}@media (width<=780px){.about-grid{grid-template-columns:1fr;gap:40px}}.timeline{border-left:1px solid var(--border);max-width:760px;padding-left:28px;position:relative}.timeline-item{margin-bottom:48px;position:relative}.timeline-item:last-child{margin-bottom:0}.timeline-marker{background:var(--accent);width:9px;height:9px;box-shadow:0 0 0 4px var(--accent-dim);border-radius:50%;position:absolute;top:6px;left:-33px}.timeline-period{font-family:var(--mono);color:var(--accent);font-size:13px}.timeline-content h3{margin:6px 0 4px;font-size:19px}.timeline-company{color:var(--text-dim);margin-bottom:14px;font-size:14px}.timeline-points li{color:var(--text);margin-bottom:8px;padding-left:18px;font-size:15px;position:relative}.timeline-points li:before{content:"";background:var(--text-dim);border-radius:50%;width:5px;height:5px;position:absolute;top:9px;left:0}.projects-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px;display:grid}.project-card{border:1px solid var(--border);background:var(--bg-card);border-radius:12px;flex-direction:column;padding:28px;transition:border-color .15s,transform .15s,box-shadow .15s;display:flex}.project-card:hover{border-color:var(--accent-border);box-shadow:var(--shadow);transform:translateY(-4px)}.project-card-head{justify-content:space-between;align-items:flex-start;margin-bottom:6px;display:flex}.project-card-head h3{font-size:20px}.project-arrow{color:var(--text-dim);font-size:20px;transition:color .15s,transform .15s}.project-card:hover .project-arrow{color:var(--accent);transform:translate(2px,-2px)}.project-type{font-family:var(--mono);color:var(--accent);margin-bottom:14px;font-size:12px}.project-description{flex-grow:1;margin-bottom:20px;font-size:15px;line-height:1.6}.project-stack{flex-wrap:wrap;gap:8px;display:flex}.project-stack li{background:var(--accent-dim);color:var(--accent);font-size:12px;font-family:var(--mono);border-radius:100px;padding:4px 10px}#contact{background:var(--bg-alt);border-top:1px solid var(--border)}.contact{text-align:center}.contact-title{margin-bottom:16px;font-size:clamp(30px,5vw,44px)}.contact-text{max-width:480px;margin:0 auto 36px;font-size:16px}.contact-cta{font-family:var(--mono);margin-bottom:32px;font-size:15px}.contact-links{color:var(--text-dim);justify-content:center;gap:28px;font-size:15px;display:flex}.contact-links a{align-items:center;gap:8px;transition:color .15s;display:inline-flex}.contact-links a:hover{color:var(--accent)}.footer{border-top:1px solid var(--border);width:100%;padding:28px max(24px, calc((100% - var(--max-w)) / 2));color:var(--text-dim);justify-content:space-between;align-items:center;font-size:13px;display:flex}.footer-socials{gap:18px;font-size:17px;display:flex}.footer-socials a:hover{color:var(--accent)}@media (width<=480px){.footer{text-align:center;flex-direction:column;gap:12px}}@media (prefers-reduced-motion:reduce){.reveal,.hero-inner,.hero-bg:before{opacity:1!important;transition:none!important;animation:none!important;transform:none!important}}
