/* Equal-sized description and image tiles. */
.mh-reference-grid,.mh-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%}
.mh-reference-grid{padding:0 12px 12px}
.mh-reference-card,.mh-gallery-card,.mh-project-description{position:relative;min-width:0;min-height:0;overflow:hidden;background:#e7e9eb;aspect-ratio:16/10}
.mh-project-description{display:flex;flex-direction:column;background:var(--mh-surface,#111);color:var(--mh-ink,#fff);padding:clamp(18px,1.6vw,28px);overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;margin:0}
.mh-project-description h1{color:#fff;margin:0;letter-spacing:-.02em}
.mh-project-description .mh-prose{max-width:none}
.mh-project-description .mh-prose p{margin:0}
.mh-card-link{position:relative;display:block;width:100%;height:100%;overflow:hidden}
.mh-card-link img{width:100%;height:100%;object-fit:cover;object-position:var(--mh-crop,50% 50%)}
.mh-gallery-card{margin:0}
.mh-reference-border{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;pointer-events:none;opacity:0;transition:opacity .25s}
.mh-reference-border path{fill:none;stroke:#e22128;stroke-width:3;vector-effect:non-scaling-stroke;stroke-linecap:butt}
.mh-reference-trail{stroke-dashoffset:0px;animation:mh-reference-run var(--mh-border-duration,11.667s) linear infinite}
.mh-reference-trail:nth-child(2){stroke-dashoffset:500px;animation-name:mh-reference-run-opposite}
@keyframes mh-reference-run{from{stroke-dashoffset:1000px}to{stroke-dashoffset:0px}}
@keyframes mh-reference-run-opposite{from{stroke-dashoffset:1500px}to{stroke-dashoffset:500px}}
.mh-card-link:focus-visible .mh-reference-border,.is-caption-open .mh-reference-border{opacity:1}
/* White rule, then white information field; no permanent caption strip. */
.mh-reference-sweep{position:absolute;left:0;bottom:calc(16px + var(--mh-caption-height,48px) + 10px);width:0;height:1px;background:#fff;pointer-events:none;transition:width .3s}
.mh-reference-caption,.mh-caption-card figcaption{position:absolute;left:16px;bottom:16px;max-width:calc(100% - 32px);padding:12px 16px;background:#fff;color:#171717;line-height:1.4;clip-path:inset(0 100% 0 0);pointer-events:none;transition:clip-path .35s .2s;display:flex;flex-direction:column;gap:3px}
.mh-reference-caption span,.mh-caption-card figcaption span{opacity:0;transform:translateY(8px);transition:transform .3s .4s,opacity .25s .4s}
.mh-reference-caption-category{color:var(--mh-action,#c51c23);font-size:11px}
.mh-reference-caption-title{font-size:15px}
.mh-caption-card figcaption{font-size:14px}
.mh-caption-toggle{display:none;position:absolute;right:12px;top:12px;width:44px;height:44px;place-items:center;background:#fff;color:#171717;border:1px solid #ddd;z-index:2}
.mh-card-link:focus-visible .mh-reference-sweep,.mh-reference-card:focus-within .mh-reference-sweep,.mh-caption-card:has(.mh-card-link:focus-visible) .mh-reference-sweep,.is-caption-open .mh-reference-sweep{width:100%}
.mh-card-link:focus-visible .mh-reference-caption,.mh-reference-card:focus-within .mh-reference-caption,.mh-caption-card:has(.mh-card-link:focus-visible) figcaption,.is-caption-open figcaption{clip-path:inset(0)}
.mh-card-link:focus-visible .mh-reference-caption span,.mh-reference-card:focus-within .mh-reference-caption span,.mh-caption-card:has(.mh-card-link:focus-visible) figcaption span,.is-caption-open figcaption span{opacity:1;transform:none}
.mh-work-card:focus-within .mh-reference-border{opacity:1}
.mh-work-card:focus-within .mh-reference-sweep{width:100%}
.mh-work-card:focus-within .mh-reference-caption{clip-path:inset(0)}
.mh-work-card:focus-within .mh-reference-caption span{opacity:1;transform:none}
@media(hover:hover){
 .mh-card-link:hover .mh-reference-border{opacity:1}
 .mh-card-link:hover .mh-reference-sweep,.mh-caption-card:hover .mh-reference-sweep{width:100%}
 .mh-card-link:hover .mh-reference-caption,.mh-caption-card:hover figcaption{clip-path:inset(0)}
 .mh-card-link:hover .mh-reference-caption span,.mh-caption-card:hover figcaption span{opacity:1;transform:none}
}
@media(hover:none),(pointer:coarse){.mh-caption-toggle{display:grid}.mh-work-card .mh-reference-caption,.mh-reference-card .mh-reference-caption{clip-path:none}.mh-work-card .mh-reference-caption span,.mh-reference-card .mh-reference-caption span{opacity:1;transform:none}}
@media(max-width:1100px){.mh-reference-grid,.mh-gallery{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.mh-reference-grid,.mh-gallery{grid-template-columns:1fr}}
@media(prefers-reduced-motion:reduce){.mh-reference-border,.mh-reference-trail,.mh-reference-border path,.mh-reference-sweep,.mh-reference-caption,.mh-reference-caption span,.mh-caption-card figcaption,.mh-caption-card figcaption span{transition:none;animation:none}}

.mh-project-video figcaption{position:absolute;left:16px;right:16px;bottom:16px;padding:10px 12px;background:#fff;color:#171717;font-size:13px}

.mh-project-description-inner{position:relative;z-index:1;flex:0 0 auto;margin-block:auto;min-width:0;text-align:left}
.main-home .mh-project-description .mh-editorial-rule{margin:8px 0 16px;width:90px;height:2px}
.mh-project-mark{position:absolute;right:12px;bottom:12px;width:clamp(90px,9vw,145px);max-width:38%;height:auto;color:var(--mh-ambient-color);opacity:.11;pointer-events:none;z-index:0}
