/**
 * WP06 portfolio and case-study presentation.
 *
 * The permanent /our-work/ page and rds_case_study singles own these rules.
 */

.rds-work,
.rds-case-study {
	background: var(--rds-color-white);
	color: var(--rds-color-charcoal-950);
	overflow: clip;
}

.rds-work-breadcrumb {
	align-items: center;
	color: var(--rds-color-charcoal-600);
	display: flex;
	font: 650 .7rem/1.3 var(--rds-font-mono);
	gap: .65rem;
	padding-block: 1.15rem;
}

.rds-work-breadcrumb a {
	color: var(--rds-color-forest-700);
	text-decoration: none;
}

.rds-work-breadcrumb a:hover { color: var(--rds-color-earth-600); }

.rds-work-hero,
.rds-case-hero {
	background:
		linear-gradient(rgba(9, 39, 29, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(9, 39, 29, .035) 1px, transparent 1px),
		radial-gradient(circle at 85% 10%, rgba(97, 159, 67, .12), transparent 28rem),
		var(--rds-color-cream-50);
	background-size: 44px 44px, 44px 44px, auto, auto;
	border-block: 1px solid var(--rds-color-line);
	padding-block: clamp(4.5rem, 8vw, 7.5rem);
}

.rds-work-hero-grid,
.rds-case-hero-grid {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 7vw, 7rem);
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
}

.rds-work-hero-copy,
.rds-case-hero-copy { min-width: 0; }

.rds-work-hero h1,
.rds-case-hero h1 {
	font-size: clamp(3.8rem, 7.2vw, 7rem);
	letter-spacing: -.06em;
	line-height: .89;
	margin: 1rem 0 1.5rem;
	max-width: 850px;
}

.rds-work-hero-copy > p,
.rds-case-summary {
	color: var(--rds-color-charcoal-600);
	font-size: var(--rds-text-lg);
	line-height: 1.65;
	margin: 0;
	max-width: 670px;
}

.rds-work-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .8rem;
	margin-top: 2rem;
}

.rds-work-browser-bar {
	align-items: center;
	background: var(--rds-color-cream-100);
	border-bottom: 1px solid var(--rds-color-line);
	display: flex;
	gap: .4rem;
	height: 2.7rem;
	padding-inline: 1rem;
}

.rds-work-browser-bar i {
	background: var(--rds-color-earth-500);
	border-radius: 50%;
	height: 6px;
	width: 6px;
}

.rds-work-browser-bar i:nth-child(2) { background: var(--rds-color-gold-500); }
.rds-work-browser-bar i:nth-child(3) { background: var(--rds-color-success); }

.rds-work-browser-bar span {
	color: var(--rds-color-charcoal-400);
	font: 650 .6rem/1 var(--rds-font-mono);
	margin-left: .35rem;
}

.rds-work-system,
.rds-case-hero-media {
	background: var(--rds-color-white);
	border: 1px solid var(--rds-color-line-strong);
	border-radius: var(--rds-radius-lg);
	box-shadow: var(--rds-shadow-lg);
	overflow: hidden;
}

.rds-work-system-body {
	background:
		linear-gradient(rgba(255, 255, 255, .045) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .045) 1px, transparent 1px),
		var(--rds-color-forest-950);
	background-size: 28px 28px;
	color: var(--rds-color-white);
	min-height: 360px;
	padding: clamp(2rem, 5vw, 3.5rem);
}

.rds-work-system-body .rds-tech-label { color: rgba(255, 255, 255, .62); }

.rds-work-system-body > strong {
	display: block;
	font: 650 clamp(2rem, 4vw, 3.4rem)/.98 var(--rds-font-display);
	letter-spacing: -.035em;
	margin-top: 1.3rem;
}

.rds-work-system dl { margin: 2.4rem 0 0; }

.rds-work-system dl div {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, .15);
	display: grid;
	gap: 1rem;
	grid-template-columns: 2rem 1fr;
	padding-block: .85rem;
}

.rds-work-system dt {
	color: var(--rds-color-earth-500);
	font: 700 .65rem/1 var(--rds-font-mono);
}

.rds-work-system dd {
	font-size: .82rem;
	font-weight: 650;
	margin: 0;
}

.rds-work-proof {
	background: var(--rds-color-white);
	border: 1px solid var(--rds-color-line);
	border-radius: var(--rds-radius-lg);
	box-shadow: var(--rds-shadow-md);
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: -2.4rem;
	position: relative;
	z-index: 3;
}

.rds-work-proof > div {
	display: grid;
	gap: .35rem;
	min-height: 116px;
	padding: 1.45rem;
}

