/*!
Theme Name: Pi Compass
Theme URI: https://pi-coin.app/
Author: Pi Compass Editorial
Author URI: https://pi-coin.app/about-us/
Description: Independent research theme for the Pi Compass field guide. Dark "audit console" layout, hairline grid panels, tabular data tables and risk callouts. Built mobile-first with logical properties for full RTL support.
Version: 1.4.2
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: pi-compass
Tags: dark, one-column, custom-colors, editor-style, block-styles, rtl-language-support, wide-blocks, accessibility-ready
*/

/* ==========================================================================
   00 — Tokens
   ========================================================================== */

:root {
	--pc-ink: #0a0c11;
	--pc-ink-2: #0e1218;
	--pc-surface: #141922;
	--pc-surface-2: #1a212c;
	--pc-surface-3: #212a37;
	--pc-hairline: #263140;
	--pc-hairline-soft: #1d2632;

	--pc-amber: #ffb01f;
	--pc-amber-dim: #c9861a;
	--pc-amber-wash: rgba(255, 176, 31, .09);
	--pc-mint: #24d6a4;
	--pc-mint-wash: rgba(36, 214, 164, .09);
	--pc-coral: #ff6b5e;
	--pc-coral-wash: rgba(255, 107, 94, .09);
	--pc-violet: #8b6cf0;
	--pc-violet-wash: rgba(139, 108, 240, .1);

	--pc-text: #e9edf4;
	--pc-text-2: #b3bdcc;
	--pc-text-3: #7d8899;
	--pc-text-inv: #0a0c11;

	--pc-font-display: "Space Grotesk", "Archivo", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--pc-font-body: "IBM Plex Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
	--pc-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;

	--pc-shell: 1240px;
	--pc-prose: 748px;
	--pc-gutter: clamp(1.15rem, 4vw, 2.5rem);

	--pc-radius: 3px;
	--pc-radius-lg: 6px;

	--pc-shadow: 0 1px 0 rgba(255, 255, 255, .03) inset, 0 18px 40px -28px rgba(0, 0, 0, .9);
	--pc-ring: 0 0 0 2px var(--pc-ink), 0 0 0 4px var(--pc-amber);

	--pc-ease: cubic-bezier(.22, .61, .36, 1);
	--pc-header-h: 62px;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

/* ==========================================================================
   01 — Base
   ========================================================================== */

html {
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--pc-header-h) + 1.25rem);
	-moz-tab-size: 4;
	tab-size: 4;
}

body {
	margin: 0;
	background: var(--pc-ink);
	color: var(--pc-text);
	font-family: var(--pc-font-body);
	font-size: 1.0125rem;
	line-height: 1.72;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-x: hidden;
	font-feature-settings: "kern" 1, "liga" 1;
}

/* Faint engineering grid — the signature backdrop of the whole guide. */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background-image:
		linear-gradient(to right, rgba(255, 255, 255, .018) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(255, 255, 255, .018) 1px, transparent 1px);
	background-size: 68px 68px;
	mask-image: radial-gradient(ellipse 120% 80% at 50% 0%, #000 30%, transparent 78%);
	-webkit-mask-image: radial-gradient(ellipse 120% 80% at 50% 0%, #000 30%, transparent 78%);
}

#page {
	position: relative;
	z-index: 1;
}

img,
svg,
video,
canvas,
picture {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--pc-amber);
	text-decoration: none;
	text-underline-offset: .18em;
	text-decoration-thickness: 1px;
	transition: color .18s var(--pc-ease);
}

a:hover,
a:focus-visible {
	color: #ffc65c;
	text-decoration: underline;
}

:focus-visible {
	outline: none;
	box-shadow: var(--pc-ring);
	border-radius: var(--pc-radius);
}

::selection {
	background: var(--pc-amber);
	color: var(--pc-text-inv);
}

hr,
.wp-block-separator {
	border: 0;
	height: 1px;
	background: var(--pc-hairline);
	margin-block: 2.75rem;
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	word-wrap: normal !important;
}

.skip-link {
	position: absolute;
	inset-inline-start: -9999px;
	top: 0;
	z-index: 999;
	padding: .7rem 1.15rem;
	background: var(--pc-amber);
	color: var(--pc-text-inv);
	font-family: var(--pc-font-mono);
	font-size: .8rem;
	font-weight: 600;
}

.skip-link:focus {
	inset-inline-start: 1rem;
	top: 1rem;
}

/* ==========================================================================
   02 — Layout shell
   ========================================================================== */

.pc-shell {
	width: 100%;
	max-width: var(--pc-shell);
	margin-inline: auto;
	padding-inline: var(--pc-gutter);
}

.pc-shell--narrow {
	max-width: 880px;
}

.site-content {
	padding-block: 0 0;
}

.pc-section {
	padding-block: clamp(2.75rem, 7vw, 5.25rem);
	position: relative;
}

.pc-section + .pc-section {
	border-block-start: 1px solid var(--pc-hairline-soft);
}

.pc-section--tint {
	background:
		linear-gradient(180deg, rgba(255, 176, 31, .022), transparent 60%),
		var(--pc-ink-2);
}

/* ==========================================================================
   03 — Typography
   ========================================================================== */

h1,
h2,
h3,
h4,
h5,
h6 {
	font-family: var(--pc-font-display);
	font-weight: 700;
	line-height: 1.14;
	letter-spacing: -.021em;
	color: #fff;
	margin: 0 0 .7em;
	text-wrap: balance;
}

h1,
.pc-h1 {
	font-size: clamp(1.95rem, 5.6vw, 3.4rem);
	letter-spacing: -.033em;
}

h2,
.pc-h2 {
	font-size: clamp(1.5rem, 3.9vw, 2.2rem);
	letter-spacing: -.026em;
	margin-block-start: 2.6em;
}

h3 {
	font-size: clamp(1.2rem, 2.7vw, 1.44rem);
	margin-block-start: 2.1em;
}

h4 {
	font-size: 1.09rem;
	margin-block-start: 1.9em;
	letter-spacing: -.012em;
}

h5 {
	font-size: .95rem;
	margin-block-start: 1.7em;
}

.entry-content > h2:first-child,
.entry-content > h3:first-child {
	margin-block-start: 0;
}

/* Numbered gutter markers on H2 — reads like a report section index. */
.entry-content > h2 {
	position: relative;
	padding-block-start: 1.55rem;
	border-block-start: 1px solid var(--pc-hairline);
}

.entry-content > h2::before {
	content: "§";
	position: absolute;
	top: 1.6rem;
	inset-inline-start: 0;
	font-family: var(--pc-font-mono);
	font-size: .78rem;
	font-weight: 500;
	color: var(--pc-amber);
	opacity: .75;
}

@media (min-width: 1100px) {
	.entry-content > h2 {
		padding-inline-start: 0;
	}

	.entry-content > h2::before {
		inset-inline-start: -1.85rem;
		top: 1.75rem;
	}
}

p {
	margin: 0 0 1.3em;
}

.entry-content > p,
.entry-content > ul,
.entry-content > ol,
.entry-content > h2,
.entry-content > h3,
.entry-content > h4,
.entry-content > .wp-block-quote,
.entry-content > .wp-block-heading {
	max-width: var(--pc-prose);
}

strong,
b {
	font-weight: 600;
	color: #fff;
}

em {
	color: var(--pc-text);
}

small,
.pc-small {
	font-size: .845rem;
	line-height: 1.62;
	color: var(--pc-text-3);
}

.pc-lede {
	font-size: clamp(1.06rem, 2.3vw, 1.24rem);
	line-height: 1.62;
	color: var(--pc-text-2);
	max-width: 42ch;
}

