.portfolio-page .portfolio-intro{padding-top:42px;padding-bottom:12px}
.portfolio-intro h1{font:600 clamp(32px,4vw,56px)/1.05 var(--f-display);letter-spacing:-.04em;margin:20px 0 24px;max-width:1100px}
.portfolio-summary{max-width:1020px;font-size:14px;line-height:1.7;opacity:.8;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.portfolio-summary p{margin:0}.portfolio-summary p+p{margin-top:12px}.portfolio-summary.is-expanded{display:block;overflow:visible;-webkit-line-clamp:unset}
.portfolio-summary-toggle{padding:10px 0;border:0;border-bottom:1px solid var(--hair-d2);color:var(--bone);background:none;font:500 12px var(--f-body);cursor:pointer;margin-top:6px}
.portfolio-filters{margin-top:24px;max-width:1100px}.portfolio-filters summary{display:flex;gap:24px;justify-content:space-between;align-items:center;list-style:none;width:max-content;min-width:120px;border:1px solid var(--hair-d2);border-radius:99px;padding:11px 18px;font:500 12px var(--f-body);cursor:pointer}
.portfolio-filters summary::-webkit-details-marker{display:none}.portfolio-filters[open] summary>span:last-child{transform:rotate(45deg)}.portfolio-filter-options{padding:24px 0 12px}
.portfolio-filter-options .filter-row{flex-wrap:wrap;overflow:visible}.portfolio-reset{background:none;border:0;color:var(--bone);text-decoration:underline;font:12px var(--f-body);padding:12px 0;cursor:pointer;margin-top:16px}
.portfolio-empty{padding:28px 0;font-size:14px;line-height:1.7}.portfolio-page [hidden]{display:none}
.portfolio-page .proj-block{padding-top:28px}.portfolio-summary-toggle:focus-visible,.portfolio-reset:focus-visible{outline:2px solid var(--accent);outline-offset:5px}
@media(max-width:700px){.portfolio-page .portfolio-intro{padding-top:30px}.portfolio-intro h1{font-size:34px;margin:18px 0}.portfolio-summary{font-size:13px}.portfolio-filters{margin-top:20px}}
