@import "https://fonts.googleapis.com/css2?family=Space+Mono:wght@400;700&display=swap";:root{--font-mono:"Space Mono", monospace;--sage:#3e5c50;--gold:#d8b25c;--muted:#7a776e;--cream:#f4efe4;--ink:#1f2229;--ink-green:#1f2e27}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--sage);flex-direction:column;height:100dvh;display:flex;overflow:hidden}main{background-color:#ccc;flex:1;margin:0 10px 10px;overflow-y:auto}.nav{background-color:var(--sage);z-index:1000;justify-content:space-between;align-items:center;padding:1rem 2rem;display:flex;position:sticky;top:0}.nav__logo{color:var(--cream);font-family:var(--font-mono);font-size:1.5rem;font-weight:700;text-decoration:none}.nav__logo--active{color:var(--gold)}.nav__links{gap:1.5rem;list-style:none;display:flex}.nav__link{color:var(--ink-green);font-family:var(--font-mono);font-size:1rem;font-weight:500;text-decoration:none;display:block}.nav__link:before{content:"[ "}.nav__link:after{content:" ]"}.nav__link:hover{font-weight:700}.nav__link--active{color:var(--gold)}.nav__link:hover .nav__link-label,.nav__link--active .nav__link-label{text-decoration:underline}@media (width<=600px){.nav{text-align:center;flex-direction:column;gap:1rem}}.chip{font-family:var(--font-mono);border:1px solid var(--sage);color:var(--ink-green);background:#eef3ef;border-radius:2px;padding:4px 12px;font-size:.8rem;list-style-type:none}.chip--accent{background:var(--gold);color:var(--ink);border:none;border-radius:4px;padding:6px 14px;font-size:.9rem;font-weight:700}.chip-list{flex-wrap:wrap;gap:10px;display:flex}.chip-list--tight{gap:8px}.tile{border:1px solid var(--sage);text-align:center;color:var(--ink);font-family:var(--font-mono);border-radius:0;flex-direction:column;flex:1;align-items:center;gap:4px;padding:20px 14px;text-decoration:none;transition:background-color .15s;display:flex}.tile:hover{background:#eef3ef}.tile--accent{background:var(--gold);border-color:var(--gold)}.tile--accent:hover{background:#cfa548}.tile__label{font-size:.95rem;font-weight:700}.tile__value{color:var(--muted);word-break:break-word;font-size:.78rem}.tile--accent .tile__value{color:var(--ink)}.filter{gap:10px;margin-bottom:16px;font-size:.9rem;display:flex}.filter__item{cursor:pointer}.filter__item:hover{font-weight:700}.filter__item--active{color:var(--gold);font-weight:700}.filter__item:hover .filter__item-label,.filter__item--active .filter__item-label{text-decoration:underline}.contact-form{flex-direction:column;gap:12px;width:100%;display:flex}.contact-form__honeypot{display:none}.contact-form__label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:-6px;font-size:.75rem}.contact-form__input{font-family:var(--font-mono);border:1px solid var(--sage);color:var(--ink);resize:vertical;background:#fff;border-radius:0;padding:8px 10px;font-size:.9rem}.contact-form__input:focus{border-color:var(--gold);outline:none}.contact-form__button{background:var(--gold);color:var(--ink);font-family:var(--font-mono);cursor:pointer;border:none;border-radius:0;align-self:flex-start;margin-top:4px;padding:10px 22px;font-size:.9rem;font-weight:700;transition:background-color .15s}.contact-form__button:hover{background:#cfa548}.hero{background:var(--sage);min-height:100%;color:var(--cream);justify-content:center;align-items:center;display:flex}.hero__text{text-align:center;font-size:2rem;font-family:var(--font-mono)}.hero__easter-egg{color:inherit;text-decoration:none}.about{background:#fff;gap:28px;max-width:900px;margin:0 auto;padding:32px 40px;display:flex}.about__photo{object-fit:cover;flex-shrink:0;width:220px;height:280px}.about__heading{font-family:var(--font-mono);color:var(--ink-green);margin-bottom:14px;font-size:1.4rem}.about__tagline{font-family:var(--font-mono);color:var(--muted);margin-bottom:18px;font-size:.9rem}.about__section-title{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:16px 0 6px;font-size:.8rem;font-weight:700}.about__paragraph{font-family:var(--font-mono);color:#2b2b28;margin-bottom:8px;font-size:.95rem;line-height:1.55}@media (width<=600px){.about{flex-direction:column}.about__photo{width:100%;height:auto}}.projects{max-width:900px;height:100%;color:var(--ink);font-family:var(--font-mono);background:#fff;margin:0 auto;padding:32px 40px}.projects__title{margin-bottom:10px;font-size:1.4rem}.projects__currently{color:var(--muted);margin-bottom:20px;font-size:.9rem}.projects__currently strong{color:var(--ink);font-weight:700}.projects__pinned{align-items:center;gap:14px;margin-bottom:16px;display:flex}.projects__pinned-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:.75rem;font-weight:700}.projects__search{font-family:var(--font-mono);border:1px solid var(--ink);background:#fff;max-width:280px;margin-bottom:16px;padding:6px 8px;font-size:.9rem;display:block}.project-table{border-collapse:collapse;table-layout:fixed;width:100%}.project-table th:first-child,.project-table td:first-child{width:75%}.project-table th:last-child,.project-table td.project-table__tag{width:25%}.project-table th{text-align:left;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);border-bottom:2px solid var(--ink);padding:8px;font-size:.8rem}.project-table td{border-bottom:1px solid #ccc9c1;padding:10px 8px;font-size:.95rem}.project-table__name{font-size:.95rem}.project-table__desc{color:var(--muted);margin-top:2px;font-size:.78rem}.project-table th:last-child,.project-table__tag{text-align:right;color:var(--muted);font-size:.85rem}.project-table__empty{color:var(--muted);padding:12px 0}.contact{width:100%;max-width:600px;color:var(--ink);background:#fff;margin:0 auto;padding:32px 40px}.contact__heading{font-family:var(--font-mono);margin-bottom:20px;font-size:1.4rem}.contact__links{border-collapse:collapse;width:100%;margin-bottom:20px}.contact__link-row td{border-bottom:1px solid #ccc9c1;padding:10px 8px;font-size:.95rem}.contact__link-row td:last-child{text-align:right}.contact__link-value{color:inherit;text-decoration:none}.contact__link-row--primary td{color:var(--gold);font-weight:700}.contact__form-title{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:20px 0 14px;font-size:.8rem;font-weight:700}
