/* POLYVIA About Landing Page */

/* =========================================================
   FORCE TRUE FULL-WIDTH PAGE
   Fixes GeneratePress / Astra / page-template containers that
   can otherwise clip the shortcode output into the right side.
   ========================================================= */
body.polyvia-about-landing-page,
body.polyvia-about-page-template {
	background: #fff;
}

body.polyvia-about-landing-page #page,
body.polyvia-about-page-template #page,
body.polyvia-about-landing-page #content,
body.polyvia-about-page-template #content,
body.polyvia-about-landing-page .site,
body.polyvia-about-page-template .site,
body.polyvia-about-landing-page .site-content,
body.polyvia-about-page-template .site-content,
body.polyvia-about-landing-page .site-content>.grid-container,
body.polyvia-about-page-template .site-content>.grid-container,
body.polyvia-about-landing-page .site-content>.ast-container,
body.polyvia-about-page-template .site-content>.ast-container,
body.polyvia-about-landing-page #primary,
body.polyvia-about-page-template #primary,
body.polyvia-about-landing-page .content-area,
body.polyvia-about-page-template .content-area,
body.polyvia-about-landing-page .site-main,
body.polyvia-about-page-template .site-main,
body.polyvia-about-landing-page .site-main>article,
body.polyvia-about-page-template .site-main>article,
body.polyvia-about-landing-page article.page,
body.polyvia-about-page-template article.page,
body.polyvia-about-landing-page .inside-article,
body.polyvia-about-page-template .inside-article,
body.polyvia-about-landing-page .entry-content,
body.polyvia-about-page-template .entry-content {
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: both !important;
	flex: 0 0 100% !important;
	flex-basis: 100% !important;
	border: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
}

body.polyvia-about-landing-page #page,
body.polyvia-about-page-template #page {
	max-width: none !important;
}

body.polyvia-about-landing-page #content,
body.polyvia-about-page-template #content,
body.polyvia-about-landing-page .site-content,
body.polyvia-about-page-template .site-content {
	display: block !important;
}

body.polyvia-about-landing-page .entry-header,
body.polyvia-about-page-template .entry-header,
body.polyvia-about-landing-page .page-header,
body.polyvia-about-page-template .page-header,
body.polyvia-about-landing-page .entry-title,
body.polyvia-about-page-template .entry-title,
body.polyvia-about-landing-page .entry-meta,
body.polyvia-about-page-template .entry-meta,
body.polyvia-about-landing-page .post-thumb,
body.polyvia-about-page-template .post-thumb,
body.polyvia-about-landing-page #secondary,
body.polyvia-about-page-template #secondary {
	display: none !important;
}

/* The page now fills the reset content wrapper directly. */
.pv-about-page {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	position: static !important;
	left: auto !important;
	right: auto !important;
	transform: none !important;
}

.pv-about-page {
	--blue: #0b3f96;
	--blue-dark: #082f78;
	--green: #08a24e;
	--green-dark: #078442;
	--text: #243851;
	--muted: #5d728c;
	--line: #dce5ed;
	--soft: #f4f9fc;
	background: #fff;
	color: var(--text);
	font-family: inherit;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	overflow: hidden
}

.pv-about-page * {
	box-sizing: border-box
}

.pv-about-page img {
	max-width: 100%
}

.pv-about-container {
	width: min(1180px, calc(100% - 48px));
	margin-inline: auto
}

.pv-about-page h1,
.pv-about-page h2,
.pv-about-page h3,
.pv-about-page p {
	margin: 0
}

.pv-about-page h1 {
	font-size: 38px;
	line-height: 1.03;
	letter-spacing: -1.1px;
	font-weight: 800;
	color: var(--blue-dark)
}

.pv-about-page h2 {
	font-size: 30px;
	line-height: 1.12;
	letter-spacing: -.6px;
	font-weight: 800;
	color: var(--blue-dark)
}

.pv-about-page h3 {
	font-size: 20px;
	line-height: 1.25;
	font-weight: 800;
	color: var(--blue-dark)
}

.pv-about-page p {
	font-size: 13px;
	line-height: 1.52;
	color: var(--text)
}

.pv-about-page a {
	font-size: 13px;
	text-decoration: none
}

.pv-about-page a:focus-visible {
	outline: 2px solid var(--green);
	outline-offset: 3px
}

.pv-about-section {
	padding: 30px 0
}

