/**
 * Brand directory and individual brand layout.
 */

.pb-brands-heading,
.pb-brands-intro {
	padding-block: 2.5rem 0;
}

.pb-brands-heading .pb-display,
.pb-brand-hero .pb-display,
.pb-brand-products .pb-display,
.pb-brand-systems .pb-display {
	overflow-wrap: anywhere;
}

.pb-brands-heading .pb-display,
.pb-brand-hero .pb-display {
	font-size: clamp(2.25rem, 5vw, 4.5rem);
}

.pb-brands-group,
.pb-brand-products,
.pb-brand-systems {
	margin-top: 2.5rem;
}

.pb-brands-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem 1rem;
	margin-top: 1.25rem;
}

.pb-brand-card .pb-brand-summary,
.pb-brand-hero .pb-section-copy {
	max-width: 42rem;
}

.pb-brand-media img,
.pb-brand-hero-image {
	display: block;
	width: 100%;
	height: auto;
}

.pb-brand-hero {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	padding-block: 2.5rem 1rem;
}

.pb-brand-systems ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-brand-systems a {
	display: inline-flex;
	align-items: center;
	min-height: 2.5rem;
	text-decoration: none;
}

.pb-brand-systems a:hover {
	color: var(--pb-red);
}

@media (min-width: 640px) {
	.pb-brands-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.pb-brands-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1280px) {
	.pb-brands-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.pb-systems-heading,
.pb-systems-intro {
	padding-block: 2.5rem 0;
}

.pb-systems-heading .pb-display,
.pb-system-hero .pb-display,
.pb-system-products .pb-display {
	overflow-wrap: anywhere;
}

.pb-systems-heading .pb-display,
.pb-system-hero .pb-display {
	font-size: clamp(2.25rem, 5vw, 4.5rem);
}

/* Systems Landing grid — VERIFY DURING STAGING VISUAL QA */
.pb-systems-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem 1rem;
	margin-top: 2.5rem;
}

.pb-system-media img,
.pb-system-hero-image {
	display: block;
	width: 100%;
	height: auto;
}

.pb-system-excerpt,
.pb-system-hero .pb-section-copy,
.pb-system-content {
	max-width: 42rem;
}

.pb-system-hero {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	padding-block: 2.5rem 1rem;
}

.pb-system-brand a,
.pb-system-content a {
	text-decoration: none;
}

.pb-system-brand a:hover,
.pb-system-content a:hover {
	color: var(--pb-red);
}

.pb-system-products {
	margin-top: 2.5rem;
}

@media (min-width: 640px) {
	.pb-systems-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.pb-systems-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.pb-insights-heading,
.pb-insights-intro {
	padding-block: 2.5rem 0;
}

.pb-insights-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}

.pb-insights-heading .pb-display,
.pb-insight-hero .pb-display,
.pb-insight-related .pb-display {
	overflow-wrap: anywhere;
}

.pb-insights-heading .pb-display,
.pb-insight-hero .pb-display {
	font-size: clamp(2.25rem, 5vw, 4.5rem);
}

/* Insights grid — VERIFY DURING STAGING VISUAL QA */
.pb-insights-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem 1rem;
	margin-top: 2.5rem;
}

.pb-insight-media img,
.pb-insight-hero-image {
	display: block;
	width: 100%;
	height: auto;
}

.pb-insight-excerpt,
.pb-insight-hero .pb-section-copy,
.pb-insight-content {
	max-width: 42rem;
}

.pb-insight-hero {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 1rem;
	padding-block: 2.5rem 1rem;
}

.pb-insight-content a,
.pb-insight-related a {
	text-decoration: none;
}

.pb-insight-content a:hover {
	color: var(--pb-red);
}

.pb-insight-related {
	margin-top: 2.5rem;
}

.pb-insight-pages ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 2rem 0 3rem;
	padding: 0;
	list-style: none;
}

.pb-insight-pages a,
.pb-insight-pages span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	min-height: 2.5rem;
	padding: 0.25rem 0.6rem;
	border: 1px solid var(--pb-grey-80);
	color: var(--pb-navy);
	text-decoration: none;
}

