:root{--ink:#000;--paper:#fff;--grey:#f3f4f6;--dot:#d1d5db;--font-sans:ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"DM Serif Display", serif;--font-mono:ui-monospace, Menlo, Consolas, monospace;--border:2px solid var(--ink);--rule:1px solid var(--ink);--shadow:8px 8px 0 0 var(--ink);--shadow-sm:4px 4px 0 0 var(--ink);--dots:radial-gradient(circle, var(--dot) 1px, transparent 1px);--ease:.15s ease;--page-width:80rem;--gutter:2rem}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;font-size:16px}body{min-height:100vh;font-family:var(--font-sans);color:var(--ink);background-color:var(--paper);line-height:1.5;position:relative}img{max-width:100%;height:auto;display:block}ul,ol{padding-left:1.5rem}li+li{margin-top:.5rem}hr{border:0;border-top:var(--rule)}h1,h2,.prose h3{font-family:var(--font-display);font-weight:400;line-height:1.2}h1{margin-bottom:1.5rem;font-size:3.75rem;line-height:1}h2{margin-bottom:2rem;font-size:2.25rem}h3{font-size:1.125rem;line-height:1.3}h3+p{margin-top:.5rem}@media (width>=768px){h1{font-size:6rem}h2{font-size:3rem}}.container,section{max-width:var(--page-width);margin-inline:auto}section{padding:2rem var(--gutter)}@media (width>=768px){.col{width:66.6667%}.col-right{margin-left:auto}}.split{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.stack>*+*{margin-top:1.5rem}.indent{text-indent:2.5rem}.dot-bg{z-index:-10;background-image:var(--dots);background-size:20px 20px;position:fixed;inset:0}nav,footer{padding:1.5rem var(--gutter)}.logo img{height:2.5rem}footer{background:var(--paper);border-top:var(--border);margin-top:2rem;font-size:.875rem}.socials{gap:.75rem;display:flex}.card{background:var(--paper);border:var(--border);box-shadow:var(--shadow);padding:1.5rem}.card p,.card li{font-size:1.125rem}@media (width>=768px){.card{padding:2rem}}.card-flush{padding:0}.card-intro{max-width:42rem}@media (width>=768px){.card-intro p{font-size:1.25rem}}.dot-fill{background-color:var(--grey);background-image:var(--dots);background-size:12px 12px}.btn{color:var(--ink);background:var(--paper);border:var(--border);box-shadow:var(--shadow-sm);transition:transform var(--ease), box-shadow var(--ease);justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;text-decoration:none;display:inline-flex}.btn:hover,.btn:focus-visible{box-shadow:2px 2px 0 0 var(--ink);transform:translate(2px,2px)}.btn-icon{width:2.5rem;height:2.5rem;padding:0}.btn-icon svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.link,.prose a{color:inherit;text-underline-offset:2px;transition:opacity var(--ease);text-decoration:underline}.link:hover,.prose a:hover{opacity:.7}.hero{padding-top:5rem;padding-bottom:5rem}.hero-inner{max-width:56rem}@media (width>=768px){.hero{padding-top:8rem;padding-bottom:8rem}}.work-grid{grid-template-columns:1fr;gap:2.5rem;display:grid}@media (width>=640px){.work-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=768px){.work-grid{grid-template-columns:repeat(3,1fr)}}.work-item{color:inherit;transition:transform var(--ease), box-shadow var(--ease);text-decoration:none;display:block}.work-item:hover,.work-item:focus-visible{box-shadow:10px 10px 0 0 var(--ink);transform:translate(-2px,-2px)}.work-thumb{aspect-ratio:4/3;border-bottom:var(--border);justify-content:center;align-items:center;display:flex}.work-thumb img{object-fit:cover;width:100%;height:100%}.work-thumb img[data-fit=contain]{object-fit:contain}.work-item figcaption{padding:1rem 1.25rem;font-size:.95rem;line-height:1.45}.services{margin-bottom:5rem}.service+.service{border-top:var(--rule);padding-top:1.5rem}@media (width>=1024px){.service{grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:baseline;column-gap:2rem;display:grid}.service p{margin-top:0}}.process-list li::marker{font-weight:700}.project-header{padding-top:3rem}@media (width>=768px){.project-header{padding-top:5rem}}.back-link{margin-bottom:2.5rem;font-size:.875rem;text-decoration:none;display:inline-block}.project-year{letter-spacing:.05em;background:var(--paper);border:var(--border);width:fit-content;margin-bottom:1rem;padding:.125rem .625rem;font-size:.875rem;font-weight:600}.live-link{margin-top:2.5rem}.project-thumb img{margin-inline:auto}.prose{margin-top:3rem}.prose h2{margin-bottom:0}.prose h3{font-size:1.75rem}.prose>h2:not(:first-child),.prose>h3:not(:first-child){margin-top:2.5rem}.prose img{border:var(--border)}.prose blockquote{border-left:4px solid var(--ink);padding-left:1rem;font-style:italic}.prose code{font-family:var(--font-mono);background:var(--grey);padding:.1em .3em;font-size:.9em}@media (width>=768px){.prose h2{font-size:2.5rem}}
