@import url(https://fonts.googleapis.com/css2?family=Syne:wght@400;600;700;800&family=DM+Mono:ital,wght@0,300;0,400;1,300&display=swap);:root{--bg:#0a0a08;--surface:#111110;--border:#1e1e1c;--ink:#f0ede6;--ink-muted:#6b6960;--ink-dim:#2e2e2c;--accent:#c8f060;--accent-warm:#f5a623;--accent-dim:#c8f06014;--font-display:"Syne",sans-serif;--font-mono:"DM Mono",monospace}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:#0a0a08;background:var(--bg);color:#f0ede6;color:var(--ink);cursor:none;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:14px;line-height:1.7;overflow-x:hidden;-webkit-user-select:none;user-select:none}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='a'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)' opacity='.04'/%3E%3C/svg%3E");content:"";inset:0;opacity:.5;pointer-events:none;position:fixed;z-index:1000}.container{margin:0 auto;max-width:1100px;padding:0 32px}.cursor{background:#c8f060;background:var(--accent);border-radius:50%;height:10px;mix-blend-mode:difference;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:transform .1s,width .2s,height .2s,opacity .2s;width:10px;z-index:9999}.cursor.is-hovering{transform:translate(-50%,-50%) scale(2)}.cursor-ring{border:1px solid #c8f06066;border-radius:50%;height:36px;pointer-events:none;position:fixed;transform:translate(-50%,-50%);transition:transform .15s ease-out,width .3s,height .3s,opacity .3s;width:36px;z-index:9998}.cursor-ring.is-hovering{opacity:0}nav{left:0;padding:20px 0;position:fixed;right:0;top:0;z-index:100}nav .container{align-items:center;display:flex;justify-content:space-between}nav .nav-logo{color:#f0ede6;color:var(--ink);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:15px;font-weight:800;letter-spacing:.05em;text-decoration:none}nav .nav-logo span{color:#c8f060;color:var(--accent)}nav .nav-links{display:flex;gap:32px;list-style:none}nav .nav-links a{color:#6b6960;color:var(--ink-muted);font-size:12px;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}nav .nav-links a.active,nav .nav-links a:hover{color:#c8f060;color:var(--accent)}nav .nav-dot{animation:pulse 2s ease-in-out infinite;background:#c8f060;background:var(--accent);border-radius:50%;height:8px;width:8px}.hero{align-items:center;display:flex;min-height:100vh;overflow:hidden;padding:120px 0 80px;position:relative}.hero .hero-bg{background:radial-gradient(ellipse 60% 60% at 70% 50%,#c8f0600a 0,#0000 70%),radial-gradient(ellipse 40% 40% at 20% 80%,#f5a62308 0,#0000 60%);inset:0;position:absolute}.hero .hero-grid{background-image:linear-gradient(#1e1e1c 1px,#0000 0),linear-gradient(90deg,#1e1e1c 1px,#0000 0);background-image:linear-gradient(var(--border) 1px,#0000 1px),linear-gradient(90deg,var(--border) 1px,#0000 1px);background-size:60px 60px;inset:0;-webkit-mask-image:radial-gradient(ellipse at 50% 50%,#000 20%,#0000 80%);mask-image:radial-gradient(ellipse at 50% 50%,#000 20%,#0000 80%);opacity:.5;position:absolute}.hero .hero-container{position:relative;width:100%}.hero .hero-inner{position:relative;z-index:2}.hero .hero-eyebrow{align-items:center;animation:fadeUp .8s ease .2s forwards;display:flex;gap:12px;margin-bottom:28px;opacity:0}.hero .hero-eyebrow .hero-eyebrow-line{background:#c8f060;background:var(--accent);height:1px;width:40px}.hero .hero-eyebrow span{color:#c8f060;color:var(--accent);font-size:11px;letter-spacing:.2em;text-transform:uppercase}.hero .hero-name{animation:fadeUp .8s ease .4s forwards;font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(52px,8vw,108px);font-weight:800;letter-spacing:-.03em;line-height:.92;margin-bottom:32px;opacity:0}.hero .hero-name .line2{-webkit-text-stroke:1px #f0ede64d;color:#0000;display:block}.hero .hero-desc{animation:fadeUp .8s ease .6s forwards;color:#6b6960;color:var(--ink-muted);font-size:14px;line-height:1.8;margin-bottom:48px;max-width:480px;opacity:0}.hero .hero-cta{align-items:center;animation:fadeUp .8s ease .8s forwards;display:flex;gap:20px;opacity:0}.hero .hero-status{align-items:flex-end;animation:fadeUp .8s ease 1s forwards;bottom:40%;display:flex;flex-direction:column;gap:6px;opacity:0;position:absolute;right:0;transform:translateY(50%)}.hero .hero-status .status-label{color:#6b6960;color:var(--ink-muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.hero .hero-status .status-badge{align-items:center;background:#111110;background:var(--surface);border:1px solid #1e1e1c;border:1px solid var(--border);display:flex;font-size:12px;gap:8px;padding:8px 14px}.hero .hero-status .status-badge .status-dot{background:#c8f060;background:var(--accent);border-radius:50%;box-shadow:0 0 8px #c8f060;box-shadow:0 0 8px var(--accent);height:6px;width:6px}@media screen and (max-width:768px){.hero{min-height:auto}.hero .hero-name{font-size:42px}}.btn-primary{align-items:center;background:#c8f060;background:var(--accent);border:0;color:#0a0a08;color:var(--bg);display:inline-flex;font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:12px;font-weight:400;gap:10px;letter-spacing:.1em;overflow:hidden;padding:14px 28px;position:relative;text-decoration:none;text-transform:uppercase;transition:all .2s}.btn-primary:after{background:#fff;content:"";inset:0;position:absolute;transform:translateX(-101%);transition:transform .3s ease}.btn-primary:hover:after{transform:translateX(0)}.btn-primary span,.btn-primary svg{position:relative;z-index:1}.btn-ghost{align-items:center;color:#6b6960;color:var(--ink-muted);display:flex;font-size:12px;gap:8px;letter-spacing:.1em;text-decoration:none;text-transform:uppercase;transition:color .2s}.btn-ghost:hover{color:#f0ede6;color:var(--ink)}.btn-ghost svg{transition:transform .2s}.btn-ghost:hover svg{transform:translateX(4px)}.hero-status{align-items:flex-end;animation:fadeUp .8s ease 1s forwards;bottom:40%;display:flex;flex-direction:column;gap:6px;opacity:0;position:absolute;right:0;transform:translateY(50%)}.status-label{color:#6b6960;color:var(--ink-muted);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.status-badge{align-items:center;background:#111110;background:var(--surface);border:1px solid #1e1e1c;border:1px solid var(--border);display:flex;font-size:12px;gap:8px;padding:8px 14px}.status-dot{background:#c8f060;background:var(--accent);border-radius:50%;box-shadow:0 0 8px #c8f060;box-shadow:0 0 8px var(--accent);height:6px;width:6px}.marquee-strip{background:#111110;background:var(--surface);border-bottom:1px solid #1e1e1c;border-bottom:1px solid var(--border);border-top:1px solid #1e1e1c;border-top:1px solid var(--border);overflow:hidden;padding:14px 0}.marquee-strip .marquee-inner{animation:marquee 25s linear infinite;display:flex;gap:0;white-space:nowrap}.marquee-strip .marquee-inner .marquee-item{align-items:center;color:#6b6960;color:var(--ink-muted);display:flex;flex-shrink:0;font-size:11px;gap:32px;letter-spacing:.2em;padding:0 32px;text-transform:uppercase}.marquee-strip .marquee-inner .marquee-item .dot{background:#c8f060;background:var(--accent);border-radius:50%;height:4px;width:4px}section{padding:100px 0}.section-label{align-items:center;display:flex;gap:14px;margin-bottom:56px}.section-label .section-label-num{color:#c8f060;color:var(--accent);font-family:DM Mono,monospace;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em}.section-label .section-label-line{background:#1e1e1c;background:var(--border);flex:1 1;height:1px}.section-label .section-label-text{color:#6b6960;color:var(--ink-muted);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.15em;text-transform:uppercase}#about .about-grid{grid-gap:80px;align-items:start;display:grid;gap:80px;grid-template-columns:1fr 1fr}#about .about-headline{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(32px,4vw,52px);font-weight:800;letter-spacing:-.02em;line-height:1.05;margin-bottom:32px}#about .about-headline em{-webkit-text-stroke:1px #f0ede6;-webkit-text-stroke:1px var(--ink);color:#0000;font-style:normal}#about .about-text{color:#6b6960;color:var(--ink-muted);font-size:14px;line-height:1.9;margin-bottom:24px}#about .about-stats{grid-gap:1px;background:#1e1e1c;background:var(--border);border:1px solid #1e1e1c;border:1px solid var(--border);display:grid;gap:1px;grid-template-columns:1fr 1fr;margin-top:48px}#about .about-stats .stat-item{background:#0a0a08;background:var(--bg);padding:28px 24px}#about .about-stats .stat-item .stat-num{color:#c8f060;color:var(--accent);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:40px;font-weight:800;line-height:1;margin-bottom:6px}#about .about-stats .stat-item .stat-label{color:#6b6960;color:var(--ink-muted);font-size:11px;letter-spacing:.1em;text-transform:uppercase}#about .about-skills{display:flex;flex-direction:column;gap:20px}#about .about-skills .skill-group-label{color:#c8f060;color:var(--accent);font-size:10px;letter-spacing:.2em;margin-bottom:12px;text-transform:uppercase}#about .about-skills .skill-tags{display:flex;flex-wrap:wrap;gap:8px}#about .about-skills .skill-tags .skill-tag{background:#111110;background:var(--surface);border:1px solid #1e1e1c;border:1px solid var(--border);color:#6b6960;color:var(--ink-muted);font-size:12px;padding:6px 14px;transition:all .2s}#about .about-skills .skill-tags .skill-tag:hover{background:#c8f06014;background:var(--accent-dim);border-color:#c8f060;border-color:var(--accent);color:#c8f060;color:var(--accent)}.projects-section{background:#111110;background:var(--surface);border-top:1px solid #1e1e1c;border-top:1px solid var(--border)}.projects-section .projects-grid{grid-gap:2px;background:#1e1e1c;background:var(--border);border:1px solid #1e1e1c;border:1px solid var(--border);display:grid;gap:2px;grid-template-columns:1fr 1fr}.projects-section .projects-grid .project-card{background:#0a0a08;background:var(--bg);color:inherit;display:block;overflow:hidden;padding:40px;position:relative;text-decoration:none;transition:background .3s}.projects-section .projects-grid .project-card:hover{background:#111110;background:var(--surface)}.projects-section .projects-grid .project-card:hover .project-title{color:#c8f060;color:var(--accent)}.projects-section .projects-grid .project-card:hover .project-link{opacity:1;transform:translateY(0)}.projects-section .projects-grid .project-card:hover .project-accent{opacity:.4;transform:scale(1)}.projects-section .projects-grid .project-card.featured{grid-column:span 2;padding:56px 40px}.projects-section .projects-grid .project-card .project-accent{background:#c8f060;background:var(--accent);border-radius:50%;bottom:-30px;filter:blur(40px);height:120px;mix-blend-mode:overlay;opacity:0;position:absolute;right:-30px;transform:scale(.6);transition:opacity .4s,transform .4s;width:120px}.projects-section .projects-grid .project-card .project-card-inner{position:relative;z-index:2}.projects-section .projects-grid .project-card .project-card-inner .project-num{color:#2e2e2c;color:var(--ink-dim);font-size:10px;letter-spacing:.2em;margin-bottom:20px}.projects-section .projects-grid .project-card .project-card-inner .project-title{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:26px;font-weight:700;letter-spacing:-.01em;margin-bottom:12px;transition:color .2s}.projects-section .projects-grid .project-card .project-card-inner .project-desc{color:#6b6960;color:var(--ink-muted);font-size:13px;line-height:1.7;margin-bottom:28px;max-width:420px}.projects-section .projects-grid .project-card .project-card-inner .project-tech{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px}.projects-section .projects-grid .project-card .project-card-inner .project-tech .tech-tag{border:1px solid #1e1e1c;border:1px solid var(--border);color:#6b6960;color:var(--ink-muted);font-size:10px;letter-spacing:.12em;padding:4px 10px;text-transform:uppercase}.projects-section .projects-grid .project-card .project-link{align-items:center;color:#c8f060;color:var(--accent);display:inline-flex;font-size:11px;gap:8px;letter-spacing:.15em;opacity:0;text-transform:uppercase;transform:translateY(6px);transition:all .2s}@media screen and (max-width:768px){.projects-section .projects-grid .project-card{grid-column:span 2;padding:56px 40px}}#experience .exp-list{display:flex;flex-direction:column}#experience .exp-list .exp-item{grid-gap:40px;border-bottom:1px solid #1e1e1c;border-bottom:1px solid var(--border);display:grid;gap:40px;grid-template-columns:200px 1fr;padding:36px 0;transition:background .2s}#experience .exp-list .exp-item:first-child{border-top:1px solid #1e1e1c;border-top:1px solid var(--border)}#experience .exp-list .exp-item:hover .exp-company{color:#c8f060;color:var(--accent)}#experience .exp-list .exp-item .exp-left .exp-period{color:#6b6960;color:var(--ink-muted);font-size:11px;letter-spacing:.12em;margin-bottom:6px;text-transform:uppercase}#experience .exp-list .exp-item .exp-left .exp-company{color:#6b6960;color:var(--ink-muted);font-family:Syne,sans-serif;font-family:var(--font-display);font-size:16px;font-weight:700;transition:color .2s}#experience .exp-list .exp-item .exp-right .exp-role{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:-.01em;margin-bottom:12px}#experience .exp-list .exp-item .exp-right .exp-desc{color:#6b6960;color:var(--ink-muted);font-size:13px;line-height:1.8;max-width:560px}.contact-section{background:#111110;background:var(--surface);border-top:1px solid #1e1e1c;border-top:1px solid var(--border);overflow:hidden;position:relative}.contact-section:before{background:radial-gradient(ellipse,#c8f0600d 0,#0000 70%);content:"";height:600px;left:50%;pointer-events:none;position:absolute;top:-50%;transform:translateX(-50%);width:600px}.contact-section .contact-headline{font-family:Syne,sans-serif;font-family:var(--font-display);font-size:clamp(40px,6vw,80px);font-weight:800;letter-spacing:-.03em;line-height:1;margin-bottom:24px}.contact-section .contact-headline span{color:#c8f060;color:var(--accent)}.contact-section .contact-sub{color:#6b6960;color:var(--ink-muted);font-size:14px;line-height:1.8;margin-bottom:48px;max-width:400px}.contact-section .contact-links{display:flex;flex-wrap:wrap;gap:20px}.contact-section .contact-links .contact-link{align-items:center;border:1px solid #1e1e1c;border:1px solid var(--border);color:#6b6960;color:var(--ink-muted);display:flex;font-size:12px;gap:10px;letter-spacing:.1em;padding:12px 24px;text-decoration:none;text-transform:uppercase;transition:all .2s}.contact-section .contact-links .contact-link:hover{background:#c8f06014;background:var(--accent-dim);border-color:#c8f060;border-color:var(--accent);color:#c8f060;color:var(--accent)}footer{border-top:1px solid #1e1e1c;border-top:1px solid var(--border);padding:16px 0}footer .container{align-items:center;display:flex;justify-content:center}footer .container .footer-copy{color:#6b6960;color:var(--ink-muted);font-size:11px;letter-spacing:.05em;text-align:center}.scroll-indicator{align-items:center;display:flex;flex-direction:column;gap:8px;position:fixed;right:28px;top:50%;transform:translateY(-50%);z-index:50}.scroll-indicator .scroll-track{background:#1e1e1c;background:var(--border);height:80px;overflow:hidden;position:relative;width:1px}.scroll-indicator .scroll-track .scroll-thumb{background:#c8f060;background:var(--accent);position:absolute;top:0;transition:height .1s;width:1px}.scroll-indicator .scroll-pct{color:#2e2e2c;color:var(--ink-dim);font-size:9px;letter-spacing:.1em;transform:rotate(180deg);writing-mode:vertical-rl}.reveal-on-scroll{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0)}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.7)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes marquee{0%{transform:translateX(0)}to{transform:translateX(-50%)}}@media(max-width:768px){body{cursor:auto}.cursor,.cursor-ring,.scroll-indicator{display:none}#about .about-grid{gap:48px}#about .about-grid,.projects-section .projects-grid{grid-template-columns:1fr}.projects-section .project-card.featured{grid-column:auto}#experience .exp-list .exp-item{gap:12px;grid-template-columns:1fr}.hero .hero-status,nav .nav-links{display:none}}
/*# sourceMappingURL=main.42dc32bb.css.map*/