@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Serif:wght@400;600;700&family=IBM+Plex+Sans:wght@400;500;600&family=IBM+Plex+Mono:wght@400;500;600&display=swap";:root{--paper:#f5f4f0;--paper-dim:#eceae3;--ink:#14151a;--ink-soft:#4a4a47;--line:#c9c7be;--stamp:#9c2b2b;--accent-muted:#6b6455}:root.dark{--paper:#1a1a18;--paper-dim:#232320;--ink:#edebe4;--ink-soft:#a8a69c;--line:#3a3935;--stamp:#d4645f;--accent-muted:#8c8778}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);font-family:IBM Plex Sans,sans-serif;line-height:1.5;transition:background-color .3s,color .3s}.wrap{max-width:920px;margin:0 auto;padding:0 24px}.redact{background:var(--ink);color:var(--ink);cursor:pointer;border-radius:2px;padding:0 3px;transition:color .35s,background .35s}.redact:hover,.redact:focus-visible{color:var(--ink);outline:1px dashed var(--stamp);background:0 0}@media (prefers-reduced-motion:reduce){*{transition:none!important}}.masthead{border-bottom:1px solid var(--ink);background:var(--paper);z-index:100;padding:18px 0;transition:background-color .3s;position:sticky;top:0}.masthead-row{letter-spacing:.08em;color:var(--ink-soft);flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;font-family:IBM Plex Mono,monospace;font-size:12px;display:flex}.masthead-row strong{color:var(--ink);font-weight:600}.status-pill{color:var(--stamp);border:1px solid var(--stamp);text-transform:uppercase;padding:2px 8px}.masthead-nav{text-transform:uppercase;letter-spacing:.1em;color:var(--ink-soft);flex-wrap:wrap;gap:12px;margin-top:16px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.masthead-nav a{color:var(--ink);text-decoration:none}.masthead-nav a:hover,.masthead-nav a:focus-visible{text-underline-offset:4px;text-decoration:underline;text-decoration-thickness:1px}.hero{border-bottom:1px solid var(--line);padding:72px 0 56px}.eyebrow{letter-spacing:.12em;text-transform:uppercase;color:var(--accent-muted);margin-bottom:18px;font-family:IBM Plex Mono,monospace;font-size:12px}.hero h1{letter-spacing:-.01em;font-family:IBM Plex Serif,serif;font-size:clamp(40px,7vw,68px);font-weight:700;line-height:1.05}.role{color:var(--ink-soft);letter-spacing:.02em;margin-top:14px;font-family:IBM Plex Mono,monospace;font-size:15px}.redact-line{max-width:640px;color:var(--ink-soft);margin-top:34px;font-family:IBM Plex Serif,serif;font-size:19px;line-height:1.7}.redact-hint{letter-spacing:.1em;text-transform:uppercase;color:var(--accent-muted);margin-top:10px;font-family:IBM Plex Mono,monospace;font-size:11px;display:block}.hero-cta{text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:16px;margin-top:40px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.cta-link{color:var(--ink);border-bottom:1px solid var(--ink);padding-bottom:2px;text-decoration:none;transition:color .2s,border-color .2s}.cta-link:hover,.cta-link:focus-visible{color:var(--stamp);border-color:var(--stamp)}.cta-dot{color:var(--accent-muted)}.section{border-bottom:1px solid var(--line);padding:56px 0}.section-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:32px;display:flex}.section-title{font-family:IBM Plex Serif,serif;font-size:24px;font-weight:600}.section-count{color:var(--accent-muted);letter-spacing:.08em;font-family:IBM Plex Mono,monospace;font-size:12px}.about-content{color:var(--ink-soft);flex-direction:column;gap:16px;max-width:720px;font-family:IBM Plex Sans,sans-serif;font-size:16px;line-height:1.6;display:flex}.about-content strong{color:var(--ink);font-weight:600}.stat-strip{border:1px solid var(--line);background:var(--paper-dim);flex-wrap:wrap;gap:48px;margin-top:40px;padding:24px;display:flex}.stat-item{flex-direction:column;gap:4px;display:flex}.stat-value{color:var(--ink);font-family:IBM Plex Serif,serif;font-size:24px;font-weight:600}.stat-label{letter-spacing:.05em;text-transform:uppercase;color:var(--accent-muted);font-family:IBM Plex Mono,monospace;font-size:11px}.skills-grid{grid-template-columns:1fr;gap:24px;display:grid}@media (width>=640px){.skills-grid{grid-template-columns:repeat(2,1fr)}}.skill-category{flex-direction:column;gap:6px;display:flex}.skill-name{text-transform:uppercase;letter-spacing:.1em;color:var(--accent-muted);font-family:IBM Plex Mono,monospace;font-size:11px}.skill-items{color:var(--ink);font-family:IBM Plex Sans,sans-serif;font-size:15px;line-height:1.5}.experience-item{flex-direction:column;gap:12px;margin-bottom:32px;display:flex}.experience-item:last-child{margin-bottom:0}.exp-meta{flex-direction:column;gap:4px;display:flex}.exp-date{letter-spacing:.05em;color:var(--accent-muted);text-transform:uppercase;font-family:IBM Plex Mono,monospace;font-size:12px}.exp-role{color:var(--ink);font-family:IBM Plex Serif,serif;font-size:18px;font-weight:600}.exp-desc{color:var(--ink-soft);max-width:680px;font-family:IBM Plex Sans,sans-serif;font-size:15px;line-height:1.6}.exp-note{color:var(--accent-muted);font-family:IBM Plex Mono,monospace;font-size:12px;font-style:italic}.exhibits-grid{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=768px){.exhibits-grid{grid-template-columns:repeat(2,1fr)}}.exhibit{border:1px solid var(--line);background:var(--paper);flex-direction:column;padding:22px;transition:border-color .2s;display:flex;position:relative}.exhibit.is-link{color:inherit;cursor:pointer;text-decoration:none}.exhibit.is-link:hover,.exhibit.is-link:focus-visible{border-color:var(--ink);outline:none}.exhibit:hover{border-color:var(--ink)}.exhibit-tag{letter-spacing:.1em;color:var(--accent-muted);text-transform:uppercase;justify-content:space-between;margin-bottom:10px;font-family:IBM Plex Mono,monospace;font-size:11px;display:flex}.exhibit h3{color:var(--ink);margin-bottom:8px;font-family:IBM Plex Serif,serif;font-size:20px;font-weight:600}.exhibit p{color:var(--ink-soft);flex-grow:1;font-size:14.5px;line-height:1.6}.exhibit .stack{color:var(--accent-muted);letter-spacing:.03em;text-transform:uppercase;margin-top:14px;font-family:IBM Plex Mono,monospace;font-size:11.5px}.stamp-mark{letter-spacing:.12em;color:var(--stamp);border:1.5px solid var(--stamp);opacity:.85;text-transform:uppercase;padding:3px 8px;font-family:IBM Plex Mono,monospace;font-size:10.5px;position:absolute;top:20px;right:22px;transform:rotate(4deg)}.table-wrapper{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:600px;font-family:IBM Plex Mono,monospace;font-size:13px}th{text-align:left;text-transform:uppercase;letter-spacing:.08em;color:var(--accent-muted);border-bottom:1px solid var(--ink);padding-bottom:10px;font-size:11px;font-weight:500}td{border-bottom:1px solid var(--line);color:var(--ink-soft);vertical-align:top;padding:14px 0;line-height:1.5}td:first-child,th:first-child{color:var(--ink);width:32%;padding-right:16px;font-weight:500}td:nth-child(2),th:nth-child(2){width:28%;padding-right:16px}tr:last-child td{border-bottom:none}.edu-entry{flex-direction:column;gap:4px;margin-bottom:32px;display:flex}.edu-meta{flex-direction:column;gap:4px;display:flex}.edu-date{letter-spacing:.05em;color:var(--accent-muted);font-family:IBM Plex Mono,monospace;font-size:12px}.edu-title{color:var(--ink);font-family:IBM Plex Serif,serif;font-size:18px;font-weight:600}.edu-desc{color:var(--ink-soft);font-family:IBM Plex Sans,sans-serif;font-size:15px}.verification-block{color:var(--ink-soft);flex-direction:column;gap:12px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.verify-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.v-check{color:var(--stamp)}.v-title{color:var(--ink);font-weight:500}.v-link a{color:var(--ink);border-bottom:1px solid var(--line);text-decoration:none;transition:border-color .2s}.v-link a:hover,.v-link a:focus-visible{border-color:var(--ink)}footer{padding:56px 0 80px}.seal{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.seal-left{flex-direction:column;gap:32px;display:flex}.seal-left p{max-width:420px;color:var(--ink-soft);font-family:IBM Plex Serif,serif;font-size:16px}.cat-easter-egg{color:var(--ink-soft);font-family:IBM Plex Mono,monospace;font-size:13px}.cat-easter-egg .prompt{color:var(--stamp)}.cat-easter-egg pre{color:var(--accent-muted);margin-top:8px;font-family:inherit;font-size:12px}.contact-links{text-align:right;text-transform:uppercase;letter-spacing:.05em;flex-direction:column;gap:6px;font-family:IBM Plex Mono,monospace;font-size:13px;display:flex}.contact-links a{color:var(--ink);border-bottom:1px solid var(--line);padding-bottom:1px;text-decoration:none;transition:border-color .2s}.contact-links a:hover,.contact-links a:focus-visible{border-color:var(--ink)}@media (width<=640px){.seal{flex-direction:column;align-items:flex-start}.contact-links{text-align:left}}.not-found-section{flex-direction:column;align-items:flex-start;gap:24px;padding:120px 0;display:flex}.not-found-section h1{color:var(--ink);font-family:IBM Plex Serif,serif;font-size:clamp(32px,5vw,56px);font-weight:700;line-height:1.1}.not-found-body{color:var(--ink-soft);max-width:600px;font-family:IBM Plex Mono,monospace;font-size:14px}.return-link{text-transform:uppercase;letter-spacing:.08em;color:var(--ink);border-bottom:1px solid var(--ink);margin-top:16px;padding-bottom:2px;font-family:IBM Plex Mono,monospace;font-size:13px;text-decoration:none;transition:color .2s,border-color .2s}.return-link:hover,.return-link:focus-visible{color:var(--stamp);border-color:var(--stamp)}