.rds-work-proof > div + div { border-left: 1px solid var(--rds-color-line); }
.rds-work-proof strong { color: var(--rds-color-forest-700); font: 650 1.1rem/1.15 var(--rds-font-display); }
.rds-work-proof span { color: var(--rds-color-charcoal-600); font-size: .7rem; line-height: 1.45; }

.rds-work .rds-section-intro,
.rds-case-study .rds-section-intro { margin-bottom: clamp(2.2rem, 5vw, 3.7rem); max-width: 850px; }

.rds-work .rds-section-intro h2,
.rds-case-study .rds-section-intro h2,
.rds-work-editorial h2,
.rds-work-method h2,
.rds-case-overview h2,
.rds-work-final h2 {
	font-size: clamp(2.7rem, 5.5vw, 5rem);
	letter-spacing: -.05em;
	line-height: .96;
	margin: .7rem 0 1.2rem;
}

.rds-work .rds-section-intro > p,
.rds-case-study .rds-section-intro > p,
.rds-work-editorial-grid > div > p,
.rds-work-method-grid > div > p {
	color: var(--rds-color-charcoal-600);
	font-size: 1rem;
	line-height: 1.75;
	max-width: 720px;
}

.rds-work-grid {
	display: grid;
	gap: 1.4rem;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.rds-work-card {
	background: var(--rds-color-white);
	border: 1px solid var(--rds-color-line);
	border-radius: var(--rds-radius-lg);
	overflow: hidden;
}

.rds-work-card-media {
	background: var(--rds-color-cream-50);
	display: block;
	text-decoration: none;
}

.rds-work-card-media > img {
	aspect-ratio: 16 / 10;
	display: block;
	height: auto;
	object-fit: cover;
	width: 100%;
}

.rds-work-card-placeholder {
	align-items: flex-end;
	aspect-ratio: 16 / 10;
	background:
		linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px),
		var(--rds-color-forest-950);
	background-size: 30px 30px;
	color: var(--rds-color-white);
	display: flex;
	justify-content: space-between;
	padding: 2rem;
}

