.hero{border-radius:var(--radius-lg);grid-template-columns:1.35fr 1fr;align-items:center;gap:40px;margin-top:28px;padding:clamp(48px,7vw,76px) clamp(28px,6vw,64px) clamp(32px,6vw,60px);animation:.9s cubic-bezier(.2,.7,.2,1) both rise;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(24px)scale(.98)}to{opacity:1;transform:none}}.window-dots{gap:8px;display:flex;position:absolute;top:20px;left:24px}.window-dots i{border-radius:50%;width:12px;height:12px;box-shadow:inset 0 -2px 3px #00000059,0 0 6px #0006}.window-dots i:first-child{background:var(--dot-red)}.window-dots i:nth-child(2){background:var(--dot-yellow)}.window-dots i:nth-child(3){background:var(--dot-green)}.hero h1{font-size:clamp(1.8rem,4.1vw,3.1rem);line-height:1.12;font-weight:var(--heading-weight);text-transform:uppercase;letter-spacing:-.01em;background:var(--metal-text);color:#0000;-webkit-background-clip:text;background-clip:text}.hero p{max-width:46ch;color:var(--text-soft);font-weight:var(--body-weight);margin-top:22px;font-size:1.05rem}.hero-side{justify-items:center;gap:18px;display:grid}.facts{gap:12px;width:100%;display:grid}.fact{border-radius:var(--radius-md);background:var(--inner-bg);border:1px solid var(--edge);align-items:baseline;gap:14px;padding:16px 20px;display:flex}.fact strong{background:var(--metal);color:#0000;-webkit-background-clip:text;background-clip:text;font-size:1.5rem;font-weight:600}.fact span{color:var(--text-soft);font-size:.84rem}@media (max-width:900px){.hero{grid-template-columns:1fr}.hero-side{grid-template-columns:1fr;justify-items:center}.facts{grid-template-columns:repeat(3,1fr);max-width:720px;margin:0 auto}.fact{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:4px}}@media (max-width:640px){.hero{gap:26px;padding:52px 20px 26px}.window-dots{top:18px;left:20px}.hero p{font-size:.98rem}.facts{grid-template-columns:1fr;max-width:420px}.fact{flex-direction:row;justify-content:center;align-items:baseline;gap:12px;padding:14px 18px}.fact strong{font-size:1.35rem}}
.projects{grid-auto-flow:column;grid-auto-columns:minmax(280px, var(--card-width));scrollbar-width:none;-ms-overflow-style:none;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-x pan-y;gap:18px;margin:-12px 0 -24px;padding:12px 4px 40px;display:grid;overflow-x:auto}.projects::-webkit-scrollbar{display:none}.projects.dragging{cursor:grabbing}.projects.dragging .project{pointer-events:none}.projects .project{box-shadow:0 12px 28px #00000073, inset 0 1px 0 var(--glass-highlight)}.project{border-radius:var(--radius-lg);flex-direction:column;min-height:250px;padding:24px;display:flex}.project:nth-child(2n):before{animation-delay:-1.3s}.project:nth-child(2n):after{animation-delay:-3s}.project:nth-child(3n):after{animation-delay:-5s}.project-top{align-items:center;gap:12px;display:flex}.icon{background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid var(--edge);border-radius:50%;flex:none;place-items:center;width:42px;height:42px;font-size:1.05rem;display:grid}.project h3{font-size:1rem;font-weight:600;line-height:1.3}.project-top small{color:var(--accent);letter-spacing:.04em;font-size:.74rem}.project p{color:var(--text-soft);font-size:.9rem;font-weight:var(--body-weight);margin-top:16px}.tags{flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:18px;display:flex}.tag{border-radius:var(--radius-chip);color:var(--accent-hi);background:color-mix(in srgb, var(--accent) 8%, transparent);border:1px solid var(--edge);letter-spacing:.03em;padding:6px 12px;font-size:.72rem}@media (max-width:640px){.projects{grid-auto-columns:var(--card-width-mobile);gap:14px}.project{min-height:230px}}
.timeline{border-radius:var(--radius-lg);padding:8px 26px}.job{grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:20px 0;display:grid}.job+.job{border-top:1px solid var(--edge)}.job .icon{border-radius:14px;width:52px;height:52px}.job h3{font-size:1rem;font-weight:600}.job small{color:var(--text-faint);font-size:.8rem}.year{border-radius:var(--radius-chip);border:1px solid var(--edge);color:var(--accent-hi);white-space:nowrap;letter-spacing:.04em;padding:6px 12px;font-size:.76rem}@media (max-width:640px){.timeline{padding:4px 18px}.job{grid-template-columns:44px 1fr;gap:12px}.job .icon{border-radius:12px;width:44px;height:44px}.year{grid-column:2;justify-self:start}}
.timeline{border-radius:var(--radius-lg);padding:8px 26px}.job{grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:20px 0;display:grid}.job+.job{border-top:1px solid var(--edge)}.job .icon{border-radius:14px;width:52px;height:52px}.job h3{font-size:1rem;font-weight:600}.job small{color:var(--text-faint);font-size:.8rem}.year{border-radius:var(--radius-chip);border:1px solid var(--edge);color:var(--accent-hi);white-space:nowrap;letter-spacing:.04em;padding:6px 12px;font-size:.76rem}@media (max-width:640px){.timeline{padding:4px 18px}.job{grid-template-columns:44px 1fr;gap:12px}.job .icon{border-radius:12px;width:44px;height:44px}.year{grid-column:2;justify-self:start}}
.timeline{border-radius:var(--radius-lg);padding:8px 26px}.job{grid-template-columns:52px 1fr auto;align-items:center;gap:16px;padding:20px 0;display:grid}.job+.job{border-top:1px solid var(--edge)}.job .icon{border-radius:14px;width:52px;height:52px}.job h3{font-size:1rem;font-weight:600}.job small{color:var(--text-faint);font-size:.8rem}.year{border-radius:var(--radius-chip);border:1px solid var(--edge);color:var(--accent-hi);white-space:nowrap;letter-spacing:.04em;padding:6px 12px;font-size:.76rem}@media (max-width:640px){.timeline{padding:4px 18px}.job{grid-template-columns:44px 1fr;gap:12px}.job .icon{border-radius:12px;width:44px;height:44px}.year{grid-column:2;justify-self:start}}
.skills{border-radius:var(--radius-lg);flex-wrap:wrap;gap:10px;padding:24px;display:flex}.skills .tag{padding:9px 16px;font-size:.84rem}@media (max-width:640px){.skills{padding:18px}.skills .tag{padding:8px 12px;font-size:.8rem}}
.contact{border-radius:var(--radius-lg);text-align:center;padding:clamp(32px,5vw,56px)}.contact h2{font-size:clamp(1.5rem,3.6vw,2.3rem);font-weight:var(--heading-weight);text-transform:uppercase;letter-spacing:0;background:var(--metal-text);color:#0000;-webkit-background-clip:text;background-clip:text;line-height:1.2}.contact p{color:var(--text-soft);max-width:44ch;font-weight:var(--body-weight);margin:14px auto 0}.contact .actions{justify-content:center}@media (max-width:640px){.contact{padding:30px 20px}}
