/* ==========================================================================
   Site extras: card meta row, Browse by place, homepage sections
   ========================================================================== */

/* ── Cards: EP number and location on one baseline ── */
.pp-card__film-hud.wp-block-group {
	align-items: baseline !important;
	flex-wrap: wrap !important;
	column-gap: 0.9em !important;
}
.pp-card__film-hud > * { margin: 0 !important; line-height: 1.4 !important; }
.pp-card__film-hud .wp-block-post-terms,
.pp-card__eyebrow.wp-block-post-terms {
	font-family: var(--pp-font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pp-faint);
}
.pp-card__film-hud .wp-block-post-terms a,
.pp-card__eyebrow.wp-block-post-terms a { color: inherit; }

/* Cards in a grid start level (WordPress adds a top margin to all but the first) */
.pp-card-grid .wp-block-post-template > li { margin-block: 0 !important; }

/* ── Browse by place ── */
.pp-places {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(210px, 100%), 1fr));
	gap: clamp(1.25rem, 2.5vw, 2rem);
	margin: 0;
	padding: 0;
	list-style: none;
}
.pp-place { margin: 0; }
.pp-place a { display: block; color: var(--pp-cream); text-decoration: none; }
.pp-place__img {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	background: var(--pp-wash);
	box-shadow: inset 0 0 0 1px var(--pp-rule);
}
.pp-place__img img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
@media (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.pp-place__img img { transition: transform 600ms cubic-bezier(0.16, 1, 0.3, 1); }
	.pp-place a:hover .pp-place__img img { transform: scale(1.04); }
}
.pp-place__name {
	display: block;
	margin-top: 1rem;
	font-family: var(--pp-font-serif);
	font-size: clamp(1.25rem, 1.6vw, 1.5rem);
	font-weight: 700;
	line-height: 1.1;
}
.pp-place a:hover .pp-place__name { color: var(--pp-accent); }
.pp-place__meta {
	display: block;
	margin-top: 0.4rem;
	font-family: var(--pp-font-mono);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pp-faint);
}

