*,:after,:before{box-sizing:border-box;margin:0;padding:0}:root{--navy:#0b1120;--navy-mid:#111827;--navy-card:#1a2640;--navy-border:#2a3a52;--cyan:#00d4ff;--cyan-dim:rgba(0,212,255,.12);--cyan-glow:rgba(0,212,255,.08);--white:#e8edf5;--muted:#7a8faf;--mono:"JetBrains Mono",monospace;--sans:"Inter",sans-serif;--display:"Space Grotesk",sans-serif}html{scroll-behavior:smooth}body{background:var(--navy);color:var(--white);font-family:var(--sans);font-size:16px;line-height:1.7;-webkit-font-smoothing:antialiased}nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:0 5vw;height:64px;background:rgba(11,17,32,.9);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(42,58,82,.6)}.nav-logo{font-family:var(--mono);font-size:13px;color:var(--cyan);letter-spacing:.04em;text-decoration:none}.nav-links{display:flex;gap:32px;list-style:none}.nav-links a{font-size:13px;font-weight:400;letter-spacing:.04em;color:var(--muted);text-decoration:none;text-transform:uppercase;transition:color .2s}.nav-links a:hover{color:var(--white)}#hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:120px 5vw 80px;position:relative;overflow:hidden}.hero-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(rgba(42,58,82,.25) 1px,transparent 0),linear-gradient(90deg,rgba(42,58,82,.25) 1px,transparent 0);background-size:60px 60px;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 30%,transparent 100%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 30%,transparent 100%)}.hero-eyebrow{font-family:var(--mono);font-size:12px;color:var(--cyan);letter-spacing:.12em;text-transform:uppercase;margin-bottom:24px}.hero-eyebrow span{opacity:.5;margin:0 8px}h1.hero-name{font-size:clamp(48px,7vw,96px);font-weight:700;line-height:1;letter-spacing:-.03em;color:var(--white);margin-bottom:12px}.hero-title,h1.hero-name{font-family:var(--display)}.hero-title{font-size:clamp(20px,3vw,36px);font-weight:300;color:var(--muted);margin-bottom:32px}.hero-title strong{color:var(--cyan);font-weight:500}.hero-desc{max-width:520px;font-size:16px;color:var(--muted);line-height:1.8;margin-bottom:48px}.hero-cta{display:flex;gap:16px;flex-wrap:wrap}.btn-primary{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;background:var(--cyan);color:var(--navy);font-family:var(--display);font-size:14px;font-weight:600;letter-spacing:.02em;border-radius:4px;text-decoration:none;transition:opacity .2s,transform .2s}.btn-primary:hover{opacity:.88;transform:translateY(-1px)}.btn-outline{display:inline-flex;align-items:center;gap:8px;padding:13px 28px;border:1px solid var(--navy-border);color:var(--white);font-family:var(--display);font-size:14px;font-weight:500;letter-spacing:.02em;border-radius:4px;text-decoration:none;transition:border-color .2s,color .2s}.btn-outline:hover{border-color:var(--cyan);color:var(--cyan)}.hero-status{display:inline-flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12px;color:#3fd068;margin-bottom:40px}.status-dot{width:8px;height:8px;border-radius:50%;background:#3fd068;animation:pulse 2.5s ease-in-out infinite}@keyframes pulse{0%,to{box-shadow:0 0 0 0 rgba(63,208,104,.4)}50%{box-shadow:0 0 0 5px rgba(63,208,104,0)}}section{padding:96px 5vw}.section-label{font-family:var(--mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}h2.section-title{font-family:var(--display);font-size:clamp(28px,4vw,44px);font-weight:600;letter-spacing:-.02em;color:var(--white);margin-bottom:48px}.divider{height:1px;background:var(--navy-border);margin:0 5vw;opacity:.5}#skills{background:var(--navy-mid)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:20px;gap:20px}.skill-card{background:var(--navy-card);border:1px solid var(--navy-border);border-radius:8px;padding:24px;transition:border-color .2s}.skill-card:hover{border-color:rgba(0,212,255,.3)}.skill-cat{font-family:var(--mono);font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}.skill-card h3{font-family:var(--display);font-size:15px;font-weight:600;color:var(--white);margin-bottom:8px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.tag{font-family:var(--mono);font-size:11px;padding:4px 10px;background:var(--cyan-dim);color:var(--cyan);border-radius:3px;border:1px solid rgba(0,212,255,.18)}.exp-list{display:flex;flex-direction:column;gap:0}.exp-item{display:grid;grid-template-columns:180px 1fr;grid-gap:40px;gap:40px;padding:40px 0;border-bottom:1px solid var(--navy-border)}.exp-item:first-child{padding-top:0}.exp-item.exp-item-last{border-bottom:none}.exp-meta{padding-top:4px}.exp-period{font-family:var(--mono);font-size:11px;color:var(--muted);line-height:1.6;margin-bottom:6px}.exp-location{font-family:var(--mono);font-size:10px;color:rgba(122,143,175,.6)}.exp-company{font-family:var(--display);font-size:20px;font-weight:600;color:var(--white);margin-bottom:4px}.exp-role{font-family:var(--mono);font-size:12px;color:var(--cyan);letter-spacing:.04em;margin-bottom:16px}.exp-bullets{list-style:none;display:flex;flex-direction:column;gap:10px}.exp-bullets li{font-size:14px;color:var(--muted);line-height:1.7;padding-left:16px;position:relative}.exp-bullets li:before{content:"▸";position:absolute;left:0;color:var(--cyan);font-size:10px;top:6px}.exp-bullets li strong{color:var(--white);font-weight:500}#projects{background:var(--navy-mid)}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));grid-gap:24px;gap:24px}.project-card{background:var(--navy-card);border:1px solid var(--navy-border);border-radius:8px;padding:28px;display:flex;flex-direction:column;transition:border-color .2s,transform .2s;text-decoration:none}.project-card:hover{border-color:rgba(0,212,255,.4);transform:translateY(-3px)}.project-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}.project-card h3{font-family:var(--display);font-size:18px;font-weight:600;color:var(--white)}.ext-icon{color:var(--muted);font-size:18px;flex-shrink:0;transition:color .2s}.project-card:hover .ext-icon{color:var(--cyan)}.project-desc{font-size:14px;color:var(--muted);line-height:1.7;flex:1 1;margin-bottom:20px}.project-stack{display:flex;flex-wrap:wrap;gap:6px}.stack-tag{font-family:var(--mono);font-size:10px;padding:3px 8px;background:rgba(42,58,82,.8);color:var(--muted);border-radius:3px;border:1px solid #2a3a52}#contact{text-align:center}.contact-card{max-width:560px;margin:0 auto;background:var(--navy-card);border:1px solid var(--navy-border);border-radius:12px;padding:48px}.contact-card p{font-size:15px;color:var(--muted);margin-bottom:32px;line-height:1.8}.contact-links{display:flex;flex-direction:column;gap:12px}.contact-link{display:flex;align-items:center;gap:12px;padding:14px 20px;background:var(--navy);border:1px solid var(--navy-border);border-radius:6px;text-decoration:none;transition:border-color .2s}.contact-link:hover{border-color:rgba(0,212,255,.35)}.contact-link-icon{font-family:var(--mono);font-size:14px;color:var(--cyan);width:20px}.contact-link-label{font-size:13px;color:var(--muted);flex:1 1;text-align:left}.contact-link-value{font-family:var(--mono);font-size:12px;color:var(--white)}footer{padding:32px 5vw;border-top:1px solid var(--navy-border);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}footer p{font-family:var(--mono);font-size:11px;color:var(--muted)}footer span{color:var(--cyan)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.cursor{display:inline-block;width:2px;height:1em;background:var(--cyan);vertical-align:middle;margin-left:2px;animation:blink 1s step-end infinite}.menu-toggle{display:none;background:none;border:none;color:var(--white);font-size:28px;cursor:pointer}@media (max-width:768px){nav{padding:0 20px}.menu-toggle{display:block}.nav-links{position:absolute;top:64px;left:0;right:0;display:flex;flex-direction:column;gap:0;background:rgba(11,17,32,.98);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--navy-border);max-height:0;overflow:hidden;transition:max-height .3s ease}.nav-links.active{max-height:300px}.nav-links li{width:100%}.nav-links a{display:block;padding:18px 24px;border-bottom:1px solid rgba(42,58,82,.4)}.hero-cta{flex-direction:column}.contact-card{padding:28px 20px}.exp-item{grid-template-columns:1fr;gap:8px}.exp-meta{display:flex;gap:16px;flex-wrap:wrap}}