.entry-content .pc-lede {
	max-width: 62ch;
}

/* Mono eyebrow / kicker */
.pc-kicker {
	display: inline-flex;
	align-items: center;
	gap: .55rem;
	font-family: var(--pc-font-mono);
	font-size: .715rem;
	font-weight: 500;
	letter-spacing: .17em;
	text-transform: uppercase;
	color: var(--pc-amber);
	margin: 0 0 1.05rem;
}

.pc-kicker::before {
	content: "";
	width: 1.55rem;
	height: 1px;
	background: currentColor;
	opacity: .6;
	flex: none;
}

.pc-kicker--mint {
	color: var(--pc-mint);
}

.pc-kicker--coral {
	color: var(--pc-coral);
}

code,
kbd,
samp,
tt {
	font-family: var(--pc-font-mono);
	font-size: .875em;
	background: var(--pc-surface-2);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius);
	padding: .12em .42em;
	color: #ffd489;
	word-break: break-word;
}

pre,
.wp-block-code {
	background: var(--pc-ink-2);
	border: 1px solid var(--pc-hairline);
	border-inline-start: 2px solid var(--pc-amber);
	border-radius: var(--pc-radius);
	padding: 1.1rem 1.2rem;
	overflow-x: auto;
	font-family: var(--pc-font-mono);
	font-size: .855rem;
	line-height: 1.65;
	margin-block: 1.6rem;
	-webkit-overflow-scrolling: touch;
}

pre code {
	background: none;
	border: 0;
	padding: 0;
	color: var(--pc-text-2);
}

/* ==========================================================================
   04 — Lists
   ========================================================================== */

.entry-content ul,
.entry-content ol {
	margin: 0 0 1.45em;
	padding-inline-start: 1.35rem;
}

.entry-content li {
	margin-block-end: .58em;
	padding-inline-start: .2rem;
}

.entry-content li::marker {
	color: var(--pc-amber);
	font-family: var(--pc-font-mono);
	font-size: .9em;
}

.entry-content ul ul,
.entry-content ol ol,
.entry-content ul ol,
.entry-content ol ul {
	margin-block: .55em 0;
}

/* Checklist variant */
.pc-checklist {
	list-style: none;
	padding-inline-start: 0 !important;
}

.pc-checklist li {
	position: relative;
	padding-inline-start: 1.85rem !important;
	margin-block-end: .72em;
}

.pc-checklist li::before {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	top: .58em;
	width: .78rem;
	height: .42rem;
	border-inline-start: 2px solid var(--pc-mint);
	border-block-end: 2px solid var(--pc-mint);
	transform: rotate(-45deg);
}

.pc-crosslist {
	list-style: none;
	padding-inline-start: 0 !important;
}

.pc-crosslist li {
	position: relative;
	padding-inline-start: 1.85rem !important;
	margin-block-end: .72em;
}

.pc-crosslist li::before {
	content: "×";
	position: absolute;
	inset-inline-start: .1rem;
	top: 0;
	color: var(--pc-coral);
	font-family: var(--pc-font-mono);
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.5;
}

/* ==========================================================================
   05 — Header
   ========================================================================== */

.site-header {
	position: sticky;
	top: 0;
	z-index: 90;
	background: rgba(10, 12, 17, .88);
	backdrop-filter: saturate(150%) blur(14px);
	-webkit-backdrop-filter: saturate(150%) blur(14px);
	border-block-end: 1px solid var(--pc-hairline);
}

.site-header__bar {
	display: flex;
	align-items: center;
	gap: 1rem;
	min-height: var(--pc-header-h);
}

.site-branding {
	display: flex;
	align-items: center;
	gap: .62rem;
	margin-inline-end: auto;
	flex: none;
}

.site-branding a {
	display: flex;
	align-items: center;
	gap: .62rem;
	color: #fff;
}

.site-branding a:hover {
	text-decoration: none;
}

.site-branding svg {
	width: 30px;
	height: 30px;
	flex: none;
}

.site-title {
	font-family: var(--pc-font-display);
	font-size: 1.055rem;
	font-weight: 700;
	letter-spacing: -.026em;
	line-height: 1.1;
	margin: 0;
	white-space: nowrap;
}

.site-title span {
	color: var(--pc-amber);
}

.site-description {
	display: none;
	font-family: var(--pc-font-mono);
	font-size: .61rem;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--pc-text-3);
	margin: .18rem 0 0;
	line-height: 1;
}

@media (min-width: 1180px) {
	.site-description {
		display: block;
	}
}

/* Primary nav — desktop */
.main-navigation {
	display: none;
}

@media (min-width: 1024px) {
	.main-navigation {
		display: block;
	}
}

.main-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: .1rem;
}

.main-navigation li {
	position: relative;
	margin: 0;
}

.main-navigation a {
	display: block;
	padding: .52rem .68rem;
	font-size: .875rem;
	font-weight: 500;
	color: var(--pc-text-2);
	border-radius: var(--pc-radius);
	white-space: nowrap;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a,
.main-navigation .current_page_item > a {
	color: #fff;
	background: var(--pc-surface-2);
	text-decoration: none;
}

.main-navigation .current-menu-item > a {
	box-shadow: inset 0 -2px 0 var(--pc-amber);
}

/* Dropdown */
.main-navigation .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: .3rem;
	height: .3rem;
	margin-inline-start: .4rem;
	border-inline-end: 1.5px solid currentColor;
	border-block-end: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	opacity: .6;
}

.main-navigation .sub-menu {
	position: absolute;
	top: calc(100% + .35rem);
	inset-inline-start: 0;
	min-width: 252px;
	display: block;
	flex-direction: column;
	background: var(--pc-surface);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	box-shadow: 0 26px 54px -22px rgba(0, 0, 0, .96);
	padding: .4rem;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-5px);
	transition: opacity .16s var(--pc-ease), transform .16s var(--pc-ease), visibility .16s;
}

.main-navigation li:hover > .sub-menu,
.main-navigation li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.main-navigation .sub-menu a {
	padding: .5rem .7rem;
	font-size: .845rem;
	color: var(--pc-text-2);
}

/* Header actions */
.site-header__actions {
	display: flex;
	align-items: center;
	gap: .5rem;
	flex: none;
}

.menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	background: var(--pc-surface-2);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius);
	color: var(--pc-text);
	cursor: pointer;
}

@media (min-width: 1024px) {
	.menu-toggle {
		display: none;
	}
}

.menu-toggle span {
	position: relative;
	display: block;
	width: 17px;
	height: 1.5px;
	background: currentColor;
	transition: transform .2s var(--pc-ease), opacity .2s var(--pc-ease);
}

.menu-toggle span::before,
.menu-toggle span::after {
	content: "";
	position: absolute;
	inset-inline-start: 0;
	width: 17px;
	height: 1.5px;
	background: currentColor;
	transition: transform .2s var(--pc-ease);
}

.menu-toggle span::before {
	top: -5.5px;
}

.menu-toggle span::after {
	top: 5.5px;
}

.menu-toggle[aria-expanded="true"] span {
	background: transparent;
}

.menu-toggle[aria-expanded="true"] span::before {
	transform: translateY(5.5px) rotate(45deg);
}

.menu-toggle[aria-expanded="true"] span::after {
	transform: translateY(-5.5px) rotate(-45deg);
}

/* Mobile drawer */
.pc-drawer {
	display: none;
	border-block-start: 1px solid var(--pc-hairline);
	background: var(--pc-ink-2);
	max-height: calc(100vh - var(--pc-header-h));
	overflow-y: auto;
	overscroll-behavior: contain;
	-webkit-overflow-scrolling: touch;
}

