@import"https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Plus+Jakarta+Sans:wght@300;400;500;600&display=swap";:root{--bg: #f7f6f3;--text: #1a1a1a;--text-secondary: #777;--text-tertiary: #aaa;--border: rgba(26, 26, 26, .08);--font-serif: "Instrument Serif", "DM Serif Display", Georgia, serif;--font-sans: "Plus Jakarta Sans", system-ui, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", monospace;--max-width: 1100px;--side-padding: 80px;--section-gap: 160px}@media(max-width:768px){:root{--side-padding: 20px;--section-gap: 100px}}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-sans);background:var(--bg);color:var(--text);font-size:16px;line-height:1.6;font-weight:400;cursor:default}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px var(--side-padding);display:flex;align-items:center;justify-content:space-between;transition:background .4s ease,backdrop-filter .4s ease;background:transparent}.nav.scrolled{background:#f7f6f3d9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.nav-logo{font-family:var(--font-sans);font-size:14px;font-weight:500;color:var(--text);letter-spacing:-.2px}.nav-links{display:flex;gap:32px;list-style:none}.nav-links a{font-size:14px;font-weight:400;color:var(--text-secondary);transition:color .3s ease;cursor:pointer}.nav-links a:hover{color:var(--text)}.hero{min-height:85vh;display:flex;flex-direction:column;justify-content:end;padding:0 var(--side-padding);padding-bottom:80px}.hero-inner{max-width:1200px;width:100%;margin:0 auto;position:relative}.hero-name{font-family:var(--font-serif);font-size:clamp(56px,10vw,120px);font-weight:400;line-height:.95;letter-spacing:-2px;color:var(--text);margin-bottom:24px}.hero-role{font-family:var(--font-sans);font-size:clamp(16px,2vw,20px);font-weight:300;color:var(--text-secondary);letter-spacing:.2px}.hero-asterisk{position:absolute;right:0;top:-20px;font-family:var(--font-serif);font-size:clamp(40px,6vw,72px);color:var(--text-tertiary);opacity:.3;line-height:1;user-select:none;pointer-events:none}.container{max-width:var(--max-width);margin:0 auto;padding:0 var(--side-padding)}section{margin-bottom:var(--section-gap)}.projects{margin-top:var(--section-gap)}.project-featured{margin-bottom:80px}.project-featured-inner{display:grid;grid-template-columns:1.15fr .85fr;gap:60px;align-items:center}.project-placeholder{border-radius:16px;aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;transition:transform .4s cubic-bezier(.25,.46,.45,.94);cursor:default}.project-placeholder:hover{transform:scale(1.02)}.project-placeholder-label{font-family:var(--font-serif);font-size:clamp(28px,4vw,48px);font-weight:400;opacity:.35;user-select:none}.project-meta{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary);margin-bottom:16px;letter-spacing:.5px;display:block}.project-name{font-family:var(--font-serif);font-size:clamp(32px,4vw,48px);font-weight:400;line-height:1.1;margin-bottom:16px;letter-spacing:-.5px}.project-desc{font-size:15px;line-height:1.7;color:var(--text-secondary);margin-bottom:24px;max-width:440px}.project-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.project-tag{font-family:var(--font-mono);font-size:11px;color:var(--text-secondary);padding:4px 10px;border:1px solid var(--border);border-radius:20px;background:#ffffff80;letter-spacing:.3px}.project-links{display:flex;gap:20px}.project-link{font-size:14px;font-weight:500;color:var(--text);display:inline-flex;align-items:center;gap:6px;cursor:pointer;position:relative}.project-link:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--text);transition:width .3s ease}.project-link:hover:after{width:100%}.project-link--muted{color:var(--text-tertiary);cursor:default;font-weight:400}.project-link--muted:after{display:none}.project-link-arrow{transition:transform .3s ease;font-size:13px}.project-link:hover .project-link-arrow{transform:translate(3px)}.projects-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}.project-card .project-placeholder{aspect-ratio:16 / 10;margin-bottom:24px}.project-card .project-name{font-size:clamp(24px,3vw,32px)}.project-card .project-desc{font-size:14px;max-width:100%}.skills-section{margin-top:var(--section-gap);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:28px 0;overflow:hidden;position:relative}.skills-track{display:flex;width:max-content}.skills-track.running{animation:marquee 30s linear infinite}.skills-track:hover{animation-play-state:paused}.skills-list{display:flex;align-items:center;flex-shrink:0}.skill-item{font-family:var(--font-sans);font-size:13px;font-weight:400;color:var(--text-secondary);white-space:nowrap;padding:0 24px;display:inline-flex;align-items:center;gap:8px}.skill-icon{width:16px;height:16px;flex-shrink:0;opacity:.55}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.about-wrap{margin-top:var(--section-gap)}.about-section{max-width:720px}.about-label{font-family:var(--font-mono);font-size:12px;color:var(--text-tertiary);margin-bottom:32px;letter-spacing:.5px;display:block}.about-text{font-family:var(--font-sans);font-size:clamp(18px,2.2vw,22px);line-height:1.7;color:var(--text);font-weight:300;margin-bottom:28px}.about-motto{font-family:var(--font-serif);font-style:italic;font-size:clamp(17px,2vw,20px);color:var(--text-secondary);line-height:1.6}.contact-section{text-align:center;padding-top:40px}.contact-label{font-size:15px;color:var(--text-secondary);margin-bottom:20px;font-weight:300}.contact-email{font-family:var(--font-serif);font-size:clamp(28px,5vw,52px);font-weight:400;letter-spacing:-.5px;display:inline-block;cursor:pointer;position:relative}.contact-email:after{content:"";position:absolute;bottom:2px;left:0;width:100%;height:1.5px;background:var(--text);opacity:.15;transition:opacity .3s ease}.contact-email:hover:after{opacity:.5}.contact-socials{display:flex;justify-content:center;gap:28px;margin-top:32px}.contact-socials a{font-size:14px;color:var(--text-secondary);transition:color .3s ease;cursor:pointer}.contact-socials a:hover{color:var(--text)}footer{margin-top:var(--section-gap);padding:40px var(--side-padding);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border)}.footer-copy{font-size:12px;color:var(--text-tertiary)}.footer-site{font-size:12px;color:var(--text-tertiary);transition:color .3s ease}.footer-site:hover{color:var(--text-secondary)}.reveal{opacity:0;transform:translateY(32px);transition:opacity .7s cubic-bezier(.25,.46,.45,.94),transform .7s cubic-bezier(.25,.46,.45,.94)}.reveal.visible{opacity:1;transform:translateY(0)}.stagger>.reveal:nth-child(1){transition-delay:0ms}.stagger>.reveal:nth-child(2){transition-delay:.1s}.stagger>.reveal:nth-child(3){transition-delay:.2s}.stagger>.reveal:nth-child(4){transition-delay:.3s}.stagger>.reveal:nth-child(5){transition-delay:.4s}.stagger>.reveal:nth-child(6){transition-delay:.5s}@media(max-width:900px){.project-featured-inner{grid-template-columns:1fr;gap:32px}.projects-grid{grid-template-columns:1fr 1fr;gap:28px}}@media(max-width:600px){.hero{min-height:70vh;padding-bottom:60px}.hero-name{letter-spacing:-1px}.hero-asterisk{top:-10px;right:-5px}.nav{padding:16px var(--side-padding)}.nav-links{gap:20px}.projects-grid{grid-template-columns:1fr;gap:48px}.project-featured-inner{gap:24px}.contact-email{word-break:break-all}footer{flex-direction:column;gap:8px;text-align:center}}
