/**
 * DSM curated imagery layer.
 * Documentary photographs come from the supplied DSM archive. The abstract
 * background is reserved for forms,
legal,
and utility surfaces.
 */

.dsm-editorial-media{
	position: relative;
	min-width: 0;
	margin: 0;
	overflow: hidden;
	border: 1px solid color-mix(in srgb, var(--dsm-primary) 22%, var(--dsm-border-subtle));
	border-radius: var(--dsm-radius-card);
	background: var(--dsm-footer-bg);
	box-shadow: 0 24px 48px -30px rgba(3, 56, 86, 0.62);
}

.dsm-editorial-media::after{
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 4px;
	background: var(--dsm-accent-coral, #f27662);
	content: '';
}

.dsm-editorial-media img{
	display: block;
	width: 100%;
	height: 100%;
	min-height: inherit;
	object-fit: cover;
}

.dsm-editorial-media--abstract img{
	object-position: center;
}

/* Editorial inner-page heroes: message,
photograph{
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(17rem, 0.82fr) minmax(14rem, 0.58fr);
	gap: clamp(1rem, 2vw, 1.75rem);
	align-items: stretch;
}

/* Home page image moments. */
.dsm-about-snippet__image{
	min-height: 24rem;
}

.dsm-service-card,
.dsm-project-card,
.dsm-projects-card,
.dsm-wdd-event-card{
	overflow: hidden;
}

.dsm-service-card__img,
.dsm-services-card__img{
	display: block;
	width: 100%;
	height: 10.25rem;
	margin: 0;
	object-fit: cover;
	transition: transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.dsm-service-card:hover .dsm-service-card__img,
.dsm-project-card:hover .dsm-project-card__media img,
.dsm-projects-card:hover .dsm-projects-card__media img,
.dsm-wdd-event-card:hover .dsm-wdd-event-card__media img{
	transform: scale(1.035);
}

.dsm-project-card__media,
.dsm-projects-card__media{
	display: block;
	width: 100%;
	height: 11rem;
	margin: 0;
	overflow: hidden;
	background: var(--dsm-background);
}

.dsm-project-card__media img,
.dsm-projects-card__media img,
.dsm-wdd-event-card__media img{
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
}

.dsm-wdd-highlight__image{
	min-height: 25rem;
}

/* Keep the two homepage feature images clean and unframed. */
.dsm-about-snippet__image,
.dsm-wdd-highlight__image{
	border: 0;
}

.dsm-about-snippet__image::after,
.dsm-wdd-highlight__image::after{
	content: none;
}

/* WDD cards become visual archive tiles,
with the year acting as metadata. */
.dsm-wdd-event-card{
	display: flex;
	flex-direction: column;
	padding: 0;
}

.dsm-wdd-event-card__media{
	display: block;
	height: 13rem;
	overflow: hidden;
	background: var(--dsm-background);
}

.dsm-wdd-event-card__year-badge{
	position: relative;
	z-index: 1;
	min-width: 0;
	width: max-content;
	height: auto;
	margin: -1.4rem 1.5rem 0;
	padding: 0.55rem 0.9rem;
	border: 4px solid var(--dsm-white);
	border-radius: var(--dsm-radius-pill);
	box-shadow: var(--dsm-shadow-sm);
	font-size: 1rem;
}

.dsm-wdd-event-card__body{
	padding: 1rem 1.5rem 1.5rem;
}

@media (max-width: 1180px) {
	body.dsm-layout-inner .dsm-about-hero .dsm-container,
	body.dsm-layout-inner .dsm-services-hero .dsm-container,
	body.dsm-layout-inner .dsm-team-hero .dsm-container,
	body.dsm-layout-projects .dsm-projects-hero .dsm-container,
	body.dsm-layout-wdd .dsm-wdd-hero .dsm-container {
		grid-template-columns: minmax(0, 1fr) minmax(19rem, 0.9fr);
	}

	body.dsm-layout-inner .dsm-about-hero__panel,
	body.dsm-layout-inner .dsm-services-hero__card,
	body.dsm-layout-inner .dsm-team-hero__panel,
	body.dsm-layout-projects .dsm-projects-hero__stats,
	body.dsm-layout-wdd .dsm-wdd-hero__stats {
		grid-column: 1 / -1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 1023px) {
	.dsm-detail-hero__grid,
	.dsm-detail-hero__grid:not(:has(.dsm-detail-facts)),
	.dsm-detail-legal .dsm-detail-hero__grid {
		grid-template-columns: 1fr;
	}

	.dsm-detail-hero__media {
		min-height: 20rem;
	}
}

@media (max-width: 767px) {
	body.dsm-layout-inner .dsm-about-hero .dsm-container,
	body.dsm-layout-inner .dsm-services-hero .dsm-container,
	body.dsm-layout-inner .dsm-team-hero .dsm-container,
	body.dsm-layout-projects .dsm-projects-hero .dsm-container,
	body.dsm-layout-wdd .dsm-wdd-hero .dsm-container,
	body.dsm-layout-inner .dsm-contact-hero .dsm-container,
	body.dsm-layout-timeline .dsm-timeline-hero .dsm-container {
		grid-template-columns: minmax(0, 1fr);
	}

	body.dsm-layout-inner .dsm-container,
	body.dsm-layout-home .dsm-container,
	body.dsm-layout-inner [class$="-hero__content"],
	.dsm-page-hero-media {
		min-width: 0;
		max-width: 100%;
	}

	body.dsm-layout-inner [class$="-hero__text"] {
		overflow-wrap: anywhere;
	}

	body.dsm-layout-inner .dsm-about-hero__panel,
	body.dsm-layout-inner .dsm-services-hero__card,
	body.dsm-layout-inner .dsm-team-hero__panel,
	body.dsm-layout-projects .dsm-projects-hero__stats,
	body.dsm-layout-wdd .dsm-wdd-hero__stats {
		grid-column: auto;
		grid-template-columns: 1fr;
	}

	.dsm-page-hero-media,
	.dsm-about-snippet__image,
	.dsm-wdd-highlight__image,
	.dsm-detail-hero__media {
		min-height: 16rem;
	}

	.dsm-service-card__img,
	.dsm-services-card__img,
	.dsm-project-card__media,
	.dsm-projects-card__media {
		height: 10rem;
	}

	.dsm-wdd-event-card__media {
		height: 11rem;
	}

	.dsm-form-hero {
		background-image: url('assets/images/editorial/brand-currents.webp');
		background-position: 70% center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dsm-service-card__img,
	.dsm-services-card__img,
	.dsm-project-card__media img,
	.dsm-projects-card__media img,
	.dsm-wdd-event-card__media img {
		transition: none;
	}
}