/* ── Who we are ── */
.pp-home-about .wp-block-columns { gap: clamp(2rem, 5vw, 5rem); margin: 0; }
/* Framed like a film still: celadon plate offset behind, viewfinder corners, soft drop. */
.pp-home-about__photo {
	--pp-frame-gap: clamp(0.6rem, 1.2vw, 0.9rem);
	--pp-frame-arm: clamp(1.4rem, 2.5vw, 2rem);
	--pp-frame-offset: clamp(1rem, 2vw, 1.75rem);
	position: relative;
	isolation: isolate;
	margin: var(--pp-frame-gap) calc(var(--pp-frame-offset) + var(--pp-frame-gap)) calc(var(--pp-frame-offset) + var(--pp-frame-gap)) var(--pp-frame-gap) !important;
}
.pp-home-about__photo::before {
	content: "";
	position: absolute;
	inset: var(--pp-frame-offset) calc(-1 * var(--pp-frame-offset)) calc(-1 * var(--pp-frame-offset)) var(--pp-frame-offset);
	z-index: -1;
	background: color-mix(in oklch, var(--pp-celadon, #B7CCBD) 55%, var(--pp-ink));
}
.pp-home-about__photo::after {
	--c: var(--pp-faint);
	content: "";
	position: absolute;
	inset: calc(-1 * var(--pp-frame-gap));
	pointer-events: none;
	background:
		linear-gradient(var(--c), var(--c)) left top / var(--pp-frame-arm) 2px,
		linear-gradient(var(--c), var(--c)) left top / 2px var(--pp-frame-arm),
		linear-gradient(var(--c), var(--c)) right top / var(--pp-frame-arm) 2px,
		linear-gradient(var(--c), var(--c)) right top / 2px var(--pp-frame-arm),
		linear-gradient(var(--c), var(--c)) left bottom / var(--pp-frame-arm) 2px,
		linear-gradient(var(--c), var(--c)) left bottom / 2px var(--pp-frame-arm),
		linear-gradient(var(--c), var(--c)) right bottom / var(--pp-frame-arm) 2px,
		linear-gradient(var(--c), var(--c)) right bottom / 2px var(--pp-frame-arm);
	background-repeat: no-repeat;
}
.pp-home-about__photo img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	box-shadow: 0 1.75rem 3rem -1.5rem rgba(29, 36, 34, 0.45);
}
/* Optional caption (add one to the image in the editor): sits on the photo like a HUD label. */
.pp-home-about__photo figcaption {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0 !important;
	padding: 0.4rem 0.7rem;
	background: color-mix(in oklch, var(--pp-lamp, #1D2422) 78%, transparent);
	color: var(--pp-paper, #F2F3EE);
	font-family: var(--pp-font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}
.pp-home-about__photo figcaption::before {
	content: "";
	width: 0.5rem;
	height: 0.5rem;
	border-radius: 50%;
	background: var(--pp-rec);
}
.pp-home-about__lede {
	max-width: 42ch;
	margin: 0 0 1.25rem !important;
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--pp-cream-70);
}
.pp-home-about .wp-block-buttons { margin-top: 2rem; }

/* ── For brands ── */
.pp-home-brands {
	border-top: 1px solid var(--pp-rule);
	border-bottom: 1px solid var(--pp-rule);
}
.pp-home-brands__intro {
	max-width: 52ch;
	margin: 0 0 2.5rem !important;
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--pp-cream-70);
}
.pp-home-brands .wp-block-columns { gap: 2rem; margin: 0 0 2.5rem; }
.pp-home-brands .pp-stat__value,
.pp-home-brands .pp-stat__label { margin: 0 !important; }

@media (max-width: 781px) {
	.pp-home-about__photo img { aspect-ratio: 3 / 2; }
}

/* ── Travel kit ── */
.pp-kit-hero .pp-hero__body { margin-bottom: 2rem !important; }
.pp-kit-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1.5rem;
	margin: 0 0 2rem !important;
	font-family: var(--pp-font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.pp-kit-nav a {
	padding-bottom: 0.25rem;
	border-bottom: 1px solid var(--pp-rule);
	color: var(--pp-cream);
	text-decoration: none;
}
.pp-kit-nav a:hover,
.pp-kit-nav a:focus-visible { color: var(--pp-accent); border-color: currentColor; }

.pp-kit-disclosure {
	max-width: 70ch;
	margin: 0 !important;
	font-size: 0.82rem;
	line-height: 1.6;
	color: var(--pp-cream-70);
}
.pp-kit-disclosure a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }

.pp-kit-section { scroll-margin-top: calc(var(--pp-header-height, 64px) + 1.5rem); }
.pp-kit-section + .pp-kit-section { border-top: 1px solid var(--pp-rule); }
.pp-section__heading + .pp-kit-intro { margin-top: -1.5rem !important; }
.pp-kit-intro {
	max-width: 60ch;
	margin: 0 0 2.5rem !important;
	font-size: 1.0625rem;
	color: var(--pp-cream-70);
}

/* Cards */
.pp-picks { gap: clamp(1.25rem, 2.5vw, 2rem) !important; align-items: stretch; }
.pp-pick {
	display: flex;
	flex-direction: column;
	box-sizing: border-box;
	height: 100%;
	padding: 1.5rem;
	border: 1px solid var(--pp-rule);
	background: var(--pp-ink);
}
.pp-pick > * { margin: 0 !important; }
.pp-pick__logo { margin-bottom: 1.25rem !important; }
.pp-pick__logo img { display: block; width: auto; max-width: 60%; max-height: 40px; object-fit: contain; }
.pp-pick__photo { margin: -1.5rem -1.5rem 1.25rem !important; }
.pp-pick__photo img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; }
.pp-pick__cat {
	margin-bottom: 0.4rem !important;
	font-family: var(--pp-font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pp-faint);
}
.pp-pick__name {
	margin-bottom: 0.5rem !important;
	font-family: var(--pp-font-serif);
	font-size: clamp(1.25rem, 1.5vw, 1.45rem);
	line-height: 1.15;
}
.pp-pick__what {
	margin-bottom: 1rem !important;
	font-size: 0.95rem;
	line-height: 1.55;
	color: var(--pp-cream-70);
}
.pp-pick__why {
	margin-bottom: 1rem !important;
	padding: 0.9rem 1rem;
	font-size: 0.9rem;
	line-height: 1.6;
	background: color-mix(in oklch, var(--pp-celadon, #B7CCBD) 35%, var(--pp-ink));
}
.pp-pick__code {
	margin-bottom: 1.25rem !important;
	font-family: var(--pp-font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.06em;
	color: var(--pp-cream-70);
}
.pp-pick__code strong {
	margin: 0 0.25rem;
	padding: 0.15rem 0.45rem;
	border: 1px dashed currentColor;
	font-weight: 400;
	color: var(--pp-accent);
}
.pp-pick .wp-block-buttons { margin-top: auto !important; }
.pp-pick__cta,
.pp-pick__cta .wp-block-button__link { width: 100%; }
.pp-pick__proof {
	margin-top: 0.9rem !important;
	font-size: 0.8rem;
	color: var(--pp-faint);
}
.pp-pick__proof a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.pp-pick--featured { border-top: 3px solid var(--pp-accent); }

/* FAQ */
.pp-kit-faq .wp-block-details {
	max-width: 70ch;
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--pp-rule);
}
.pp-kit-faq summary {
	cursor: pointer;
	font-family: var(--pp-font-serif);
	font-size: 1.2rem;
	font-weight: 700;
}
.pp-kit-faq .wp-block-details p { margin: 0.75rem 0 0; color: var(--pp-cream-70); }
.pp-kit-newsletter .pp-section__heading { margin-bottom: 1rem; }

/* ── The Journey map ──
   A cinema panel inside the reading room: one dot per country on a zoomable
   world, a card on tap, and a pulsing REC dot where we're filming now. */
.pp-journey {
	--pp-cream: var(--pp-paper);
	--pp-cream-70: rgba(242, 243, 238, 0.74);
	--pp-faint: var(--pp-celadon);
	--pp-rule: rgba(183, 204, 189, 0.22);
	position: relative;
	margin: clamp(1.5rem, 3vw, 2.5rem) 0 clamp(2rem, 4vw, 3rem);
	overflow: hidden;
	background: var(--pp-lamp);
	color: var(--pp-cream);
	box-shadow: inset 0 0 0 1px var(--pp-rule);
}
.pp-journey__stage {
	position: relative;
	overflow: hidden;
	aspect-ratio: var(--pp-journey-ar, 2.4);
	cursor: grab;
	touch-action: pan-y;
	user-select: none;
}
.pp-journey.is-dragging .pp-journey__stage { cursor: grabbing; }
.pp-journey__map { position: absolute; inset: 0; display: block; width: 100%; height: 100%; }
.pp-journey__stage::after {
	content: "";
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse at center, transparent 55%, rgba(29, 36, 34, 0.8) 100%);
	pointer-events: none;
}

/* Country dots */
.pp-journey__pins { position: absolute; inset: 0; z-index: 1; margin: 0; padding: 0; list-style: none; pointer-events: none; }
.pp-journey__pin { position: absolute; width: 0; height: 0; margin: 0; pointer-events: auto; }
.pp-journey__pin[hidden],
.pp-journey__now[hidden] { display: none; }
.pp-journey__dot {
	position: absolute;
	top: -14px;
	left: -14px;
	width: 28px;
	height: 28px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	cursor: pointer;
}
.pp-journey__dot::before {
	content: "";
	position: absolute;
	inset: 9px;
	border-radius: 50%;
	background: var(--pp-paper);
	box-shadow: 0 0 0 3px rgba(242, 243, 238, 0.18), 0 0 14px rgba(183, 204, 189, 0.45);
	transition: transform 200ms ease, background 200ms ease;
}
.pp-journey__dot:hover::before,
.pp-journey__dot:focus-visible::before,
.pp-journey__pin.is-open .pp-journey__dot::before { transform: scale(1.35); background: var(--pp-celadon); }
.pp-journey__dot:focus-visible { outline: 1px solid var(--pp-celadon); outline-offset: 2px; }
.pp-journey__name {
	position: absolute;
	top: 0;
	left: 12px;
	transform: translateY(-50%);
	font-family: var(--pp-font-mono);
	font-size: 0.66rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--pp-cream);
	text-shadow: 0 1px 8px rgba(29, 36, 34, 0.95);
	/* The name opens the card too, with padding for a generous target. */
	margin: -6px -4px;
	padding: 6px 4px;
	cursor: pointer;
}
.pp-journey__name:hover { color: var(--pp-celadon); }
.pp-journey__pin.is-flip .pp-journey__name { left: auto; right: 12px; }
.pp-journey__name.is-quiet,
.pp-journey.is-dense .pp-journey__name { pointer-events: none; }
/* Bigger invisible hit area around each dot; the visible dot stays 10px. */
.pp-journey__dot { top: -18px; left: -18px; width: 36px; height: 36px; }
.pp-journey__dot::before,
.pp-journey__pin.is-now .pp-journey__dot::after { inset: 13px; }
.pp-journey.is-dense .pp-journey__name,
.pp-journey__name.is-quiet { opacity: 0; }
.pp-journey__pin:hover .pp-journey__name.is-quiet { opacity: 1; }
.pp-journey.is-dense .pp-journey__pin:hover .pp-journey__name { opacity: 1; }

/* Card on tap / hover */
.pp-journey__card {
	position: absolute;
	bottom: 18px;
	left: -24px;
	z-index: 3;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	width: max-content;
	max-width: 230px;
	padding: 0.9rem 1rem;
	background: rgba(29, 36, 34, 0.96);
	box-shadow: inset 0 0 0 1px var(--pp-rule), 0 12px 30px rgba(0, 0, 0, 0.35);
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 0s 160ms;
}
.pp-journey__pin.is-flip .pp-journey__card { left: auto; right: -24px; }
.pp-journey__pin.is-low .pp-journey__card { bottom: auto; top: 18px; }
.pp-journey__pin.is-open .pp-journey__card,
.pp-journey__pin:hover .pp-journey__card,
.pp-journey__pin:focus-within .pp-journey__card {
	opacity: 1;
	visibility: visible;
	transform: none;
	transition: opacity 160ms ease, transform 160ms ease;
}
.pp-journey__pin:is(.is-open, :hover, :focus-within) { z-index: 2; }
.pp-journey__pin:is(.is-open, :hover, :focus-within) .pp-journey__name { opacity: 0; }
.pp-journey__card-kicker,
.pp-journey__card-meta {
	font-family: var(--pp-font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pp-faint);
}
.pp-journey__card-title { font-family: var(--pp-font-serif); font-size: 1.25rem; line-height: 1.1; color: var(--pp-cream); }
.pp-journey__card-places { font-size: 0.82rem; line-height: 1.4; color: var(--pp-cream-70); }
.pp-journey__card-link {
	margin-top: 0.35rem;
	font-family: var(--pp-font-mono);
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pp-celadon);
	text-decoration: none;
}
.pp-journey__card-link:hover,
.pp-journey__card-link:focus-visible { color: var(--pp-paper); text-decoration: underline; text-underline-offset: 3px; }

/* REC: where we're filming now */
.pp-journey__now { position: absolute; z-index: 1; width: 0; height: 0; }
.pp-journey__now-link {
	position: absolute;
	top: 0;
	left: -6px;
	display: flex;
	align-items: center;
	gap: 0.6rem;
	transform: translateY(-50%);
	color: var(--pp-cream);
	text-decoration: none;
	text-shadow: 0 1px 8px rgba(29, 36, 34, 0.95);
}
.pp-journey__now.is-flip .pp-journey__now-link { left: auto; right: -6px; flex-direction: row-reverse; text-align: right; }
.pp-journey__rec {
	position: relative;
	flex: none;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--pp-cinnabar);
	box-shadow: 0 0 12px rgba(184, 52, 31, 0.7);
}
.pp-journey__rec::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: 50%;
	border: 1px solid var(--pp-cinnabar);
	opacity: 0;
}
.pp-journey__now-text { display: flex; flex-direction: column; gap: 0.1rem; }
.pp-journey__now-kicker {
	font-family: var(--pp-font-mono);
	font-size: 0.58rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pp-cinnabar);
}
.pp-journey__now-name { font-family: var(--pp-font-serif); font-size: clamp(0.95rem, 0.8rem + 0.5vw, 1.2rem); font-weight: 700; line-height: 1.1; white-space: nowrap; }
.pp-journey__now-link:hover .pp-journey__now-name,
.pp-journey__now-link:focus-visible .pp-journey__now-name { color: var(--pp-celadon); }

