:root{--ink:#111;--red:#A3151B;--line:#E5E5E5;--sans:"IBM Plex Sans",system-ui,-apple-system,"Segoe UI",sans-serif;--mono:"IBM Plex Mono",ui-monospace,Menlo,Consolas,monospace}*{box-sizing:border-box}html{scroll-behavior:auto}body{margin:0;background:#fff;color:var(--ink);font:400 1rem/1.6 var(--sans)}.sheet{max-width:1120px;margin:0 auto;padding:0 20px;border-left:1px solid var(--line);border-right:1px solid var(--line)}a{color:var(--red)}a:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.site-header{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-bottom:1px solid var(--line)}.wordmark{font:500 .95rem var(--mono);letter-spacing:.08em;color:var(--red);text-decoration:none}.link{font:.9rem var(--mono)}section{padding:56px 0;border-bottom:1px solid var(--line)}.hero{padding:72px 0 64px;border-bottom:1px solid var(--red)}h1{font-weight:500;font-size:clamp(2.2rem,7vw,4.5rem);line-height:1.05;letter-spacing:-.02em;margin:0 0 24px;max-width:15ch}.lede{max-width:56ch;font-size:1.15rem;margin:0 0 32px}.button{display:inline-block;padding:14px 22px;border:1px solid var(--red);color:var(--red);font:500 .9rem var(--mono);text-decoration:none}.button:hover{background:var(--red);color:#fff}.label{font:500 .8rem var(--mono);letter-spacing:.12em;font-variant-caps:all-small-caps;text-transform:none;margin:0 0 32px;padding-bottom:10px;border-bottom:1px solid var(--line)}.num{color:var(--red)}h3{font-weight:600;font-size:1.15rem;line-height:1.3;margin:0 0 10px}p{margin:0 0 1em}.services{display:grid;border:1px solid var(--line)}.cell{padding:24px;border-bottom:1px solid var(--line)}.cell:last-child{border-bottom:0}.mono-note{font:.82rem/1.5 var(--mono);margin:20px 0 0}.steps{width:100%;border-collapse:collapse;border:1px solid var(--line)}.steps th,.steps td{text-align:left;vertical-align:top;padding:14px 16px;border:1px solid var(--line);font-weight:400}.steps thead th{font:500 .75rem var(--mono);letter-spacing:.1em;background:#fff}.steps tbody th{font-weight:600;white-space:nowrap}.steps td:first-child{font:500 .9rem var(--mono);width:4.5rem}.revision{display:grid;gap:16px}.revision h3{font-size:clamp(1.6rem,4vw,2.4rem);font-weight:500;letter-spacing:-.01em}.revision p{max-width:62ch}.samples{display:grid;gap:20px}.card{display:block;color:var(--ink);text-decoration:none;border:1px solid var(--line);padding:16px}.card:hover h3{color:var(--red);text-decoration:underline}.card p{margin:0}.ph{display:flex;align-items:center;justify-content:center;text-align:center;aspect-ratio:3/4;margin-bottom:16px;border:1px dashed #767676;background:repeating-linear-gradient(0deg,transparent 0 0)}.ph span{font:.75rem/1.6 var(--mono);color:#555;padding:12px}.ph.square{aspect-ratio:1/1;margin:0}.experience{display:grid;gap:28px}.bio p{max-width:62ch}#experience{padding-bottom:80px}#contact{padding-top:80px}.contact-h{font-size:clamp(1.8rem,5vw,3rem);font-weight:500;letter-spacing:-.01em}.contact-p{max-width:56ch}.big-email{display:inline-block;font:500 clamp(1.4rem,5vw,2.6rem) var(--mono);word-break:break-all}footer{padding:40px 0 32px}.titleblock{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--ink)}.tb{padding:10px 14px 12px;border:1px solid var(--ink);margin:-1px 0 0 -1px}.tb.wide{grid-column:1/-1}.tb span{display:block;font:.68rem var(--mono);letter-spacing:.12em;color:#555;margin-bottom:4px}@media(min-width:768px){.sheet{padding:0 40px}.services{grid-template-columns:repeat(3,1fr)}.cell{border-bottom:0;border-right:1px solid var(--line)}.cell:last-child{border-right:0}.revision{grid-template-columns:1fr 1.2fr;gap:48px}.samples{grid-template-columns:repeat(3,1fr)}.experience{grid-template-columns:1fr 1.6fr;gap:48px}.titleblock{grid-template-columns:2fr 1.2fr .6fr .6fr}.tb.wide{grid-column:auto}}
