/* Shared photo masks. Change this token to update all content images. */
:root{--photo-ratio:16 / 9}
/* One light, unadorned diagonal arrow across all navigation and actions. */
svg.arrow-diagonal{display:inline-block;width:18px;height:18px;flex-shrink:0;vertical-align:-3px;stroke:currentColor;stroke-width:1.2;stroke-linecap:round;stroke-linejoin:round}
.card-arrow svg,.zoom-icon svg{stroke-width:1.2}
.header-cta span:has(.arrow-diagonal),.round-button span:has(.arrow-diagonal),.text-link span:has(.arrow-diagonal),.hero-round b:has(.arrow-diagonal){display:inline-flex;align-items:center;line-height:1}
/* Minimal hero project link. */
.home-page .hero-image .hero-round{width:auto;height:auto;min-height:44px;border:0;border-radius:0;padding:10px 0;gap:18px;background:none;color:#fff;font-size:12px;line-height:1.5;transform:none;transition:opacity .2s}
.home-page .hero-round span br{display:none}
.home-page .hero-round span{white-space:nowrap}
.home-page .hero-image .hero-round b{font-size:22px;font-weight:400;transition:transform .25s}
.home-page .hero-image .hero-round:hover{background:none;color:#fff;transform:none;opacity:.8}
.home-page .hero-image .hero-round:hover b{transform:translate(3px,-3px)}
@media(prefers-reduced-motion:reduce){.home-page .hero-image .hero-round,.home-page .hero-image .hero-round b{transition:none}.home-page .hero-image .hero-round:hover b{transform:none}}
.home-page{--photo-ratio:4 / 3;background:#f9fafb}
.home-page .projects,.home-page .process{background:#f9fafb}
.home-page .project-photo,.detail-cover .image-button,.gallery-grid .image-button,.company-page .company-banner,.comparison{aspect-ratio:var(--photo-ratio);height:auto;min-height:0;overflow:hidden}
.home-page .project-photo img,.home-page .project-large .project-photo img,.detail-cover .image-button img,.gallery-grid .image-button img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}
.company-page .company-banner{flex:none;width:100%}
.company-page .company-banner img,.comparison>img,.comparison-before img{width:100%;height:100%;object-fit:cover;object-position:center}
/* The opening screen keeps the approved full-viewport layout. */
.home-page .hero-image>img{object-fit:cover}
dialog.lightbox img{width:min(100%, calc((100dvh - 184px) * 16 / 9));height:auto;aspect-ratio:var(--photo-ratio);max-height:none;margin-inline:auto;object-fit:cover;object-position:center}
@media(prefers-reduced-motion:reduce){.image-button img,.project-photo img{transition:none!important;animation:none!important}.image-button:hover img,.project-card:hover img{transform:none}}
