.portfolio-index,.portfolio-project{padding-top:2rem;padding-bottom:6rem}
.portfolio-heading{display:grid;grid-template-columns:1.1fr .9fr;align-items:end;gap:4rem;margin:0 0 3rem}
.portfolio-heading h1{font-size:clamp(2.5rem,5vw,5rem);font-weight:300;line-height:1.25;margin:.5rem 0 0;max-width:19ch;letter-spacing:-.025em}
.portfolio-heading>p,.portfolio-intro>p{font-size:clamp(1rem,1.35vw,1.3rem);line-height:1.85;margin:0;color:#686057}
.portfolio-intro{display:grid;gap:1rem}.portfolio-intro>span{font-size:1rem;color:#7d4047}.portfolio-intro>small{font-size:.875rem;color:#77716a}
.portfolio-toolbar{display:flex;justify-content:space-between;align-items:center;gap:2rem;padding:1rem 0;border-block:1px solid #cbbdb1;margin-bottom:2.5rem}
.portfolio-filters{display:flex;flex-wrap:wrap;gap:1.5rem}.portfolio-filters button{border:0;border-bottom:1px solid transparent;background:transparent;color:#716960;padding:.6rem 0;font:inherit;font-size:1rem;cursor:pointer}
.portfolio-filters button[aria-pressed=true]{border-color:#7d4047;color:#7d4047}.portfolio-result{margin:0;white-space:nowrap;color:#77716a;font-size:.875rem}
.portfolio-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3rem 2.5rem}.portfolio-card{min-width:0}.portfolio-card a{text-decoration:none;color:inherit;display:block}
.portfolio-card-image{position:relative;aspect-ratio:4/3;overflow:hidden;background:#ddd5cd}.portfolio-card-image img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.portfolio-card a:hover img{transform:scale(1.035)}
.portfolio-type{position:absolute;left:1rem;bottom:1rem;padding:.5rem .75rem;font-size:.875rem;background:#f1ece6ed;color:#2e2e2e}
.portfolio-card-caption{display:flex;justify-content:space-between;align-items:start;gap:1rem;padding-top:1.1rem;border-bottom:1px solid #d4c8bf;padding-bottom:1rem}.portfolio-card-caption h2{font-size:clamp(1.1rem,1.45vw,1.4rem);font-weight:400;line-height:1.55;margin:0;max-width:26ch}.portfolio-card-caption p{font-size:.875rem;color:#797169;line-height:1.6;margin:.2rem 0 0;text-align:right}
.portfolio-cover{display:block;background:#ddd5cd;overflow:hidden}.portfolio-cover img{display:block;width:100%;max-height:78vh;height:auto;object-fit:contain;cursor:zoom-in}
.portfolio-gallery{padding-top:4rem}.portfolio-gallery-head{display:flex;align-items:center;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.portfolio-gallery-head h2{font-size:clamp(1.4rem,2vw,2rem);font-weight:300;margin:0}.portfolio-gallery-head>span{font-size:.875rem;color:#797169}.portfolio-gallery-head a{color:#7d4047;font-size:1rem}
.portfolio-gallery>.portfolio-filters{margin-bottom:1.5rem}.portfolio-shot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.portfolio-shot{display:block;position:relative;min-width:0;background:#e7dfd7;text-decoration:none;cursor:zoom-in}.portfolio-shot img{width:100%;height:100%;aspect-ratio:4/3;object-fit:contain;display:block}.portfolio-shot>span{position:absolute;left:.7rem;bottom:.7rem;font-size:.75rem;padding:.25rem .5rem;background:#f1ece6e8;color:#655d56}
.portfolio-more{display:block;margin:2rem auto 0;padding:.85rem 2rem;background:transparent;color:#7d4047;border:1px solid #b6a697;font:inherit;cursor:pointer}.portfolio-related{padding-top:5rem}.portfolio-related .portfolio-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.portfolio-related .portfolio-card-caption{display:block}.portfolio-related .portfolio-card-caption p{text-align:left}
.portfolio-lightbox{width:min(96vw,1600px);max-width:96vw;max-height:96vh;padding:0;border:0;background:#242321;color:#f1ece6}.portfolio-lightbox::backdrop{background:#171615e8;backdrop-filter:blur(6px)}.portfolio-lightbox-top,.portfolio-lightbox-bottom{display:flex;justify-content:space-between;align-items:center;gap:1.5rem;padding:.75rem 1.25rem}.portfolio-lightbox-top p{margin:0;font-size:1rem}.portfolio-lightbox-top button{font:inherit;font-size:2rem;width:44px;height:44px;background:transparent;border:0;color:inherit;cursor:pointer}.portfolio-lightbox-stage{height:70vh;position:relative;display:grid;place-items:center;background:#171716}.portfolio-lightbox-stage>img{max-width:100%;max-height:100%;height:100%;width:100%;object-fit:contain}.portfolio-lightbox-stage button{position:absolute;top:calc(50% - 26px);width:48px;height:52px;background:#242321b8;border:1px solid #f1ece64d;color:#fff;font-size:2.5rem;line-height:1;cursor:pointer}.portfolio-lightbox-stage [data-gallery-prev]{left:1rem}.portfolio-lightbox-stage [data-gallery-next]{right:1rem}.portfolio-lightbox-bottom{font-size:.875rem}.portfolio-lightbox-bottom a{color:#f1ece6}.portfolio-loading,.portfolio-load-error{position:absolute;top:45%;left:0;right:0;text-align:center;margin:0;font-size:1rem}.portfolio-loading{pointer-events:none}body.portfolio-dialog-open{overflow:hidden}
.portfolio-index [hidden],.portfolio-project [hidden],.portfolio-lightbox [hidden]{display:none!important}.portfolio-index :is(a,button):focus-visible,.portfolio-project :is(a,button):focus-visible,.portfolio-lightbox :is(a,button):focus-visible{outline:2px solid #7d4047;outline-offset:5px}
@media(max-width:1000px){.portfolio-heading{gap:2rem}.portfolio-grid{gap:2rem 1.5rem}.portfolio-shot-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.portfolio-toolbar{align-items:flex-start}.portfolio-filters{gap:.5rem 1.25rem}.portfolio-card-caption{display:block}.portfolio-card-caption p{text-align:left}}
@media(max-width:600px){.portfolio-index,.portfolio-project{padding-top:1rem;padding-bottom:3rem}.portfolio-heading{grid-template-columns:1fr;gap:1.25rem;margin-bottom:2rem}.portfolio-heading h1{font-size:2.5rem}.portfolio-toolbar{display:block}.portfolio-result{margin-top:.75rem}.portfolio-grid,.portfolio-related .portfolio-grid{grid-template-columns:1fr;gap:2rem}.portfolio-card-image{aspect-ratio:4/3}.portfolio-shot-grid{gap:.75rem}.portfolio-shot>span{font-size:.75rem;left:.3rem;bottom:.3rem}.portfolio-gallery,.portfolio-related{padding-top:2.5rem}.portfolio-cover img{max-height:none}.portfolio-lightbox-stage{height:64vh}.portfolio-lightbox-stage [data-gallery-prev]{left:.3rem}.portfolio-lightbox-stage [data-gallery-next]{right:.3rem}.portfolio-lightbox-top,.portfolio-lightbox-bottom{padding:.6rem .8rem}.portfolio-lightbox-stage button{width:40px;height:48px}.portfolio-gallery-head{gap:1rem}.portfolio-gallery-head h2{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){.portfolio-card-image img{transition:none}.portfolio-card a:hover img{transform:none}}