.pc-drawer.is-open {
	display: block;
}

@media (min-width: 1024px) {
	.pc-drawer,
	.pc-drawer.is-open {
		display: none;
	}
}

.pc-drawer__inner {
	padding-block: 1rem 1.5rem;
}

.pc-drawer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.pc-drawer li + li {
	border-block-start: 1px solid var(--pc-hairline-soft);
}

.pc-drawer a {
	display: block;
	padding: .82rem .2rem;
	font-size: .96rem;
	font-weight: 500;
	color: var(--pc-text);
}

.pc-drawer .sub-menu {
	padding-inline-start: 1rem;
	border-inline-start: 1px solid var(--pc-hairline);
	margin-block-end: .5rem;
}

.pc-drawer .sub-menu a {
	font-size: .89rem;
	font-weight: 400;
	color: var(--pc-text-2);
	padding-block: .6rem;
}

.pc-drawer__label {
	font-family: var(--pc-font-mono);
	font-size: .68rem;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--pc-text-3);
	margin: 1.5rem 0 .5rem;
}

.pc-drawer .pc-btn {
	width: 100%;
	margin-block-start: 1.15rem;
}

/* ==========================================================================
   06 — Buttons / CTA
   ========================================================================== */

.pc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: .74rem 1.28rem;
	font-family: var(--pc-font-body);
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.25;
	letter-spacing: -.005em;
	text-align: center;
	border: 1px solid transparent;
	border-radius: var(--pc-radius);
	cursor: pointer;
	transition: transform .16s var(--pc-ease), background .16s var(--pc-ease), box-shadow .16s var(--pc-ease), border-color .16s var(--pc-ease);
	text-decoration: none !important;
	min-height: 44px;
}

.pc-btn:hover {
	transform: translateY(-1px);
}

.pc-btn:active {
	transform: translateY(0);
}

.pc-btn--primary {
	background: var(--pc-amber);
	color: var(--pc-text-inv) !important;
	box-shadow: 0 8px 22px -14px rgba(255, 176, 31, .9);
}

.pc-btn--primary:hover {
	background: #ffc247;
	box-shadow: 0 12px 26px -12px rgba(255, 176, 31, .95);
}

.pc-btn--secondary {
	background: transparent;
	border-color: var(--pc-hairline);
	color: var(--pc-text) !important;
}

.pc-btn--secondary:hover {
	border-color: var(--pc-text-3);
	background: var(--pc-surface-2);
}

.pc-btn--mint {
	background: var(--pc-mint);
	color: var(--pc-text-inv) !important;
	box-shadow: 0 8px 22px -14px rgba(36, 214, 164, .9);
}

.pc-btn--mint:hover {
	background: #3ee6b7;
}

.pc-btn--sm {
	padding: .55rem .95rem;
	font-size: .83rem;
	min-height: 38px;
}

.pc-btn--lg {
	padding: .92rem 1.6rem;
	font-size: .98rem;
	min-height: 50px;
}

.pc-btn__ext {
	width: .72em;
	height: .72em;
	flex: none;
	opacity: .8;
}

.pc-btn-row {
	display: flex;
	flex-wrap: wrap;
	gap: .7rem;
	margin-block: 1.6rem;
}

.pc-btn-row .pc-btn {
	flex: 1 1 auto;
	min-width: 0;
}

@media (min-width: 560px) {
	.pc-btn-row .pc-btn {
		flex: 0 0 auto;
	}
}

/* Header CTA hidden on the smallest screens — sticky bottom bar covers it.
   The secondary button only appears once there is genuinely room for it: the
   desktop nav returns at 1024px, and locales with long labels (German
   "Wallet-Konto eröffnen", Turkish "Pi cüzdan hesabı açın") need considerably
   more width than English before both buttons fit beside it. */
.site-header__actions .pc-btn {
	display: none;
}

@media (min-width: 480px) {
	.site-header__actions .pc-btn--primary {
		display: inline-flex;
	}
}

@media (min-width: 1280px) {
	.site-header__actions .pc-btn--secondary {
		display: inline-flex;
	}
}

/* Never let a long label push the header past the viewport. */
.site-header__bar {
	flex-wrap: nowrap;
}

.site-header__actions {
	min-width: 0;
}

.site-header__actions .pc-btn {
	white-space: nowrap;
}

@media (min-width: 1024px) and (max-width: 1279px) {
	.site-header__actions .pc-btn--sm {
		padding-inline: .72rem;
	}
}

/* ==========================================================================
   07 — Hero
   ========================================================================== */

.pc-hero {
	position: relative;
	overflow: hidden;
	border-block-end: 1px solid var(--pc-hairline);
	padding-block: clamp(2.25rem, 6.5vw, 4.5rem) clamp(2.5rem, 7vw, 4.75rem);
	background:
		radial-gradient(120% 85% at 8% -10%, rgba(255, 176, 31, .13), transparent 55%),
		radial-gradient(90% 70% at 96% 4%, rgba(139, 108, 240, .12), transparent 58%),
		var(--pc-ink);
}

.pc-hero__grid {
	display: grid;
	gap: clamp(2rem, 5vw, 3.5rem);
	align-items: center;
}

@media (min-width: 940px) {
	.pc-hero__grid {
		grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
	}
}

.pc-hero h1 {
	margin-block-end: 1.05rem;
}

.pc-hero h1 em {
	font-style: normal;
	color: var(--pc-amber);
}

.pc-hero__media {
	position: relative;
}

.pc-hero__media img {
	width: 100%;
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	box-shadow: var(--pc-shadow);
}

/* Corner brackets — the recurring "measured / audited" motif. */
.pc-brackets {
	position: relative;
}

.pc-brackets::before,
.pc-brackets::after {
	content: "";
	position: absolute;
	width: 16px;
	height: 16px;
	border: 1.5px solid var(--pc-amber);
	opacity: .55;
	pointer-events: none;
}

.pc-brackets::before {
	top: -6px;
	inset-inline-start: -6px;
	border-inline-end: 0;
	border-block-end: 0;
}

.pc-brackets::after {
	bottom: -6px;
	inset-inline-end: -6px;
	border-inline-start: 0;
	border-block-start: 0;
}

/* ==========================================================================
   08 — Disclaimer badge (hero, subtle + hover tooltip)
   ========================================================================== */

.pc-disclaimer-chip {
	display: inline-flex;
	align-items: center;
	gap: .42rem;
	position: relative;
	margin-block-start: 1.5rem;
	padding: .3rem .6rem;
	font-family: var(--pc-font-mono);
	font-size: .655rem;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--pc-text-3);
	background: rgba(255, 255, 255, .022);
	border: 1px dashed var(--pc-hairline);
	border-radius: 999px;
	cursor: help;
	transition: color .18s var(--pc-ease), border-color .18s var(--pc-ease), background .18s var(--pc-ease);
	max-width: 100%;
}

.pc-disclaimer-chip:hover,
.pc-disclaimer-chip:focus-visible {
	color: var(--pc-amber);
	border-color: var(--pc-amber);
	background: var(--pc-amber-wash);
}

.pc-disclaimer-chip__dot {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--pc-coral);
	flex: none;
}