.pv-about-kicker,
.pv-about-eyebrow {
	display: block;
	margin-bottom: 7px;
	font-size: 11px;
	line-height: 1.4;
	letter-spacing: .45px;
	text-transform: uppercase;
	font-weight: 800;
	color: #1174d9
}

.pv-about-eyebrow {
	color: #111827
}

.pv-about-heading {
	margin-bottom: 16px
}

.pv-about-heading.compact {
	margin-bottom: 14px
}

.pv-about-heading p {
	max-width: 850px;
	margin-top: 5px
}

.pv-about-green-line {
	display: block;
	width: 34px;
	height: 3px;
	margin: 8px 0 13px;
	background: var(--green)
}

/* Hero */
.pv-about-hero {
	min-height: 350px;
	display: flex;
	align-items: center;
	background-image: linear-gradient(90deg, rgba(248, 252, 255, .99) 0%, rgba(248, 252, 255, .96) 35%, rgba(248, 252, 255, .67) 52%, rgba(248, 252, 255, .10) 72%, rgba(248, 252, 255, 0) 100%), var(--pv-about-hero);
	background-size: cover;
	background-position: center right
}

.pv-about-hero-inner {
	min-height: 350px;
	display: flex;
	align-items: center
}

.pv-about-hero-copy {
	max-width: 530px;
	padding: 36px 0
}

.pv-about-hero h1 span {
	color: #0475d7
}

.pv-about-hero-copy>p {
	max-width: 540px;
	margin-top: 11px
}

.pv-about-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	margin-top: 16px
}

.pv-about-button {
	min-height: 42px;
	padding: 0 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	border-radius: 4px;
	font-weight: 700
}

.pv-about-button.primary {
	background: #079b4a;
	color: #fff !important
}

.pv-about-button.primary:hover {
	background: #079b4a
}

.pv-about-button.outline {
	border: 1px solid #079b4a;
	background: #fff;
	color: #079b4a !important
}

.pv-about-button.outline:hover {
	background: #f4f9ff
}

.pv-about-button span {
	font-size: 17px
}

/* Company */
.pv-about-company {
	background: #fff
}

.pv-about-company-grid {
	display: grid;
	grid-template-columns: 1.45fr .60fr .78fr;
	gap: 28px;
	align-items: stretch
}

.pv-about-company-copy {
	padding-right: 10px
}

.pv-about-company-copy p {
	margin-top: 10px !important
}

.pv-about-stats {
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-left: 1px solid var(--line);
	padding-left: 28px
}

.pv-about-stat {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 11px;
	align-items: center;
	padding: 9px 0
}

.pv-about-stat>.dashicons {
	width: 42px;
	height: 42px;
	font-size: 34px;
	line-height: 42px;
	color: var(--green)
}

.pv-about-stat strong {
	display: block;
	color: var(--green);
	font-size: 22px;
	line-height: 1.05
}

.pv-about-stat div span {
	display: block;
	margin-top: 3px;
	color: #26384e;
	font-size: 12px
}

.pv-about-company-images {
	display: grid;
	grid-template-rows: 1fr 1fr;
	gap: 14px
}

.pv-about-company-images img {
	width: 100%;
	height: 145px;
	display: block;
	object-fit: cover;
	border-radius: 4px
}

/* Manufacturing */
.pv-about-manufacturing {
	background: linear-gradient(90deg, #f7fbfe, #f0f7fc 48%, #f9fcfe)
}

.pv-about-manufacturing-grid {
	display: grid;
	grid-template-columns: 1.20fr .90fr 1.20fr .90fr;
	gap: 14px;
	align-items: stretch
}

.pv-about-manufacturing-image {
	width: 100%;
	height: 250px;
	object-fit: cover;
	border-radius: 5px
}

.pv-about-capability-card {
	padding: 18px 18px 15px;
	border: 1px solid #e0e8ef;
	border-radius: 5px;
	background: rgba(255, 255, 255, .92)
}

.pv-about-capability-card h3 {
	font-size: 22px
}

.pv-about-capability-card ul {
	list-style: none;
	margin: 0;
	padding: 0
}

.pv-about-capability-card li {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 10px;
	align-items: center;
	margin: 15px 0;
	font-size: 13px;
	color: #2a3c50
}

.pv-about-capability-card .dashicons {
	width: 27px;
	height: 27px;
	font-size: 25px;
	line-height: 27px;
	color: var(--green)
}

/* Expertise */
.pv-about-expertise {
	background: #fff
}

.pv-about-expertise-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px
}

