.portfolio-page{max-width:1120px;margin:0 auto;padding:60px 32px 110px}.portfolio-intro{max-width:620px;margin-bottom:40px}.portfolio-intro h1{font-size:clamp(36px,6vw,64px);font-weight:400;line-height:1.3}.portfolio-intro p{line-height:1.9;color:var(--muted)}.work-filters{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin-bottom:32px}.work-filters label{display:grid;gap:8px;font-size:13px}.work-filters select{min-height:44px;padding:8px 16px;border:1px solid var(--line);border-radius:10px;color:var(--ink);background:var(--paper);font-size:16px}.work-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 24px}.work-item{min-width:0}.work-item img{display:block;width:100%;aspect-ratio:4/5;object-fit:cover;border-radius:18px;background:var(--sage)}.work-item h2{font-size:23px;line-height:1.4;margin:12px 0;font-weight:400}.work-item p{color:var(--muted);font-size:14px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere}.work-item small{display:block;color:var(--muted);font-size:12px;margin-top:18px}.work-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.work-actions a,.work-actions button{min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:10px;font:inherit;font-size:13px;background:var(--paper);color:var(--ink);cursor:pointer;text-decoration:none;display:flex;align-items:center}.work-actions a{background:var(--ink);color:var(--paper)}.work-empty{max-width:620px;padding:36px 0;border-top:1px solid var(--line)}.work-empty p{color:var(--muted);line-height:1.8}.work-empty a{display:inline-block;margin-top:12px}.work-item:target{outline:2px solid var(--gold);outline-offset:10px}.work-status{min-height:24px;color:var(--muted);line-height:1.6;font-size:14px}
@media(max-width:760px){.portfolio-page{padding:36px 20px 100px}.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}.work-item h2{font-size:19px}.work-filters label{flex:1;min-width:130px}.work-filters select{width:100%}.work-actions>*{width:100%;justify-content:center}}
@media(max-width:430px){.work-grid{grid-template-columns:1fr}.work-item img{max-height:460px}.work-actions>*{width:auto;flex:1}}
#reloadWorks{min-height:44px;padding:10px 16px;border:1px solid #d8dfd1;border-radius:10px;color:var(--ink);background:var(--paper);font:inherit;font-size:14px;cursor:pointer}
#reloadWorks:disabled{opacity:.6;cursor:progress}