.pc-disclaimer-chip__pop {
	position: absolute;
	bottom: calc(100% + .55rem);
	inset-inline-start: 0;
	width: min(21rem, calc(100vw - 2.6rem));
	padding: .8rem .9rem;
	background: var(--pc-surface);
	border: 1px solid var(--pc-amber);
	border-radius: var(--pc-radius-lg);
	box-shadow: 0 24px 48px -20px rgba(0, 0, 0, .96);
	font-family: var(--pc-font-body);
	font-size: .795rem;
	line-height: 1.6;
	letter-spacing: 0;
	text-transform: none;
	color: var(--pc-text-2);
	opacity: 0;
	visibility: hidden;
	transform: translateY(4px);
	transition: opacity .18s var(--pc-ease), transform .18s var(--pc-ease), visibility .18s;
	z-index: 20;
}

.pc-disclaimer-chip:hover .pc-disclaimer-chip__pop,
.pc-disclaimer-chip:focus-visible .pc-disclaimer-chip__pop,
.pc-disclaimer-chip:focus-within .pc-disclaimer-chip__pop {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.pc-disclaimer-chip__pop strong {
	color: var(--pc-amber);
	display: block;
	margin-block-end: .3rem;
	font-family: var(--pc-font-mono);
	font-size: .69rem;
	letter-spacing: .1em;
	text-transform: uppercase;
}

/* ==========================================================================
   09 — Panels / cards
   ========================================================================== */

.pc-panel {
	background: var(--pc-surface);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	padding: clamp(1.1rem, 3vw, 1.65rem);
	box-shadow: var(--pc-shadow);
}

.pc-panel--flush {
	padding: 0;
	overflow: hidden;
}

.pc-grid {
	display: grid;
	gap: 1rem;
	grid-template-columns: 1fr;
}

@media (min-width: 620px) {
	.pc-grid--2,
	.pc-grid--4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 860px) {
	.pc-grid--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.pc-grid--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (min-width: 620px) and (max-width: 859px) {
	.pc-grid--3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

/* Feature card */
.pc-card {
	position: relative;
	background: var(--pc-surface);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	padding: 1.35rem 1.3rem;
	transition: border-color .18s var(--pc-ease), transform .18s var(--pc-ease), background .18s var(--pc-ease);
	height: 100%;
	display: flex;
	flex-direction: column;
}

.pc-card:hover {
	border-color: var(--pc-surface-3);
	background: var(--pc-surface-2);
}

a.pc-card:hover {
	border-color: var(--pc-amber-dim);
	transform: translateY(-2px);
	text-decoration: none;
}

.pc-card__num {
	font-family: var(--pc-font-mono);
	font-size: .7rem;
	font-weight: 500;
	letter-spacing: .14em;
	color: var(--pc-amber);
	margin-block-end: .8rem;
	display: block;
}

.pc-card h3,
.pc-card h4 {
	margin: 0 0 .5rem;
	font-size: 1.045rem;
	letter-spacing: -.016em;
}

.pc-card p {
	margin: 0;
	font-size: .91rem;
	line-height: 1.66;
	color: var(--pc-text-2);
}

.pc-card p + p {
	margin-block-start: .7rem;
}

.pc-card__more {
	margin-block-start: auto;
	padding-block-start: .95rem;
	font-family: var(--pc-font-mono);
	font-size: .72rem;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--pc-amber);
	display: inline-flex;
	align-items: center;
	gap: .35rem;
}

a.pc-card:hover .pc-card__more {
	gap: .6rem;
}

.pc-card__icon {
	width: 34px;
	height: 34px;
	margin-block-end: .9rem;
	color: var(--pc-amber);
}

/* ==========================================================================
   10 — Stat strip
   ========================================================================== */

.pc-stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	background: var(--pc-hairline);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	overflow: hidden;
	margin-block: 1.9rem;
}

@media (min-width: 760px) {
	.pc-stats--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}

	.pc-stats--3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.pc-stat {
	background: var(--pc-ink-2);
	padding: 1.05rem 1.1rem;
}

.pc-stat__k {
	display: block;
	font-family: var(--pc-font-mono);
	font-size: .655rem;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--pc-text-3);
	margin-block-end: .45rem;
	line-height: 1.4;
}

.pc-stat__v {
	display: block;
	font-family: var(--pc-font-display);
	font-size: clamp(1.15rem, 3.6vw, 1.52rem);
	font-weight: 700;
	letter-spacing: -.028em;
	color: #fff;
	font-variant-numeric: tabular-nums;
	line-height: 1.15;
}

.pc-stat__v--amber {
	color: var(--pc-amber);
}

.pc-stat__v--mint {
	color: var(--pc-mint);
}

.pc-stat__n {
	display: block;
	font-size: .755rem;
	color: var(--pc-text-3);
	margin-block-start: .3rem;
	line-height: 1.5;
}

/* ==========================================================================
   11 — Tables
   ========================================================================== */

.pc-table-wrap,
.wp-block-table {
	margin-block: 1.75rem;
	max-width: 100%;
}

.pc-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	background: var(--pc-surface);
	scrollbar-width: thin;
}

.wp-block-table {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.pc-table-wrap::after {
	content: "";
}

table {
	width: 100%;
	min-width: 34rem;
	border-collapse: collapse;
	font-size: .875rem;
	line-height: 1.55;
}

.pc-table-wrap > table {
	min-width: 40rem;
}

thead th {
	position: sticky;
	top: 0;
	z-index: 2;
	background: var(--pc-surface-3);
	color: #fff;
	font-family: var(--pc-font-mono);
	font-size: .695rem;
	font-weight: 600;
	letter-spacing: .11em;
	text-transform: uppercase;
	text-align: start;
	padding: .78rem .9rem;
	border-block-end: 1px solid var(--pc-hairline);
	white-space: nowrap;
}

tbody td,
tbody th {
	padding: .78rem .9rem;
	border-block-start: 1px solid var(--pc-hairline-soft);
	vertical-align: top;
	color: var(--pc-text-2);
}

tbody th {
	color: #fff;
	font-weight: 600;
	text-align: start;
}

tbody tr:nth-child(even) td,
tbody tr:nth-child(even) th {
	background: rgba(255, 255, 255, .014);
}

tbody tr:hover td,
tbody tr:hover th {
	background: var(--pc-amber-wash);
}

td strong {
	color: #fff;
}

.pc-num {
	font-family: var(--pc-font-mono);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

caption,
.wp-block-table figcaption {
	caption-side: bottom;
	text-align: start;
	font-size: .785rem;
	color: var(--pc-text-3);
	padding: .7rem .1rem 0;
	line-height: 1.55;
}

/* Yes / no / partial pills inside tables */
.pc-pill {
	display: inline-block;
	font-family: var(--pc-font-mono);
	font-size: .655rem;
	font-weight: 600;
	letter-spacing: .07em;
	text-transform: uppercase;
	padding: .18rem .48rem;
	border-radius: 999px;
	border: 1px solid;
	white-space: nowrap;
}

.pc-pill--yes {
	color: var(--pc-mint);
	border-color: rgba(36, 214, 164, .4);
	background: var(--pc-mint-wash);
}

.pc-pill--no {
	color: var(--pc-coral);
	border-color: rgba(255, 107, 94, .4);
	background: var(--pc-coral-wash);
}

.pc-pill--part {
	color: var(--pc-amber);
	border-color: rgba(255, 176, 31, .4);
	background: var(--pc-amber-wash);
}

.pc-pill--info {
	color: var(--pc-text-2);
	border-color: var(--pc-hairline);
	background: rgba(255, 255, 255, .03);
}

.pc-scroll-hint {
	display: block;
	font-family: var(--pc-font-mono);
	font-size: .655rem;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--pc-text-3);
	margin-block-start: .55rem;
}

@media (min-width: 760px) {
	.pc-scroll-hint {
		display: none;
	}
}

/* ==========================================================================
   12 — Callouts
   ========================================================================== */

.pc-callout,
.wp-block-quote {
	position: relative;
	margin-block: 1.85rem;
	padding: 1.15rem 1.25rem;
	background: var(--pc-surface);
	border: 1px solid var(--pc-hairline);
	border-inline-start: 3px solid var(--pc-text-3);
	border-radius: var(--pc-radius);
	font-size: .945rem;
	line-height: 1.68;
	color: var(--pc-text-2);
	max-width: var(--pc-prose);
}

.pc-callout > :last-child,
.wp-block-quote > :last-child {
	margin-block-end: 0;
}

.pc-callout__label {
	display: flex;
	align-items: center;
	gap: .45rem;
	font-family: var(--pc-font-mono);
	font-size: .68rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin-block-end: .55rem;
	color: var(--pc-text-3);
}

.pc-callout--risk {
	border-inline-start-color: var(--pc-coral);
	background: linear-gradient(90deg, var(--pc-coral-wash), transparent 62%), var(--pc-surface);
}

.pc-callout--risk .pc-callout__label {
	color: var(--pc-coral);
}

.pc-callout--verdict {
	border-inline-start-color: var(--pc-mint);
	background: linear-gradient(90deg, var(--pc-mint-wash), transparent 62%), var(--pc-surface);
}

.pc-callout--verdict .pc-callout__label {
	color: var(--pc-mint);
}

.pc-callout--note {
	border-inline-start-color: var(--pc-amber);
	background: linear-gradient(90deg, var(--pc-amber-wash), transparent 62%), var(--pc-surface);
}

.pc-callout--note .pc-callout__label {
	color: var(--pc-amber);
}

.pc-callout--source {
	border-inline-start-color: var(--pc-violet);
	background: linear-gradient(90deg, var(--pc-violet-wash), transparent 62%), var(--pc-surface);
	font-size: .875rem;
}

.pc-callout--source .pc-callout__label {
	color: var(--pc-violet);
}

/* The big foolproof stop-block used in transfer guides. */
.pc-stopblock {
	margin-block: 2.1rem;
	border: 2px solid var(--pc-coral);
	border-radius: var(--pc-radius-lg);
	background:
		repeating-linear-gradient(135deg, rgba(255, 107, 94, .07) 0 12px, transparent 12px 24px),
		var(--pc-ink-2);
	padding: clamp(1.1rem, 3.4vw, 1.7rem);
	max-width: var(--pc-prose);
}

.pc-stopblock__head {
	display: flex;
	align-items: center;
	gap: .6rem;
	font-family: var(--pc-font-mono);
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--pc-coral);
	margin-block-end: .8rem;
}

