/* ==========================================================================
   Participa Parcent — diseño integrado con la identidad de parcent.es
   Azul #0F71B8 · Navy #0A2C46 · Rojo #E82128 · Cian #29D0F2
   Montserrat (titulares) + Playfair Display (subtítulos serif)
   ========================================================================== */

.pp-wrap {
	--pp-blue: #0F71B8;
	--pp-blue-dark: #0A5A96;
	--pp-navy: #0A2C46;
	--pp-cyan: #29D0F2;
	--pp-red: #E82128;
	--pp-ink: #22313f;
	--pp-gray: #54595F;
	--pp-gray-soft: #7A7A7A;
	--pp-bg-soft: #f2f6fa;
	--pp-bg-card: #ffffff;
	--pp-border: #e3eaf1;
	--pp-error: #b3261e;
	--pp-ok: #1b7a43;
	--pp-radius: 18px;
	--pp-radius-sm: 12px;
	--pp-shadow: 0 6px 24px rgba(10, 44, 70, .08);
	--pp-shadow-lift: 0 14px 34px rgba(10, 44, 70, .16);
	--pp-font-head: 'Montserrat', 'Segoe UI', sans-serif;
	--pp-font-serif: 'Playfair Display', Georgia, serif;

	max-width: 1080px;
	margin: 0 auto;
	padding: 8px 18px 56px;
	color: var(--pp-ink);
	font-size: 1.02rem;
	line-height: 1.65;
}

/* ---------- Tipografía base ---------- */
.pp-wrap h1, .pp-wrap h2, .pp-wrap h3 { font-family: var(--pp-font-head); color: var(--pp-navy); }
.pp-wrap h1.pp-title {
	font-size: clamp(1.6rem, 3.4vw, 2.3rem);
	font-weight: 800; text-transform: uppercase; letter-spacing: .03em;
	margin: .8em 0 .4em; color: var(--pp-blue);
}
.pp-wrap a { color: var(--pp-blue); }
.pp-wrap a:focus-visible, .pp-wrap button:focus-visible, .pp-wrap input:focus-visible,
.pp-wrap textarea:focus-visible, .pp-wrap select:focus-visible, .pp-wrap summary:focus-visible {
	outline: 3px solid var(--pp-cyan); outline-offset: 2px; border-radius: 4px;
}

