:root{--bg:#fbfbfa;--ink:#161613;--ink-65:#161613a6;--ink-60:#16161399;--ink-55:#1616138c;--ink-45:#16161373;--ink-40:#16161366;--line:#16161314;--line-soft:#1616130f;--accent:#10a56d;--font-sans:"Space Grotesk", system-ui, sans-serif;--font-mono:"IBM Plex Mono", monospace}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font-family:var(--font-sans);margin:0}.topbar{border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:10;background:#fbfbfaeb;justify-content:space-between;align-items:center;padding:22px 48px;display:flex;position:sticky;top:0}.logo{letter-spacing:.02em;align-items:center;gap:8px;font-size:17px;font-weight:700;display:flex}.logo-dot{background:var(--accent);border-radius:50%;width:7px;height:7px;display:inline-block}.lang-switch{font-family:var(--font-mono);align-items:center;gap:2px;font-size:12px;display:flex}.lang-switch button{cursor:pointer;color:var(--ink);opacity:.4;background:0 0;border:none;padding:4px 8px;font-family:inherit;font-size:12px}.lang-switch button.active{opacity:1}.hero{text-align:center;flex-direction:column;align-items:center;gap:28px;padding:130px 48px 100px;display:flex}.hero-wordmark{letter-spacing:-.04em;align-items:baseline;font-size:clamp(72px,12vw,148px);font-weight:700;line-height:1;display:flex}.hero-wordmark .logo-dot{width:.17em;height:.17em;margin-left:.06em}.hero-tagline{max-width:520px;color:var(--ink-65);text-wrap:pretty;margin:0;font-size:22px;line-height:1.5}.hero-actions{gap:14px;margin-top:8px;display:flex}.btn{border-radius:999px;padding:14px 28px;font-size:15px;font-weight:500;text-decoration:none}.btn-primary{background:var(--ink);color:var(--bg)}.btn-secondary{color:var(--ink);border:1px solid #16161333}.hero-contact{font-family:var(--font-mono);color:var(--ink-55);flex-wrap:wrap;justify-content:center;gap:32px;margin-top:26px;font-size:13px;display:flex}.portfolio{border-top:1px solid var(--line);max-width:1180px;margin:0 auto;padding:70px 48px 90px}.section-head{justify-content:space-between;align-items:baseline;margin-bottom:36px;display:flex}.section-head h2{letter-spacing:-.02em;margin:0;font-size:32px;font-weight:700}.section-head .years{font-family:var(--font-mono);color:var(--ink-45);font-size:12px}.project-grid{grid-template-columns:1fr 1fr;gap:28px;display:grid}.project{flex-direction:column;gap:14px;display:flex}.project-thumb{aspect-ratio:16/10;background:repeating-linear-gradient(45deg,#f1f0ec,#f1f0ec 10px,#e9e8e3 10px 20px);border-radius:6px;justify-content:center;align-items:center;display:flex;overflow:hidden}.project-thumb img{object-fit:cover;width:100%;height:100%}.project-thumb .placeholder-label{font-family:var(--font-mono);color:var(--ink-40);background:var(--bg);border-radius:4px;padding:6px 12px;font-size:12px}.project-title-row{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.project-name{font-size:18px;font-weight:700}.project-tag{font-family:var(--font-mono);color:var(--accent);font-size:11px}.project-desc{color:var(--ink-60);margin:-6px 0 0;font-size:14px;line-height:1.5}.contact-wrap{border-top:1px solid var(--line)}.contact{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:40px;max-width:1180px;margin:0 auto;padding:60px 48px;display:flex}.contact-intro{flex-direction:column;gap:10px;display:flex}.contact-intro h2{letter-spacing:-.02em;margin:0;font-size:32px;font-weight:700}.contact-intro p{color:var(--ink-60);max-width:380px;margin:0;font-size:15px;line-height:1.5}.contact-details{font-family:var(--font-mono);text-align:right;color:#161613bf;flex-direction:column;gap:6px;font-size:13px;display:flex}.contact-details .muted{color:var(--ink-40)}.footer{border-top:1px solid var(--line-soft);font-family:var(--font-mono);color:var(--ink-40);justify-content:space-between;padding:18px 48px;font-size:11px;display:flex}@media (width<=860px){.topbar{padding:18px 24px}.hero{padding:90px 24px 70px}.portfolio{padding:50px 24px 60px}.project-grid{grid-template-columns:1fr}.contact{flex-direction:column;align-items:flex-start;padding:50px 24px}.contact-details{text-align:left}.footer{padding:16px 24px}}
