:root{color-scheme:dark;--color-background:#0b0a0a;--color-primary:#f4f2f1;--color-secondary:#a59f9b;--color-surface:#1a1818;--color-focus:#d5d0cd;--font-sans:system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--page-width:72rem;--content-width:44rem;--page-gutter:clamp(1.5rem, 4.3vw, 3.5rem)}*,:before,:after{box-sizing:border-box}html{background:var(--color-background);min-width:320px;min-height:100%;color:var(--color-primary);font-family:var(--font-sans);font-kerning:normal;font-synthesis:none;text-rendering:optimizelegibility}body{background:var(--color-background);min-width:320px;min-height:100vh;color:var(--color-primary);margin:0;font-size:1rem;line-height:1.55}a{color:inherit}a[href]{cursor:pointer}a:focus-visible{outline:2px solid var(--color-focus);outline-offset:4px}.skip-link{z-index:2;background:var(--color-primary);color:var(--color-background);padding:.65rem .8rem;position:fixed;top:.75rem;left:.75rem;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.page-shell{width:min(var(--page-width), calc(100% - (2 * var(--page-gutter))));margin-inline:auto;padding-block:4rem}.introduction{max-width:var(--content-width);text-align:left;margin-inline:auto}.introduction h1{letter-spacing:-.045em;margin:0;font-size:clamp(1.9rem,2.8vw,2.1rem);font-weight:700;line-height:1.14}.introduction-lead{color:var(--color-primary);letter-spacing:.005em;margin:1rem 0 0;font-size:clamp(1.05rem,2vw,1.15rem);line-height:1.4}.introduction-copy{max-width:40rem;color:var(--color-secondary);text-wrap:pretty;margin:1rem 0 0;font-size:.92rem;line-height:1.65}.social-links{justify-content:flex-start;align-items:center;gap:.25rem;margin:1.2rem 0 0;padding:0;list-style:none;display:flex}.social-link{width:2.5rem;height:2.5rem;color:var(--color-secondary);border-radius:.2rem;place-items:center;transition:color .15s,transform .15s;display:grid}.social-link:hover{color:var(--color-primary);transform:translateY(-1px)}.social-link svg{fill:currentColor;width:1.15rem;height:1.15rem;display:block}.social-link:last-child svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6px}.currently-building{max-width:var(--content-width);text-align:left;margin:3.4rem auto 0}.section-label{color:var(--color-secondary);margin:0 0 1.1rem;font-size:.76rem;font-weight:450;line-height:1.4}.currently-building h2{letter-spacing:-.025em;margin:0;font-size:1.05rem;font-weight:650;line-height:1.45}.section-copy{max-width:40rem;color:var(--color-secondary);text-wrap:pretty;margin:.25rem 0 0;font-size:.88rem;line-height:1.65}.selected-work{max-width:var(--content-width);text-align:left;margin:3.7rem auto 0}.project-grid{max-width:var(--content-width);grid-template-columns:repeat(2,minmax(0,1fr));gap:1.2rem .8rem;margin-inline:auto;display:grid}.project-card{min-width:0;text-decoration:none;display:block}.project-image-wrap{aspect-ratio:1.08;background:var(--color-surface);border-radius:.72rem;overflow:hidden}.project-image{object-fit:cover;object-position:center;width:100%;height:100%;transition:transform .22s;display:block}.project-card:first-child .project-image{object-position:center 28%}.project-card:hover .project-image{transform:scale(1.025)}.project-caption{text-align:left;gap:.04rem;padding-top:.55rem;display:grid}.project-caption h3{margin:0;font-size:.9rem;font-weight:500;line-height:1.4}.project-caption p{color:var(--color-secondary);margin:0;font-size:.75rem;line-height:1.45}@media (width<=42rem){.page-shell{padding-top:3.5rem}.introduction h1{font-size:clamp(1.8rem,7.2vw,2.1rem)}.introduction-lead{margin-top:.9rem;font-size:1rem}.introduction-copy{margin-top:.85rem;font-size:.9rem}.currently-building{margin-top:3rem}.selected-work{margin-top:3.45rem}.project-grid{gap:1.05rem .7rem}.project-image-wrap{aspect-ratio:.92}.project-caption h3{font-size:.85rem}.project-caption p{font-size:.72rem}}@media (width<=22rem){.page-shell{width:calc(100% - 2.25rem)}.project-grid{grid-template-columns:minmax(0,1fr)}.project-image-wrap{aspect-ratio:1.08}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important}}
