/* About us: Elementor widgets re-laid out as hero, facts, story and CTA. */
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-facts-grid,
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info-grid,
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-more-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--ppipd-gap, 16px);
	min-width: 0;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-section,
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-section * {
	min-width: 0;
	max-width: 100%;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-section :is(img, svg) {
	height: auto;
}
/* Neutralise Elementor inline white text / backgrounds on moved widgets. */
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-section .elementor-element,
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-section .elementor-widget-container,
.ppipd-page[data-ppipd-page="about-us"] .ppipd-hero .elementor-element {
	background: transparent;
	background-image: none;
	box-shadow: none;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-section :is(.elementor-element, .elementor-widget-container) :is(p, h2, h3, h4, span, li, div, label, .woodmart-title-container, .title-subtitle, .counter-value, .counter-suffix, .info-box-title) {
	color: inherit;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact {
	text-align: center;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact .counter-value {
	font-family: var(--ppipd-title-font, inherit);
	color: var(--ppipd-primary, inherit);
	font-weight: 700;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-section .elementor-element {
	width: 100%;
	margin: 0;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-h {
	font-family: var(--ppipd-title-font, inherit);
	line-height: 1.2;
	overflow-wrap: anywhere;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-prose {
	overflow-wrap: anywhere;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-prose :is(table, pre) {
	display: block;
	overflow-x: auto;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-story-head {
	margin-bottom: var(--ppipd-gap, 16px);
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-hero .ppipd-hero-links .elementor-element {
	width: auto;
}
@media (min-width: 640px) {
	.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-facts-grid,
	.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 960px) {
	.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-facts-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-more-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Tighter rhythm between the hero and the key facts. */
.ppipd-page[data-ppipd-page="about-us"] .ppipd-hero {
	padding-block-end: clamp(20px, 2.6vw, 36px);
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-facts {
	padding-block: 0 clamp(32px, 4.5vw, 60px);
}

/* Key facts: count-up numbers. */
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact {
	overflow: hidden;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 3px;
	background: linear-gradient(90deg, var(--ppipd-primary), var(--ppipd-gold));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .6s var(--ppipd-ease);
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact:hover::before {
	transform: scaleX(1);
}
.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact .counter-value {
	font-size: clamp(36px, 4vw, 52px);
	line-height: 1.1;
	letter-spacing: -.03em;
	font-variant-numeric: tabular-nums;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact .counter-value.is-counted {
	animation: ppipd-about-pop .5s var(--ppipd-ease);
}
.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact .counter-label {
	margin-top: 6px;
	color: var(--ppipd-muted);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
@keyframes ppipd-about-pop {
	40% { transform: scale(1.08); color: var(--ppipd-accent); }
}

/* Info cards: big title, Lottie art, numbered. */
.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info {
	display: flex;
	flex-direction: column;
	gap: 20px;
	padding: clamp(24px, 3.2vw, 40px);
	overflow: hidden;
	background:
		radial-gradient(420px 220px at 100% 0%, rgba(232, 181, 74, .14), transparent 70%),
		linear-gradient(180deg, var(--ppipd-tint-soft), #fff 55%);
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info::after {
	content: "";
	position: absolute;
	inset: auto 0 0;
	height: 4px;
	background: linear-gradient(90deg, var(--ppipd-primary), var(--ppipd-accent), var(--ppipd-gold));
	opacity: .85;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info-art {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info .ppipd-animation {
	width: clamp(104px, 11vw, 140px);
	padding: 10px;
	border-radius: 24px;
	background: #fff;
	box-shadow: var(--ppipd-shadow);
	transition: transform .4s var(--ppipd-ease);
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info:hover .ppipd-animation {
	transform: rotate(-3deg) scale(1.04);
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info-num {
	font-family: var(--ppipd-title-font, inherit);
	font-size: clamp(44px, 5vw, 68px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -.04em;
	color: var(--ppipd-border);
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info .elementor-element,
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info .elementor-widget-container,
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info :is(.info-box-wrapper, .wd-info-box, .info-box-content, .info-box-inner) {
	width: 100% !important;
	max-width: none !important;
	padding: 0;
	margin: 0;
}
.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info .info-box-title {
	margin: 0 0 14px;
	color: var(--ppipd-ink);
	font-family: var(--ppipd-title-font, inherit);
	font-size: clamp(24px, 2.4vw, 32px);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.025em;
}
.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-info .info-box-inner {
	color: var(--ppipd-text);
	font-size: 16px;
	line-height: 1.7;
}

/* Closing CTA: animated molecule, cursor spotlight, word reveal. */
.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta {
	--ppipd-mx: 50%;
	--ppipd-my: 50%;
	--ppipd-px: 0;
	--ppipd-py: 0;
	isolation: isolate;
	padding-block: clamp(56px, 8vw, 112px);
	background:
		radial-gradient(500px 260px at 100% 0%, rgba(232, 181, 74, .34), transparent 62%),
		radial-gradient(600px 320px at 0 100%, rgba(140, 123, 196, .45), transparent 61%),
		linear-gradient(120deg, var(--ppipd-ink), var(--ppipd-primary), #3f3470, var(--ppipd-ink));
	background-size: 100% 100%, 100% 100%, 300% 300%;
	animation: ppipd-about-flow 14s ease-in-out infinite alternate;
}
@keyframes ppipd-about-flow {
	from { background-position: 0 0, 0 0, 0% 50%; }
	to { background-position: 0 0, 0 0, 100% 50%; }
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta-glow {
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient(360px circle at var(--ppipd-mx) var(--ppipd-my), rgba(244, 213, 141, .28), transparent 65%);
	opacity: 0;
	transition: opacity .4s;
	pointer-events: none;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta.is-hover .ppipd-about-cta-glow {
	opacity: 1;
}
.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-molecule {
	position: absolute;
	inset: 0;
	z-index: -1;
	width: 100%;
	height: 100% !important;
	transform: translate(calc(var(--ppipd-px) * -28px), calc(var(--ppipd-py) * -18px));
	transition: transform .5s var(--ppipd-ease);
	pointer-events: none;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-bond {
	stroke: rgba(255, 255, 255, .32);
	stroke-width: 2;
	stroke-linecap: round;
	stroke-dasharray: 6 8;
	animation: ppipd-about-bond 3.2s linear infinite;
	animation-delay: calc(var(--ppipd-i) * -.4s);
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-atom {
	fill: rgba(255, 255, 255, .78);
	transform-box: fill-box;
	transform-origin: center;
	animation: ppipd-about-atom 3.6s ease-in-out infinite;
	animation-delay: calc(var(--ppipd-i) * -.45s);
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-atom.is-gold {
	fill: var(--ppipd-gold-light);
	filter: drop-shadow(0 0 6px rgba(244, 213, 141, .8));
}
@keyframes ppipd-about-bond {
	to { stroke-dashoffset: -28; }
}
@keyframes ppipd-about-atom {
	50% { transform: scale(1.45); opacity: .55; }
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta-copy {
	position: relative;
	transform: translate(calc(var(--ppipd-px) * 10px), calc(var(--ppipd-py) * 6px));
	transition: transform .5s var(--ppipd-ease);
}
.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta .title-wrapper {
	margin: 0;
	text-align: center;
}
.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta .ppipd-about-h {
	max-width: 18ch;
	margin: 0 auto;
	color: #fff;
	font-size: clamp(30px, 4.6vw, 60px);
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -.035em;
	text-wrap: balance;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-word {
	display: inline-block;
	background: linear-gradient(100deg, #fff 0 40%, var(--ppipd-gold-light) 50%, #fff 60% 100%);
	background-size: 260% 100%;
	background-position: 100% 0;
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	animation: ppipd-about-shine 6s ease-in-out infinite;
	animation-delay: calc(var(--ppipd-w) * .12s + 1.2s);
}
/* Beats the "color: inherit" reset on moved Elementor widgets, or the sweep stays hidden under white text. */
.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta .ppipd-about-word {
	color: transparent;
	-webkit-text-fill-color: transparent;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-word.is-brand {
	background-image: linear-gradient(100deg, var(--ppipd-gold-light) 0 40%, #fff 50%, var(--ppipd-gold-light) 60% 100%);
}
@keyframes ppipd-about-shine {
	0%, 55% { background-position: 100% 0; }
	85%, 100% { background-position: 0 0; }
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta.is-armed .ppipd-about-word {
	opacity: 0;
	transform: translateY(.45em) rotate(4deg);
	filter: blur(6px);
	transition: opacity .6s var(--ppipd-ease), transform .7s var(--ppipd-ease), filter .6s var(--ppipd-ease);
	transition-delay: calc(var(--ppipd-w) * 70ms);
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta.is-armed.is-in .ppipd-about-word {
	opacity: 1;
	transform: none;
	filter: none;
}
.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta.is-in .ppipd-about-word:hover {
	transform: translateY(-4px);
	transition-delay: 0s;
}
@media (max-width: 639px) {
	/* Two compact columns instead of six tall stacked cards. */
	.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-facts-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}
	.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact {
		padding: 18px 10px;
	}
	.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact .counter-value {
		font-size: 32px;
	}
	.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-fact .counter-label {
		font-size: 11px;
		letter-spacing: .04em;
	}
	/* Both molecule clusters stay in view on a narrow card. */
	.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-molecule {
		inset: auto 0 6px;
		height: auto !important;
		opacity: .7;
	}
	.ppipd-page.ppipd-page[data-ppipd-page="about-us"] .ppipd-about-cta {
		padding-block: 48px 104px;
	}
}
