/* Camille Acosta: intentionally uniform editorial portfolio grid. */
.portfolio-page .portfolio-head{max-width:940px;text-align:center;margin:auto;padding:90px 24px 35px}
.portfolio-page .portfolio-head h1{font-size:clamp(3rem,6.4vw,5.6rem);line-height:1.05}
.portfolio-page .portfolio-head .lede{margin:20px auto 0;max-width:670px;font-size:clamp(17px,2vw,21px)}
.portfolio-filters{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:9px 18px;max-width:1200px;margin:0 auto;padding:18px 20px 35px}
.portfolio-category-filter{border:0;border-bottom:1px solid transparent;background:transparent;padding:9px 1px 11px;color:#746e65;font:10px Montserrat,Arial,sans-serif;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:color .2s,border-color .2s}
.portfolio-category-filter:hover,.portfolio-category-filter:focus-visible,.portfolio-category-filter.active{color:#3f3a34;border-color:#3f3a34}
.portfolio-count{text-align:center;font:9px Montserrat,Arial,sans-serif;letter-spacing:.16em;color:#8b857c;padding-bottom:18px;text-transform:uppercase}
.portfolio-page .portfolio-uniform-gallery{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;grid-auto-rows:auto!important;align-items:start;gap:10px!important;width:min(1560px,calc(100% - 36px));padding:0!important;margin:0 auto 90px;}
.portfolio-uniform-gallery .portfolio-tile{display:block;position:relative;aspect-ratio:4/5!important;height:auto!important;width:100%!important;overflow:hidden;cursor:zoom-in;background:#e4ded3;border:0;padding:0;margin:0;border-radius:0;box-shadow:none;appearance:none;}
.portfolio-uniform-gallery .portfolio-tile img{display:block;width:100%!important;height:100%!important;object-fit:cover!important;object-position:var(--camille-desktop-x,50%) var(--camille-desktop-y,50%)!important;transform-origin:var(--camille-desktop-x,50%) var(--camille-desktop-y,50%)!important;transform:scale(var(--camille-desktop-zoom,1))!important;transition:filter .2s;}
.portfolio-uniform-gallery .portfolio-tile:hover img{filter:brightness(.94)}
.portfolio-uniform-gallery .portfolio-tile:focus-visible{outline:2px solid #5b554e;outline-offset:3px}
.portfolio-empty{font-family:Montserrat,Arial,sans-serif;text-align:center;margin:45px auto 110px;font-size:13px}
.portfolio-viewer{border:0!important;inset:0!important;max-width:100vw!important;max-height:100dvh!important;width:100vw!important;height:100dvh!important;padding:0!important;margin:0!important;background:#22201eea!important;color:white;}
.portfolio-viewer[open]{display:grid;grid-template-columns:60px minmax(0,1fr) 60px;grid-template-rows:65px minmax(0,1fr) 50px;align-items:center;justify-items:center}
.portfolio-viewer::backdrop{background:rgba(23,22,20,.9)}
.portfolio-viewer .portfolio-viewer-close{grid-column:1/-1;justify-self:end;align-self:center;margin-right:24px}
.portfolio-viewer img{grid-column:2;grid-row:2;width:auto;max-width:calc(100vw - 130px);height:auto;max-height:calc(100dvh - 125px);object-fit:contain}
.portfolio-viewer [data-viewer-prev]{grid-column:1;grid-row:2}
.portfolio-viewer [data-viewer-next]{grid-column:3;grid-row:2}
.portfolio-viewer [data-viewer-count]{grid-column:1/-1;grid-row:3;font:10px Montserrat,sans-serif;letter-spacing:.17em}
.portfolio-viewer button{border:0;background:none;color:white;font:30px Montserrat,sans-serif;cursor:pointer;width:50px;height:50px}
body.portfolio-viewer-open{overflow:hidden}
/* Desktop hover/focus category dropdown uses the published category data. */
.desktop-portfolio-group{display:inline-flex;align-items:center;position:relative;gap:1px}
.desktop-portfolio-group>.portfolio-desktop-toggle{background:transparent;border:0;width:23px;padding:4px;cursor:pointer;color:inherit;font:13px Montserrat,sans-serif}
.desktop-portfolio-submenu{position:absolute;left:-18px;top:100%;min-width:175px;padding:15px 10px;background:#f7f4ee;box-shadow:0 14px 24px rgba(40,36,30,.13);border:1px solid #d7d1c7;display:none;z-index:1500}
.desktop-portfolio-group:hover .desktop-portfolio-submenu,.desktop-portfolio-group:focus-within .desktop-portfolio-submenu,.desktop-portfolio-group.is-open .desktop-portfolio-submenu{display:flex;flex-direction:column}
.unified-nav .desktop-portfolio-submenu a{display:block;padding:12px 10px;font:10px Montserrat,sans-serif;letter-spacing:.1em;text-decoration:none;white-space:nowrap}
.desktop-portfolio-submenu a:hover{background:#ede8df}
.camille-drawer-portfolio-line{display:flex;align-items:center;gap:0;border-bottom:1px solid #d8d2c8}
.camille-drawer-portfolio-line a{flex:1;border:0!important}
.camille-drawer-portfolio-toggle{border:0;background:transparent;color:#57534c;width:45px;min-height:58px;cursor:pointer;font:20px Montserrat,sans-serif;align-self:center}
.camille-drawer-categories{display:none;flex-direction:column;padding:5px 0 12px 20px;background:#f2efe8}
.camille-drawer-categories.is-expanded{display:flex}
.camille-drawer-links .camille-drawer-categories a{min-height:40px;border:0;font-size:10px;letter-spacing:.1em;color:#777168}
@media(max-width:1050px){.portfolio-page .portfolio-uniform-gallery{grid-template-columns:repeat(3,minmax(0,1fr))!important}}
@media(max-width:820px){.desktop-portfolio-group>.portfolio-desktop-toggle,.desktop-portfolio-submenu{display:none!important}}
@media(max-width:700px){
 .portfolio-page .portfolio-uniform-gallery{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;width:calc(100% - 20px)}
 .portfolio-uniform-gallery .portfolio-tile img{object-position:var(--camille-mobile-x,50%) var(--camille-mobile-y,50%)!important;transform-origin:var(--camille-mobile-x,50%) var(--camille-mobile-y,50%)!important;transform:scale(var(--camille-mobile-zoom,1))!important}
 .portfolio-page .portfolio-head{padding:65px 20px 28px}
 .portfolio-filters{justify-content:flex-start;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding:10px 13px 23px;gap:19px}
 .portfolio-category-filter{white-space:nowrap}
 .portfolio-viewer[open]{grid-template-columns:38px minmax(0,1fr) 38px}
 .portfolio-viewer img{max-width:calc(100vw - 76px)}
 .portfolio-viewer button{width:37px;height:44px;font-size:24px}
 .portfolio-viewer .portfolio-viewer-close{margin-right:15px}
}
@media(prefers-reduced-motion:reduce){.portfolio-uniform-gallery .portfolio-tile img{transition:none}}