/* Zoom controls */
.pp-journey__controls {
	position: absolute;
	right: 0.75rem;
	bottom: 0.75rem;
	z-index: 4;
	display: flex;
	gap: 1px;
	background: var(--pp-rule);
}
.pp-journey__controls button {
	min-width: 2rem;
	height: 2rem;
	padding: 0 0.7rem;
	border: 0;
	background: rgba(29, 36, 34, 0.92);
	color: var(--pp-cream);
	font-family: var(--pp-font-mono);
	font-size: 0.66rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
}
.pp-journey__controls button[data-zoom] { font-size: 1rem; letter-spacing: 0; }
.pp-journey__controls button:hover,
.pp-journey__controls button:focus-visible { background: var(--pp-cinnabar); color: var(--pp-paper); }
.pp-journey__controls [data-view="fit"] { display: none; }
.pp-journey.is-zoomed .pp-journey__controls [data-view="fit"] { display: block; }
.pp-journey__hint { margin-left: auto; }

.pp-journey__legend {
	position: relative;
	z-index: 1;
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem 1.75rem;
	margin: 0;
	padding: 0.85rem clamp(1rem, 2.5vw, 1.5rem);
	border-top: 1px solid var(--pp-rule);
	font-family: var(--pp-font-mono);
	font-size: 0.66rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pp-faint);
}
.pp-journey__key { display: inline-flex; align-items: center; gap: 0.6rem; }
.pp-journey__swatch { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--pp-paper); }
.pp-journey__key.is-now { color: var(--pp-cream); }
.pp-journey__key.is-now .pp-journey__swatch { background: var(--pp-cinnabar); box-shadow: 0 0 10px rgba(184, 52, 31, 0.6); }

