.portfolio-page{max-width:720px;margin-inline:auto;padding-block:calc(var(--app-spacing-lg) * 2);display:flex;flex-direction:column;gap:calc(var(--app-spacing-lg) * 3)}.portfolio-hero__name{font-size:clamp(2rem,5vw,3.25rem);font-weight:500;color:var(--ink);margin:0 0 var(--app-spacing-md);line-height:1.1;letter-spacing:-.01em}.portfolio-hero__tagline{font-size:1rem;color:var(--ink-muted);margin:0;line-height:1.65}.portfolio-section-label{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:11px;font-weight:600;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.1em;margin:0 0 var(--app-spacing-lg)}.portfolio-work__list{list-style:none;margin:0;padding:0}.portfolio-work__item+.portfolio-work__item{border-top:1px solid var(--rule)}.project-card{padding-block:var(--app-spacing-lg);display:flex;flex-direction:column;gap:10px}.project-card__header{display:flex;align-items:baseline;justify-content:space-between;gap:var(--app-spacing-md)}.project-card__title{font-size:1rem;font-weight:500;color:var(--ink);line-height:1.3}.project-card__year{font-size:var(--app-font-size-sm);color:var(--ink-muted);font-feature-settings:"tnum";font-variant-numeric:tabular-nums;flex-shrink:0}.project-card__summary{font-size:.9375rem;color:var(--ink-muted);margin:0;line-height:1.6}.project-card__stack{display:flex;flex-wrap:wrap;gap:6px}.project-card__tag{font-size:11px;font-family:ui-monospace,SF Mono,Fira Mono,monospace;color:var(--ink-muted);background:var(--bg-raised);padding:2px 7px;border-radius:3px}.project-card__links{display:flex;flex-wrap:wrap;gap:var(--app-spacing-md);-webkit-margin-before:4px;margin-block-start:4px}.project-card__link{font-size:var(--app-font-size-sm);color:var(--ink);text-decoration:underline;text-underline-offset:3px;-webkit-text-decoration-color:var(--rule);text-decoration-color:var(--rule);transition:-webkit-text-decoration-color .2s;transition:text-decoration-color .2s;transition:text-decoration-color .2s,-webkit-text-decoration-color .2s}.project-card__link:hover{-webkit-text-decoration-color:var(--ink);text-decoration-color:var(--ink)}.portfolio-method__text{font-size:.9375rem;color:var(--ink);line-height:1.8;margin:0;max-width:58ch}.portfolio-about__link{display:inline-flex;align-items:center;font-size:.9375rem;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--rule);-webkit-padding-after:2px;padding-block-end:2px;transition:border-color .2s}.portfolio-about__link:after{content:" →"}:dir(rtl) .portfolio-about__link:after{content:" ←"}.portfolio-about__link:hover{border-color:var(--ink)}.portfolio-contact{display:flex;flex-wrap:wrap;align-items:center;gap:var(--app-spacing-sm) var(--app-spacing-lg)}.portfolio-contact__link{font-size:var(--app-font-size-sm);color:var(--ink-muted);text-decoration:none;transition:color .2s}.portfolio-contact__link:hover{color:var(--ink)}