.pb-insight-pages .current {
	border-color: var(--pb-navy);
	background: var(--pb-navy);
	color: var(--pb-white);
}

@media (min-width: 640px) {
	.pb-insights-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1024px) {
	.pb-insights-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.pb-page-heading,
.pb-page > .pb-page-title {
	padding-block: 2.5rem 0;
}

.pb-page-heading .pb-display,
.pb-page > .pb-page-title {
	overflow-wrap: anywhere;
	font-size: clamp(2.25rem, 5vw, 4.5rem);
	line-height: var(--pb-leading-display-open);
}

.pb-page-media {
	margin: 1.5rem 0 0;
	background: var(--pb-neutral);
}

.pb-page-media img {
	display: block;
	width: 100%;
	height: auto;
}

.pb-page-content,
.pb-legal-content {
	max-width: 42rem;
	margin-top: 1.5rem;
	padding-bottom: 3rem;
	overflow-x: auto;
}

.pb-page-content h2,
.pb-page-content h3,
.pb-page-content h4,
.pb-legal-content h2,
.pb-legal-content h3,
.pb-legal-content h4 {
	text-transform: none;
	letter-spacing: 0;
	line-height: 1.3;
}

.pb-page-content h2,
.pb-legal-content h2 {
	margin: 2rem 0 0.75rem;
	font-size: 1.5rem;
}

.pb-page-content h3,
.pb-legal-content h3 {
	margin: 1.5rem 0 0.5rem;
	font-size: 1.25rem;
}

.pb-page-content h4,
.pb-legal-content h4 {
	margin: 1.25rem 0 0.5rem;
	font-size: 1.125rem;
}

.pb-page-content p,
.pb-page-content li,
.pb-legal-content p,
.pb-legal-content li {
	font-family: var(--font-sans);
	font-size: var(--pb-text-body);
	line-height: var(--pb-leading-body);
	text-transform: none;
}

.pb-page-content a,
.pb-legal-content a,
.pb-contact-email a,
.pb-contact-privacy a {
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.pb-contact-email,
.pb-contact-privacy {
	margin-top: 1rem;
}

.pb-contact-email a,
.pb-contact-privacy a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
}

.pb-page-content details,
.pb-legal-content details {
	border-block-end: 1px solid var(--pb-grey);
}

.pb-page-content summary,
.pb-legal-content summary {
	min-height: 2.75rem;
	padding-block: 0.75rem;
	cursor: pointer;
	font-family: var(--font-sans);
	font-weight: var(--pb-weight-semibold);
}

.pb-page-content table,
.pb-legal-content table {
	width: max-content;
	min-width: 100%;
	margin: 1.5rem 0;
	border-collapse: collapse;
}

.pb-page-content th,
.pb-page-content td,
.pb-legal-content th,
.pb-legal-content td {
	padding: 0.5rem 0.75rem;
	border: 1px solid var(--pb-grey);
	text-align: start;
	vertical-align: top;
}

.pb-home-hero,
.pb-home-section {
	padding-block: 2.5rem 0;
}

.pb-home-hero .pb-display,
.pb-home-section .pb-display {
	overflow-wrap: anywhere;
	font-size: clamp(2.25rem, 5vw, 4.5rem);
}

.pb-home-section .pb-section-heading .pb-display {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
}

.pb-home-campaign {
	max-width: 42rem;
	margin: 0.75rem 0 0;
	font-family: var(--font-sans);
	font-size: var(--pb-text-body);
	letter-spacing: var(--pb-tracking-eyebrow);
	line-height: var(--pb-leading-body);
	text-transform: uppercase;
}

.pb-home-section .pb-section-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
}

.pb-home-applications {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.25rem 0 0;
	padding: 0;
	list-style: none;
}

.pb-home-applications a {
	display: inline-flex;
	align-items: center;
	min-height: 2.75rem;
	padding: 0.4rem 0.85rem;
	border: 1px solid var(--pb-navy);
	color: var(--pb-navy);
	text-decoration: none;
}

.pb-home-applications a:hover {
	color: var(--pb-red);
	border-color: var(--pb-red);
}