@media (max-width: 700px) {
	.pp-journey__stage { aspect-ratio: 1.6; }
	.pp-journey__name { font-size: 0.58rem; }
	.pp-journey__hint { display: none; }
	.pp-journey__controls { right: 0.5rem; bottom: 0.5rem; }
	.pp-journey__card { max-width: 200px; }
}

@keyframes pp-journey-pulse {
	0%   { opacity: 0.9; transform: scale(1); }
	100% { opacity: 0; transform: scale(3.4); }
}
/* A country we're filming in right now: its dot turns into the REC light. */
.pp-journey__pin.is-now .pp-journey__dot::before { background: var(--pp-cinnabar); box-shadow: 0 0 0 3px rgba(184, 52, 31, 0.25), 0 0 14px rgba(184, 52, 31, 0.7); }
.pp-journey__pin.is-now .pp-journey__dot::after {
	content: "";
	position: absolute;
	inset: 9px;
	border-radius: 50%;
	border: 1px solid var(--pp-cinnabar);
	opacity: 0;
}
.pp-journey__rec-tag { color: var(--pp-cinnabar); }
.pp-journey.is-dense .pp-journey__pin.is-now .pp-journey__name { opacity: 1; }
.pp-journey__card-now {
	font-family: var(--pp-font-mono);
	font-size: 0.62rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pp-cinnabar);
}

