/**
 * Professional Purpose — Vercel reference tokens + Bootstrap 5 overrides.
 */

/* Self-hosted variable fonts — no third-party requests */
@font-face {
	font-family: 'Nunito';
	font-style: normal;
	font-weight: 200 900;
	font-display: swap;
	src: url('../fonts/nunito.woff2') format('woff2');
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--pp-font-sans: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--pp-font-display: "Nunito", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--pp-section-y: clamp(3rem, 6vw, 5rem);
	--pp-section-y-lg: clamp(4rem, 8vw, 6.5rem);
	--pp-shadow-sm: 0 1px 2px rgba(15, 23, 42, 0.04), 0 2px 8px rgba(15, 23, 42, 0.06);
	--pp-shadow-md: 0 4px 25px -5px rgba(0, 0, 0, 0.08), 0 10px 15px -8px rgba(0, 0, 0, 0.04);
	--pp-shadow-lg: 0 25px 50px -12px rgba(15, 23, 42, 0.12);
	--pp-orb-opacity: 0.35;
	--pp-primary: #0D2744;
	--pp-primary-600: #163B5C;
	--pp-primary-dark: #0A2038;
	--pp-secondary: #009E94;
	--pp-secondary-dark: #007B72;
	--pp-accent: #f59e0b;
	--pp-neutral-50: #fafafa;
	--pp-neutral-100: #f5f5f5;
	--pp-neutral-200: #e5e5e5;
	--pp-neutral-500: #737373;
	--pp-neutral-600: #525252;
	--pp-neutral-700: #404040;
	--pp-neutral-800: #262626;
	--pp-neutral-900: #171717;
	--pp-ink: #0D2744;
	--bs-primary: var(--pp-primary);
	--bs-primary-rgb: 13, 39, 68;
	--bs-link-color: var(--pp-secondary);
	--bs-link-hover-color: var(--pp-secondary-dark);
}

body.pp-theme {
	font-family: var(--pp-font-sans);
	color: var(--pp-ink);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	padding-bottom: 4.5rem;
	background-color: #fff;
}

body.pp-nav-open {
	overflow: hidden;
}

::selection {
	background: rgba(14, 165, 233, 0.22);
	color: inherit;
}

@media (min-width: 992px) {
	body.pp-theme {
		padding-bottom: 0;
	}
}

h1,
h2,
h3,
.display-3,
.display-4,
.display-5,
.display-6,
.pp-section-title,
.pp-font-display {
	font-family: var(--pp-font-display), Georgia, serif;
}

.pp-sticky-head {
	transition: box-shadow 0.25s ease, border-color 0.25s ease;
}

.pp-sticky-head.is-scrolled {
	box-shadow: var(--pp-shadow-md), 0 1px 0 rgba(14, 165, 233, 0.12);
}

/* Section rhythm & alternating bands */
.pp-section {
	padding-top: var(--pp-section-y);
	padding-bottom: var(--pp-section-y);
}

.pp-section-lg {
	padding-top: var(--pp-section-y-lg);
	padding-bottom: var(--pp-section-y-lg);
}