.pc-stopblock__head svg {
	width: 1.35rem;
	height: 1.35rem;
	flex: none;
}

.pc-stopblock p {
	font-size: clamp(1rem, 2.5vw, 1.1rem);
	line-height: 1.6;
	color: var(--pc-text);
	margin-block-end: .8rem;
}

.pc-stopblock p:last-child {
	margin-block-end: 0;
}

.pc-stopblock strong {
	color: #fff;
	background: rgba(255, 107, 94, .18);
	padding: 0 .22em;
	border-radius: 2px;
}

/* ==========================================================================
   13 — Steps
   ========================================================================== */

.pc-steps {
	list-style: none;
	counter-reset: pcstep;
	margin: 1.9rem 0;
	padding: 0 !important;
	max-width: var(--pc-prose);
}

.pc-steps > li {
	counter-increment: pcstep;
	position: relative;
	padding: 0 0 1.5rem 0 !important;
	padding-inline-start: 3.1rem !important;
	margin: 0 !important;
}

.pc-steps > li::before {
	content: counter(pcstep, decimal-leading-zero);
	position: absolute;
	inset-inline-start: 0;
	top: 0;
	width: 2.15rem;
	height: 2.15rem;
	display: grid;
	place-items: center;
	background: var(--pc-surface-2);
	border: 1px solid var(--pc-amber-dim);
	border-radius: var(--pc-radius);
	font-family: var(--pc-font-mono);
	font-size: .78rem;
	font-weight: 600;
	color: var(--pc-amber);
}

/* Connector line between steps */
.pc-steps > li::after {
	content: "";
	position: absolute;
	inset-inline-start: 1.07rem;
	top: 2.35rem;
	bottom: .35rem;
	width: 1px;
	background: var(--pc-hairline);
}

.pc-steps > li:last-child {
	padding-block-end: 0 !important;
}

.pc-steps > li:last-child::after {
	display: none;
}

.pc-steps h3,
.pc-steps h4,
.pc-steps__title {
	margin: .12rem 0 .5rem;
	font-size: 1.06rem;
	font-family: var(--pc-font-display);
	font-weight: 700;
	color: #fff;
	letter-spacing: -.017em;
	line-height: 1.3;
}

.pc-steps p {
	margin-block-end: .8rem;
	font-size: .945rem;
}

.pc-steps p:last-child {
	margin-block-end: 0;
}

/* ==========================================================================
   14 — FAQ (details/summary, no JS required)
   ========================================================================== */

.pc-faq {
	margin-block: 1.9rem;
	max-width: var(--pc-prose);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	overflow: hidden;
	background: var(--pc-surface);
}

.pc-faq__item + .pc-faq__item {
	border-block-start: 1px solid var(--pc-hairline);
}

.pc-faq__q {
	display: flex;
	align-items: flex-start;
	gap: .8rem;
	padding: 1rem 1.1rem;
	cursor: pointer;
	font-family: var(--pc-font-display);
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	letter-spacing: -.014em;
	line-height: 1.45;
	list-style: none;
	transition: background .16s var(--pc-ease);
}

.pc-faq__q::-webkit-details-marker {
	display: none;
}

.pc-faq__q:hover {
	background: var(--pc-surface-2);
}

.pc-faq__q::after {
	content: "";
	flex: none;
	width: .58rem;
	height: .58rem;
	margin-inline-start: auto;
	margin-block-start: .38rem;
	border-inline-end: 1.8px solid var(--pc-amber);
	border-block-end: 1.8px solid var(--pc-amber);
	transform: rotate(45deg);
	transition: transform .2s var(--pc-ease);
}

.pc-faq__item[open] .pc-faq__q::after {
	transform: rotate(-135deg);
}

.pc-faq__item[open] .pc-faq__q {
	background: var(--pc-surface-2);
}

.pc-faq__a {
	padding: 0 1.1rem 1.15rem;
	font-size: .93rem;
	line-height: 1.7;
	color: var(--pc-text-2);
}

.pc-faq__a > :first-child {
	margin-block-start: .2rem;
}

.pc-faq__a > :last-child {
	margin-block-end: 0;
}

/* ==========================================================================
   15 — Table of contents
   ========================================================================== */

.pc-toc {
	margin-block: 2rem;
	padding: 1.15rem 1.25rem;
	background: var(--pc-ink-2);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	max-width: var(--pc-prose);
}

.pc-toc__title {
	font-family: var(--pc-font-mono);
	font-size: .69rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--pc-text-3);
	margin: 0 0 .8rem;
}

.pc-toc ol {
	list-style: none;
	counter-reset: pctoc;
	margin: 0;
	padding: 0 !important;
	columns: 1;
}

@media (min-width: 680px) {
	.pc-toc ol {
		columns: 2;
		column-gap: 1.75rem;
	}
}

.pc-toc li {
	counter-increment: pctoc;
	margin-block-end: .42em !important;
	padding-inline-start: 0 !important;
	break-inside: avoid;
	font-size: .89rem;
	line-height: 1.5;
}

.pc-toc a {
	color: var(--pc-text-2);
	display: inline-flex;
	gap: .5rem;
}