@media (prefers-reduced-motion: no-preference) {
	.pp-journey__rec::after,
	.pp-journey__pin.is-now .pp-journey__dot::after { animation: pp-journey-pulse 2s ease-out infinite; }
}

/* ── Plan your trip (partner toolkit, synced pattern) ──
   Each partner is one .pp-toolkit__card; duplicate a card to add a partner.
   The whole card is clickable via the button's stretched link. */
.pp-toolkit {
	counter-reset: pp-toolkit;
	margin-block: clamp(3rem, 6vw, 5rem) 0;
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--pp-rule);
}
.pp-toolkit > * { margin-block: 0; }
.pp-toolkit .pp-section__heading { margin-top: 0.5rem; }
.pp-toolkit__intro {
	max-width: 62ch;
	margin-top: 1rem !important;
	color: var(--pp-cream-70);
	font-size: 0.95rem;
}
.pp-toolkit__grid.wp-block-group {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: clamp(1rem, 2vw, 1.5rem);
	margin-top: clamp(1.75rem, 3vw, 2.5rem) !important;
}
.pp-toolkit__grid > * { margin: 0 !important; }
.pp-toolkit__card.wp-block-group {
	counter-increment: pp-toolkit;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
	padding: clamp(1.4rem, 2.5vw, 1.9rem);
	background: var(--pp-wash);
	box-shadow: inset 0 0 0 1px var(--pp-rule);
}
.pp-toolkit__card > * { margin: 0 !important; }
/* Viewfinder corners, like the About photo frame */
.pp-toolkit__card::before,
.pp-toolkit__card::after {
	content: "";
	position: absolute;
	width: 14px;
	height: 14px;
	border-color: var(--pp-accent);
	border-style: solid;
	pointer-events: none;
}
.pp-toolkit__card::before { top: 8px; left: 8px; border-width: 1px 0 0 1px; }
.pp-toolkit__card::after { right: 8px; bottom: 8px; border-width: 0 1px 1px 0; }
.pp-toolkit__tag {
	font-family: var(--pp-font-mono);
	font-size: 0.7rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--pp-accent);
}
.pp-toolkit__tag::before { content: counter(pp-toolkit, decimal-leading-zero) " · "; }
.pp-toolkit__title.wp-block-heading {
	font-family: var(--pp-font-serif);
	font-size: clamp(1.35rem, 1.1rem + 0.8vw, 1.7rem);
	line-height: 1.1;
	color: var(--pp-cream);
}
.pp-toolkit__why { color: var(--pp-cream-70); font-size: 0.95rem; line-height: 1.55; }
.pp-toolkit__via {
	margin-top: auto !important;
	padding-top: 0.6rem;
	font-family: var(--pp-font-mono);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pp-faint);
}
.pp-toolkit__cta .wp-block-button__link {
	padding: 0.7rem 1.1rem;
	border-radius: 0;
	background: var(--pp-accent);
	color: var(--pp-on-accent);
	font-family: var(--pp-font-mono);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
}
.pp-toolkit__cta,
.pp-toolkit__cta .wp-block-button { max-width: 100%; }
.pp-toolkit__cta .wp-block-button__link { white-space: normal; text-align: left; line-height: 1.35; }
.pp-toolkit__cta .wp-block-button__link::after { content: ""; position: absolute; inset: 0; }
@media (pointer: fine) and (prefers-reduced-motion: no-preference) {
	.pp-toolkit__card { transition: transform 300ms cubic-bezier(0.16, 1, 0.3, 1), box-shadow 300ms ease; }
	.pp-toolkit__card:hover { transform: translateY(-3px); box-shadow: inset 0 0 0 1px var(--pp-accent); }
}
.pp-toolkit__card:focus-within { box-shadow: inset 0 0 0 2px var(--pp-accent); }
