/* Portfolio interface uses Lato; presentation content retains its own typography. */
:is(.opening-page,.work-page,.contacts-page),
:is(.opening-page,.work-page,.contacts-page) :is(h1,h2,h3,h4,p,a,span,button,li,dt,dd,em,strong),
.topbar, .topbar *,
:is(.case-footer,.apex-footer,.cmf-footer,.dyson-footer),
:is(.case-footer,.apex-footer,.cmf-footer,.dyson-footer) * {
  font-family:"Lato",Arial,sans-serif !important;
}

/* Keep complete raster compositions visible in every responsive frame. */
body img { object-fit:contain !important; object-position:center !important; }
.opening-page .opening-images img { transform:none !important; }
body.coway-page .coway-hotspot-card img { height:auto; max-height:none; aspect-ratio:auto; }
body.coway-page .coway-visual:not(.coway-hero) > img, body.coway-page .coway-visual:not(.coway-hero) > a > img { height:auto; max-height:none; }

/* Gallery thumbnails fill their shared square frames. */
body.work-page .project-cover img {width:100%;height:100%;object-fit:cover !important;}
body.work-page .project--bentley .project-cover img {object-position:38% center !important;}
body.work-page .project--dyson .project-cover img {object-position:22% center !important;}
/* Project entrances fill the viewport frame; detail images retain their own fit. */
body .project-opening,body.coway-page .project-opening {
 width:100vw;margin:0 calc(50% - 50vw);height:calc(100svh - 68px);padding:0;
}
body .project-opening .project-opening-image {
 width:100%;max-width:none;height:100%;aspect-ratio:auto;flex:1 1 auto;overflow:hidden;
}
body .project-opening .project-opening-image > a,
body.coway-page .project-opening .coway-hero .image-link {width:100%;height:100%;}
body .project-opening .project-opening-image img,
body.coway-page .project-opening .coway-hero .image-link img {
 width:100%;height:100%;max-height:none;object-fit:cover !important;object-position:center !important;
}
@media(max-width:700px){body .project-opening,body.coway-page .project-opening {height:calc(100svh - 64px);padding:0;}}