.pv-about-expertise-card {
	display: grid;
	grid-template-columns: 145px minmax(0, 1fr);
	gap: 14px;
	align-items: stretch;
	min-height: 175px;
	padding: 12px;
	border: 1px solid #e0e7ed;
	border-radius: 5px;
	background: #fbfdff
}

.pv-about-expertise-card>img {
	width: 145px;
	height: 150px;
	display: block;
	object-fit: cover;
	border-radius: 4px
}

.pv-about-expertise-card h3 {
	font-size: 18px
}

.pv-about-expertise-card p {
	font-size: 12px;
	line-height: 1.45;
	color: #445970
}

/* Industries + quality */
.pv-about-industries-quality {
	background: linear-gradient(90deg, #f6fbff, #eef7fc)
}

.pv-about-industries-quality-grid {
	display: grid;
	grid-template-columns: 1.65fr .85fr;
	gap: 28px
}

.pv-about-industry-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px
}

.pv-about-industry-grid article {
	min-width: 0
}

.pv-about-industry-grid img {
	width: 100%;
	height: 95px;
	display: block;
	object-fit: cover;
	border-radius: 4px
}

.pv-about-industry-grid h3 {
	margin-top: 8px;
	font-size: 14px
}

.pv-about-industry-grid p {
	margin-top: 3px;
	font-size: 11px;
	line-height: 1.35
}

.pv-about-quality {
	border-left: 1px solid #cfdce7;
	padding-left: 28px
}

.pv-about-quality .pv-about-heading p {
	font-size: 12px
}

.pv-about-quality-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 135px;
	gap: 16px;
	align-items: center
}

.pv-about-quality ul {
	list-style: none;
	margin: 0;
	padding: 0
}

.pv-about-quality li {
	display: grid;
	grid-template-columns: 28px minmax(0, 1fr);
	gap: 9px;
	align-items: center;
	margin: 12px 0;
	font-size: 12px
}

.pv-about-quality li .dashicons {
	width: 26px;
	height: 26px;
	font-size: 24px;
	line-height: 26px;
	color: var(--green)
}

.pv-about-iso-card {
	height: 145px;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	border: 1px solid #bfd4eb;
	border-radius: 5px;
	background: #fff;
	text-align: center
}

.pv-about-iso-card .dashicons {
	width: 46px;
	height: 46px;
	font-size: 46px;
	line-height: 46px;
	color: #126fe2
}

.pv-about-iso-card strong {
	margin-top: 5px;
	color: #126fe2;
	font-size: 21px;
	line-height: 1
}

.pv-about-iso-card b {
	margin-top: 4px;
	color: #126fe2;
	font-size: 12px
}

.pv-about-iso-card small {
	margin-top: 5px;
	color: #6c7f93;
	font-size: 9px
}

/* Partner */
.pv-about-partner {
	background: #fff
}

.pv-about-partner-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-top: 15px
}

.pv-about-partner-grid article {
	display: grid;
	grid-template-columns: 46px minmax(0, 1fr);
	gap: 12px;
	padding: 6px 24px;
	border-right: 1px solid var(--line)
}

.pv-about-partner-grid article:first-child {
	padding-left: 0
}

.pv-about-partner-grid article:last-child {
	border-right: 0;
	padding-right: 0
}

.pv-about-partner-grid article>.dashicons {
	width: 42px;
	height: 42px;
	font-size: 36px;
	line-height: 42px;
	color: var(--green)
}

.pv-about-partner-grid h3 {
	font-size: 14px
}

.pv-about-partner-grid p {
	margin-top: 3px;
	font-size: 11px;
	line-height: 1.35
}

/* CTA */
.pv-about-cta {
	border-top: 1px solid var(--line);
	background: #fff
}

.pv-about-cta-inner {
	min-height: 110px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	padding-top: 18px;
	padding-bottom: 18px
}

.pv-about-cta h2 {
	font-size: 24px
}

.pv-about-cta p {
	max-width: 700px;
	margin-top: 5px
}

.pv-about-cta-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
	justify-content: flex-end
}

.pv-about-cta-actions .pv-about-button {
	min-width: 190px
}