.pc-toc a::before {
	content: counter(pctoc, decimal-leading-zero);
	font-family: var(--pc-font-mono);
	font-size: .74rem;
	color: var(--pc-amber);
	flex: none;
	opacity: .8;
}

.pc-toc a:hover {
	color: #fff;
	text-decoration: none;
}

/* ==========================================================================
   16 — CTA banner
   ========================================================================== */

.pc-cta {
	position: relative;
	overflow: hidden;
	margin-block: 2.4rem;
	padding: clamp(1.35rem, 4vw, 2.15rem);
	border: 1px solid var(--pc-amber-dim);
	border-radius: var(--pc-radius-lg);
	background:
		radial-gradient(110% 130% at 100% 0%, rgba(255, 176, 31, .16), transparent 60%),
		var(--pc-ink-2);
}

/* Diagonal amber tape motif */
.pc-cta::after {
	content: "";
	position: absolute;
	top: -30%;
	inset-inline-end: -12%;
	width: 46%;
	height: 160%;
	background: repeating-linear-gradient(135deg, rgba(255, 176, 31, .085) 0 9px, transparent 9px 22px);
	transform: rotate(-8deg);
	pointer-events: none;
}

.pc-cta > * {
	position: relative;
	z-index: 1;
}

.pc-cta h2,
.pc-cta h3,
.pc-cta__title {
	margin: 0 0 .6rem;
	font-size: clamp(1.22rem, 3.3vw, 1.68rem);
	max-width: 30ch;
	letter-spacing: -.024em;
	padding: 0;
	border: 0;
}

.pc-cta h2::before {
	display: none;
}

.pc-cta p {
	margin: 0 0 1.25rem;
	color: var(--pc-text-2);
	max-width: 58ch;
	font-size: .95rem;
}

.pc-cta__note {
	margin: 1rem 0 0 !important;
	font-size: .755rem !important;
	color: var(--pc-text-3) !important;
	line-height: 1.55;
	max-width: 62ch;
}

.pc-cta--wide {
	max-width: 100%;
}

/* Inline mid-article CTA, lighter weight */
.pc-cta--inline {
	max-width: var(--pc-prose);
	padding: 1.15rem 1.25rem;
	display: grid;
	gap: 1rem;
	align-items: center;
}

@media (min-width: 720px) {
	.pc-cta--inline {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.pc-cta--inline .pc-btn-row {
		margin: 0;
	}
}

.pc-cta--inline .pc-cta__title {
	font-size: 1.09rem;
	margin-block-end: .35rem;
}

.pc-cta--inline p {
	margin: 0;
	font-size: .89rem;
}

/* ==========================================================================
   17 — Sticky mobile CTA bar
   ========================================================================== */

.pc-stickybar {
	position: fixed;
	inset-inline: 0;
	bottom: 0;
	z-index: 80;
	display: flex;
	gap: .55rem;
	padding: .6rem .8rem calc(.6rem + env(safe-area-inset-bottom));
	background: rgba(14, 18, 24, .96);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border-block-start: 1px solid var(--pc-hairline);
	transform: translateY(105%);
	transition: transform .28s var(--pc-ease);
}

.pc-stickybar.is-visible {
	transform: translateY(0);
}

.pc-stickybar .pc-btn {
	flex: 1 1 0;
	min-width: 0;
	font-size: .855rem;
	padding-inline: .7rem;
}

@media (min-width: 720px) {
	.pc-stickybar {
		display: none;
	}
}

@media (max-width: 719px) {
	body.has-stickybar {
		padding-block-end: 4.5rem;
	}
}

/* ==========================================================================
   18 — Comparison / pros-cons
   ========================================================================== */

.pc-proscons {
	display: grid;
	gap: 1rem;
	margin-block: 1.9rem;
	max-width: var(--pc-prose);
}

@media (min-width: 620px) {
	.pc-proscons {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.pc-proscons__col {
	background: var(--pc-surface);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	padding: 1.1rem 1.2rem;
}

.pc-proscons__col h4 {
	margin: 0 0 .85rem;
	font-family: var(--pc-font-mono);
	font-size: .71rem;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
}

.pc-proscons__col--pro {
	border-block-start: 2px solid var(--pc-mint);
}

.pc-proscons__col--pro h4 {
	color: var(--pc-mint);
}

.pc-proscons__col--con {
	border-block-start: 2px solid var(--pc-coral);
}

.pc-proscons__col--con h4 {
	color: var(--pc-coral);
}

.pc-proscons ul {
	margin: 0 !important;
	padding-inline-start: 0 !important;
	list-style: none;
}

.pc-proscons li {
	position: relative;
	padding-inline-start: 1.2rem !important;
	margin-block-end: .6em !important;
	font-size: .9rem;
	line-height: 1.62;
	color: var(--pc-text-2);
}

.pc-proscons li:last-child {
	margin-block-end: 0 !important;
}

.pc-proscons li::before {
	position: absolute;
	inset-inline-start: 0;
	font-family: var(--pc-font-mono);
	font-weight: 700;
}

.pc-proscons__col--pro li::before {
	content: "+";
	color: var(--pc-mint);
}

.pc-proscons__col--con li::before {
	content: "\2013";
	color: var(--pc-coral);
}

/* Verdict box with score */
.pc-verdict {
	margin-block: 2rem;
	max-width: var(--pc-prose);
	border: 1px solid var(--pc-hairline);
	border-block-start: 2px solid var(--pc-mint);
	border-radius: var(--pc-radius-lg);
	background: var(--pc-surface);
	padding: 1.25rem 1.3rem;
}

.pc-verdict__head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .7rem;
	margin-block-end: .75rem;
}

.pc-verdict__label {
	font-family: var(--pc-font-mono);
	font-size: .71rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--pc-mint);
}

.pc-verdict__score {
	font-family: var(--pc-font-display);
	font-size: 1.05rem;
	font-weight: 700;
	color: #fff;
	font-variant-numeric: tabular-nums;
}

/* ==========================================================================
   19 — Author / review meta
   ========================================================================== */

.pc-byline {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .55rem .95rem;
	margin-block: 1.6rem 2.1rem;
	padding-block: .95rem;
	border-block: 1px solid var(--pc-hairline);
	font-family: var(--pc-font-mono);
	font-size: .715rem;
	letter-spacing: .06em;
	color: var(--pc-text-3);
	text-transform: uppercase;
	max-width: var(--pc-prose);
}

.pc-byline strong {
	color: var(--pc-text-2);
	font-weight: 600;
}

.pc-byline__sep {
	width: 1px;
	height: .9rem;
	background: var(--pc-hairline);
}

.pc-byline a {
	color: var(--pc-text-2);
	text-decoration: underline;
	text-decoration-color: var(--pc-hairline);
}

/* ==========================================================================
   20 — Breadcrumbs
   ========================================================================== */

.pc-breadcrumbs {
	padding-block: .95rem;
	border-block-end: 1px solid var(--pc-hairline-soft);
	font-family: var(--pc-font-mono);
	font-size: .715rem;
	letter-spacing: .05em;
	color: var(--pc-text-3);
	overflow-x: auto;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}

.pc-breadcrumbs::-webkit-scrollbar {
	display: none;
}

.pc-breadcrumbs ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: .5rem;
}

.pc-breadcrumbs li {
	display: flex;
	align-items: center;
	gap: .5rem;
	margin: 0;
}

.pc-breadcrumbs li:not(:last-child)::after {
	content: "/";
	color: var(--pc-hairline);
}

.pc-breadcrumbs a {
	color: var(--pc-text-2);
}

