:root{--paper:#f2f2ee;--surface:#fbfbf8;--ink:#1a1b18;--ink-soft:#3e403a;--muted:#6c6e66;--hairline:#e2e2db;--display:"Bricolage Grotesque", system-ui, sans-serif;--body:"Inter", system-ui, sans-serif;--mono:"JetBrains Mono", ui-monospace, monospace;--accent:#6e3f8e;--accent-soft:#efe7f3}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}body{background:var(--paper);color:var(--ink);font-family:var(--body);-webkit-font-smoothing:antialiased;line-height:1.6}.wrap{max-width:940px;margin:0 auto;padding:0 28px}.sr{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:3px}.eyebrow{font-family:var(--mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent);font-size:.72rem;font-weight:500}.kicker{font-family:var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-size:.7rem}nav{z-index:30;backdrop-filter:blur(10px);border-bottom:1px solid var(--hairline);background:#f2f2eedb;position:sticky;top:0}nav .wrap{justify-content:space-between;align-items:center;height:66px;display:flex}.lockup{align-items:center;gap:9px;display:flex}.lockup .dot{background:var(--accent);border-radius:2px;width:11px;height:11px}.lockup .name{font-family:var(--display);letter-spacing:-.02em;font-size:1.3rem;font-weight:800}nav .links{gap:22px;display:flex}nav .links a{font-family:var(--mono);letter-spacing:.04em;color:var(--muted);font-size:.74rem;text-decoration:none}nav .links a:hover{color:var(--accent)}@media (width<=560px){nav .links{gap:14px}nav .links a{font-size:.68rem}}.hero{padding:82px 0 22px}.hero h1{font-family:var(--display);letter-spacing:-.03em;max-width:17ch;margin:16px 0 22px;font-size:clamp(2.6rem,6.4vw,4.6rem);font-weight:800;line-height:1}.hero h1 .plum{color:var(--accent)}.hero p{color:var(--ink-soft);max-width:52ch;font-size:1.14rem}.hero p b{color:var(--ink);font-weight:600}.specline{border:1px solid var(--hairline);background:var(--surface);border-radius:6px;flex-wrap:wrap;gap:0;width:fit-content;max-width:100%;margin:34px 0 8px;display:flex;overflow:hidden}.specline span{font-family:var(--mono);color:var(--ink-soft);border-right:1px solid var(--hairline);padding:11px 16px;font-size:.76rem}.specline span:last-child{border-right:none}.specline span b{color:var(--accent);font-weight:500}section{border-top:1px solid var(--hairline);padding:64px 0}.lead-row{flex-wrap:wrap;align-items:baseline;gap:14px;margin-bottom:34px;display:flex}.lead-row h2{font-family:var(--display);letter-spacing:-.02em;font-size:clamp(1.5rem,3vw,2.1rem);font-weight:700;line-height:1.1}.lead-row .num{font-family:var(--mono);color:var(--accent);font-size:.8rem}.about-grid{grid-template-columns:1.5fr 1fr;gap:44px;display:grid}@media (width<=720px){.about-grid{grid-template-columns:1fr;gap:28px}}.about p{color:var(--ink-soft);max-width:58ch;margin-bottom:16px;font-size:1.04rem}.about p:last-child{margin-bottom:0}.about p b{color:var(--ink);font-weight:600}.facts{border:1px solid var(--hairline);background:var(--surface);border-radius:8px;align-self:start;overflow:hidden}.facts .f{border-bottom:1px solid var(--hairline);padding:16px 18px}.facts .f:last-child{border-bottom:none}.facts .f .n{font-family:var(--display);letter-spacing:-.02em;font-size:1.7rem;font-weight:800;line-height:1}.facts .f .k{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:.68rem}.work a{border-top:1px solid var(--hairline);padding:28px 0;text-decoration:none;transition:padding-left .2s;display:block}.work a:first-child{border-top:none}.work a:hover{padding-left:12px}.work .row1{flex-wrap:wrap;align-items:baseline;gap:14px;display:flex}.work .chip{background:var(--app,var(--accent));border-radius:3px;flex-shrink:0;width:12px;height:12px;transform:translateY(1px)}.work .name{font-family:var(--display);letter-spacing:-.02em;font-size:1.6rem;font-weight:700;line-height:1.1}.work a:hover .name{color:var(--app,var(--accent))}.work .status{font-family:var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin-left:auto;font-size:.7rem}.work .company{font-family:var(--mono);letter-spacing:.02em;color:var(--accent);margin-top:7px;font-size:.78rem}.work .desc{color:var(--muted);max-width:62ch;margin-top:10px}.work .desc b{color:var(--ink-soft);font-weight:500}.work .tags{border:1px solid var(--hairline);background:var(--surface);border-radius:6px;flex-wrap:wrap;gap:0;width:fit-content;max-width:100%;margin-top:16px;display:flex;overflow:hidden}.work .tags span{font-family:var(--mono);color:var(--ink-soft);border-right:1px solid var(--hairline);padding:8px 13px;font-size:.72rem}.work .tags span:last-child{border-right:none}.work .tags span b{color:var(--app,var(--accent));font-weight:500}.principles{grid-template-columns:repeat(2,1fr);gap:26px 40px;display:grid}@media (width<=640px){.principles{grid-template-columns:1fr}}.principles .p .h{font-family:var(--display);margin-bottom:5px;font-size:1.14rem;font-weight:600}.principles .p p{color:var(--muted);max-width:44ch;font-size:.95rem}.list a{border-top:1px solid var(--hairline);justify-content:space-between;align-items:baseline;gap:16px;padding:16px 0;text-decoration:none;display:flex}.list a:first-child{border-top:none}.list .ll{max-width:56ch}.list .lt{font-family:var(--display);font-size:1.1rem;font-weight:600}.list a:hover .lt{color:var(--accent)}.list .ld{color:var(--muted);margin-top:4px;font-size:.92rem}.list .lr{font-family:var(--mono);color:var(--muted);white-space:nowrap;font-size:.72rem}@media (width<=560px){.list a{flex-direction:column;gap:6px}}.contact{padding-bottom:26px}.contact h2{font-family:var(--display);letter-spacing:-.025em;max-width:20ch;margin-bottom:20px;font-size:clamp(1.8rem,4.4vw,2.8rem);font-weight:800;line-height:1.05}.mail{font-family:var(--display);letter-spacing:-.02em;color:var(--accent);border-bottom:2px solid #0000;font-size:clamp(1.4rem,4.5vw,2.2rem);font-weight:700;text-decoration:none}.mail:hover{border-color:var(--accent)}.social{flex-wrap:wrap;gap:22px;margin-top:26px;display:flex}.social a{font-family:var(--mono);color:var(--ink);border-bottom:1px solid var(--hairline);padding-bottom:2px;font-size:.78rem;text-decoration:none}.social a:hover{color:var(--accent);border-color:var(--accent)}footer{border-top:1px solid var(--hairline);padding:44px 0 60px}footer .wrap{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:22px;display:flex}footer .tag{font-family:var(--display);letter-spacing:-.02em;max-width:24ch;font-size:1.2rem;font-weight:700;line-height:1.2}footer .made{font-family:var(--mono);color:var(--muted);letter-spacing:.03em;font-size:.74rem}footer .made b{color:var(--accent);font-weight:500}.prose{max-width:68ch;color:var(--ink-soft);margin-top:40px;font-size:1.05rem}.prose>:first-child{margin-top:0}.prose h2{font-family:var(--display);letter-spacing:-.02em;color:var(--ink);margin:40px 0 14px;font-size:1.5rem;font-weight:700;line-height:1.2}.prose h3{font-family:var(--display);color:var(--ink);margin:32px 0 12px;font-size:1.2rem;font-weight:700}.prose p{margin:16px 0}.prose strong{color:var(--ink);font-weight:600}.prose a{color:var(--accent);text-decoration-color:var(--hairline);text-underline-offset:3px}.prose a:hover{text-decoration-color:var(--accent)}.prose ul,.prose ol{margin:16px 0;padding-left:1.3em}.prose li{margin:6px 0}.prose li::marker{color:var(--accent)}.prose blockquote{border-left:3px solid var(--hairline);color:var(--muted);margin:24px 0;padding-left:18px;font-style:italic}.prose code{font-family:var(--mono);background:var(--accent-soft);color:var(--ink);border-radius:4px;padding:.15em .4em;font-size:.86em}.prose pre{border:1px solid var(--hairline);border-radius:8px;margin:24px 0;padding:18px 20px;font-size:.86rem;line-height:1.55;overflow-x:auto}.prose pre code{color:inherit;background:0 0;padding:0}.prose img{border-radius:8px;max-width:100%;margin:24px 0}.prose hr{border:none;border-top:1px solid var(--hairline);margin:36px 0}@media (width>=1280px){.wrap{max-width:1080px;padding:0 24px}}@media (width>=1600px){.wrap{max-width:1200px;padding:0 20px}}@media (width<=560px){.wrap{padding:0}}
