.geometry-field{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;pointer-events:none;z-index:0;opacity:0;animation:field-in 1.4s ease .1s forwards}@keyframes field-in{to{opacity:1}}@media (prefers-reduced-motion: reduce){.geometry-field{animation:none;opacity:1}}.home{min-height:100vh;display:flex;background:linear-gradient(rgba(5,5,5,.035) 1px,transparent 1px) 0 0 / 44px 44px,linear-gradient(90deg,rgba(5,5,5,.035) 1px,transparent 1px) 0 0 / 44px 44px,radial-gradient(circle at 68% 45%,#ffffffeb,#fbfbf800 40rem),var(--paper)}.home-visual{position:relative;flex:1 1 56%;min-height:100vh;overflow:hidden}.home-visual .geometry-field{right:clamp(1.5rem,5vw,6rem)}.home-copy{flex:1 1 44%;display:flex;flex-direction:column;justify-content:center;padding:clamp(2rem,6vw,6rem);padding-left:clamp(2rem,7vw,8rem)}.wordmark{font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:500;font-size:clamp(2.4rem,5vw,4.25rem);letter-spacing:-.055em;line-height:.9;color:var(--ink)}.tagline{font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:400;font-size:clamp(1.15rem,1.9vw,1.75rem);letter-spacing:-.02em;line-height:1.28;color:var(--ink);max-width:26rem;margin-top:clamp(1.3rem,3vh,2rem)}.lede{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:clamp(.8rem,.9vw,.9rem);line-height:1.75;letter-spacing:.01em;color:var(--muted);max-width:29rem;margin-top:clamp(1.2rem,2.5vh,1.7rem)}.contact{display:inline-block;align-self:flex-start;margin-top:1.9rem;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.9rem;letter-spacing:.02em;color:var(--ink);text-decoration:none;border-bottom:1px solid rgba(5,5,5,.4);padding-bottom:3px;transition:border-color .2s ease,opacity .2s ease}.contact:hover{border-color:var(--ink);opacity:.7}@media (prefers-reduced-motion: no-preference){.reveal{opacity:0;transform:translateY(14px);animation:reveal-up .9s cubic-bezier(.2,.7,.2,1) forwards;animation-delay:calc(.3s + var(--i, 0) * .12s)}}@keyframes reveal-up{to{opacity:1;transform:translateY(0)}}@media (max-width: 900px){.home{flex-direction:column}.home-visual{flex:none;min-height:52vh}.home-copy{flex:none;padding:clamp(2rem,8vw,3.5rem);padding-top:1rem}}.legal{font-family:Georgia,Times New Roman,serif;background:#fff;color:#000;line-height:1.7;padding:3rem 1.5rem;min-height:100vh}.legal main{max-width:42rem;margin:0 auto}.legal a{color:#000}.legal .back{display:inline-block;font-size:.9rem;margin-bottom:2.5rem}.legal h1{font-size:1.5rem;font-weight:400;margin-bottom:.5rem}.legal .updated{font-size:.9rem;margin-bottom:2.5rem}.legal h2{font-size:1.1rem;font-weight:700;margin:2rem 0 .75rem}.legal p,.legal li{font-size:1rem;margin-bottom:1rem}.legal ul{padding-left:1.5rem;margin-bottom:1rem}.legal li{margin-bottom:.5rem}.blog{min-height:100vh;background:linear-gradient(rgba(5,5,5,.035) 1px,transparent 1px) 0 0 / 44px 44px,linear-gradient(90deg,rgba(5,5,5,.035) 1px,transparent 1px) 0 0 / 44px 44px,var(--paper);padding:4rem 1.5rem 6rem}.blog-wrap,.article{max-width:44rem;margin:0 auto}.blog-back{display:inline-block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);text-decoration:none;margin-bottom:2.5rem}.blog-back:hover{color:var(--ink)}.dot{opacity:.5}.blog-head{border-bottom:1px solid var(--line);padding-bottom:2.5rem;margin-bottom:2.5rem}.blog-title{font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:500;font-size:clamp(2.5rem,7vw,4rem);letter-spacing:-.055em;line-height:.94;text-transform:lowercase}.blog-sub{margin-top:1rem;color:var(--muted);font-size:1.02rem;line-height:1.7}.post-list{list-style:none;display:flex;flex-direction:column;gap:1.25rem}.post-link{display:block;text-decoration:none;padding:1.75rem;border:1px solid var(--line);background:#fbfbf8b8;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}.post-link:hover{border-color:#0505058c;transform:translateY(-2px);box-shadow:0 16px 40px #0000000d}.post-meta,.article-meta{display:flex;align-items:center;gap:.6rem;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.post-heading{font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:500;font-size:clamp(1.4rem,3vw,1.9rem);letter-spacing:-.03em;line-height:1.1;margin:.75rem 0 .6rem;color:var(--ink)}.post-excerpt{font-family:Georgia,Times New Roman,serif;color:var(--muted);line-height:1.7;font-size:1rem}.post-more{display:inline-block;margin-top:1rem;font-size:.8rem;letter-spacing:.06em;color:var(--ink)}.article-title{font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:500;font-size:clamp(2rem,5vw,3rem);letter-spacing:-.045em;line-height:1.05;margin:.9rem 0 2.5rem}.article-body{font-family:Georgia,Times New Roman,serif;color:#1a1a1a;font-size:1.08rem;line-height:1.8}.article-p{margin-bottom:1.4rem}.article-p a{text-decoration:underline;text-underline-offset:2px}.article-h2{font-family:Space Grotesk,Inter,ui-sans-serif,system-ui,sans-serif;font-weight:500;font-size:1.4rem;letter-spacing:-.02em;margin:2.5rem 0 1rem;color:var(--ink)}.article-ul{padding-left:1.4rem;margin-bottom:1.4rem}.article-ul li{margin-bottom:.5rem}.article-quote{margin:2rem 0;padding-left:1.4rem;border-left:2px solid var(--ink);font-style:italic;color:var(--ink)}.article-code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.85rem;line-height:1.6;background:#050505;color:#f4f4f0;padding:1.25rem 1.5rem;overflow-x:auto;margin:0 0 1.4rem}.article-footer{margin-top:3.5rem;padding-top:1.75rem;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:1rem;font-size:.8rem;letter-spacing:.06em;color:var(--muted)}.article-footer a{text-decoration:none}.article-footer a:hover{color:var(--ink)}@media (max-width: 640px){.blog{padding:2.5rem 1.1rem 4rem}.post-link{padding:1.4rem}}*{margin:0;padding:0;box-sizing:border-box}:root{--ink: #050505;--muted: #666666;--line: rgba(5, 5, 5, .22);--paper: #fbfbf8}html,body{min-height:100%}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased}a{color:inherit}