/* ---------- Barra superior (idiomas + sesión) ---------- */
.pp-topbar {
	display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;
	gap: 10px; padding: 10px 0 12px;
}
.pp-lang ul { list-style: none; display: flex; gap: 2px; margin: 0; padding: 3px; background: var(--pp-bg-soft); border-radius: 999px; }
.pp-lang a {
	display: inline-block; padding: 5px 14px; border-radius: 999px; text-decoration: none;
	font-family: var(--pp-font-head); font-size: .8rem; font-weight: 600; letter-spacing: .02em;
	color: var(--pp-gray); transition: color .18s;
}
.pp-lang a[aria-current="true"] { background: var(--pp-blue); color: #fff; box-shadow: 0 2px 8px rgba(15,113,184,.35); }
.pp-lang a:not([aria-current="true"]):hover { color: var(--pp-blue); }
.pp-session { display: flex; align-items: center; gap: 12px; }
.pp-inline { display: inline; }

/* ---------- HERO ---------- */
.pp-hero {
	position: relative; overflow: hidden;
	border-radius: calc(var(--pp-radius) + 6px);
	background:
		radial-gradient(90% 130% at 85% -10%, rgba(41, 208, 242, .28) 0%, rgba(41, 208, 242, 0) 55%),
		radial-gradient(70% 110% at 8% 110%, rgba(15, 113, 184, .55) 0%, rgba(15, 113, 184, 0) 60%),
		linear-gradient(128deg, var(--pp-navy) 20%, #0D4E7F 62%, var(--pp-blue) 100%);
	color: #fff;
	padding: clamp(44px, 7vw, 84px) clamp(24px, 5vw, 64px) clamp(64px, 8vw, 104px);
	box-shadow: var(--pp-shadow-lift);
}
.pp-hero::after { /* silueta de montañas, guiño al Carrascal y la vall */
	content: ""; position: absolute; inset: auto 0 -2px 0; height: 130px; pointer-events: none;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1200 140' preserveAspectRatio='none'%3E%3Cpath d='M0 140 L0 96 L170 42 L320 92 L470 22 L640 100 L800 48 L960 108 L1090 70 L1200 96 L1200 140 Z' fill='rgba(255,255,255,0.06)'/%3E%3Cpath d='M0 140 L0 116 L200 74 L380 118 L560 58 L750 122 L920 84 L1080 124 L1200 100 L1200 140 Z' fill='rgba(255,255,255,0.09)'/%3E%3C/svg%3E") bottom / 100% 100% no-repeat;
}
.pp-hero-kicker {
	font-family: var(--pp-font-head); font-size: .82rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .22em; color: var(--pp-cyan); margin: 0 0 14px;
}
.pp-hero h1 {
	font-size: clamp(2rem, 5vw, 3.3rem); font-weight: 800; text-transform: uppercase;
	letter-spacing: .02em; line-height: 1.08; color: #fff; margin: 0;
}
.pp-hero .pp-hero-tagline {
	font-family: var(--pp-font-serif); font-style: italic; font-size: clamp(1.15rem, 2.6vw, 1.6rem);
	color: #cfe9fb; margin: 14px 0 10px;
}
.pp-hero p.pp-hero-sub { max-width: 42em; color: rgba(255,255,255,.92); margin: 0 0 26px; }
.pp-hero-ctas { display: flex; flex-wrap: wrap; gap: 12px; position: relative; z-index: 1; }

/* ---------- Tarjeta flotante de accesos rápidos (como parcent.es) ---------- */
.pp-quick {
	position: relative; z-index: 2;
	display: grid; grid-template-columns: repeat(4, 1fr);
	background: var(--pp-bg-card); border-radius: var(--pp-radius);
	box-shadow: var(--pp-shadow-lift);
	margin: -46px clamp(8px, 4vw, 46px) 0; padding: 10px;
}
.pp-wrap .pp-quick a, .pp-wrap .pp-quick a span { text-decoration: none; }
.pp-quick a {
	display: flex; flex-direction: column; align-items: center; gap: 10px;
	padding: 22px 10px 18px; text-decoration: none; border-radius: var(--pp-radius-sm);
	font-family: var(--pp-font-head); font-size: .8rem; font-weight: 700;
	text-transform: uppercase; letter-spacing: .08em; color: var(--pp-navy); text-align: center;
	transition: background .2s, transform .2s;
}
.pp-quick a:hover { background: var(--pp-bg-soft); transform: translateY(-3px); }
.pp-quick svg { width: 44px; height: 44px; stroke: var(--pp-blue); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.pp-quick a:hover svg { stroke: var(--pp-blue-dark); }

/* ---------- Encabezados de sección (NOTICIAS style) ---------- */
.pp-section-head { text-align: center; margin: 58px 0 6px; }
.pp-section-head h2 {
	font-size: clamp(1.4rem, 3vw, 2rem); font-weight: 800; text-transform: uppercase;
	letter-spacing: .06em; color: var(--pp-blue); margin: 0 0 6px;
}
.pp-section-head .pp-section-sub {
	font-family: var(--pp-font-serif); font-style: italic; font-size: 1.15rem;
	color: var(--pp-gray); margin: 0;
}
.pp-section-head::after {
	content: ""; display: block; width: 64px; height: 4px; border-radius: 2px;
	background: var(--pp-red); margin: 14px auto 4px;
}

/* ---------- Grid de tarjetas de procesos ---------- */
.pp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 22px; margin: 26px 0 8px; }
.pp-card {
	background: var(--pp-bg-card); border: 1px solid var(--pp-border);
	border-radius: var(--pp-radius); padding: 24px 26px;
	box-shadow: var(--pp-shadow);
	transition: transform .22s ease, box-shadow .22s ease;
	display: flex; flex-direction: column;
}
.pp-card:hover { transform: translateY(-5px); box-shadow: var(--pp-shadow-lift); }
.pp-card h3 { margin: 10px 0 6px; font-size: 1.12rem; font-weight: 700; line-height: 1.35; }
.pp-card h3 a { text-decoration: none; color: var(--pp-navy); }
.pp-card h3 a:hover { color: var(--pp-blue); }
.pp-card > p { margin: 4px 0; }
.pp-card .pp-btn { margin-top: auto; align-self: flex-start; }
.pp-card-top { margin-bottom: 4px; }

/* Tarjeta-enlace destacada (Propostes) */
.pp-portal-links { margin: 22px 0 8px; }
.pp-wrap a.pp-card-link, .pp-wrap a.pp-card-link * { text-decoration: none; }
.pp-card-link {
	display: flex; flex-direction: row; align-items: center; gap: 22px; color: inherit;
	background: linear-gradient(115deg, #eaf4fc 0%, #f7fbff 60%);
	border: 1px solid #d5e7f5;
}
.pp-card-link svg { width: 54px; height: 54px; flex-shrink: 0; stroke: var(--pp-blue); fill: none; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.pp-card-link h2 { margin: 0 0 4px; font-size: 1.25rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; color: var(--pp-blue); }
.pp-card-link p { margin: 0; color: var(--pp-gray); }
.pp-card-link:hover { border-color: var(--pp-blue); }

/* ---------- Badges de estado ---------- */
.pp-badge {
	display: inline-block; font-family: var(--pp-font-head); font-size: .72rem; font-weight: 800;
	text-transform: uppercase; letter-spacing: .1em; padding: 5px 13px; border-radius: 999px;
}
.pp-badge-open { background: linear-gradient(120deg, #14a05a, #1b7a43); color: #fff; }
.pp-badge-soon { background: #fff3d6; color: #8a6410; border: 1px solid #eed9a0; }
.pp-badge-closed { background: #eceff1; color: #54595F; border: 1px solid #d8dee3; }
.pp-badge-results { background: linear-gradient(120deg, var(--pp-cyan), var(--pp-blue)); color: #fff; }

/* ---------- Botones ---------- */
.pp-wrap .pp-btn, .pp-wrap a.pp-btn {
	display: inline-block; border: 2px solid var(--pp-blue); background: #fff; color: var(--pp-blue);
	font-family: var(--pp-font-head); font-weight: 700; font-size: .92rem; letter-spacing: .02em;
	padding: 10px 24px; border-radius: 999px; text-decoration: none; cursor: pointer;
	transition: transform .18s, box-shadow .18s, background .18s, color .18s;
}
.pp-wrap .pp-btn:hover { background: #eaf4fc; transform: translateY(-2px); }
.pp-wrap .pp-btn-primary, .pp-wrap a.pp-btn-primary {
	background: linear-gradient(120deg, var(--pp-blue) 0%, var(--pp-blue-dark) 100%);
	border-color: transparent; color: #fff; box-shadow: 0 6px 18px rgba(15,113,184,.35);
}
.pp-wrap .pp-btn-primary:hover, .pp-wrap a.pp-btn-primary:hover {
	background: linear-gradient(120deg, var(--pp-blue-dark) 0%, var(--pp-navy) 100%);
	color: #fff; transform: translateY(-2px); box-shadow: 0 10px 24px rgba(10,44,70,.4);
}
.pp-wrap .pp-btn-ghost, .pp-wrap a.pp-btn-ghost { background: transparent; border-color: rgba(255,255,255,.75); color: #fff; }
.pp-wrap .pp-btn-ghost:hover, .pp-wrap a.pp-btn-ghost:hover { background: rgba(255,255,255,.14); color: #fff; }
.pp-btn-small { padding: 7px 16px !important; font-size: .8rem !important; }
.pp-btn-big { padding: 13px 32px !important; font-size: 1.02rem !important; }
.pp-wrap .pp-btn-link { border: none; background: none; color: var(--pp-blue); text-decoration: underline; padding: 0; font-size: .92rem; font-family: var(--pp-font-head); }

/* ---------- Alertas ---------- */
.pp-alert { border-radius: var(--pp-radius-sm); padding: 14px 18px; margin: 16px 0; border: 1px solid; }
.pp-alert ul { margin: 0; padding-left: 1.2em; }
.pp-alert-error { background: #fdeeee; border-color: #f3b6b3; color: var(--pp-error); }
.pp-alert-ok { background: #e9f7ef; border-color: #b2dfc4; color: var(--pp-ok); }
.pp-alert-info { background: #eaf4fc; border-color: #bcdcf2; color: #0A5A96; }

/* ---------- Formularios ---------- */
.pp-form label { display: block; font-family: var(--pp-font-head); font-weight: 600; font-size: .88rem; margin-bottom: 4px; color: var(--pp-navy); }
.pp-form input[type="text"], .pp-form input[type="email"], .pp-form input[type="password"],
.pp-form input[type="date"], .pp-form textarea {
	width: 100%; padding: 12px 15px; border: 1.5px solid var(--pp-border); border-radius: var(--pp-radius-sm);
	font-size: 1rem; background: #fff; color: var(--pp-ink); box-sizing: border-box;
	transition: border-color .18s, box-shadow .18s;
}
.pp-form input:hover, .pp-form textarea:hover { border-color: #c3d4e2; }
.pp-form input:focus, .pp-form textarea:focus { border-color: var(--pp-blue); box-shadow: 0 0 0 4px rgba(15,113,184,.12); outline: none; }
.pp-form-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 4px 22px; }
.pp-form-narrow { max-width: 460px; }
.pp-form { background: var(--pp-bg-card); border: 1px solid var(--pp-border); border-radius: var(--pp-radius); padding: 26px 30px; box-shadow: var(--pp-shadow); }
.pp-check label { font-weight: 400; font-family: inherit; font-size: .95rem; }
.pp-check input { margin-right: 8px; accent-color: var(--pp-blue); width: 1.1em; height: 1.1em; }
.pp-privacy { background: var(--pp-bg-soft); border-radius: var(--pp-radius-sm); padding: 12px 16px; font-size: .85rem; color: var(--pp-gray); }
.pp-minor { border: 1.5px dashed #bcdcf2; border-radius: var(--pp-radius-sm); padding: 12px 16px; margin: 14px 0; background: #f8fcff; }
.pp-minor summary { cursor: pointer; font-family: var(--pp-font-head); font-weight: 600; color: var(--pp-blue-dark); }
.pp-hp { position: absolute !important; left: -9999px !important; }

/* ---------- Papeleta de votación ---------- */
.pp-ballot {
	background: linear-gradient(160deg, #f2f8fd 0%, #eaf2f9 100%);
	border: 1px solid #d5e7f5; border-radius: var(--pp-radius); padding: 26px 30px; margin: 26px 0;
}
.pp-ballot h2 { font-size: 1.3rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--pp-blue); margin-top: 0; }
.pp-option {
	display: flex; align-items: flex-start; gap: 14px; background: #fff;
	border: 2px solid var(--pp-border); border-radius: var(--pp-radius-sm);
	padding: 15px 18px; margin: 10px 0; cursor: pointer; font-size: 1.04rem;
	transition: border-color .18s, box-shadow .18s, transform .18s;
}
.pp-option:hover { border-color: var(--pp-blue); transform: translateX(3px); }
.pp-option:has(input:checked) { border-color: var(--pp-blue); background: #eaf4fc; box-shadow: 0 4px 14px rgba(15,113,184,.18); }
.pp-option input { width: 1.35em; height: 1.35em; margin-top: .12em; flex-shrink: 0; accent-color: var(--pp-blue); }
fieldset[disabled] .pp-option { cursor: default; opacity: .78; }
fieldset[disabled] .pp-option:hover { border-color: var(--pp-border); transform: none; }
.pp-ballot fieldset { border: none; padding: 0; margin: 0; }

/* ---------- Barras de resultados ---------- */
.pp-results { margin: 26px 0; }
.pp-results h2 { font-size: 1.3rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--pp-blue); }
.pp-bars { margin: 18px 0 6px; }
.pp-bar-row { margin-bottom: 16px; }
.pp-bar-row dt { font-weight: 600; margin-bottom: 5px; color: var(--pp-navy); }
.pp-bar-row dd { margin: 0; display: flex; align-items: center; gap: 12px; }
.pp-bar { flex: 1; height: 22px; background: #e4ecf3; border-radius: 999px; overflow: hidden; }
.pp-bar-fill { height: 100%; background: linear-gradient(90deg, var(--pp-cyan) 0%, var(--pp-blue) 70%); border-radius: 999px; min-width: 3px; }
.pp-bar-num { white-space: nowrap; font-variant-numeric: tabular-nums; font-family: var(--pp-font-head); font-weight: 700; font-size: .88rem; color: var(--pp-navy); }

/* ---------- Propuestas ---------- */
.pp-proposals { margin-top: 22px; display: grid; gap: 18px; }
.pp-proposal { margin-bottom: 0; }
.pp-support-row { display: flex; align-items: center; gap: 16px; margin-top: 12px; padding-top: 14px; border-top: 1px solid var(--pp-border); }
.pp-support-count { font-family: var(--pp-font-head); font-weight: 800; color: var(--pp-blue); }
.pp-proposal-form { margin: 26px 0; }
.pp-proposal-form h2 { font-size: 1.3rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--pp-blue); }

/* ---------- Varios ---------- */
.pp-intro { font-size: 1.08rem; max-width: 48em; color: var(--pp-gray); }
.pp-muted { color: var(--pp-gray-soft); }
.pp-backlink a { text-decoration: none; font-family: var(--pp-font-head); font-weight: 600; font-size: .9rem; }
.pp-dates { color: var(--pp-gray); font-size: .92rem; }
.pp-dates strong { color: var(--pp-navy); }
.pp-list { padding-left: 1.2em; }
.pp-desc { max-width: 52em; }
.pp-live:empty { display: none; }
.pp-live { font-weight: 600; color: var(--pp-ok); }

.pp-help {
	margin-top: 54px; display: flex; gap: 20px; align-items: flex-start;
	background: linear-gradient(115deg, var(--pp-navy) 0%, #10456e 100%);
	color: #fff; border-radius: var(--pp-radius); padding: 26px 30px;
	box-shadow: var(--pp-shadow-lift);
}
.pp-help h2 { margin: 0 0 6px; font-size: 1.15rem; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; color: var(--pp-cyan); }
.pp-help p { margin: 0; color: rgba(255,255,255,.92); }
.pp-help svg { width: 46px; height: 46px; flex-shrink: 0; stroke: var(--pp-cyan); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }

.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* ---------- Animaciones ---------- */
@media (prefers-reduced-motion: no-preference) {

	/* Entrada escalonada del hero. */
	.pp-hero { animation: ppFadeUp .55s ease both; }
	.pp-hero-kicker, .pp-hero h1, .pp-hero .pp-hero-tagline, .pp-hero .pp-hero-sub, .pp-hero-ctas {
		animation: ppFadeUp .6s cubic-bezier(.22,.9,.3,1) both;
	}
	.pp-hero-kicker { animation-delay: .12s; }
	.pp-hero h1 { animation-delay: .22s; }
	.pp-hero .pp-hero-tagline { animation-delay: .34s; }
	.pp-hero p.pp-hero-sub { animation-delay: .44s; }
	.pp-hero-ctas { animation-delay: .55s; }

	/* Halos que derivan lentamente dentro del hero. */
	.pp-hero::before {
		content: ""; position: absolute; inset: -30% -10%; pointer-events: none;
		background:
			radial-gradient(220px 220px at 78% 24%, rgba(41,208,242,.16), transparent 70%),
			radial-gradient(320px 320px at 14% 82%, rgba(255,255,255,.07), transparent 70%);
		animation: ppDrift 14s ease-in-out infinite alternate;
	}
	@keyframes ppDrift {
		from { transform: translate3d(0, 0, 0) scale(1); }
		to { transform: translate3d(3%, 4%, 0) scale(1.06); }
	}

	/* Accesos rápidos: aparición en cascada. */
	.pp-quick { animation: ppFadeUp .55s ease both; animation-delay: .3s; }
	.pp-quick a { animation: ppPop .5s cubic-bezier(.34,1.4,.5,1) both; }
	.pp-quick a:nth-child(1) { animation-delay: .5s; }
	.pp-quick a:nth-child(2) { animation-delay: .6s; }
	.pp-quick a:nth-child(3) { animation-delay: .7s; }
	.pp-quick a:nth-child(4) { animation-delay: .8s; }
	.pp-quick svg { transition: transform .25s cubic-bezier(.34,1.4,.5,1); }
	.pp-quick a:hover svg { transform: translateY(-4px) scale(1.12); }

	/* Revelado al hacer scroll (el JS añade .pp-visible). */
	.pp-reveal { opacity: 0; transform: translateY(22px); transition: opacity .6s ease, transform .6s cubic-bezier(.22,.9,.3,1); }
	.pp-reveal.pp-visible { opacity: 1; transform: none; }
	.pp-grid .pp-reveal:nth-child(2) { transition-delay: .08s; }
	.pp-grid .pp-reveal:nth-child(3) { transition-delay: .16s; }
	.pp-grid .pp-reveal:nth-child(4) { transition-delay: .24s; }

	/* Subrayado rojo que crece al aparecer la sección (solo si el JS marca el revelado). */
	.pp-section-head.pp-reveal::after { width: 0; transition: width .55s cubic-bezier(.22,.9,.3,1) .2s; }
	.pp-section-head.pp-reveal.pp-visible::after { width: 64px; }

	/* Barras de resultados: crecen al entrar en pantalla (JS fija el ancho). */
	.pp-bar-fill { transition: width .9s cubic-bezier(.25,.9,.3,1) .15s; }

	/* Brillo que recorre los botones primarios. */
	.pp-wrap .pp-btn-primary, .pp-wrap a.pp-btn-primary { position: relative; overflow: hidden; }
	.pp-wrap .pp-btn-primary::after, .pp-wrap a.pp-btn-primary::after {
		content: ""; position: absolute; top: 0; bottom: 0; left: -80%; width: 50%;
		background: linear-gradient(105deg, transparent, rgba(255,255,255,.35), transparent);
		transform: skewX(-20deg); transition: left .55s ease;
	}
	.pp-wrap .pp-btn-primary:hover::after, .pp-wrap a.pp-btn-primary:hover::after { left: 130%; }

	/* Opciones de voto: check con rebote. */
	.pp-option input { transition: transform .2s cubic-bezier(.34,1.6,.5,1); }
	.pp-option input:checked { transform: scale(1.15); }

	@keyframes ppFadeUp {
		from { opacity: 0; transform: translateY(16px); }
		to { opacity: 1; transform: none; }
	}
	@keyframes ppPop {
		from { opacity: 0; transform: translateY(10px) scale(.92); }
		to { opacity: 1; transform: none; }
	}
}

/* ---------- Responsive ---------- */
@media (max-width: 860px) {
	.pp-quick { grid-template-columns: repeat(2, 1fr); margin-left: 4px; margin-right: 4px; }
}
@media (max-width: 600px) {
	.pp-topbar { flex-direction: column; align-items: flex-start; }
	.pp-hero { padding-bottom: 84px; }
	.pp-card-link { flex-direction: column; text-align: center; }
	.pp-help { flex-direction: column; }
}


/* ==========================================================================
   Overrides de especificidad frente al kit global de Elementor de parcent.es
   (el kit carga después y sus selectores h1/h2/h3 empatan con .pp-wrap h2).
   ========================================================================== */
.pp-wrap .pp-hero h1 { color: #fff; font-family: var(--pp-font-head); text-transform: uppercase; }
.pp-wrap .pp-hero .pp-hero-tagline { font-family: var(--pp-font-serif); color: #cfe9fb; }
.pp-wrap h1.pp-title, .pp-wrap .pp-section-head h2, .pp-wrap .pp-ballot h2,
.pp-wrap .pp-results h2, .pp-wrap .pp-proposal-form h2, .pp-wrap .pp-card-link h2 {
	color: var(--pp-blue); font-family: var(--pp-font-head); text-transform: uppercase;
}
.pp-wrap .pp-section-head .pp-section-sub { font-family: var(--pp-font-serif); color: var(--pp-gray); }
.pp-wrap .pp-help h2 { color: var(--pp-cyan); font-family: var(--pp-font-head); }
.pp-wrap .pp-card h3, .pp-wrap .pp-card h3 a { color: var(--pp-navy); font-family: var(--pp-font-head); }
.pp-wrap .pp-card h3 a:hover { color: var(--pp-blue); }
.pp-wrap .pp-quick a span { color: var(--pp-navy); font-family: var(--pp-font-head); }