.pp-section-soft {
	background: linear-gradient(180deg, #fffefb 0%, #fafafa 100%);
}

.pp-section-cool {
	background: linear-gradient(180deg, #f8fafc 0%, #f1f5f9 100%);
}

.pp-measure {
	max-width: 65ch;
}

.pp-measure-center {
	margin-left: auto;
	margin-right: auto;
}

.pp-display-hero {
	font-size: clamp(2.25rem, 5vw + 1rem, 3.75rem);
	line-height: 1.08;
	letter-spacing: -0.02em;
}

.pp-section-title {
	font-size: clamp(1.75rem, 3vw + 0.75rem, 2.75rem);
	line-height: 1.15;
	letter-spacing: -0.02em;
}

.lead.pp-measure {
	line-height: 1.65;
}

.pp-demo-bar {
	background: linear-gradient(105deg, var(--pp-primary-dark) 0%, var(--pp-primary-600) 45%, #0891b2 100%);
}

.pp-demo-bar .pp-demo-dismiss {
	opacity: 0.85;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.pp-demo-bar .pp-demo-dismiss:hover {
	opacity: 1;
	transform: scale(1.05);
}

@media (prefers-reduced-motion: reduce) {
	.pp-demo-bar .pp-demo-dismiss {
		transition: none;
	}

	.pp-demo-bar .pp-demo-dismiss:hover {
		transform: none;
	}
}

.pp-header-bar .navbar {
	background: rgba(255, 255, 255, 0.95) !important;
	backdrop-filter: blur(10px);
}

/* Navbar layout — room for brand, links, CTA, and theme outside collapse on desktop */
.pp-navbar-inner {
	row-gap: 0.25rem;
}

@media (min-width: 992px) {
	.pp-navbar-inner {
		flex-wrap: nowrap !important;
		row-gap: 0;
	}
}

.pp-navbar-brand {
	min-width: 0;
	max-width: min(58vw, 16rem);
}

@media (min-width: 576px) {
	.pp-navbar-brand {
		max-width: min(42vw, 20rem);
	}
}

@media (min-width: 992px) {
	.pp-navbar-brand {
		max-width: none;
	}
}

.pp-navbar .pp-navbar-nav .nav-link {
	padding-left: 0.45rem;
	padding-right: 0.45rem;
}

@media (min-width: 1200px) {
	.pp-navbar .pp-navbar-nav .nav-link {
		padding-left: 0.55rem;
		padding-right: 0.55rem;
	}
}

.pp-navbar-collapse-inner {
	min-width: 0;
}

.pp-brand-mark-lg {
	display: inline-block;
	width: 3rem;
	height: 3rem;
	border-radius: 1rem;
	background: linear-gradient(135deg, var(--pp-primary), var(--pp-secondary));
	box-shadow: 0 4px 15px rgba(14, 165, 233, 0.35);
}

.pp-logo-wrap img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

/* Bundled / site logo (e.g. four-ring mark on dark tile in header) */
.pp-header-bar .pp-site-logo-chip {
	background: radial-gradient(120% 120% at 30% 20%, #0f172a 0%, #020617 100%);
	box-shadow:
		inset 0 1px 0 rgba(255, 255, 255, 0.08),
		0 4px 12px rgba(15, 23, 42, 0.2);
}

.pp-site-logo-img {
	object-fit: contain;
	object-position: center;
}

/* Hero (reference layout) */
.pp-hero-ref {
	position: relative;
	min-height: min(92vh, 56rem);
	display: flex;
	align-items: center;
	overflow: hidden;
}

.pp-hero-ref .pp-hero-bg-layer {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 80% 50% at 100% 0%, rgba(14, 165, 233, 0.12) 0%, transparent 55%),
		radial-gradient(ellipse 60% 40% at 0% 100%, rgba(20, 184, 166, 0.1) 0%, transparent 50%),
		linear-gradient(180deg, rgba(240, 249, 255, 0.95) 0%, #fff 55%, #fff 100%);
}

.pp-hero-ref .pp-hero-bg-layer::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.035;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.pp-hero-orbs {
	position: absolute;
	inset: 0;
	pointer-events: none;
	opacity: var(--pp-orb-opacity);
	overflow: hidden;
}

body.pp-hero-orbs-off .pp-hero-orbs {
	display: none;
}

/* Inner pages — hero band (matches Vercel marketing subpages) */
.pp-inner-hero-ref {
	--pp-inner-hero-pad-y: clamp(2.5rem, 5vw, 4rem);
}

.pp-inner-hero-bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 75% 50% at 95% 0%, rgba(14, 165, 233, 0.11) 0%, transparent 52%),
		radial-gradient(ellipse 55% 45% at 0% 100%, rgba(20, 184, 166, 0.09) 0%, transparent 48%),
		linear-gradient(180deg, rgba(240, 249, 255, 0.98) 0%, #fff 72%, #fff 100%);
	pointer-events: none;
}

.pp-inner-hero-bg::after {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.032;
	pointer-events: none;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.pp-inner-hero-dots {
	position: absolute;
	inset: 0;
	opacity: 0.035;
	background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='1'%3E%3Ccircle cx='7' cy='7' r='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	pointer-events: none;
}

.pp-inner-hero-pad {
	padding-top: var(--pp-inner-hero-pad-y) !important;
	padding-bottom: var(--pp-inner-hero-pad-y) !important;
}

.pp-page-body {
	background: linear-gradient(180deg, #fff 0%, var(--pp-neutral-50) 100%);
}

.pp-inner-hero-ref .pp-section-badge {
	margin-bottom: 1rem;
}

.pp-services-toc .nav-link:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Affiliations (Vercel parity) */
.pp-affil-logo-slot {
	width: 5.5rem;
	height: 5.5rem;
	border-radius: 1.15rem;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid var(--pp-neutral-200);
	box-shadow: 0 4px 14px rgba(15, 23, 42, 0.06);
	flex-shrink: 0;
	overflow: hidden;
}

.pp-affil-logo-img {
	width: 100%;
	height: 100%;
	max-height: 5.5rem;
	object-fit: contain;
	padding: 0.35rem;
}

.pp-affil-logo-fallback {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.65rem;
	font-weight: 800;
	line-height: 1.1;
	text-align: center;
	color: #fff;
	background: linear-gradient(135deg, var(--pp-primary), var(--pp-secondary));
	padding: 0.25rem;
}

.pp-affil-card {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pp-affil-card:hover {
	box-shadow: var(--pp-shadow-md);
}

.pp-cert-icon {
	color: var(--pp-primary-600);
	display: block;
}

.pp-pill-icon {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.5rem 1rem;
	border-radius: 999px;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--pp-primary-600);
	background: linear-gradient(135deg, #f0f9ff 0%, #ecfeff 100%);
	border: 1px solid #bae6fd;
}

.pp-pill-icon svg {
	flex-shrink: 0;
	opacity: 0.9;
}

.pp-header-glass {
	background: rgba(255, 255, 255, 0.82) !important;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
}

@supports not (backdrop-filter: blur(12px)) {
	.pp-header-glass {
		background: #fff !important;
	}
}

.pp-mid-cta-box {
	position: relative;
	overflow: hidden;
	border-radius: 1.5rem;
	padding: 3rem 2rem;
	border: 1px solid rgba(14, 165, 233, 0.15) !important;
	background: linear-gradient(135deg, #f8fafc 0%, #fff 45%, #f0fdfa 100%) !important;
	box-shadow: var(--pp-shadow-sm);
}

.pp-mid-cta-box::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.5;
	background: radial-gradient(circle at 10% 20%, rgba(14, 165, 233, 0.08), transparent 40%),
		radial-gradient(circle at 90% 80%, rgba(20, 184, 166, 0.08), transparent 40%);
	pointer-events: none;
}

.pp-mid-cta-box > * {
	position: relative;
	z-index: 1;
}

.pp-affil-pill {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--pp-primary-600);
	background: #e0f2fe;
	border: 1px solid #bae6fd;
	border-radius: 999px;
	padding: 0.25rem 0.65rem;
	display: inline-block;
}

.pp-affil-standards .badge {
	font-weight: 600;
}

.pp-hero-orbs::before,
.pp-hero-orbs::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	filter: blur(48px);
	mix-blend-mode: multiply;
}

.pp-hero-orbs::before {
	width: 24rem;
	height: 24rem;
	top: 5rem;
	left: 5rem;
	background: linear-gradient(135deg, #38bdf8, var(--pp-primary));
	animation: pp-float 18s ease-in-out infinite;
}

.pp-hero-orbs::after {
	width: 20rem;
	height: 20rem;
	top: 10rem;
	right: 5rem;
	background: linear-gradient(135deg, #5eead4, var(--pp-secondary));
	animation: pp-float 22s ease-in-out infinite reverse;
}

.pp-hero-orbs .pp-orb {
	position: absolute;
	width: 18rem;
	height: 18rem;
	bottom: -2rem;
	left: 25%;
	border-radius: 50%;
	filter: blur(48px);
	mix-blend-mode: multiply;
	background: linear-gradient(135deg, #fbbf24, #f59e0b);
	animation: pp-float 20s ease-in-out infinite;
}

@media (prefers-reduced-motion: reduce) {
	.pp-hero-orbs::before,
	.pp-hero-orbs::after,
	.pp-hero-orbs .pp-orb {
		animation: none;
	}
}

@keyframes pp-float {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
	}
	50% {
		transform: translate(12px, -16px) scale(1.05);
	}
}

.pp-hero-dots {
	position: absolute;
	inset: 0;
	opacity: 0.04;
	background-image: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23000000' fill-opacity='1'%3E%3Ccircle cx='7' cy='7' r='1'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
	pointer-events: none;
}

.pp-trust-pill {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #f0f9ff;
	border: 1px solid #bae6fd;
	color: #0369a1;
	border-radius: 999px;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
	font-weight: 600;
}

.pp-text-gradient {
	background: linear-gradient(90deg, var(--pp-primary) 0%, var(--pp-secondary) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.pp-trust-chip {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	background: rgba(255, 255, 255, 0.65);
	backdrop-filter: blur(8px);
	border: 1px solid var(--pp-neutral-200);
	border-radius: 1rem;
	padding: 0.75rem 1rem;
	box-shadow: 0 2px 15px -3px rgba(0, 0, 0, 0.06);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--pp-neutral-800);
}

.pp-trust-chip .pp-chip-ico {
	width: 2.25rem;
	height: 2.25rem;
	border-radius: 0.75rem;
	background: #f0f9ff;
	border: 1px solid #bae6fd;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pp-primary-600);
	flex-shrink: 0;
}

.pp-hero-stat-num {
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 800;
	font-family: var(--pp-font-display), serif;
	background: linear-gradient(90deg, var(--pp-primary), var(--pp-secondary));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Right column preview card */
.pp-hero-preview {
	position: relative;
	z-index: 2;
}

.pp-hero-preview-inner {
	background: rgba(255, 255, 255, 0.85);
	backdrop-filter: blur(12px);
	border-radius: 1.5rem;
	padding: 2rem;
	border: 1px solid rgba(255, 255, 255, 0.6);
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.12);
}

.pp-hero-preview-deco {
	position: absolute;
	inset: 0;
	border-radius: 1.5rem;
	transform: rotate(3deg) scale(1.05);
	background: linear-gradient(135deg, rgba(224, 242, 254, 0.35), rgba(204, 251, 241, 0.35));
	z-index: -1;
}

.pp-hero-preview-deco2 {
	position: absolute;
	inset: 0;
	border-radius: 1.5rem;
	transform: rotate(-2deg) scale(1.1);
	background: linear-gradient(135deg, rgba(254, 243, 199, 0.25), rgba(224, 242, 254, 0.2));
	z-index: -2;
}

.pp-preview-row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.75rem 1rem;
	border-radius: 0.75rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--pp-neutral-700);
}

.pp-preview-row.pp-tint-1 {
	background: #f0f9ff;
}
.pp-preview-row.pp-tint-2 {
	background: #f0fdfa;
}
.pp-preview-row.pp-tint-3 {
	background: #fffbeb;
}

.pp-float-badge {
	position: absolute;
	width: 3rem;
	height: 3rem;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.12);
}

.pp-float-badge.pp-fb-tr {
	top: -0.5rem;
	right: -0.5rem;
	background: var(--pp-primary-600);
}

.pp-float-badge.pp-fb-bl {
	bottom: -0.5rem;
	left: -0.5rem;
	background: var(--pp-secondary);
}

/* Section badges & cards */
.pp-section-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	background: #f0f9ff;
	border: 1px solid #bae6fd;
	color: #0369a1;
	border-radius: 999px;
	padding: 0.35rem 0.85rem;
	font-size: 0.8rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.pp-section-badge.pp-badge-accent {
	background: #fffbeb;
	border-color: #fde68a;
	color: #b45309;
}

.pp-heading-accent {
	background: linear-gradient(90deg, var(--pp-primary), var(--pp-secondary));
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

.pp-card-elevated {
	position: relative;
	overflow: hidden;
	border: 1px solid rgba(15, 23, 42, 0.06);
	border-radius: 1.25rem;
	padding: 1.75rem;
	background: linear-gradient(165deg, #fff 0%, #fafbfc 100%);
	box-shadow: var(--pp-shadow-sm);
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	height: 100%;
}

.pp-card-elevated::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	background: linear-gradient(90deg, rgba(14, 165, 233, 0.55), rgba(20, 184, 166, 0.55), rgba(245, 158, 11, 0.35));
	opacity: 0.85;
	border-radius: 1.25rem 1.25rem 0 0;
	z-index: 0;
}

.pp-card-elevated > * {
	position: relative;
	z-index: 1;
}

.pp-card-elevated:hover {
	transform: translateY(-4px);
	box-shadow: var(--pp-shadow-md), 0 0 40px rgba(14, 165, 233, 0.1);
}

@media (prefers-reduced-motion: reduce) {
	.pp-card-elevated:hover {
		transform: none;
	}
}

.pp-card-highlight {
	background: linear-gradient(135deg, #f0f9ff 0%, #fff 100%);
}

.pp-learn-pill {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	background: var(--pp-neutral-50);
	border: 1px solid var(--pp-neutral-200);
	color: var(--pp-neutral-700);
	border-radius: 999px;
	padding: 0.25rem 0.65rem;
}

.pp-icon-tile {
	width: 4rem;
	height: 4rem;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.5rem;
}

.pp-icon-tile.pp-t-primary {
	background: #e0f2fe;
	color: var(--pp-primary-600);
}
.pp-icon-tile.pp-t-secondary {
	background: #ccfbf1;
	color: var(--pp-secondary-dark);
}

.pp-dot-li {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--pp-neutral-700);
}

.pp-dot-li::before {
	content: "";
	width: 0.4rem;
	height: 0.4rem;
	border-radius: 999px;
	background: var(--pp-primary);
	flex-shrink: 0;
}

.pp-audience-card .pp-dot-li::before {
	background: var(--pp-primary);
}

.pp-audience-card.pp-aud-sec .pp-dot-li::before {
	background: var(--pp-secondary);
}

.pp-audience-card:focus-visible {
	outline: none;
}

.pp-audience-card:focus-visible .pp-card-elevated {
	outline: 3px solid rgba(14, 165, 233, 0.45);
	outline-offset: 3px;
	box-shadow: var(--pp-shadow-md), 0 0 0 1px rgba(14, 165, 233, 0.2);
}

/* Process gradient section */
.pp-section-gradient {
	background: linear-gradient(180deg, #f8fafc 0%, #f0f9ff 40%, #f0fdfa 100%);
}

.pp-step-card {
	background: #fff;
	border: 1px solid var(--pp-neutral-200);
	border-radius: 1.25rem;
	padding: 1.75rem;
	text-align: center;
	box-shadow: 0 2px 15px -3px rgba(0, 0, 0, 0.06);
	height: 100%;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.pp-step-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--pp-shadow-md);
	border-color: rgba(14, 165, 233, 0.22);
}

@media (prefers-reduced-motion: reduce) {
	.pp-step-card {
		transition: none;
	}

	.pp-step-card:hover {
		transform: none;
	}
}

.pp-step-num-lg {
	width: 4rem;
	height: 4rem;
	border-radius: 1rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	font-size: 1.25rem;
	color: #fff;
	background: linear-gradient(135deg, var(--pp-primary), var(--pp-secondary));
	margin: 0 auto 1rem;
	box-shadow: 0 4px 15px rgba(14, 165, 233, 0.3);
}

/* Services grid (home) */
.pp-svc-icon {
	width: 4rem;
	height: 4rem;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.75rem;
}

.pp-svc-icon.c1 {
	background: #e0f2fe;
	color: #0284c7;
}
.pp-svc-icon.c2 {
	background: #ccfbf1;
	color: #0d9488;
}
.pp-svc-icon.c3 {
	background: #fffbeb;
	color: #d97706;
}
.pp-svc-icon.c4 {
	background: #f0f9ff;
	color: #0369a1;
}

.pp-svc-feature-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.5rem;
}

.pp-svc-feature-grid span {
	font-size: 0.8125rem;
	color: var(--pp-neutral-600);
	font-weight: 500;
}

/* Why us */
.pp-why-icon {
	width: 3rem;
	height: 3rem;
	border-radius: 0.85rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: var(--pp-primary-600);
	flex-shrink: 0;
}

.pp-pill-stat {
	font-size: 0.75rem;
	font-weight: 800;
	color: var(--pp-primary-600);
	background: #f0f9ff;
	border: 1px solid #bae6fd;
	border-radius: 999px;
	padding: 0.2rem 0.65rem;
}

.pp-stats-strip {
	background: #fff;
	border-radius: 1.5rem;
	padding: 2.5rem 1.5rem;
	border: 1px solid var(--pp-neutral-100);
	box-shadow: 0 2px 15px -3px rgba(0, 0, 0, 0.06);
}

.pp-stat-ico {
	width: 4rem;
	height: 4rem;
	border-radius: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 0.75rem;
	color: #fff;
	background: linear-gradient(135deg, var(--pp-primary), var(--pp-secondary));
}

/* Testimonials — shared home + Reviews / Why us templates */
blockquote.pp-testimonial-quote {
	font-size: 1.05rem;
	line-height: 1.65;
	letter-spacing: 0.01em;
}

@media (min-width: 768px) {
	blockquote.pp-testimonial-quote {
		font-size: 1.0625rem;
	}
}

.pp-star-row svg {
	width: 1.15rem;
	height: 1.15rem;
	color: #fbbf24;
}

.pp-avatar-gradient {
	width: 3rem;
	height: 3rem;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 800;
	color: #fff;
	background: linear-gradient(135deg, var(--pp-primary), var(--pp-secondary));
}

.pp-testimonial-photo {
	width: 5rem;
	height: 5rem;
	border-radius: 999px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border: 3px solid var(--bs-border-color);
}

.pp-testimonial-photo .pp-avatar-gradient {
	width: 100%;
	height: 100%;
	border-radius: 0;
	font-size: 1.5rem;
}

.pp-testimonial-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Final CTA */
.pp-cta-final-ref {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, var(--pp-primary-600) 0%, #0369a1 50%, var(--pp-secondary-dark) 100%);
}

.pp-cta-final-ref::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.12;
	pointer-events: none;
	background:
		radial-gradient(ellipse 80% 50% at 20% 0%, rgba(255, 255, 255, 0.45), transparent 50%),
		radial-gradient(ellipse 60% 40% at 100% 100%, rgba(251, 191, 36, 0.35), transparent 45%);
}

.pp-cta-final-ref > .container {
	position: relative;
	z-index: 1;
}

.pp-text-gradient-amber {
	background: linear-gradient(90deg, #fde68a, #fff);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}

/* Footer */
.pp-footer-ref {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #171717 0%, #262626 45%, #171717 100%);
}

.pp-footer-ref::before {
	content: "";
	position: absolute;
	inset: 0;
	opacity: 0.06;
	pointer-events: none;
	background: radial-gradient(circle at 10% 20%, #0ea5e9 0%, transparent 45%), radial-gradient(circle at 90% 80%, #14b8a6 0%, transparent 40%);
}

.pp-footer-ref .pp-footer-inner {
	position: relative;
	z-index: 1;
}

.pp-social-btn {
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.75rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--pp-neutral-800);
	color: #a3a3a3;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.pp-social-btn:hover {
	background: var(--pp-primary-600);
	color: #fff;
	transform: translateY(-2px);
}

.btn-accent {
	--bs-btn-bg: #fbbf24;
	--bs-btn-border-color: #f59e0b;
	--bs-btn-hover-bg: #f59e0b;
	--bs-btn-hover-border-color: #d97706;
	--bs-btn-color: #1c1917;
	--bs-btn-hover-color: #1c1917;
}

.pp-mobile-cta {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1030;
	padding-bottom: env(safe-area-inset-bottom, 0);
	box-shadow:
		0 -0.25rem 1rem rgba(15, 23, 42, 0.1),
		0 -1px 0 rgba(14, 165, 233, 0.15);
	border-radius: 1rem 1rem 0 0;
	overflow: hidden;
}

.pp-mobile-cta .btn {
	border-radius: 0 !important;
}

.scroll-margin-top {
	scroll-margin-top: 6rem;
}

.prose-flow > * + * {
	margin-top: 1rem;
}

.prose-flow h2,
.prose-flow h3 {
	margin-top: 2rem;
}

.prose-flow ul,
.prose-flow ol {
	padding-left: 1.25rem;
}

a:focus-visible,
button:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.btn:focus-visible,
.navbar-toggler:focus-visible,
.dropdown-item:focus-visible {
	outline: 3px solid rgba(14, 165, 233, 0.45);
	outline-offset: 2px;
}

.skip-link:focus {
	position: fixed !important;
	z-index: 1100 !important;
}

.pp-inner-hero-ref,
.pp-page-hero {
	scroll-margin-top: 4rem;
}

.object-fit-cover {
	object-fit: cover;
}

.letter-spacing {
	letter-spacing: 0.08em;
}

.navbar .dropdown-menu {
	min-width: 12rem;
	box-shadow: var(--pp-shadow-md);
}

.pp-theme-toggle {
	border-width: 1px;
	min-width: 2.5rem;
	min-height: 2.5rem;
}

.pp-theme-toggle__ico-wrap {
	width: 1.35rem;
	height: 1.35rem;
}

.pp-theme-toggle__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 0;
}

html[data-bs-theme="dark"] .pp-theme-toggle.btn-outline-secondary {
	--bs-btn-color: rgba(226, 232, 240, 0.92);
	--bs-btn-border-color: rgba(148, 163, 184, 0.45);
	--bs-btn-hover-bg: rgba(148, 163, 184, 0.12);
	--bs-btn-hover-border-color: rgba(148, 163, 184, 0.55);
	--bs-btn-hover-color: #f8fafc;
	--bs-btn-active-bg: rgba(148, 163, 184, 0.18);
	--bs-btn-active-border-color: rgba(148, 163, 184, 0.6);
	--bs-btn-active-color: #f8fafc;
}

.pp-navbar .nav-link {
	position: relative;
	transition: color 0.2s ease;
}

.pp-navbar .nav-link:not(.dropdown-toggle)::after {
	content: "";
	position: absolute;
	left: 0.5rem;
	right: 0.5rem;
	bottom: 0.15rem;
	height: 2px;
	background: linear-gradient(90deg, var(--pp-primary), var(--pp-secondary));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.22s ease;
}

.pp-navbar .nav-link:not(.dropdown-toggle):hover::after,
.pp-navbar .nav-link.pp-nav-link--active:not(.dropdown-toggle)::after {
	transform: scaleX(1);
}

.pp-navbar .nav-link.pp-nav-link--active {
	color: var(--pp-primary-600) !important;
	font-weight: 600;
}

.pp-navbar .dropdown-toggle.pp-nav-link--active {
	color: var(--pp-primary-600) !important;
	font-weight: 600;
}

.pp-btn-lift {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pp-btn-lift:hover {
	transform: translateY(-2px);
	box-shadow: var(--pp-shadow-md);
}

@media (prefers-reduced-motion: reduce) {
	.pp-btn-lift:hover {
		transform: none;
	}
}

body.pp-theme .btn-primary.pp-btn-lift:hover {
	box-shadow: 0 8px 20px -6px rgba(14, 165, 233, 0.45);
}

/* Scroll reveal */
.pp-reveal {
	opacity: 0;
	transform: translateY(1.25rem);
	transition: opacity 0.55s ease, transform 0.55s ease;
}

.pp-reveal.pp-in-view {
	opacity: 1;
	transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
	.pp-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Forms */
.pp-form-control .form-control,
.pp-form-control .form-select {
	border-radius: 0.65rem;
	border-color: var(--pp-neutral-200);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.pp-form-control .form-control:focus,
.pp-form-control .form-select:focus {
	border-color: var(--pp-primary);
	box-shadow: 0 0 0 3px rgba(14, 165, 233, 0.2);
}

#pp-contact-feedback:focus-visible {
	outline: 2px solid var(--pp-primary);
	outline-offset: 2px;
}

/* Contact page: channel strip + WhatsApp + form region */
.pp-contact-channel-strip {
	background: linear-gradient(180deg, rgba(240, 249, 255, 0.65) 0%, rgba(255, 255, 255, 0.9) 100%);
}

.pp-channel-card {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	border: 1px solid rgba(14, 165, 233, 0.12);
}

.pp-channel-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px -12px rgba(15, 23, 42, 0.18);
}

.pp-channel-card:focus-visible {
	outline: 2px solid var(--pp-primary);
	outline-offset: 3px;
}

.pp-channel-card-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 1rem;
	background: rgba(14, 165, 233, 0.12);
	color: var(--pp-primary-600);
}

.pp-channel-card--wa .pp-channel-card-icon--wa {
	background: rgba(37, 211, 102, 0.15);
	color: #128c7e;
}

.pp-contact-form-region {
	scroll-margin-top: 6.5rem;
}

.pp-contact-form-modern .pp-contact-form-head {
	padding-bottom: 0.25rem;
	border-bottom: 1px solid rgba(14, 165, 233, 0.12);
}

.btn-pp-whatsapp {
	--bs-btn-color: #fff;
	--bs-btn-bg: #25d366;
	--bs-btn-border-color: #25d366;
	--bs-btn-hover-bg: #1ebe5a;
	--bs-btn-hover-border-color: #1ebe5a;
	--bs-btn-focus-shadow-rgb: 37, 211, 102;
	--bs-btn-active-bg: #1aa551;
	--bs-btn-active-border-color: #1aa551;
	color: #fff !important;
}

.pp-cta-icon-btn svg {
	flex-shrink: 0;
}

.pp-contact-hero-actions .btn {
	box-shadow: 0 2px 8px rgba(15, 23, 42, 0.06);
}

@media (prefers-reduced-motion: reduce) {
	.pp-channel-card {
		transition: none;
	}

	.pp-channel-card:hover {
		transform: none;
	}
}

/* Footer trust strip */
.pp-trust-strip {
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	border-bottom: 1px solid rgba(255, 255, 255, 0.06);
	background: rgba(0, 0, 0, 0.2);
}

.pp-footer-ref a.link-light:hover {
	color: #fff !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Footer — light site theme (matches page; dark band was default before) */
html[data-bs-theme="light"] .pp-footer-ref {
	background: linear-gradient(165deg, #f8fafc 0%, #e8eef5 48%, #dce4ee 100%);
	color: #0f172a;
	border-top: 1px solid rgba(15, 23, 42, 0.06);
}

html[data-bs-theme="light"] .pp-footer-ref.text-white {
	color: #0f172a !important;
}

html[data-bs-theme="light"] .pp-footer-ref::before {
	opacity: 0.2;
	background:
		radial-gradient(circle at 12% 18%, rgba(14, 165, 233, 0.28) 0%, transparent 42%),
		radial-gradient(circle at 88% 82%, rgba(20, 184, 166, 0.2) 0%, transparent 38%);
}

html[data-bs-theme="light"] .pp-footer-ref .text-white {
	color: #0f172a !important;
}

html[data-bs-theme="light"] .pp-footer-ref .text-white-50 {
	color: rgba(15, 23, 42, 0.62) !important;
}

html[data-bs-theme="light"] .pp-footer-ref .link-light {
	color: #475569 !important;
}

html[data-bs-theme="light"] .pp-footer-ref a.link-light:hover {
	color: #0f172a !important;
}

html[data-bs-theme="light"] .pp-footer-ref .link-secondary {
	color: #64748b !important;
}

html[data-bs-theme="light"] .pp-footer-ref a.link-secondary:hover {
	color: #0f172a !important;
}

html[data-bs-theme="light"] .pp-footer-ref .h6.text-white,
html[data-bs-theme="light"] .pp-footer-ref h3.h6 {
	color: #0f172a !important;
}

html[data-bs-theme="light"] .pp-footer-ref .widget .text-white-50 {
	color: rgba(15, 23, 42, 0.55) !important;
}

html[data-bs-theme="light"] .pp-trust-strip {
	border-color: rgba(15, 23, 42, 0.1);
	background: rgba(255, 255, 255, 0.72);
	color: rgba(15, 23, 42, 0.75) !important;
}

html[data-bs-theme="light"] .pp-footer-ref .border-secondary {
	border-color: rgba(15, 23, 42, 0.12) !important;
}

html[data-bs-theme="light"] .pp-footer-ref .pp-social-btn {
	background: #fff;
	color: #64748b;
	border: 1px solid rgba(15, 23, 42, 0.1);
	box-shadow: 0 1px 2px rgba(15, 23, 42, 0.05);
}

html[data-bs-theme="light"] .pp-footer-ref .pp-social-btn:hover {
	background: var(--pp-primary-600);
	color: #fff;
	border-color: var(--pp-primary-600);
}

html[data-bs-theme="light"] .pp-footer-ref .bg-white {
	background-color: #fff !important;
}

/* ─── Dark mode (system preference via data-bs-theme on <html>) ─── */
html[data-bs-theme="dark"] {
	color-scheme: dark;
	--pp-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.35), 0 2px 10px rgba(0, 0, 0, 0.25);
	--pp-shadow-md: 0 8px 28px -6px rgba(0, 0, 0, 0.45), 0 4px 12px -4px rgba(0, 0, 0, 0.35);
	--pp-shadow-lg: 0 24px 48px -12px rgba(0, 0, 0, 0.55);
	--pp-orb-opacity: 0.22;
	--pp-ink: #e2e8f0;
	--pp-primary: #3D7AB5;
	--pp-primary-600: #5B9BD5;
	--pp-primary-dark: #2D5E8E;
	--pp-secondary: #00C4B8;
	--pp-secondary-dark: #00A89D;
	--bs-primary: var(--pp-primary);
	--bs-primary-rgb: 61, 122, 181;
	--bs-link-color: var(--pp-secondary);
	--bs-link-hover-color: var(--pp-secondary-dark);
	--pp-neutral-50: #0f172a;
	--pp-neutral-100: #1e293b;
	--pp-neutral-200: #334155;
	--pp-neutral-500: #94a3b8;
	--pp-neutral-600: #cbd5e1;
	--pp-neutral-700: #cbd5e1;
	--pp-neutral-800: #1e293b;
	--pp-neutral-900: #f8fafc;
}

html[data-bs-theme="dark"] body.pp-theme {
	color: var(--pp-ink);
	background-color: #0f172a;
	background-image:
		radial-gradient(ellipse 90% 55% at 50% -15%, rgba(14, 165, 233, 0.14), transparent 55%),
		radial-gradient(ellipse 50% 45% at 100% 25%, rgba(20, 184, 166, 0.08), transparent 50%),
		radial-gradient(ellipse 45% 40% at 0% 85%, rgba(245, 158, 11, 0.06), transparent 45%),
		linear-gradient(165deg, #0f172a 0%, #1e293b 45%, #0f172a 100%);
}

html[data-bs-theme="dark"] ::selection {
	background: rgba(56, 189, 248, 0.35);
}

html[data-bs-theme="dark"] .text-dark {
	color: var(--pp-ink) !important;
}

html[data-bs-theme="dark"] .bg-white {
	background-color: #1e293b !important;
}

html[data-bs-theme="dark"] .pp-page-body {
	background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%);
}

html[data-bs-theme="dark"] .pp-section-soft {
	background: linear-gradient(180deg, #1e293b 0%, #172033 100%);
}

html[data-bs-theme="dark"] .pp-section-cool {
	background: linear-gradient(180deg, #172033 0%, #1e293b 100%);
}

html[data-bs-theme="dark"] .pp-section-gradient {
	background: linear-gradient(180deg, #0f172a 0%, #172554 42%, #134e4a 100%);
}

html[data-bs-theme="dark"] .pp-header-glass,
html[data-bs-theme="dark"] .pp-header-bar .navbar {
	background: rgba(15, 23, 42, 0.88) !important;
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-color: rgba(148, 163, 184, 0.12) !important;
}

html[data-bs-theme="dark"] .pp-sticky-head.is-scrolled {
	box-shadow: var(--pp-shadow-md), 0 1px 0 rgba(56, 189, 248, 0.18);
}

html[data-bs-theme="dark"] .navbar-light .navbar-toggler-icon {
	filter: invert(1) brightness(1.15);
}

html[data-bs-theme="dark"] .pp-hero-ref .pp-hero-bg-layer {
	background:
		radial-gradient(ellipse 80% 50% at 100% 0%, rgba(14, 165, 233, 0.18) 0%, transparent 55%),
		radial-gradient(ellipse 60% 40% at 0% 100%, rgba(20, 184, 166, 0.12) 0%, transparent 50%),
		linear-gradient(180deg, rgba(15, 23, 42, 0.97) 0%, #1e293b 58%, #1e293b 100%);
}

html[data-bs-theme="dark"] .pp-inner-hero-bg {
	background:
		radial-gradient(ellipse 75% 50% at 95% 0%, rgba(14, 165, 233, 0.16) 0%, transparent 52%),
		radial-gradient(ellipse 55% 45% at 0% 100%, rgba(20, 184, 166, 0.1) 0%, transparent 48%),
		linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, #1e293b 72%, #1e293b 100%);
}

html[data-bs-theme="dark"] .pp-hero-preview-inner {
	background: rgba(30, 41, 59, 0.92);
	border-color: rgba(148, 163, 184, 0.2);
	box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.45);
}

html[data-bs-theme="dark"] .pp-hero-preview-deco {
	background: linear-gradient(135deg, rgba(14, 165, 233, 0.2), rgba(20, 184, 166, 0.15));
}

html[data-bs-theme="dark"] .pp-hero-preview-deco2 {
	background: linear-gradient(135deg, rgba(245, 158, 11, 0.12), rgba(14, 165, 233, 0.1));
}

html[data-bs-theme="dark"] .pp-preview-row.pp-tint-1 {
	background: rgba(14, 165, 233, 0.12);
}

html[data-bs-theme="dark"] .pp-preview-row.pp-tint-2 {
	background: rgba(20, 184, 166, 0.1);
}

html[data-bs-theme="dark"] .pp-preview-row.pp-tint-3 {
	background: rgba(245, 158, 11, 0.1);
}

html[data-bs-theme="dark"] .pp-trust-pill {
	background: rgba(14, 165, 233, 0.12);
	border-color: rgba(56, 189, 248, 0.35);
	color: #7dd3fc;
}

html[data-bs-theme="dark"] .pp-trust-chip {
	background: rgba(30, 41, 59, 0.85);
	border-color: rgba(148, 163, 184, 0.2);
	color: var(--pp-ink);
}

html[data-bs-theme="dark"] .pp-trust-chip .pp-chip-ico {
	background: rgba(14, 165, 233, 0.15);
	border-color: rgba(56, 189, 248, 0.3);
	color: #38bdf8;
}

html[data-bs-theme="dark"] .pp-section-badge {
	background: rgba(14, 165, 233, 0.12);
	border-color: rgba(56, 189, 248, 0.35);
	color: #7dd3fc;
}

html[data-bs-theme="dark"] .pp-section-badge.pp-badge-accent {
	background: rgba(245, 158, 11, 0.12);
	border-color: rgba(251, 191, 36, 0.35);
	color: #fcd34d;
}

html[data-bs-theme="dark"] .pp-card-elevated {
	border-color: rgba(148, 163, 184, 0.12);
	background: linear-gradient(165deg, #1e293b 0%, #172033 100%);
	box-shadow: var(--pp-shadow-sm);
}

html[data-bs-theme="dark"] .pp-card-elevated:hover {
	box-shadow: var(--pp-shadow-md), 0 0 40px rgba(14, 165, 233, 0.12);
}

html[data-bs-theme="dark"] .pp-card-highlight {
	background: linear-gradient(135deg, rgba(14, 165, 233, 0.18) 0%, rgba(30, 41, 59, 0.95) 100%);
	border-color: rgba(56, 189, 248, 0.4) !important;
}

html[data-bs-theme="dark"] .pp-learn-pill {
	background: rgba(15, 23, 42, 0.8);
	border-color: rgba(148, 163, 184, 0.25);
	color: var(--pp-neutral-600);
}

html[data-bs-theme="dark"] .pp-icon-tile.pp-t-primary {
	background: rgba(14, 165, 233, 0.15);
	color: #38bdf8;
}

html[data-bs-theme="dark"] .pp-icon-tile.pp-t-secondary {
	background: rgba(20, 184, 166, 0.12);
	color: #2dd4bf;
}

html[data-bs-theme="dark"] .pp-audience-card:focus-visible .pp-card-elevated {
	outline-color: rgba(56, 189, 248, 0.55);
	box-shadow: var(--pp-shadow-md), 0 0 0 1px rgba(56, 189, 248, 0.25);
}

html[data-bs-theme="dark"] .pp-step-card {
	background: #1e293b;
	border-color: rgba(148, 163, 184, 0.18);
	box-shadow: 0 2px 15px -3px rgba(0, 0, 0, 0.35);
}

html[data-bs-theme="dark"] .pp-svc-icon.c1 {
	background: rgba(14, 165, 233, 0.15);
	color: #38bdf8;
}

html[data-bs-theme="dark"] .pp-svc-icon.c2 {
	background: rgba(20, 184, 166, 0.12);
	color: #2dd4bf;
}

html[data-bs-theme="dark"] .pp-svc-icon.c3 {
	background: rgba(245, 158, 11, 0.12);
	color: #fbbf24;
}

html[data-bs-theme="dark"] .pp-svc-icon.c4 {
	background: rgba(14, 165, 233, 0.1);
	color: #7dd3fc;
}

html[data-bs-theme="dark"] .pp-stats-strip {
	background: #1e293b;
	border-color: rgba(148, 163, 184, 0.15);
}

html[data-bs-theme="dark"] .pp-mid-cta-box {
	border-color: rgba(56, 189, 248, 0.25) !important;
	background: linear-gradient(135deg, #172033 0%, #1e293b 45%, #134e4a 100%) !important;
}

html[data-bs-theme="dark"] .pp-pill-stat {
	background: rgba(14, 165, 233, 0.12);
	border-color: rgba(56, 189, 248, 0.3);
	color: #7dd3fc;
}

html[data-bs-theme="dark"] .pp-pill-icon {
	background: linear-gradient(135deg, rgba(14, 165, 233, 0.15) 0%, rgba(20, 184, 166, 0.1) 100%);
	border-color: rgba(56, 189, 248, 0.3);
	color: #7dd3fc;
}

html[data-bs-theme="dark"] .pp-affil-logo-slot {
	background: #1e293b;
	border-color: rgba(148, 163, 184, 0.2);
}

html[data-bs-theme="dark"] .pp-contact-channel-strip {
	background: linear-gradient(180deg, rgba(14, 165, 233, 0.1) 0%, rgba(30, 41, 59, 0.95) 100%);
}

html[data-bs-theme="dark"] .pp-channel-card {
	border-color: rgba(56, 189, 248, 0.2);
	background: #1e293b;
}

html[data-bs-theme="dark"] .pp-channel-card-icon {
	background: rgba(14, 165, 233, 0.15);
	color: #38bdf8;
}

html[data-bs-theme="dark"] .pp-form-control .form-control,
html[data-bs-theme="dark"] .pp-form-control .form-select {
	background-color: #0f172a;
	border-color: rgba(148, 163, 184, 0.25);
	color: var(--pp-ink);
}

html[data-bs-theme="dark"] .pp-form-control .form-control::placeholder {
	color: rgba(148, 163, 184, 0.7);
}

html[data-bs-theme="dark"] .navbar .dropdown-menu {
	background-color: #1e293b;
	border-color: rgba(148, 163, 184, 0.15);
}

html[data-bs-theme="dark"] .dropdown-item {
	color: var(--pp-ink);
}

html[data-bs-theme="dark"] .dropdown-item:hover,
html[data-bs-theme="dark"] .dropdown-item:focus {
	background-color: rgba(14, 165, 233, 0.12);
	color: var(--pp-ink);
}

html[data-bs-theme="dark"] .pp-mobile-cta {
	box-shadow:
		0 -0.35rem 1.25rem rgba(0, 0, 0, 0.4),
		0 -1px 0 rgba(56, 189, 248, 0.2);
}

html[data-bs-theme="dark"] blockquote.pp-testimonial-quote {
	color: var(--bs-secondary-color) !important;
}

html[data-bs-theme="dark"] .pp-navbar.navbar-light .nav-link {
	color: rgba(226, 232, 240, 0.88);
}

html[data-bs-theme="dark"] .pp-navbar.navbar-light .nav-link:hover,
html[data-bs-theme="dark"] .pp-navbar.navbar-light .nav-link:focus {
	color: #f8fafc;
}

html[data-bs-theme="dark"] .pp-navbar .nav-link.pp-nav-link--active {
	color: #38bdf8 !important;
}

html[data-bs-theme="dark"] .pp-navbar .dropdown-toggle.pp-nav-link--active {
	color: #38bdf8 !important;
}

html[data-bs-theme="dark"] a.skip-link:focus,
html[data-bs-theme="dark"] a.skip-link:focus-visible {
	background: #f8fafc !important;
	color: #0f172a !important;
}

html[data-bs-theme="dark"] .pp-header-bar .pp-site-logo-chip {
	background: radial-gradient(120% 120% at 30% 20%, #0b1220 0%, #020617 100%);
}

html[data-bs-theme="dark"] .pp-footer-ref {
	background: linear-gradient(145deg, #0a0a0a 0%, #1c1c1c 42%, #141414 100%);
	border-top: 1px solid rgba(56, 189, 248, 0.1);
}

html[data-bs-theme="dark"] .pp-footer-ref::before {
	opacity: 0.12;
}

html[data-bs-theme="dark"] .pp-trust-strip {
	border-color: rgba(148, 163, 184, 0.14);
	background: rgba(0, 0, 0, 0.35);
}

html[data-bs-theme="dark"] .pp-footer-ref .border-secondary {
	border-color: rgba(148, 163, 184, 0.18) !important;
}

html[data-bs-theme="dark"] .pp-footer-ref .link-secondary {
	color: rgba(226, 232, 240, 0.55) !important;
}

html[data-bs-theme="dark"] .pp-footer-ref a.link-secondary:hover {
	color: #f8fafc !important;
}

html[data-bs-theme="dark"] .pp-footer-ref .pp-social-btn {
	background: #262626;
	color: #cbd5e1;
	border: 1px solid rgba(148, 163, 184, 0.12);
}

html[data-bs-theme="dark"] .pp-footer-ref .pp-social-btn:hover {
	border-color: var(--pp-primary-600);
}

html[data-bs-theme="dark"] .pp-footer-ref .bg-white {
	background-color: #f8fafc !important;
}

/* ═══════════════════════════════════════════════════
   PALETTE REFRESH — Navy #0D2744 + Teal #009E94
   Override hardcoded sky-blue values from prior palette
   ═══════════════════════════════════════════════════ */

body.pp-theme { background-color: #fff; background-image: none; }

::selection { background: rgba(0, 158, 148, 0.22); }

.pp-hero-ref .pp-hero-bg-layer { background: #fff; }

.pp-hero-orbs::before { background: linear-gradient(135deg, rgba(0, 158, 148, 0.35), var(--pp-secondary)); }
.pp-hero-orbs::after  { background: linear-gradient(135deg, rgba(13, 39, 68, 0.25), var(--pp-primary)); }

.pp-inner-hero-bg { background: linear-gradient(180deg, #f0f4f8 0%, #fff 65%, #fff 100%); }

.pp-sticky-head.is-scrolled { box-shadow: var(--pp-shadow-md), 0 1px 0 rgba(0, 158, 148, 0.12); }

.pp-demo-bar { background: linear-gradient(105deg, var(--pp-primary-dark) 0%, var(--pp-primary) 45%, var(--pp-primary-600) 100%); }

.pp-brand-mark-lg { box-shadow: 0 4px 15px rgba(13, 39, 68, 0.35); }

.pp-section-badge {
	background: rgba(0, 158, 148, 0.1);
	border: 1px solid rgba(0, 158, 148, 0.3);
	color: var(--pp-secondary-dark);
}

.pp-trust-pill {
	background: rgba(0, 158, 148, 0.08);
	border: 1px solid rgba(0, 158, 148, 0.3);
	color: var(--pp-secondary-dark);
}

.pp-trust-chip .pp-chip-ico {
	background: rgba(0, 158, 148, 0.1);
	border: 1px solid rgba(0, 158, 148, 0.25);
	color: var(--pp-secondary-dark);
}

.pp-icon-tile.pp-t-primary  { background: rgba(0, 158, 148, 0.12); color: var(--pp-secondary-dark); }
.pp-icon-tile.pp-t-secondary { background: rgba(13, 39, 68, 0.1);  color: var(--pp-primary-600); }

.pp-pill-icon {
	color: var(--pp-secondary-dark);
	background: rgba(0, 158, 148, 0.08);
	border: 1px solid rgba(0, 158, 148, 0.25);
}

.pp-card-elevated::before { background: linear-gradient(90deg, var(--pp-secondary) 0%, var(--pp-primary) 100%); }
.pp-card-elevated:hover    { box-shadow: var(--pp-shadow-md), 0 0 40px rgba(0, 158, 148, 0.1); }

.pp-section-gradient { background: linear-gradient(180deg, #f8f9fa 0%, #f0f4f8 40%, #f0faf9 100%); }

.pp-step-num-lg { box-shadow: 0 4px 15px rgba(13, 39, 68, 0.3); }

.pp-svc-icon.c1 { background: rgba(0, 158, 148, 0.12); color: var(--pp-secondary-dark); }
.pp-svc-icon.c2 { background: rgba(13, 39, 68, 0.1);   color: var(--pp-primary-600); }
.pp-svc-icon.c3 { background: rgba(0, 158, 148, 0.08); color: var(--pp-secondary); }
.pp-svc-icon.c4 { background: rgba(13, 39, 68, 0.07);  color: var(--pp-primary); }

.pp-why-icon {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 999px;
	background: var(--pp-secondary);
}

.pp-pill-stat {
	color: var(--pp-secondary-dark);
	background: rgba(0, 158, 148, 0.1);
	border: 1px solid rgba(0, 158, 148, 0.25);
}

.pp-mid-cta-box {
	border: 1px solid rgba(13, 39, 68, 0.1) !important;
	background: linear-gradient(135deg, #f0f4f8 0%, #fff 45%, #f0faf9 100%) !important;
}
.pp-mid-cta-box::before {
	background: radial-gradient(circle at 10% 20%, rgba(0, 158, 148, 0.08), transparent 40%),
		radial-gradient(circle at 90% 80%, rgba(13, 39, 68, 0.05), transparent 40%);
}

.pp-affil-pill {
	color: var(--pp-secondary-dark);
	background: rgba(0, 158, 148, 0.1);
	border: 1px solid rgba(0, 158, 148, 0.25);
}

.pp-affil-logo-fallback { background: linear-gradient(135deg, var(--pp-secondary), var(--pp-primary)); }

.pp-cert-icon { color: var(--pp-secondary-dark); }

.pp-dot-li::before { background: var(--pp-secondary); }

.pp-audience-card:focus-visible .pp-card-elevated {
	outline: 3px solid rgba(0, 158, 148, 0.45);
	box-shadow: var(--pp-shadow-md), 0 0 0 1px rgba(0, 158, 148, 0.2);
}

.pp-cta-final-ref { background: var(--pp-primary); }
.pp-cta-final-ref::before {
	background:
		radial-gradient(ellipse 80% 50% at 20% 0%, rgba(255, 255, 255, 0.45), transparent 50%),
		radial-gradient(ellipse 60% 40% at 100% 100%, rgba(0, 158, 148, 0.5), transparent 45%);
}

.pp-footer-ref { background: var(--pp-primary); }
.pp-footer-ref::before {
	background: radial-gradient(circle at 10% 20%, var(--pp-secondary) 0%, transparent 45%),
		radial-gradient(circle at 90% 80%, rgba(0, 158, 148, 0.6) 0%, transparent 40%);
}

.pp-social-btn:hover { background: var(--pp-secondary); }

.pp-contact-channel-strip { background: linear-gradient(180deg, rgba(0, 158, 148, 0.06) 0%, rgba(255, 255, 255, 0.9) 100%); }
.pp-channel-card          { border: 1px solid rgba(0, 158, 148, 0.12); }
.pp-channel-card-icon     { background: rgba(0, 158, 148, 0.12); color: var(--pp-secondary-dark); }

.pp-contact-form-modern .pp-contact-form-head { border-bottom: 1px solid rgba(0, 158, 148, 0.12); }

.pp-form-control .form-control:focus,
.pp-form-control .form-select:focus {
	border-color: var(--pp-secondary);
	box-shadow: 0 0 0 3px rgba(0, 158, 148, 0.2);
}

#pp-contact-feedback:focus-visible { outline: 2px solid var(--pp-secondary); }
.pp-channel-card:focus-visible     { outline: 2px solid var(--pp-secondary); }

a:focus-visible,
button:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
.btn:focus-visible,
.navbar-toggler:focus-visible,
.dropdown-item:focus-visible {
	outline: 3px solid rgba(0, 158, 148, 0.45);
	outline-offset: 2px;
}

.pp-navbar .nav-link:not(.dropdown-toggle)::after { background: linear-gradient(90deg, var(--pp-secondary), var(--pp-primary)); }
.pp-navbar .nav-link.pp-nav-link--active           { color: var(--pp-secondary-dark) !important; }
.pp-navbar .dropdown-toggle.pp-nav-link--active    { color: var(--pp-secondary-dark) !important; }

body.pp-theme .btn-primary.pp-btn-lift:hover { box-shadow: 0 8px 20px -6px rgba(13, 39, 68, 0.45); }

html[data-bs-theme="light"] .pp-footer-ref .pp-social-btn:hover { background: var(--pp-secondary); border-color: var(--pp-secondary); }

/* ── Dark mode overrides ── */
html[data-bs-theme="dark"] .pp-sticky-head.is-scrolled   { box-shadow: var(--pp-shadow-md), 0 1px 0 rgba(0, 196, 184, 0.18); }

html[data-bs-theme="dark"] .pp-hero-ref .pp-hero-bg-layer {
	background:
		radial-gradient(ellipse 80% 50% at 100% 0%, rgba(0, 158, 148, 0.15) 0%, transparent 55%),
		radial-gradient(ellipse 60% 40% at 0% 100%, rgba(13, 39, 68, 0.5) 0%, transparent 50%),
		linear-gradient(180deg, rgba(15, 23, 42, 0.97) 0%, #1e293b 58%, #1e293b 100%);
}

html[data-bs-theme="dark"] .pp-inner-hero-bg {
	background:
		radial-gradient(ellipse 75% 50% at 95% 0%, rgba(0, 158, 148, 0.12) 0%, transparent 52%),
		radial-gradient(ellipse 55% 45% at 0% 100%, rgba(13, 39, 68, 0.4) 0%, transparent 48%),
		linear-gradient(180deg, rgba(15, 23, 42, 0.98) 0%, #1e293b 72%, #1e293b 100%);
}

html[data-bs-theme="dark"] .pp-trust-pill  { background: rgba(0, 158, 148, 0.12); border-color: rgba(0, 196, 184, 0.35); color: #00C4B8; }
html[data-bs-theme="dark"] .pp-trust-chip .pp-chip-ico { background: rgba(0, 158, 148, 0.15); border-color: rgba(0, 196, 184, 0.3); color: #00C4B8; }
html[data-bs-theme="dark"] .pp-section-badge { background: rgba(0, 158, 148, 0.12); border-color: rgba(0, 196, 184, 0.35); color: #00C4B8; }

html[data-bs-theme="dark"] .pp-card-elevated:hover { box-shadow: var(--pp-shadow-md), 0 0 40px rgba(0, 158, 148, 0.12); }
html[data-bs-theme="dark"] .pp-card-highlight {
	background: linear-gradient(135deg, rgba(0, 158, 148, 0.18) 0%, rgba(30, 41, 59, 0.95) 100%);
	border-color: rgba(0, 196, 184, 0.4) !important;
}

html[data-bs-theme="dark"] .pp-icon-tile.pp-t-primary  { background: rgba(0, 158, 148, 0.15); color: #00C4B8; }
html[data-bs-theme="dark"] .pp-icon-tile.pp-t-secondary { background: rgba(61, 122, 181, 0.12); color: #5B9BD5; }

html[data-bs-theme="dark"] .pp-audience-card:focus-visible .pp-card-elevated {
	outline-color: rgba(0, 196, 184, 0.55);
	box-shadow: var(--pp-shadow-md), 0 0 0 1px rgba(0, 196, 184, 0.25);
}

html[data-bs-theme="dark"] .pp-svc-icon.c1 { background: rgba(0, 158, 148, 0.15); color: #00C4B8; }
html[data-bs-theme="dark"] .pp-svc-icon.c2 { background: rgba(61, 122, 181, 0.12); color: #5B9BD5; }
html[data-bs-theme="dark"] .pp-svc-icon.c3 { background: rgba(0, 158, 148, 0.1); color: #00A89D; }
html[data-bs-theme="dark"] .pp-svc-icon.c4 { background: rgba(13, 39, 68, 0.4); color: #5B9BD5; }

html[data-bs-theme="dark"] .pp-mid-cta-box { border-color: rgba(0, 196, 184, 0.25) !important; background: linear-gradient(135deg, #172033 0%, #1e293b 45%, #0a2f2c 100%) !important; }
html[data-bs-theme="dark"] .pp-pill-stat   { background: rgba(0, 158, 148, 0.12); border-color: rgba(0, 196, 184, 0.3); color: #00C4B8; }
html[data-bs-theme="dark"] .pp-pill-icon   { background: linear-gradient(135deg, rgba(0, 158, 148, 0.15) 0%, rgba(61, 122, 181, 0.1) 100%); border-color: rgba(0, 196, 184, 0.3); color: #00C4B8; }

html[data-bs-theme="dark"] .pp-contact-channel-strip { background: linear-gradient(180deg, rgba(0, 158, 148, 0.1) 0%, rgba(30, 41, 59, 0.95) 100%); }
html[data-bs-theme="dark"] .pp-channel-card          { border-color: rgba(0, 196, 184, 0.2); }
html[data-bs-theme="dark"] .pp-channel-card-icon     { background: rgba(0, 158, 148, 0.15); color: #00C4B8; }

html[data-bs-theme="dark"] .dropdown-item:hover,
html[data-bs-theme="dark"] .dropdown-item:focus { background-color: rgba(0, 158, 148, 0.12); }

html[data-bs-theme="dark"] .pp-mobile-cta { box-shadow: 0 -0.35rem 1.25rem rgba(0, 0, 0, 0.4), 0 -1px 0 rgba(0, 196, 184, 0.2); }

html[data-bs-theme="dark"] .pp-navbar .nav-link.pp-nav-link--active        { color: #00C4B8 !important; }
html[data-bs-theme="dark"] .pp-navbar .dropdown-toggle.pp-nav-link--active { color: #00C4B8 !important; }

html[data-bs-theme="dark"] .pp-footer-ref {
	background: linear-gradient(145deg, #070f1c 0%, #0d1a2e 42%, #050d18 100%);
	border-top: 1px solid rgba(0, 196, 184, 0.1);
}

html[data-bs-theme="dark"] .pp-footer-ref .pp-social-btn:hover { border-color: var(--pp-secondary); }
html[data-bs-theme="dark"] .pp-trust-strip { border-color: rgba(148, 163, 184, 0.14); background: rgba(0, 0, 0, 0.35); }

/* ═══════════════════════════════════════════════════
   NEW HOMEPAGE COMPONENTS
   ═══════════════════════════════════════════════════ */

/* Hero sub-tag pills */
.pp-hero-tag {
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--pp-neutral-600);
	padding: 0.3rem 0.85rem;
	border-radius: 999px;
	border: 1px solid var(--pp-neutral-200);
	background: var(--pp-neutral-50);
}

/* Hero right-column stacked blocks */
.pp-hero-blocks { position: relative; z-index: 2; }

.pp-hero-block-item {
	background: #fff;
	border-radius: 1rem;
	padding: 1rem 1.25rem;
	border: 1px solid var(--pp-neutral-200);
	box-shadow: var(--pp-shadow-sm);
	display: flex;
	align-items: center;
	gap: 0.9rem;
	margin-bottom: 0.75rem;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pp-hero-block-item:last-child { margin-bottom: 0; }

.pp-hero-block-item:hover {
	transform: translateX(4px);
	box-shadow: var(--pp-shadow-md);
}

@media (prefers-reduced-motion: reduce) {
	.pp-hero-block-item:hover { transform: none; }
}

.pp-hero-block-icon {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 0.75rem;
	background: rgba(0, 158, 148, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pp-secondary);
	flex-shrink: 0;
}

html[data-bs-theme="dark"] .pp-hero-block-item  { background: #1e293b; border-color: rgba(148, 163, 184, 0.15); }
html[data-bs-theme="dark"] .pp-hero-block-icon  { background: rgba(0, 158, 148, 0.15); color: #00C4B8; }

/* Who We Help cards */
.pp-who-card {
	background: #fff;
	border: 1px solid var(--pp-neutral-200);
	border-radius: 1.25rem;
	padding: 2rem 1.75rem;
	height: 100%;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	text-decoration: none;
	color: inherit;
	display: block;
}

.pp-who-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--pp-shadow-md);
	color: inherit;
}

@media (prefers-reduced-motion: reduce) {
	.pp-who-card:hover { transform: none; }
}

.pp-who-icon {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 999px;
	background: rgba(0, 158, 148, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pp-secondary);
	margin-bottom: 1.25rem;
}

html[data-bs-theme="dark"] .pp-who-card { background: #1e293b; border-color: rgba(148, 163, 184, 0.15); }
html[data-bs-theme="dark"] .pp-who-icon { background: rgba(0, 158, 148, 0.15); color: #00C4B8; }

/* Learn more link */
.pp-learn-more-link {
	color: var(--pp-secondary);
	font-weight: 600;
	text-decoration: none;
	font-size: 0.9rem;
	transition: color 0.2s ease;
}

.pp-learn-more-link:hover { color: var(--pp-secondary-dark); }

/* Service clean columns */
.pp-svc-clean-item {
	text-align: center;
	background: #fff;
	border-radius: 1rem;
	padding: 2rem 1.5rem;
}

.pp-svc-clean-icon {
	width: 4rem;
	height: 4rem;
	border-radius: 999px;
	background: rgba(0, 158, 148, 0.12);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--pp-secondary);
	margin: 0 auto 1.25rem;
}

html[data-bs-theme="dark"] .pp-svc-clean-item { background: #1e293b; }
html[data-bs-theme="dark"] .pp-svc-clean-icon { background: rgba(0, 158, 148, 0.15); color: #00C4B8; }

/* Affiliation logo strip */
.pp-affil-strip-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 2rem 3.5rem;
}

.pp-affil-strip-logo-item img {
	max-height: 3rem;
	max-width: 9rem;
	object-fit: contain;
	filter: grayscale(0.2) opacity(0.85);
	transition: filter 0.2s ease;
}

.pp-affil-strip-logo-item:hover img { filter: grayscale(0) opacity(1); }

/* Bottom CTA bar */
.pp-page-cta-bar {
	background: var(--pp-primary);
	padding: 2.5rem 1.5rem;
}

@media (min-width: 768px) {
	.pp-page-cta-bar { padding: 3rem 2rem; }
}

/* Audience cards (template-audience.php) */
.pp-audience-card {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pp-audience-card:hover {
	transform: translateY(-4px);
	box-shadow: var(--pp-shadow-md), 0 0 30px rgba(0, 158, 148, 0.12);
}

@media (prefers-reduced-motion: reduce) {
	.pp-audience-card:hover { transform: none; }
}

.pp-audience-card-visual {
	transition: opacity 0.2s ease;
}

/* Stats strip on reviews/why-us pages */
.pp-stats-strip {
	background: linear-gradient(135deg, #f0f4f8 0%, #f0faf9 100%);
	border: 1px solid rgba(0, 158, 148, 0.15);
}

html[data-bs-theme="dark"] .pp-stats-strip {
	background: linear-gradient(135deg, #172033 0%, #0a2f2c 100%);
	border-color: rgba(0, 196, 184, 0.18);
}

html[data-bs-theme="dark"] .pp-audience-card:hover {
	box-shadow: var(--pp-shadow-md), 0 0 30px rgba(0, 158, 148, 0.15);
}

html[data-bs-theme="dark"] .pp-page-cta-bar {
	background: var(--pp-primary);
}

/* ═══════════════════════════════════════════════════
   BLOG / INSIGHTS — home.php · single.php · archive.php
   ═══════════════════════════════════════════════════ */

/* Post cards */
.pp-blog-card {
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.pp-blog-card:hover {
	transform: translateY(-3px);
	box-shadow: var(--pp-shadow-md), 0 0 30px rgba(0, 158, 148, 0.1);
}

@media (prefers-reduced-motion: reduce) {
	.pp-blog-card:hover { transform: none; }
}

/* Placeholder gradient when no featured image */
.pp-blog-card-placeholder {
	background: linear-gradient(135deg, var(--pp-primary) 0%, #1a4a7a 50%, var(--pp-secondary) 100%);
}

/* Category badge */
.pp-blog-cat-badge {
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.25rem 0.75rem;
	border-radius: 999px;
	background: rgba(0, 158, 148, 0.1);
	border: 1px solid rgba(0, 158, 148, 0.3);
	color: var(--pp-secondary-dark);
	transition: background 0.2s ease, color 0.2s ease;
}

.pp-blog-cat-badge:hover {
	background: var(--pp-secondary);
	border-color: var(--pp-secondary);
	color: #fff;
}

/* Tag badge (single post) */
.pp-blog-tag-badge {
	display: inline-block;
	font-size: 0.8rem;
	font-weight: 500;
	padding: 0.2rem 0.65rem;
	border-radius: 999px;
	background: var(--bs-body-bg);
	border: 1px solid var(--bs-border-color);
	color: var(--bs-secondary-color);
	transition: border-color 0.2s ease, color 0.2s ease;
}

.pp-blog-tag-badge:hover {
	border-color: var(--pp-secondary);
	color: var(--pp-secondary);
}

/* Pagination */
.pp-blog-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.pp-blog-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.45rem 1rem;
	border-radius: 999px;
	border: 1px solid var(--bs-border-color);
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--bs-body-color);
	text-decoration: none;
	background: var(--bs-body-bg);
	transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.pp-blog-pagination .page-numbers:hover {
	border-color: var(--pp-secondary);
	color: var(--pp-secondary);
}

.pp-blog-pagination .page-numbers.current {
	background: var(--pp-primary);
	border-color: var(--pp-primary);
	color: #fff;
}

.pp-blog-pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
	pointer-events: none;
}

/* Single post prose */
.pp-prose {
	font-size: 1.0625rem;
	line-height: 1.8;
}

.pp-prose h2,
.pp-prose h3,
.pp-prose h4 {
	margin-top: 2em;
	margin-bottom: 0.6em;
	font-weight: 700;
}

.pp-prose p { margin-bottom: 1.4em; }

.pp-prose ul,
.pp-prose ol {
	padding-left: 1.5rem;
	margin-bottom: 1.4em;
}

.pp-prose li { margin-bottom: 0.4em; }

.pp-prose blockquote {
	border-left: 3px solid var(--pp-secondary);
	padding-left: 1.25rem;
	margin-left: 0;
	color: var(--bs-secondary-color);
	font-style: italic;
}

.pp-prose a {
	color: var(--pp-secondary);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.pp-prose a:hover { color: var(--pp-secondary-dark); }

.pp-prose img {
	max-width: 100%;
	border-radius: 0.75rem;
	height: auto;
}

/* Post nav links */
.pp-post-nav-link {
	color: inherit;
	border: 1px solid var(--bs-border-color);
	border-radius: 0.75rem;
	padding: 1rem 1.25rem;
	transition: border-color 0.2s ease, background 0.2s ease;
}

.pp-post-nav-link:hover {
	border-color: var(--pp-secondary);
	background: rgba(0, 158, 148, 0.04);
	color: inherit;
}

/* Dark mode */
html[data-bs-theme="dark"] .pp-blog-cat-badge {
	background: rgba(0, 158, 148, 0.12);
	border-color: rgba(0, 196, 184, 0.35);
	color: #00C4B8;
}

html[data-bs-theme="dark"] .pp-blog-cat-badge:hover {
	background: var(--pp-secondary);
	color: #fff;
}

html[data-bs-theme="dark"] .pp-blog-card:hover {
	box-shadow: var(--pp-shadow-md), 0 0 30px rgba(0, 158, 148, 0.15);
}

html[data-bs-theme="dark"] .pp-blog-pagination .page-numbers.current {
	background: var(--pp-primary-600);
	border-color: var(--pp-primary-600);
}

/* ── Blog filter tabs ────────────────────────────────── */
.pp-blog-filter-tabs {
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.pp-blog-filter-tabs::-webkit-scrollbar { display: none; }

.pp-blog-filter-tab {
	color: var(--bs-secondary-color);
	border: 1px solid transparent;
	transition: color 0.18s ease, background 0.18s ease, border-color 0.18s ease;
	white-space: nowrap;
}

.pp-blog-filter-tab:hover {
	color: var(--pp-secondary);
	background: rgba(0, 158, 148, 0.06);
}

.pp-blog-filter-tab.active {
	color: var(--pp-secondary);
	background: rgba(0, 158, 148, 0.1);
	border-color: rgba(0, 158, 148, 0.25);
}

html[data-bs-theme="dark"] .pp-blog-filter-tab.active {
	background: rgba(0, 196, 184, 0.12);
	border-color: rgba(0, 196, 184, 0.3);
	color: #00C4B8;
}

/* ── Newsletter bar ──────────────────────────────────── */
.pp-newsletter-bar {
	background: var(--bs-body-bg);
}

html[data-bs-theme="dark"] .pp-newsletter-bar {
	background: rgba(255, 255, 255, 0.03);
}

/* ── About page hero ─────────────────────────────────── */
.pp-about-hero {
	background: linear-gradient(135deg, var(--pp-primary) 0%, #133258 100%);
	color: #fff;
}

.pp-about-hero h1,
.pp-about-hero .lead {
	color: #fff;
}

.pp-about-hero .lead {
	color: rgba(255, 255, 255, 0.8);
}

.pp-section-badge--on-dark {
	background: rgba(0, 158, 148, 0.18);
	border-color: rgba(0, 196, 184, 0.45);
	color: #00e0d4;
}
}
