/* User direction: orderly adaptive columns; no cyan around the work. */
.work-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:56px 32px;align-items:start}
.work-grid .project:nth-child(n){grid-column:auto;padding-top:0;min-width:0}
.work-grid .carousel{border-radius:0;background:transparent;overflow:hidden}
.work-grid .carousel-slide,.work-grid .project:nth-child(n) .carousel-slide{height:auto;aspect-ratio:1/1;padding:0;align-items:center;background:transparent}
.work-grid .carousel-slide img{display:block;width:100%;height:100%;object-fit:contain;background:transparent}
.work-grid .carousel-controls{position:static;height:48px;background:transparent;border:0;border-bottom:1px solid var(--line);padding:6px 0}
.work-grid .carousel-controls .round{width:30px;height:30px;min-width:30px;font-size:15px;border-color:transparent}
.work-grid .carousel-controls .round:hover{background:var(--surface);border-color:var(--line)}
.work-grid .project-meta{margin:20px 0 12px;align-items:start;font-size:10px;gap:16px;flex-direction:row}
.work-grid .project-title h3{font-size:clamp(24px,2.15vw,30px);line-height:1.12;max-width:none}
.work-grid .project-title{gap:16px}
.work-grid .project-title svg{width:20px;height:20px}
.work-grid .project-extract{font-size:14px;margin-top:14px}
.project-composition .media-block .expand-piece{background:transparent}
@media(min-width:1800px){.work-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:1100px) and (min-width:701px){.work-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px 28px}}
@media(max-width:700px){.work-grid{grid-template-columns:minmax(0,1fr);gap:44px}.work-grid .carousel-slide,.work-grid .project:nth-child(n) .carousel-slide{aspect-ratio:1/1}.work-grid .project-title h3{font-size:28px}.work-grid .project-meta{font-size:11px}}
/* Full project galleries retain original proportions and group complete series. */
.project-collection{margin:26px 0 64px}
.portfolio-series{padding:40px 0 26px;border-top:1px solid var(--line)}
.portfolio-series+.portfolio-series{margin-top:28px}
.series-heading{display:flex;justify-content:space-between;align-items:baseline;gap:24px;margin-bottom:28px}
.series-heading h2{font-size:clamp(24px,2.3vw,34px);max-width:780px;line-height:1.15}
.series-heading>span{flex:none;font-size:10px;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}
.portfolio-media-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px;align-items:start}
.portfolio-media-grid.landscape-series,.portfolio-media-grid.intimate-series,.portfolio-media-grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}
.portfolio-media-grid.intimate-series:has(>:only-child){grid-template-columns:minmax(0,600px);justify-content:center}
.portfolio-media-grid .media-block{grid-column:auto!important;min-width:0;margin:0}
.portfolio-media-grid .expand-piece{background:transparent;border-radius:5px}
.portfolio-media-grid .media-block img{max-height:none;width:100%;height:auto}
.portfolio-media-grid .media-block figcaption{font-size:11px;line-height:1.55;margin-top:10px}
.portfolio-video{display:block;width:auto;max-width:100%;height:auto;max-height:min(75svh,720px);margin-inline:auto;background:transparent;border-radius:5px;object-fit:contain}
.project-motion figcaption{text-align:center}
.project-motion .media-kind{display:block;margin-bottom:5px;font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--ink)}
@media(max-width:900px){.portfolio-media-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px}.series-heading h2{font-size:26px}}
@media(max-width:600px){.portfolio-media-grid,.portfolio-media-grid.landscape-series,.portfolio-media-grid.intimate-series,.portfolio-media-grid:has(>:nth-child(4):last-child){grid-template-columns:1fr}.portfolio-series{padding-top:28px}.series-heading{align-items:start;gap:16px}.series-heading h2{font-size:25px}.series-heading>span{font-size:9px;padding-top:6px}.portfolio-media-grid .media-block figcaption{font-size:10px}.project-collection{margin-bottom:36px}}
