.portfolio{display:block;max-width:1440px;margin:auto;padding:48px 32px 72px;letter-spacing:0;color:var(--color-foreground,#202020)}
.portfolio [hidden]{display:none!important}.portfolio *{box-sizing:border-box;letter-spacing:0}.portfolio-heading{margin-bottom:32px}.portfolio h1{font-size:36px;line-height:1.2;margin:0 0 16px;overflow-wrap:anywhere}.portfolio p{line-height:1.6}.portfolio-filters{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:16px;border-block:1px solid #ddd;padding:20px 0}.portfolio label{display:block;font-size:14px;line-height:1.5}.portfolio input,.portfolio select,.portfolio textarea{width:100%;min-width:0;border:1px solid #aaa;border-radius:3px;background:#fff;color:#202020;padding:12px;font:inherit;margin-top:6px}.portfolio input:focus-visible,.portfolio select:focus-visible,.portfolio textarea:focus-visible,.portfolio a:focus-visible,.portfolio button:focus-visible,.portfolio summary:focus-visible{outline:2px solid #176b65;outline-offset:4px}.portfolio-status{min-height:26px;font-size:14px}.portfolio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px 24px}.portfolio-card{min-width:0}.portfolio-card a{display:block;text-decoration:none;color:inherit}.portfolio-card img{width:100%;aspect-ratio:4/5;object-fit:contain;background:#f4f4f4;display:block;transition:opacity .15s}.portfolio-card a:hover img{opacity:.9}.portfolio-card h2{font:inherit;font-size:18px;line-height:1.4;margin:14px 0 6px;overflow-wrap:anywhere}.portfolio-card p{font-size:13px;margin:0;color:#666}.portfolio-pagination{display:flex;justify-content:center;align-items:center;gap:24px;margin-top:40px}.portfolio button{min-width:44px;min-height:44px;cursor:pointer;background:#fff;color:#222;border:1px solid #aaa;border-radius:3px;padding:10px 16px;font:inherit}.portfolio button:disabled{opacity:.4;cursor:default}.portfolio-all{display:inline-block;margin-top:32px}.portfolio-back{display:inline-block;margin-bottom:28px}.portfolio-work-layout{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(280px,1fr);gap:48px;align-items:start}.portfolio-gallery{display:grid;gap:16px}.portfolio-photo{display:block}.portfolio-photo img{width:100%;height:auto;display:block;background:#f4f4f4}.portfolio-work-info{position:sticky;top:110px;min-width:0}.portfolio-work-info h1{font-size:30px}.portfolio-work-info dl{border-block:1px solid #ddd;padding-block:20px}.portfolio-work-info dt{font-size:13px;color:#666;margin-top:16px}.portfolio-work-info dt:first-child{margin-top:0}.portfolio-work-info dd{margin:4px 0 0;line-height:1.5;overflow-wrap:anywhere}.portfolio-reference{font-size:14px;color:#555}.portfolio-inquiry{border-top:1px solid #ddd;margin-top:24px;padding-top:20px}.portfolio-inquiry summary{cursor:pointer;font-weight:600;padding:6px 0}.portfolio-inquiry label{margin-top:16px}.portfolio-inquiry button{margin-top:16px;background:#222;color:#fff}.portfolio-lightbox{max-width:100vw;max-height:100dvh;width:100vw;height:100dvh;background:#111;color:#fff;border:0;padding:64px;overflow:hidden}.portfolio-lightbox[open]{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:16px}.portfolio-lightbox::backdrop{background:#111}.portfolio-lightbox img{width:100%;height:calc(100dvh - 160px);object-fit:contain}.portfolio-lightbox [data-close]{position:absolute;right:16px;top:16px;font-size:28px}.portfolio-lightbox p{position:absolute;bottom:8px;left:0;width:100%;text-align:center}.portfolio-lightbox button{background:transparent;color:white;border-color:#666}.portfolio-lightbox [data-close]{line-height:1}.portfolio-empty{padding:48px 0;text-align:center}
@media(max-width:900px){.portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.portfolio-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-work-layout{gap:24px}}
@media(max-width:760px){.portfolio{padding:32px 16px 48px}.portfolio h1{font-size:28px}.portfolio-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}.portfolio-card h2{font-size:16px}.portfolio-work-layout{display:flex;flex-direction:column}.portfolio-gallery,.portfolio-work-info{width:100%}.portfolio-work-info{position:static}.portfolio-lightbox{padding:56px 8px}.portfolio-lightbox[open]{grid-template-columns:36px 1fr 36px;gap:0}.portfolio-lightbox button{min-width:36px;padding:6px}.portfolio-filters label:first-child{grid-column:1/-1}}
@media(prefers-reduced-motion:reduce){.portfolio-card img{transition:none}}