.pc-breadcrumbs [aria-current="page"] {
	color: var(--pc-text-3);
}

/* ==========================================================================
   21 — Related links / next steps
   ========================================================================== */

.pc-next {
	margin-block: 2.4rem;
	max-width: 100%;
}

.pc-next__title {
	font-family: var(--pc-font-mono);
	font-size: .71rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--pc-text-3);
	margin: 0 0 1rem;
}

.pc-linklist {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	border-block-start: 1px solid var(--pc-hairline);
}

.pc-linklist li {
	margin: 0 !important;
	padding: 0 !important;
	border-block-end: 1px solid var(--pc-hairline);
}

.pc-linklist a {
	display: flex;
	align-items: baseline;
	gap: .85rem;
	padding: .95rem .2rem;
	color: var(--pc-text-2);
	transition: background .16s var(--pc-ease), padding-inline-start .16s var(--pc-ease);
}

.pc-linklist a:hover {
	background: var(--pc-surface);
	color: #fff;
	text-decoration: none;
	padding-inline-start: .6rem;
}

.pc-linklist__idx {
	font-family: var(--pc-font-mono);
	font-size: .7rem;
	color: var(--pc-amber);
	flex: none;
	opacity: .85;
}

.pc-linklist__t {
	font-weight: 500;
	font-size: .955rem;
}

.pc-linklist__d {
	display: block;
	font-size: .845rem;
	color: var(--pc-text-3);
	margin-block-start: .18rem;
	font-weight: 400;
}

/* ==========================================================================
   22 — Figures
   ========================================================================== */

figure,
.wp-block-image {
	margin: 2rem 0;
}

.wp-block-image img {
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	width: 100%;
}

.wp-block-image.is-style-plain img {
	border: 0;
	border-radius: 0;
}

figcaption,
.wp-block-image figcaption {
	margin-block-start: .7rem;
	font-size: .795rem;
	line-height: 1.58;
	color: var(--pc-text-3);
	text-align: start;
	max-width: var(--pc-prose);
}

figcaption a {
	color: var(--pc-text-2);
	text-decoration: underline;
	text-decoration-color: var(--pc-hairline);
}

.alignwide {
	max-width: min(1080px, 100%) !important;
}

.alignfull {
	max-width: 100% !important;
}

.aligncenter {
	margin-inline: auto;
}

/* Inline SVG diagram frame */
.pc-diagram {
	margin-block: 2.1rem;
	padding: clamp(.9rem, 3vw, 1.5rem);
	background: var(--pc-ink-2);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.pc-diagram svg {
	width: 100%;
	min-width: 20rem;
	height: auto;
	display: block;
}

.pc-diagram figcaption {
	margin-block-start: 1rem;
}

/* ==========================================================================
   23 — Footer
   ========================================================================== */

.site-footer {
	margin-block-start: 3rem;
	border-block-start: 1px solid var(--pc-hairline);
	background: var(--pc-ink-2);
	padding-block: clamp(2.25rem, 6vw, 3.25rem) 1.5rem;
	font-size: .885rem;
}

.site-footer__grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: 1fr;
}

@media (min-width: 700px) {
	.site-footer__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 1000px) {
	.site-footer__grid {
		grid-template-columns: 1.5fr 1fr 1fr 1fr;
		gap: 2.4rem;
	}
}

.site-footer h2,
.site-footer .widget-title {
	font-family: var(--pc-font-mono);
	font-size: .69rem;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--pc-text-3);
	margin: 0 0 1rem;
	padding: 0;
	border: 0;
}

.site-footer h2::before {
	display: none;
}

.site-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.site-footer li {
	margin-block-end: .58rem;
}

.site-footer li a {
	color: var(--pc-text-2);
	font-size: .885rem;
}

.site-footer li a:hover {
	color: var(--pc-amber);
}

.site-footer__about p {
	color: var(--pc-text-2);
	font-size: .885rem;
	line-height: 1.68;
	max-width: 40ch;
}

.site-footer__brand {
	display: flex;
	align-items: center;
	gap: .6rem;
	margin-block-end: 1rem;
}

.site-footer__brand svg {
	width: 28px;
	height: 28px;
	flex: none;
}

.site-footer__brand strong {
	font-family: var(--pc-font-display);
	font-size: 1.02rem;
	letter-spacing: -.024em;
	color: #fff;
}

.site-footer__brand span {
	color: var(--pc-amber);
}

/* Footer disclaimer — the required clear statement */
.pc-footer-disclaimer {
	margin-block-start: 2.4rem;
	padding: 1.05rem 1.15rem;
	background: rgba(255, 107, 94, .05);
	border: 1px solid rgba(255, 107, 94, .28);
	border-radius: var(--pc-radius-lg);
}

.pc-footer-disclaimer__label {
	display: flex;
	align-items: center;
	gap: .45rem;
	font-family: var(--pc-font-mono);
	font-size: .675rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--pc-coral);
	margin-block-end: .5rem;
}

.pc-footer-disclaimer p {
	margin: 0;
	font-size: .795rem;
	line-height: 1.68;
	color: var(--pc-text-2);
	max-width: 92ch;
}

.pc-footer-disclaimer p + p {
	margin-block-start: .55rem;
}

.pc-footer-disclaimer a {
	color: var(--pc-text-2);
	text-decoration: underline;
	text-decoration-color: rgba(255, 107, 94, .5);
}

.site-info {
	margin-block-start: 1.75rem;
	padding-block-start: 1.35rem;
	border-block-start: 1px solid var(--pc-hairline);
	display: flex;
	flex-wrap: wrap;
	gap: .6rem 1.35rem;
	align-items: center;
	font-family: var(--pc-font-mono);
	font-size: .69rem;
	letter-spacing: .05em;
	color: var(--pc-text-3);
	text-transform: uppercase;
}

.site-info a {
	color: var(--pc-text-3);
}

.site-info a:hover {
	color: var(--pc-amber);
}

.site-info__spacer {
	margin-inline-start: auto;
}

/* ==========================================================================
   24 — Language switcher
   ========================================================================== */

.pc-langs {
	position: relative;
	flex: none;
}

.pc-langs__btn {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	height: 40px;
	padding-inline: .7rem;
	background: var(--pc-surface-2);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius);
	color: var(--pc-text-2);
	font-family: var(--pc-font-mono);
	font-size: .73rem;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	cursor: pointer;
}

.pc-langs__btn:hover {
	color: #fff;
	border-color: var(--pc-text-3);
}

.pc-langs__btn svg {
	width: 15px;
	height: 15px;
	opacity: .75;
	flex: none;
}

.pc-langs__menu {
	position: absolute;
	top: calc(100% + .4rem);
	inset-inline-end: 0;
	z-index: 95;
	width: min(21rem, calc(100vw - 2rem));
	max-height: 60vh;
	overflow-y: auto;
	overscroll-behavior: contain;
	background: var(--pc-surface);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	box-shadow: 0 26px 56px -22px rgba(0, 0, 0, .96);
	padding: .45rem;
	display: none;
}

.pc-langs__menu.is-open {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
}

.pc-langs__menu a {
	display: flex;
	align-items: baseline;
	gap: .5rem;
	padding: .5rem .6rem;
	border-radius: var(--pc-radius);
	color: var(--pc-text-2);
	font-size: .855rem;
}

.pc-langs__menu a:hover {
	background: var(--pc-surface-2);
	color: #fff;
	text-decoration: none;
}

.pc-langs__menu a[aria-current="true"] {
	color: var(--pc-amber);
	background: var(--pc-amber-wash);
}

