:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#181818;background:#fbfbf9;font-synthesis:none;text-rendering:optimizeLegibility;color-scheme:light;--ink: #181818;--copy: #4f4f4a;--muted: #6c6c67;--faint: #90908a;--line: #deded8;--page: #fbfbf9;--paper: #ffffff;--hover: #f4f4f0;--technical: #f7f7f4;--technical-line: #d5d5ce;--link: #555550;--link-line: #bdbdb6;--overlay: rgba(18, 18, 16, .32);--drawer-head: rgba(255, 255, 255, .96);--shadow: rgba(0, 0, 0, .1)}:root[data-theme=dark]{color-scheme:dark;--ink: #ecece7;--copy: #c4c4bd;--muted: #aaa9a1;--faint: #85847d;--line: #33332f;--page: #151513;--paper: #1b1b18;--hover: #242420;--technical: #22221e;--technical-line: #3d3d37;--link: #c7c7bf;--link-line: #65655e;--overlay: rgba(0, 0, 0, .56);--drawer-head: rgba(27, 27, 24, .96);--shadow: rgba(0, 0, 0, .34)}*{box-sizing:border-box}html{background:var(--page)}body{margin:0;color:var(--ink);background:var(--page);font-size:15px;line-height:1.55;transition:background-color .16s ease,color .16s ease}button,summary{font:inherit}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page-shell{width:min(820px,calc(100% - 40px));margin:0 auto;padding:34px 0 28px}.utility-row{display:flex;justify-content:flex-end;min-height:24px;margin-bottom:18px}.theme-toggle{appearance:none;border:0;border-bottom:1px solid var(--link-line);background:transparent;color:var(--muted);padding:1px 0;font-size:.7rem;line-height:1.2;cursor:pointer}.theme-toggle:hover{color:var(--ink);border-color:var(--ink)}.theme-toggle:focus-visible,.service-actions button:focus-visible,.close-button:focus-visible,.project-heading a:focus-visible,summary:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.intro{max-width:700px;margin-bottom:52px}.intro-copy{margin:0;font-size:clamp(1.08rem,1.8vw,1.3rem);line-height:1.62;letter-spacing:-.018em}.tool-line{margin:18px 0 0;color:var(--muted);font-size:.82rem;line-height:1.6}.section-line{display:flex;align-items:baseline;justify-content:space-between;gap:24px;padding-bottom:12px;border-bottom:1px solid var(--ink)}.section-line h2{margin:0;font-size:.78rem;line-height:1;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.section-line span{color:var(--muted);font-size:.78rem}.service-list{border-bottom:1px solid var(--line)}.service-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:18px;align-items:start;padding:20px 0;border-bottom:1px solid var(--line)}.service-row:last-child{border-bottom:0}.service-number{padding-top:3px;color:var(--faint);font-size:.7rem;font-variant-numeric:tabular-nums}.service-copy h3{margin:0;font-size:1rem;line-height:1.3;font-weight:660;letter-spacing:-.012em}.service-copy>p{margin:6px 0 0;color:var(--copy);font-size:.88rem}.service-copy .service-scope{margin-top:8px;color:var(--faint);font-size:.73rem;line-height:1.5}.service-actions{display:flex;align-items:center;gap:6px;padding-top:1px}.service-actions button{appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);border-radius:999px;padding:6px 9px;font-size:.72rem;line-height:1;cursor:pointer}.service-actions button:hover{background:var(--hover);border-color:var(--faint)}.service-actions button span{color:var(--faint);margin-left:3px}footer{display:flex;justify-content:flex-end;padding-top:18px;color:var(--faint);font-size:.7rem}.overlay{position:fixed;inset:0;z-index:40;display:flex;justify-content:flex-end;background:var(--overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.drawer{position:relative;inset:auto;display:block;width:min(720px,94vw);max-width:none;height:100%;max-height:none;margin:0;overflow-y:auto;border:0;border-radius:0;color:var(--ink);background:var(--paper);box-shadow:-20px 0 60px var(--shadow);padding:34px 40px 48px}.drawer::backdrop{background:transparent}.drawer-head{position:sticky;top:-34px;z-index:2;display:flex;justify-content:space-between;gap:24px;align-items:flex-start;margin:-34px -40px 0;padding:34px 40px 22px;background:var(--drawer-head);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.drawer-kicker{margin:0 0 5px;color:var(--faint);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;font-weight:700}.drawer-head h2{margin:0;max-width:520px;font-size:1.25rem;line-height:1.3;letter-spacing:-.018em}.close-button{appearance:none;border:0;background:transparent;color:var(--muted);padding:0 2px;font-size:1.65rem;line-height:1;cursor:pointer}.close-button:hover{color:var(--ink)}.drawer-list,.credential-list{padding-top:4px}.project-item,.writing-item,.credential-item{padding:20px 0;border-bottom:1px solid var(--line)}.project-heading{display:flex;align-items:baseline;justify-content:space-between;gap:18px}.project-item h3,.writing-item h3,.credential-item h3{margin:0;font-size:.92rem;line-height:1.35;font-weight:660;letter-spacing:-.01em}.project-heading a{flex:0 0 auto;color:var(--link);font-size:.72rem;text-decoration:none;border-bottom:1px solid var(--link-line)}.project-heading a:hover{color:var(--ink);border-color:var(--ink)}.project-item>p,.writing-item p{max-width:620px;margin:7px 0 0;color:var(--copy);font-size:.84rem;line-height:1.62}.project-item details{margin-top:10px}.project-item summary{width:fit-content;color:var(--muted);font-size:.72rem;cursor:pointer;list-style:none}.project-item summary::-webkit-details-marker{display:none}.project-item summary:after{content:" +";color:var(--faint)}.project-item details[open] summary:after{content:" −"}.technical-copy{margin-top:10px;padding:12px 14px;background:var(--technical);border-left:2px solid var(--technical-line)}.technical-copy p{margin:0;color:var(--copy);font-size:.78rem;line-height:1.65}.technical-copy .stack-line{margin-top:10px;color:var(--faint);font-size:.7rem}.subsection-heading{padding:28px 0 0}.subsection-heading h3{margin:0;color:var(--faint);font-size:.68rem;text-transform:uppercase;letter-spacing:.12em}.credential-item{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:28px}.credential-item .issuer{margin:5px 0 0;color:var(--faint);font-size:.72rem}.credential-item>p{margin:0;color:var(--copy);font-size:.78rem;line-height:1.6}@media (prefers-reduced-motion: reduce){body{transition:none}}@media (max-width: 720px){.page-shell{width:min(100% - 28px,820px);padding-top:28px}.utility-row{margin-bottom:14px}.intro{margin-bottom:40px}.section-line{align-items:flex-start}.section-line span{display:none}.service-row{grid-template-columns:26px 1fr;gap:12px;padding:18px 0}.service-actions{grid-column:2;padding-top:4px}.drawer{width:100%;padding:24px 22px 40px}.drawer-head{top:-24px;margin:-24px -22px 0;padding:24px 22px 18px}.credential-item{grid-template-columns:1fr;gap:9px}}@media (max-width: 430px){body{font-size:14px}.page-shell{width:calc(100% - 24px)}.intro-copy{font-size:1.03rem}.tool-line{font-size:.75rem}.service-copy .service-scope{display:none}.service-actions{flex-wrap:wrap}}
