:root{--color-bg: #fafafa;--color-surface: #ffffff;--color-text: #1a1a1a;--color-muted: #6b7280;--color-accent: #2563eb;--color-border: #e5e7eb;--font-heading: "Inter", "Helvetica Neue", Arial, sans-serif;--font-body: "Inter", "Helvetica Neue", Arial, sans-serif;--radius: 12px}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-heading);line-height:1.25;margin:0}img{max-width:100%;display:block}.container{max-width:960px;margin:0 auto;padding:0 20px}.reveal{opacity:0;transform:translateY(24px);transition:opacity .6s ease,transform .6s ease}.reveal.is-visible{opacity:1;transform:none}.site-header{position:sticky;top:0;z-index:10;background:color-mix(in srgb,var(--color-surface) 88%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--color-border)}.site-header .container{display:flex;align-items:center;justify-content:space-between;height:64px}.logo{font-family:var(--font-heading);font-weight:800;font-size:17px;letter-spacing:.04em;color:var(--color-surface);background:var(--color-accent);padding:6px 12px;border-radius:10px;text-decoration:none;box-shadow:0 4px 14px color-mix(in srgb,var(--color-accent) 35%,transparent)}.nav{display:flex;gap:4px;align-items:center}.nav a{text-decoration:none;color:var(--color-muted);font-size:14px;font-weight:500;padding:8px 12px;border-radius:calc(var(--radius) - 4px);transition:color .15s,background .15s}.nav a:hover{color:var(--color-text);background:var(--color-bg)}.nav-toggle{display:none;background:none;border:1px solid var(--color-border);border-radius:calc(var(--radius) - 4px);padding:8px 10px;font-size:16px;line-height:1;cursor:pointer;color:var(--color-text)}section{padding:72px 0}.kicker{font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--color-accent);margin:0 0 8px}.section-title{font-size:30px;font-weight:800;letter-spacing:-.02em;margin-bottom:28px}.hero{position:relative;padding:104px 0;overflow:hidden}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(620px 340px at 18% 8%,color-mix(in srgb,var(--color-accent) 16%,transparent),transparent 70%),radial-gradient(560px 320px at 85% 90%,color-mix(in srgb,var(--color-accent) 12%,transparent),transparent 70%),var(--color-surface);pointer-events:none}.hero-bg:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-image:radial-gradient(color-mix(in srgb,var(--color-border) 70%,transparent) 1px,transparent 1px);background-size:22px 22px;-webkit-mask-image:radial-gradient(560px 360px at 85% 20%,black,transparent 75%);mask-image:radial-gradient(560px 360px at 85% 20%,black,transparent 75%);opacity:.5}.hero .container{position:relative}.hero-inner{display:grid;grid-template-columns:1.25fr 1fr;gap:40px;align-items:center}.hero-eyebrow{font-size:14px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-accent);margin:0 0 12px}.hero h1{font-size:46px;font-weight:800;letter-spacing:-.03em;margin-bottom:10px;background:linear-gradient(100deg,var(--color-text) 40%,var(--color-accent) 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.hero .role{color:var(--color-accent);font-weight:600;font-size:17px;margin-bottom:14px}.hero .tagline{color:var(--color-muted);max-width:520px;font-size:17px;margin:0 0 28px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:36px}.btn{display:inline-flex;align-items:center;padding:12px 22px;border-radius:calc(var(--radius) + 4px);font-weight:600;font-size:15px;text-decoration:none;color:var(--color-text);background:var(--color-bg);border:1px solid var(--color-border);transition:transform .15s,box-shadow .15s,border-color .15s}.btn:hover{border-color:var(--color-accent);transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--color-border) 60%,transparent)}.btn-primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-surface);box-shadow:0 8px 24px color-mix(in srgb,var(--color-accent) 40%,transparent)}.btn-primary:hover{border-color:var(--color-accent);box-shadow:0 12px 28px color-mix(in srgb,var(--color-accent) 45%,transparent)}.hero-stats{display:flex;gap:28px;flex-wrap:wrap}.hero-stat strong{display:block;font-family:var(--font-heading);font-size:24px;font-weight:800;color:var(--color-text)}.hero-stat span{font-size:13px;color:var(--color-muted)}.hero-image{width:100%;aspect-ratio:2 / 3;object-fit:cover;object-position:center top;border-radius:calc(var(--radius) + 12px);border:1px solid var(--color-border);box-shadow:0 24px 60px color-mix(in srgb,var(--color-text) 14%,transparent);transform:rotate(2deg)}.about-body{display:grid;grid-template-columns:1.4fr 1fr;gap:40px;align-items:start}.about-text p{color:var(--color-text);margin:0 0 16px}.about-facts{display:flex;flex-direction:column;gap:12px}.fact{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 18px;box-shadow:0 2px 8px color-mix(in srgb,var(--color-text) 5%,transparent)}.fact span{display:block;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--color-muted);margin-bottom:4px}.fact strong{font-size:15px;color:var(--color-text)}.timeline-list{list-style:none;margin:0;padding:0;position:relative}.timeline-list:before{content:"";position:absolute;left:7px;top:8px;bottom:8px;width:2px;background:linear-gradient(to bottom,var(--color-accent),color-mix(in srgb,var(--color-accent) 20%,var(--color-border)))}.timeline-item{position:relative;padding:0 0 28px 40px}.timeline-item:last-child{padding-bottom:0}.timeline-dot{position:absolute;left:0;top:4px;width:16px;height:16px;border-radius:50%;background:var(--color-surface);border:3px solid var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 14%,transparent)}.timeline-year{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.08em;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent);border-radius:999px;padding:2px 12px;margin-bottom:6px}.timeline-item h3{font-size:17px;font-weight:700;margin-bottom:4px}.timeline-item p{margin:0;color:var(--color-muted);font-size:15px;max-width:640px}.skills-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.skill-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) + 4px);padding:22px;box-shadow:0 2px 10px color-mix(in srgb,var(--color-text) 4%,transparent);transition:transform .2s,box-shadow .2s,border-color .2s}.skill-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border));box-shadow:0 12px 28px color-mix(in srgb,var(--color-accent) 12%,transparent)}.skill-card h3{font-size:15px;font-weight:700;margin-bottom:14px}.skill-card ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.skill-card li{font-size:13px;color:var(--color-muted);background:var(--color-bg);border:1px solid var(--color-border);border-radius:999px;padding:4px 12px}.projects-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.project-card{display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) + 4px);padding:14px;text-decoration:none;color:var(--color-text);box-shadow:0 2px 10px color-mix(in srgb,var(--color-text) 4%,transparent);transition:transform .2s,box-shadow .2s,border-color .2s;overflow:hidden}.project-card:hover{border-color:color-mix(in srgb,var(--color-accent) 50%,var(--color-border));transform:translateY(-3px);box-shadow:0 14px 32px color-mix(in srgb,var(--color-accent) 14%,transparent)}.project-image{width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:var(--radius);margin-bottom:14px;border:1px solid var(--color-border)}.project-card h3{font-size:17px;font-weight:700;margin:0 0 8px;padding:0 8px}.project-card p{color:var(--color-muted);font-size:14px;margin:0 0 16px;padding:0 8px;flex:1}.project-tags{display:flex;flex-wrap:wrap;gap:8px;padding:0 8px}.project-tags span{font-size:12px;font-weight:600;color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 10%,transparent);border-radius:999px;padding:3px 10px}.interests-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.interest-card{display:flex;flex-direction:column;gap:10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:calc(var(--radius) + 4px);padding:20px;box-shadow:0 2px 10px color-mix(in srgb,var(--color-text) 4%,transparent);transition:transform .2s,border-color .2s}.interest-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--color-accent) 45%,var(--color-border))}.interest-emoji{font-size:30px;line-height:1}.interest-card h3{font-size:15px;font-weight:700}.interest-card p{margin:0;color:var(--color-muted);font-size:14px}.contacts .subtitle{color:var(--color-muted);margin:0 0 24px;max-width:560px}.contact-row{display:flex;flex-wrap:wrap;gap:12px}.contact-link{display:inline-flex;flex-direction:column;gap:2px;text-decoration:none;color:var(--color-text);font-size:14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:14px 20px;box-shadow:0 2px 10px color-mix(in srgb,var(--color-text) 4%,transparent);transition:border-color .15s,transform .15s}.contact-link:hover{border-color:var(--color-accent);transform:translateY(-2px)}.contact-link strong{color:var(--color-accent);font-size:15px}.site-footer{border-top:1px solid var(--color-border);padding:24px 0;color:var(--color-muted);font-size:13px;background:var(--color-surface)}.site-footer .container{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}@media (max-width: 900px){.hero-inner{grid-template-columns:1fr;gap:32px}.hero-image{max-width:360px;order:-1}.interests-grid{grid-template-columns:repeat(2,1fr)}.projects-grid{grid-template-columns:1fr 1fr}}@media (max-width: 720px){.nav-toggle{display:block}.nav{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;align-items:stretch;background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:8px}.nav.open{display:flex}.nav a{padding:12px}.hero{padding:64px 0}.hero h1{font-size:34px}.hero-image{transform:none}.section-title{font-size:24px}section{padding:48px 0}.about-body{grid-template-columns:1fr;gap:24px}.skills-grid,.projects-grid,.interests-grid{grid-template-columns:1fr}}