.pc-langs__code {
	font-family: var(--pc-font-mono);
	font-size: .68rem;
	color: var(--pc-text-3);
	text-transform: uppercase;
	flex: none;
	min-width: 1.9rem;
}

/* ==========================================================================
   25 — Misc content blocks
   ========================================================================== */

.pc-keyfacts {
	margin-block: 1.9rem;
	max-width: var(--pc-prose);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius-lg);
	overflow: hidden;
}

.pc-keyfacts__head {
	background: var(--pc-surface-3);
	padding: .7rem 1rem;
	font-family: var(--pc-font-mono);
	font-size: .69rem;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #fff;
}

.pc-keyfacts dl {
	margin: 0;
	background: var(--pc-surface);
}

.pc-keyfacts__row {
	display: grid;
	grid-template-columns: 1fr;
	gap: .15rem;
	padding: .78rem 1rem;
	border-block-start: 1px solid var(--pc-hairline-soft);
}

@media (min-width: 560px) {
	.pc-keyfacts__row {
		grid-template-columns: 13rem minmax(0, 1fr);
		gap: 1rem;
		align-items: baseline;
	}
}

.pc-keyfacts dt {
	font-family: var(--pc-font-mono);
	font-size: .74rem;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--pc-text-3);
	margin: 0;
}

.pc-keyfacts dd {
	margin: 0;
	font-size: .93rem;
	color: var(--pc-text);
	line-height: 1.6;
}

/* Definition split — custodial vs non-custodial style */
.pc-split {
	display: grid;
	gap: 1rem;
	margin-block: 2rem;
	max-width: var(--pc-prose);
}

@media (min-width: 640px) {
	.pc-split {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.pc-split__side {
	padding: 1.2rem 1.25rem;
	border-radius: var(--pc-radius-lg);
	border: 1px solid var(--pc-hairline);
	background: var(--pc-surface);
}

.pc-split__side h4 {
	margin: 0 0 .3rem;
	font-size: 1.02rem;
}

.pc-split__side .pc-kicker {
	margin-block-end: .7rem;
}

.pc-split__side p {
	font-size: .9rem;
	color: var(--pc-text-2);
	margin-block-end: 0;
}

.pc-split__side p + p {
	margin-block-start: .7rem;
}

.pc-split__side--a {
	border-block-start: 2px solid var(--pc-violet);
}

.pc-split__side--b {
	border-block-start: 2px solid var(--pc-mint);
}

/* Timeline */
.pc-timeline {
	list-style: none;
	margin: 2rem 0;
	padding: 0 !important;
	max-width: var(--pc-prose);
	border-inline-start: 1px solid var(--pc-hairline);
}

.pc-timeline > li {
	position: relative;
	padding: 0 0 1.6rem !important;
	padding-inline-start: 1.6rem !important;
	margin: 0 !important;
}

.pc-timeline > li::before {
	content: "";
	position: absolute;
	inset-inline-start: -4.5px;
	top: .52rem;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--pc-amber);
	box-shadow: 0 0 0 3px var(--pc-ink);
}

.pc-timeline > li:last-child {
	padding-block-end: 0 !important;
}

.pc-timeline__date {
	display: block;
	font-family: var(--pc-font-mono);
	font-size: .705rem;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--pc-amber);
	margin-block-end: .3rem;
}

.pc-timeline__t {
	display: block;
	font-family: var(--pc-font-display);
	font-weight: 700;
	font-size: 1rem;
	color: #fff;
	margin-block-end: .35rem;
	letter-spacing: -.014em;
}

.pc-timeline p {
	font-size: .915rem;
	margin-block-end: 0;
	color: var(--pc-text-2);
}

/* Updated / freshness stamp */
.pc-stamp {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	font-family: var(--pc-font-mono);
	font-size: .675rem;
	letter-spacing: .11em;
	text-transform: uppercase;
	color: var(--pc-mint);
	padding: .26rem .58rem;
	border: 1px solid rgba(36, 214, 164, .32);
	background: var(--pc-mint-wash);
	border-radius: 999px;
}

.pc-stamp__pulse {
	width: 5px;
	height: 5px;
	border-radius: 50%;
	background: var(--pc-mint);
	flex: none;
}

/* ==========================================================================
   26 — Forms (contact page)
   ========================================================================== */

.pc-form {
	max-width: 34rem;
	margin-block: 1.9rem;
}

.pc-form__row {
	margin-block-end: 1.1rem;
}

.pc-form label {
	display: block;
	font-family: var(--pc-font-mono);
	font-size: .705rem;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--pc-text-3);
	margin-block-end: .45rem;
}

.pc-form input,
.pc-form textarea,
.pc-form select {
	width: 100%;
	padding: .72rem .85rem;
	background: var(--pc-ink-2);
	border: 1px solid var(--pc-hairline);
	border-radius: var(--pc-radius);
	color: var(--pc-text);
	font-family: var(--pc-font-body);
	font-size: .95rem;
	line-height: 1.5;
	min-height: 46px;
}

.pc-form textarea {
	min-height: 8rem;
	resize: vertical;
}

.pc-form input:focus,
.pc-form textarea:focus,
.pc-form select:focus {
	border-color: var(--pc-amber);
	outline: none;
	box-shadow: 0 0 0 3px var(--pc-amber-wash);
}

.pc-form input::placeholder,
.pc-form textarea::placeholder {
	color: var(--pc-text-3);
}

/* ==========================================================================
   27 — Print & motion
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
	}
}

@media print {
	body::before,
	.site-header,
	.pc-stickybar,
	.pc-cta,
	.pc-langs,
	.menu-toggle,
	.pc-drawer {
		display: none !important;
	}

	body {
		background: #fff;
		color: #000;
		font-size: 11pt;
	}

	h1, h2, h3, h4, strong {
		color: #000;
	}

	a {
		color: #000;
		text-decoration: underline;
	}

	.pc-panel, .pc-card, .pc-callout, table {
		border-color: #999 !important;
		background: #fff !important;
	}
}

/* ==========================================================================
   28 — RTL adjustments
   ========================================================================== */

[dir="rtl"] .pc-checklist li::before {
	transform: rotate(-45deg);
}

[dir="rtl"] .main-navigation .menu-item-has-children > a::after {
	transform: translateY(-2px) rotate(45deg);
}

[dir="rtl"] .pc-faq__q::after {
	transform: rotate(135deg);
}

[dir="rtl"] .pc-faq__item[open] .pc-faq__q::after {
	transform: rotate(-45deg);
}

[dir="rtl"] .pc-cta::after {
	transform: rotate(8deg) scaleX(-1);
}

/* The slash separator reads the same in both directions; mirroring it to a
   backslash looked like an escaping bug rather than a deliberate flip. */

/* `isolate`, not `embed`: these runs sit inline beside Arabic/Hebrew text, and
   only isolation stops a neighbouring run from being reordered around them.
   `plaintext` on stat values lets a first-strong-character heuristic pick the
   direction, which is what mixed strings like ">4.4 مليون π" need. */
[dir="rtl"] .pc-toc a::before,
[dir="rtl"] .pc-linklist__idx,
[dir="rtl"] .pc-num {
	direction: ltr;
	unicode-bidi: isolate;
}

[dir="rtl"] .pc-stat__v {
	unicode-bidi: plaintext;
}

[dir="rtl"] code,
[dir="rtl"] pre {
	direction: ltr;
	text-align: start;
	unicode-bidi: isolate;
}

/* Latin product and venue names inside RTL prose. */
[dir="rtl"] .pc-card__num,
[dir="rtl"] .pc-timeline__date,
[dir="rtl"] .pc-stat__k {
	unicode-bidi: plaintext;
}
