*,*:before,*:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}:root{--color-text: #2a2a2a;--color-background: #f6f4f0;--color-muted: #6f6b63;--color-border: #e2ded6;--color-link: #2167a6;--color-link-hover: #174b7a;--color-surface: #ffffff;--font-sans: "Work Sans", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono: "DM Mono", ui-monospace, SFMono-Regular, monospace;--font-size-base: 16px;--line-height-base: 1.6;--spacing-2xs: .25rem;--spacing-xs: .5rem;--spacing-sm: 1rem;--spacing-md: 2rem;--spacing-lg: 3rem;--spacing-xl: 4.5rem;--container-max-width: 760px;--container-padding: 1.75rem}html{font-size:var(--font-size-base);font-family:var(--font-sans)}body{background-color:var(--color-background);color:var(--color-text);line-height:var(--line-height-base)}html[data-theme=dark]{--color-text: #e7e2d9;--color-background: #1c1916;--color-muted: #b1aba2;--color-border: #3a332d;--color-link: #8ab4f8;--color-link-hover: #a3c7ff;--color-surface: #26211d}main{padding:var(--spacing-lg) var(--container-padding)}.container{max-width:var(--container-max-width);margin:0 auto}h1{font-size:clamp(2.2rem,6vw,3.4rem);font-weight:700;letter-spacing:-.01em;line-height:1.1;margin-bottom:var(--spacing-md);position:relative}.heading-ghost{display:none;font-size:.7em;font-weight:600;color:var(--color-muted);opacity:.35;transform:translateY(.35em) scaleY(-1);transform-origin:top left;line-height:1;margin-top:.4rem}h2{font-size:clamp(1.4rem,3.6vw,2rem);font-weight:600;margin-top:var(--spacing-lg);margin-bottom:var(--spacing-sm)}h3{font-size:1.15rem;font-weight:600;margin-top:var(--spacing-md);margin-bottom:var(--spacing-xs)}p{margin-bottom:var(--spacing-sm);color:var(--color-text)}a{color:var(--color-link);text-decoration:none}a:hover{color:var(--color-link-hover)}a:focus,button:focus{outline:2px solid var(--color-text);outline-offset:2px}ul,ol{list-style:none}small,.muted{color:var(--color-muted)}.site-header{padding:var(--spacing-md) var(--container-padding) 0}.site-header .container{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-sm)}.site-nav{display:flex;flex-wrap:wrap;gap:var(--spacing-md);font-size:.95rem;font-family:var(--font-mono)}.site-nav a{color:var(--color-text)}.site-nav a[aria-current=page]{color:var(--color-muted)}.site-status{font-size:.95rem;color:var(--color-muted)}.theme-toggle{border:1px solid var(--color-border);background:transparent;color:var(--color-text);font-family:var(--font-mono);width:2.25rem;height:2.25rem;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.hero{margin-top:var(--spacing-md)}.hero p{font-size:1.05rem;max-width:36rem;color:var(--color-muted)}.hero-emoji{display:inline-block;width:1.4rem;height:1.4rem;margin-left:var(--spacing-xs);vertical-align:middle;object-fit:contain}.content{display:grid;gap:var(--spacing-md)}.content section{margin-top:var(--spacing-md)}.page-hero{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md)}.page-illustration{width:120px;height:auto;flex:0 0 auto;opacity:.85}.page-illustration--video{width:160px;background:none;border:none;object-fit:contain;filter:grayscale(1) contrast(1.5) brightness(1.2)}.content ul{list-style:disc;padding-left:1.2rem;display:grid;gap:var(--spacing-2xs)}.content ul li{color:var(--color-text)}.hr{height:1px;background:var(--color-border);margin:var(--spacing-lg) 0}.projects-grid{display:grid;gap:var(--spacing-md);grid-template-columns:1fr;margin-top:var(--spacing-md)}.project-card{display:block;border:1px solid var(--color-border);border-radius:12px;overflow:hidden;background:var(--color-surface)}.project-card__media{height:140px;display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--color-text);text-align:center;padding:var(--spacing-sm);font-size:.95rem}.project-card__body{padding:var(--spacing-md)}.project-card__title{font-size:1rem;font-weight:600;margin-bottom:var(--spacing-2xs);color:var(--color-link)}.project-card__desc{color:var(--color-muted);font-size:.92rem}.site-footer{padding:var(--spacing-lg) var(--container-padding) var(--spacing-xl);margin-top:var(--spacing-xl);font-size:.9rem;font-family:var(--font-mono)}.site-footer .container{display:flex;flex-direction:column;gap:var(--spacing-md)}.footer-rule{height:1px;background:var(--color-border)}.footer-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-sm);color:var(--color-muted)}.footer-row-top{justify-content:space-between}.footer-row-bottom{justify-content:flex-start}.footer-meta{color:var(--color-muted)}.footer-nav{display:flex;flex-wrap:wrap;gap:var(--spacing-sm)}.footer-icons{display:flex;gap:var(--spacing-xs);align-items:center}.footer-icons a{width:1.9rem;height:1.9rem;border:1px solid var(--color-border);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:.75rem;color:var(--color-muted)}.footer-hire{margin-left:auto;color:#b000ff}.footer-legal{margin-left:auto;display:flex;gap:var(--spacing-sm)}.skip-link{position:absolute;top:0;left:0;background:var(--color-text);color:var(--color-background);padding:var(--spacing-xs) var(--spacing-sm);text-decoration:none;z-index:100;transform:translateY(-150%)}.skip-link:focus,.skip-link:focus-visible{transform:translateY(0)}.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}@media(max-width:640px){.page-hero{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}.page-hero h1{min-width:0;margin-bottom:0}.page-hero .page-illustration,.page-hero .page-illustration--video{align-self:flex-end}}@media(min-width:760px){:root{--container-padding: 2.5rem}.page-illustration{width:140px}.page-illustration--video{width:200px}.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-row{gap:var(--spacing-md)}}@media(min-width:1080px){.projects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