@media(max-width:1050px) {
	.pv-about-company-grid {
		grid-template-columns: 1.25fr .65fr
	}

	.pv-about-company-images {
		grid-column: 1/-1;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: none
	}

	.pv-about-company-images img {
		height: 200px
	}

	.pv-about-manufacturing-grid {
		grid-template-columns: 1fr 1fr
	}

	.pv-about-manufacturing-image {
		height: 230px
	}

	.pv-about-expertise-grid {
		grid-template-columns: 1fr
	}

	.pv-about-expertise-card {
		grid-template-columns: 220px minmax(0, 1fr)
	}

	.pv-about-expertise-card>img {
		width: 220px
	}

	.pv-about-industries-quality-grid {
		grid-template-columns: 1fr
	}

	.pv-about-quality {
		border-left: 0;
		border-top: 1px solid #cfdce7;
		padding: 22px 0 0
	}

	.pv-about-partner-grid {
		grid-template-columns: 1fr 1fr;
		gap: 18px 0
	}

	.pv-about-partner-grid article:nth-child(2) {
		border-right: 0
	}

	.pv-about-partner-grid article:nth-child(3) {
		padding-left: 0
	}
}

@media(max-width:760px) {
	.pv-about-container {
		width: min(100% - 32px, 1180px)
	}

	.pv-about-hero {
		min-height: 390px;
		background-image: linear-gradient(180deg, rgba(248, 252, 255, .08) 0%, rgba(248, 252, 255, .56) 40%, rgba(248, 252, 255, .98) 67%, #f8fcff 100%), var(--pv-about-hero);
		background-size: auto 62%, cover;
		background-position: 64% top;
		background-repeat: no-repeat
	}

	.pv-about-hero-inner {
		min-height: 390px;
		align-items: flex-end
	}

	.pv-about-hero-copy {
		max-width: 100%;
		padding: 185px 0 30px
	}

	.pv-about-company-grid {
		grid-template-columns: 1fr
	}

	.pv-about-stats {
		border-left: 0;
		border-top: 1px solid var(--line);
		padding: 16px 0 0;
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 18px
	}

	.pv-about-company-images {
		grid-column: auto;
		grid-template-columns: 1fr 1fr
	}

	.pv-about-company-images img {
		height: 150px
	}

	.pv-about-manufacturing-grid {
		grid-template-columns: 1fr
	}

	.pv-about-manufacturing-image {
		height: 220px
	}

	.pv-about-expertise-card {
		grid-template-columns: 155px minmax(0, 1fr)
	}

	.pv-about-expertise-card>img {
		width: 155px;
		height: 150px
	}

	.pv-about-industry-grid {
		grid-template-columns: 1fr 1fr
	}

	.pv-about-partner-grid {
		grid-template-columns: 1fr
	}

	.pv-about-partner-grid article,
	.pv-about-partner-grid article:first-child,
	.pv-about-partner-grid article:nth-child(3),
	.pv-about-partner-grid article:last-child {
		padding: 10px 0;
		border-right: 0;
		border-bottom: 1px solid var(--line)
	}

	.pv-about-partner-grid article:last-child {
		border-bottom: 0
	}

	.pv-about-cta-inner {
		align-items: flex-start;
		flex-direction: column
	}

	.pv-about-cta-actions {
		justify-content: flex-start
	}
}

@media(max-width:480px) {
	.pv-about-page h1 {
		font-size: 34px
	}

	.pv-about-page h2 {
		font-size: 27px
	}

	.pv-about-section {
		padding: 25px 0
	}

	.pv-about-actions {
		flex-direction: column;
		align-items: flex-start
	}

	.pv-about-button {
		width: 100%;
		max-width: 280px
	}

	.pv-about-stats {
		grid-template-columns: 1fr
	}

	.pv-about-company-images {
		grid-template-columns: 1fr
	}

	.pv-about-company-images img {
		height: 180px
	}

	.pv-about-expertise-card {
		grid-template-columns: 115px minmax(0, 1fr);
		gap: 11px
	}

	.pv-about-expertise-card>img {
		width: 115px;
		height: 135px
	}

	.pv-about-expertise-card h3 {
		font-size: 16px
	}

	.pv-about-industry-grid {
		grid-template-columns: 1fr 1fr
	}

	.pv-about-industry-grid img {
		height: 80px
	}

	.pv-about-quality-body {
		grid-template-columns: 1fr
	}

	.pv-about-iso-card {
		height: 130px
	}

	.pv-about-cta-actions {
		width: 100%;
		flex-direction: column
	}

	.pv-about-cta-actions .pv-about-button {
		max-width: none
	}
}