/* Image-led browsing for the catalogue and project archive. */
.browse-short,.catalog-context-mobile{display:none}
.portfolio-controls{display:grid;grid-template-columns:minmax(0,480px) minmax(180px,260px);gap:16px;align-items:end}
.portfolio-controls>div{min-width:0;display:flex;flex-direction:column;gap:8px}
.portfolio-controls label{font-size:14px;font-weight:700}
.portfolio-controls .search-input,.portfolio-controls select{width:100%;min-height:48px;margin:0;padding:11px 14px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);color:var(--ink);font-size:16px}
.portfolio-controls select{cursor:pointer}
.portfolio-results{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px}
.portfolio-results .catalog-count{margin:0}
.portfolio-results button{background:none;border:0;border-bottom:1px solid currentColor;padding:0;color:var(--ink);font-size:13px;min-height:44px}
.catalog-direction-image img[src^="/assets/media-library/"],.catalog-service-image img[src^="/assets/media-library/"]{object-fit:contain;background:#edf1eb;padding:6px}
.media-project-album{padding:0 17px 17px}.media-project-album summary{cursor:pointer;min-height:44px;display:flex;align-items:center;font-size:14px;font-weight:700}.media-project-album button{display:block;width:100%;padding:0;border:0;background:none;margin-top:12px;cursor:zoom-in}.media-project-album img{width:100%;height:auto;border-radius:8px}
@media(max-width:767px){
 .browse-long{display:none}
 .browse-short{display:inline}
 .catalog-context-desktop{display:none}
 .catalog-context-mobile{display:block;margin-top:28px}
 .catalog-intro{padding-top:20px}
 .catalog-intro .breadcrumbs,.portfolio-head .breadcrumbs{margin-bottom:16px}
 .catalog-intro .eyebrow{display:none}
 .catalog-intro h1,.portfolio-head h1{font-size:32px;line-height:1.12}
 .catalog-directions{padding-top:16px}
 .catalog-directions .catalog-section-top{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}
 .catalog-directions .catalog-section-top h2{font-size:22px;line-height:1.2}
 .catalog-directions .catalog-section-top .text-link{flex:none;margin:0;font-size:13px;min-height:44px;white-space:nowrap}
 .catalog-directions .catalog-section-top .arrow{margin-left:8px}
 .catalog-context-mobile .catalog-lead{font-size:16px;margin:0}
 .catalog-context-mobile .actions{gap:12px 18px;margin-top:16px}
 .catalog-context-mobile .button,.catalog-context-mobile .text-link{font-size:13px}
 .catalog-all .catalog-controls{margin-block:20px 16px}
 .catalog-all .catalog-count{margin-block:16px}
 .catalog-all .catalog-family{margin-bottom:36px}
 .catalog-all .catalog-family-heading{margin-bottom:16px;padding-bottom:12px}
 .portfolio-head{padding-block:20px 16px}
 .portfolio-head .intro{font-size:15px;line-height:1.6;margin-top:12px}
 .portfolio-controls{grid-template-columns:minmax(0,1fr) minmax(0,.9fr);gap:12px;margin:0 0 12px}
 .portfolio-controls label{font-size:13px}
 .portfolio-controls .search-input,.portfolio-controls select{padding-inline:10px}
 .portfolio-results{margin-bottom:16px}
 .portfolio-browser .gallery-item{margin-bottom:20px}
}
@media(max-width:359px){
 .catalog-intro h1,.portfolio-head h1{font-size:29px}
 .catalog-directions .catalog-section-top h2{font-size:20px}
 .portfolio-controls{gap:8px}
}