.rds-work-card-placeholder span { font: 700 .7rem/1 var(--rds-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.rds-work-card-placeholder b { color: var(--rds-color-earth-500); font: 650 clamp(2.2rem, 5vw, 4rem)/1 var(--rds-font-display); }

.rds-work-card-copy { padding: clamp(1.5rem, 4vw, 2.3rem); }

.rds-work-meta-line {
	align-items: center;
	color: var(--rds-color-forest-700);
	display: flex;
	flex-wrap: wrap;
	font: 700 .65rem/1.4 var(--rds-font-mono);
	gap: .55rem;
	letter-spacing: .04em;
	margin: 0;
	text-transform: uppercase;
}

.rds-work-meta-line i { color: var(--rds-color-earth-500); font-style: normal; }
.rds-work-card h2 { font-size: clamp(2rem, 4vw, 3rem); margin: .7rem 0 .85rem; }
.rds-work-card h2 a { color: var(--rds-color-charcoal-950); text-decoration: none; }
.rds-work-card-copy > p:not(.rds-work-meta-line) { color: var(--rds-color-charcoal-600); font-size: .9rem; line-height: 1.7; }

.rds-work-text-link,
.rds-work-area-grid a {
	color: var(--rds-color-forest-700);
	display: inline-flex;
	font-size: .78rem;
	font-weight: 750;
	margin-top: .75rem;
	text-decoration: none;
}

.rds-work-editorial { padding-bottom: calc(var(--rds-space-section) + 1rem); }

.rds-work-editorial-grid,
.rds-work-method-grid,
.rds-case-overview-grid {
	align-items: center;
	display: grid;
	gap: clamp(3rem, 8vw, 8rem);
	grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
}

.rds-work-editorial aside {
	background: var(--rds-color-forest-950);
	border-radius: var(--rds-radius-lg);
	color: var(--rds-color-white);
	padding: clamp(1.8rem, 4vw, 2.7rem);
}

.rds-work-editorial aside .rds-tech-label { color: rgba(255, 255, 255, .6); }
.rds-work-editorial aside ul { list-style: none; margin: 1.6rem 0 0; padding: 0; }

.rds-work-editorial aside li {
	align-items: center;
	border-top: 1px solid rgba(255, 255, 255, .15);
	display: grid;
	font-size: .82rem;
	font-weight: 650;
	gap: 1rem;
	grid-template-columns: 2rem 1fr;
	padding-block: 1rem;
}

.rds-work-editorial aside li span { color: var(--rds-color-earth-500); font: 700 .65rem/1 var(--rds-font-mono); }

.rds-work-area-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.rds-work-area-grid article {
	background: var(--rds-color-white);
	border: 1px solid var(--rds-color-line);
	border-radius: var(--rds-radius-md);
	display: flex;
	flex-direction: column;
	min-height: 335px;
	padding: 1.7rem;
}

.rds-work-area-grid article > span { color: var(--rds-color-earth-600); font: 700 .65rem/1 var(--rds-font-mono); }
.rds-work-area-grid h3 { font-size: 1.75rem; margin: 2.5rem 0 .85rem; }
.rds-work-area-grid p { color: var(--rds-color-charcoal-600); font-size: .8rem; line-height: 1.65; }
.rds-work-area-grid a { margin-top: auto; padding-top: 1rem; }

.rds-work-method-grid > ol {
	list-style: none;
	margin: 0;
	padding: 0;
}

.rds-work-method-grid > ol li {
	border-top: 1px solid var(--rds-color-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: 2.5rem 1fr;
	padding-block: 1rem;
}

.rds-work-method-grid > ol li > span { color: var(--rds-color-earth-600); font: 700 .68rem/1.5 var(--rds-font-mono); }
.rds-work-method-grid strong { font: 650 1.35rem/1.1 var(--rds-font-display); }
.rds-work-method-grid p { color: var(--rds-color-charcoal-600); font-size: .78rem; line-height: 1.55; margin: .25rem 0 0; }

.rds-work-final > .rds-wrap {
	align-items: center;
	display: flex;
	gap: 3rem;
	justify-content: space-between;
}

.rds-work-final h2 { color: var(--rds-color-white); margin-bottom: .8rem; max-width: 850px; }
.rds-work-final p { color: rgba(255, 255, 255, .7); margin: 0; }
.rds-work-final .rds-button-solid { background: var(--rds-color-white); border-color: var(--rds-color-white); color: var(--rds-color-forest-950) !important; flex: 0 0 auto; }

/* Single case study. */
.rds-case-hero { padding-block: clamp(3.8rem, 7vw, 6.5rem); }
.rds-case-hero h1 { font-size: clamp(3.7rem, 7vw, 6.7rem); }
.rds-case-hero-media > img { aspect-ratio: 16 / 11; display: block; height: auto; object-fit: cover; width: 100%; }

.rds-case-hero-placeholder {
	align-items: flex-start;
	background:
		linear-gradient(rgba(255, 255, 255, .05) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, .05) 1px, transparent 1px),
		var(--rds-color-forest-950);
	background-size: 32px 32px;
	color: var(--rds-color-white);
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-height: 430px;
	padding: clamp(2rem, 5vw, 3.3rem);
}

.rds-case-hero-placeholder > span { color: rgba(255, 255, 255, .65); font: 700 .68rem/1 var(--rds-font-mono); letter-spacing: .08em; text-transform: uppercase; }
.rds-case-hero-placeholder strong { color: var(--rds-color-white); font: 650 clamp(2.8rem, 5vw, 4.7rem)/1 var(--rds-font-display); margin-block: .9rem; }
.rds-case-hero-placeholder small { color: var(--rds-color-earth-500); font-size: .72rem; font-weight: 700; }

.rds-case-overview { border-bottom: 1px solid var(--rds-color-line); }
.rds-case-overview-grid { align-items: start; }
.rds-case-overview h2 { font-size: clamp(2.5rem, 4vw, 3.8rem); }
.rds-case-overview dl { margin: 0; }

.rds-case-overview dl > div {
	border-top: 1px solid var(--rds-color-line);
	display: grid;
	gap: 1rem;
	grid-template-columns: minmax(110px, .5fr) 1fr;
	padding-block: 1rem;
}

.rds-case-overview dt { color: var(--rds-color-charcoal-600); font: 700 .65rem/1.5 var(--rds-font-mono); text-transform: uppercase; }
.rds-case-overview dd { color: var(--rds-color-charcoal-950); font-size: .85rem; font-weight: 650; margin: 0; }
.rds-case-overview dd a { color: var(--rds-color-forest-700); }

.rds-case-narrative > .rds-wrap {
	display: grid;
	gap: clamp(3rem, 9vw, 9rem);
	grid-template-columns: minmax(240px, .65fr) minmax(0, 1.35fr);
}

.rds-case-narrative--cream { background: var(--rds-color-cream-50); border-block: 1px solid var(--rds-color-line); }
.rds-case-narrative > .rds-wrap > div:first-child > span { color: var(--rds-color-earth-600); font: 700 .68rem/1 var(--rds-font-mono); }
.rds-case-narrative h2 { font-size: clamp(2.8rem, 5vw, 4.5rem); letter-spacing: -.05em; line-height: .96; margin: .75rem 0 0; }
.rds-case-narrative-copy { color: var(--rds-color-charcoal-600); font-size: clamp(1.05rem, 1.4vw, 1.2rem); line-height: 1.85; }
.rds-case-narrative-copy p { margin: 0 0 1.25rem; }

.rds-case-gallery-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.rds-case-gallery figure { background: var(--rds-color-white); border: 1px solid var(--rds-color-line-strong); border-radius: var(--rds-radius-lg); margin: 0; overflow: hidden; }
.rds-case-gallery figure img { aspect-ratio: 16 / 10; display: block; height: auto; object-fit: cover; width: 100%; }

.rds-case-related-grid { display: grid; gap: 1rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }

.rds-case-related-grid > a {
	background: var(--rds-color-cream-50);
	border: 1px solid var(--rds-color-line);
	border-radius: var(--rds-radius-md);
	color: var(--rds-color-charcoal-950);
	display: flex;
	flex-direction: column;
	min-height: 220px;
	padding: 1.6rem;
	text-decoration: none;
}

.rds-case-related-grid > a > span { font: 650 1.65rem/1.05 var(--rds-font-display); }
.rds-case-related-grid p { color: var(--rds-color-charcoal-600); font-size: .78rem; line-height: 1.6; }
.rds-case-related-grid b { color: var(--rds-color-forest-700); font-size: .72rem; margin-top: auto; }

@media (max-width: 1050px) {
	.rds-work-hero-grid,
	.rds-case-hero-grid { gap: 3rem; grid-template-columns: minmax(0, 1fr) minmax(330px, .8fr); }
	.rds-work-hero h1,
	.rds-case-hero h1 { font-size: clamp(3.5rem, 7.8vw, 5.8rem); }
	.rds-work-area-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 800px) {
	.rds-work-hero-grid,
	.rds-case-hero-grid,
	.rds-work-editorial-grid,
	.rds-work-method-grid,
	.rds-case-overview-grid,
	.rds-case-narrative > .rds-wrap { grid-template-columns: 1fr; }
	.rds-work-system-body { min-height: 300px; }
	.rds-work-proof { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.rds-work-proof > div + div { border-left: 0; }
	.rds-work-proof > div:nth-child(even) { border-left: 1px solid var(--rds-color-line); }
	.rds-work-proof > div:nth-child(n+3) { border-top: 1px solid var(--rds-color-line); }
	.rds-work-grid,
	.rds-case-gallery-grid,
	.rds-case-related-grid { grid-template-columns: 1fr; }
	.rds-case-narrative > .rds-wrap { gap: 2rem; }
	.rds-case-related-grid > a { min-height: 180px; }
	.rds-work-final > .rds-wrap { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 560px) {
	.rds-work-breadcrumb { overflow: hidden; white-space: nowrap; }
	.rds-work-hero,
	.rds-case-hero { padding-block: 3.5rem; }
	.rds-work-hero h1,
	.rds-case-hero h1 { font-size: clamp(3.2rem, 15vw, 4.5rem); }
	.rds-work-actions { align-items: stretch; flex-direction: column; }
	.rds-work-actions .rds-button { width: 100%; }
	.rds-work-system-body { min-height: 270px; padding: 1.6rem; }
	.rds-work-proof { grid-template-columns: 1fr; margin-top: -1.5rem; }
	.rds-work-proof > div { min-height: 92px; }
	.rds-work-proof > div:nth-child(even) { border-left: 0; }
	.rds-work-proof > div + div { border-top: 1px solid var(--rds-color-line); }
	.rds-work .rds-section-intro h2,
	.rds-case-study .rds-section-intro h2,
	.rds-work-editorial h2,
	.rds-work-method h2,
	.rds-work-final h2 { font-size: clamp(2.5rem, 12vw, 3.4rem); }
	.rds-work-area-grid { grid-template-columns: 1fr; }
	.rds-work-area-grid article { min-height: 280px; }
	.rds-work-card-placeholder { padding: 1.4rem; }
	.rds-case-hero-placeholder { min-height: 300px; padding: 1.6rem; }
	.rds-case-overview dl > div { grid-template-columns: 1fr; gap: .3rem; }
	.rds-case-narrative h2 { font-size: clamp(2.5rem, 12vw, 3.5rem); }
}
