:root{--bg: #fefcfd;--accent: #9d174d;--text: #1a0f14;--text-secondary: #6b5660;--text-muted: #b8a8b0;--accent-surface: #fdf2f6;--accent-border: #f4c2d4;--max-w: 900px;--nav-h: 64px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}ul{list-style:none}a{text-decoration:none}img{display:block;max-width:100%}.js .reveal{opacity:0;transform:translateY(20px);transition:opacity .5s ease,transform .5s ease;will-change:opacity,transform}.reveal.visible{opacity:1;transform:translateY(0);will-change:auto}#site-header{position:sticky;top:0;z-index:100;background:var(--bg);border-bottom:1px solid transparent;transition:border-color .2s ease}#site-header.scrolled{border-bottom-color:#1a0f1414}.scroll-progress{position:absolute;top:0;left:0;height:2px;width:0%;background:var(--accent);transition:width .1s linear}#nav{max-width:var(--max-w);margin:0 auto;padding:0 24px;height:var(--nav-h);display:flex;align-items:center;justify-content:space-between}.nav-logo{font-weight:800;font-size:15px;color:var(--text);letter-spacing:-.01em}.nav-links{display:flex;align-items:center;gap:32px}.nav-link{font-size:14px;font-weight:500;color:var(--text-muted);transition:color .15s}.nav-link:hover,.nav-link.active{color:var(--text)}.nav-link.active{color:var(--accent);font-weight:600}.section{max-width:var(--max-w);margin:0 auto;padding:100px 24px}.section-label{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:56px}.section-hero{max-width:var(--max-w);margin:0 auto;padding:40px 24px 120px}.hero-center{display:flex;flex-direction:column;align-items:center;text-align:center}.hero-eyebrow{font-size:12px;font-weight:700;letter-spacing:.14em;color:var(--text-muted);margin-bottom:12px}.hero-name{font-size:clamp(36px,6vw,64px);font-weight:900;color:var(--text);letter-spacing:-.03em;line-height:1.05;margin-bottom:32px}.hero-photo-wrap{width:220px;height:220px;border-radius:50%;overflow:hidden;border:1px solid var(--accent-border);background:var(--accent-surface);flex-shrink:0;margin-bottom:32px}.hero-photo{width:100%;height:100%;object-fit:cover}.hero-scramble{font-size:clamp(24px,4vw,46px);font-weight:900;line-height:1.1;margin-bottom:20px;white-space:nowrap}.hero-scramble-a{color:var(--text)}.hero-scramble-word{color:var(--accent);font-weight:900}.hero-cursor{color:var(--accent);animation:blink .8s step-end infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.hero-cursor.paused{animation-play-state:paused;opacity:1}.hero-bio{font-size:16px;color:var(--text-secondary);line-height:1.75;max-width:520px;margin-bottom:32px}.hero-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:20px}.btn{display:inline-flex;align-items:center;padding:12px 26px;border-radius:6px;font-size:14px;font-family:inherit;cursor:pointer;transition:background .2s,border-color .2s,color .2s;white-space:nowrap}.btn-primary{background:var(--text);color:var(--bg);border:none;font-weight:600}.btn-primary:hover{background:var(--accent)}.btn-secondary{background:transparent;color:var(--text);border:1.5px solid var(--accent-border);font-weight:500}.btn-secondary:hover{border-color:var(--accent);color:var(--accent)}.hero-socials{display:flex;justify-content:center;gap:16px;margin-bottom:32px}.hero-socials a{color:var(--text-muted);display:flex;align-items:center;transition:color .15s}.hero-socials a:hover{color:var(--accent)}.hero-stats{display:flex;align-items:center;justify-content:center;gap:12px}.stat{display:flex;flex-direction:column;align-items:center;gap:2px}.stat-val{font-size:18px;font-weight:800;color:var(--text);letter-spacing:-.01em}.stat-label{font-size:11px;font-weight:600;letter-spacing:.06em;color:var(--text-muted)}.stat-sep{color:var(--text-muted);font-size:14px;align-self:center}.exp-stack{display:flex;flex-direction:column;gap:56px}.exp-row{display:flex;align-items:stretch;gap:0}.exp-left{width:160px;flex-shrink:0;text-align:right;padding-top:2px;padding-right:32px}.exp-company{display:block;font-size:13px;font-weight:700;color:var(--text);line-height:1.4}.exp-date{display:block;font-size:12px;color:var(--text-muted);margin-top:2px}.exp-divider{width:1px;background:var(--accent-border);flex-shrink:0;align-self:stretch;margin:0}.exp-right{flex:1;padding-left:32px}.exp-role{font-size:18px;font-weight:800;color:var(--text);margin-bottom:4px}.exp-location{font-size:13px;color:var(--text-muted);margin-bottom:12px}.exp-bullets{display:flex;flex-direction:column;gap:8px}.exp-bullets li{font-size:15px;color:var(--text-secondary);line-height:1.75;padding-left:16px;position:relative}.exp-bullets li:before{content:"";position:absolute;left:0;top:10px;width:5px;height:5px;border-radius:50%;background:var(--accent);flex-shrink:0}.exp-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:14px}.tag{background:var(--accent-surface);color:var(--accent);border:1px solid var(--accent-border);font-size:11px;font-weight:500;padding:3px 10px;border-radius:20px}.skills-core{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:56px}.core-pill{border:1.5px solid var(--text);background:transparent;color:var(--text);font-size:13px;font-weight:600;padding:8px 20px;border-radius:40px;transition:border-color .15s,color .15s;cursor:default}.core-pill:hover{border-color:var(--accent);color:var(--accent)}.skills-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}.skill-group-label{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.skill-pills{display:flex;flex-wrap:wrap;gap:6px}.skill-pill{background:var(--accent-surface);color:#6b1235;font-size:12px;padding:5px 12px;border-radius:20px;transition:background .15s,color .15s;cursor:default}.skill-pill:hover{background:var(--accent);color:var(--bg)}.projects-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:40px}.project{display:flex;flex-direction:column}.project-top-border{height:1px;background:var(--accent-border);margin-bottom:20px}.project-title{font-size:18px;font-weight:800;color:var(--text);margin-bottom:6px;line-height:1.3}.project-stack{font-size:12px;color:var(--text-muted);font-family:monospace;margin-bottom:10px}.project-desc{font-size:14px;color:var(--text-secondary);line-height:1.7;flex:1}.project-links{display:flex;gap:20px;margin-top:14px}.project-links a{color:var(--accent);font-size:13px;font-weight:600;transition:text-decoration .15s}.project-links a:hover{text-decoration:underline}.projects-github-link{text-align:center;margin-top:40px}.projects-github-link a{color:var(--accent);font-weight:600;font-size:14px;transition:text-decoration .15s}.projects-github-link a:hover{text-decoration:underline}.contact-inner{max-width:560px;margin:0 auto;text-align:center}.contact-heading{font-size:clamp(28px,4vw,44px);font-weight:900;color:var(--text);letter-spacing:-.02em;margin-bottom:16px}.contact-sub{font-size:16px;color:var(--text-secondary);line-height:1.75;margin-bottom:36px}.contact-links{display:flex;justify-content:center;flex-wrap:wrap;gap:32px}.contact-links a{display:flex;align-items:center;gap:8px;color:var(--text);font-size:14px;font-weight:500;transition:color .15s}.contact-links a:hover{color:var(--accent)}footer{text-align:center;padding:48px 0}footer p{font-size:13px;color:var(--text-muted)}@media (max-width: 899px){.skills-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 599px){.section,.section-hero{padding-top:60px;padding-bottom:60px}.section-label{margin-bottom:36px}.exp-row{flex-direction:column;gap:12px}.exp-left{width:100%;text-align:left;padding-right:0}.exp-divider{display:none}.exp-right{padding-left:0}.skills-grid,.projects-grid{grid-template-columns:1fr}.nav-links{gap:20px}.hero-buttons{flex-direction:column}.btn{width:100%;justify-content:center}}
