/*
Theme Name: Pyraxis
Author: Pyraxis Group
Description: Pyraxis — a dark crimson and gold digital asset exchange theme with a full-bleed Ken Burns hero, live market ticker, featured article grid, fullscreen closing CTA and a minimal single-column footer.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
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: pyraxis
Tags: blog, grid-layout, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ==========================================================================
   Pyraxis — palette: deep black #0A0A0A · dark red #8B0000 · gold #FFD700
               warm gray #F5F0EB · mid gray #666666 · prefix pyx-
   ========================================================================== */

@import url("https://fonts.googleapis.com/css2?family=Cinzel:wght@400;500;600;700;800;900&family=Karla:ital,wght@0,300;0,400;0,500;0,600;0,700;1,400&family=IBM+Plex+Mono:wght@400;500;600;700&display=swap");

:root {
	--pyx-black: #0a0a0a;
	--pyx-black-2: #101010;
	--pyx-black-3: #151515;
	--pyx-red: #8b0000;
	--pyx-red-deep: #4d0000;
	--pyx-red-bright: #b30000;
	--pyx-gold: #ffd700;
	--pyx-gold-soft: #e6c200;
	--pyx-gold-dim: rgba(255, 215, 0, 0.16);
	--pyx-warm: #f5f0eb;
	--pyx-gray: #666666;
	--pyx-gray-light: #9a9a9a;
	--pyx-line: rgba(255, 215, 0, 0.18);
	--pyx-line-soft: rgba(245, 240, 235, 0.1);

	/* Latin display/body come from the webfont pair; CJK falls back to local
	   serif / sans faces so no multi-megabyte webfont is ever downloaded. */
	--pyx-font-display: "Cinzel", "Songti SC", "Noto Serif CJK SC", "SimSun", Georgia, serif;
	--pyx-font-body: "Karla", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
	--pyx-font-mono: "IBM Plex Mono", "SFMono-Regular", Menlo, Consolas, monospace;

	--pyx-shell: 1240px;
	--pyx-radius-card: 20px;
	--pyx-radius-soft: 14px;

	--pyx-shadow-card: 0 6px 24px rgba(0, 0, 0, 0.45);
	--pyx-shadow-lift: 0 22px 48px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(255, 215, 0, 0.28), 0 12px 40px rgba(139, 0, 0, 0.35);

	--pyx-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--pyx-nav-h: 84px;
}

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--pyx-black);
	color: var(--pyx-warm);
	font-family: var(--pyx-font-body);
	font-size: 16px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
	overflow-x: hidden;
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--pyx-gold);
	text-decoration: none;
	transition: color 0.25s var(--pyx-ease), opacity 0.25s var(--pyx-ease);
}

a:hover {
	color: var(--pyx-gold-soft);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--pyx-font-display);
	font-weight: 700;
	line-height: 1.18;
	margin: 0 0 0.6em;
	color: var(--pyx-warm);
	letter-spacing: 0.01em;
}

p {
	margin: 0 0 1.2em;
}

button {
	font-family: inherit;
	cursor: pointer;
}

::selection {
	background: var(--pyx-red);
	color: var(--pyx-gold);
}

:focus-visible {
	outline: 2px solid var(--pyx-gold);
	outline-offset: 3px;
}

.pyx-shell {
	max-width: var(--pyx-shell);
	margin: 0 auto;
	padding: 0 24px;
}

.pyx-screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.pyx-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	background: var(--pyx-gold);
	color: var(--pyx-black);
	padding: 10px 18px;
	font-weight: 600;
}

.pyx-skip-link:focus {
	left: 0;
	color: var(--pyx-black);
}

/* ---------- shared section furniture ---------- */
.pyx-section {
	position: relative;
	padding: 96px 0;
}

.pyx-section--dark {
	background: var(--pyx-black);
}

.pyx-section--charcoal {
	background: var(--pyx-black-2);
}

.pyx-section--warm {
	background: var(--pyx-warm);
	color: var(--pyx-black);
}

.pyx-section--warm h2,
.pyx-section--warm h3 {
	color: var(--pyx-black);
}

/* H — gradient transition strips between sections */
.pyx-divide {
	height: 130px;
	pointer-events: none;
}

.pyx-divide--dark-charcoal {
	background: linear-gradient(180deg, #0a0a0a 0%, #101010 100%);
}

.pyx-divide--charcoal-black {
	background: linear-gradient(180deg, #101010 0%, #0a0a0a 100%);
}

.pyx-divide--black-warm {
	background: linear-gradient(180deg, #0a0a0a 0%, #f5f0eb 100%);
}

.pyx-divide--warm-black {
	background: linear-gradient(180deg, #f5f0eb 0%, #0a0a0a 100%);
}

.pyx-divide--black-red {
	background: linear-gradient(180deg, #0a0a0a 0%, #4d0000 100%);
}

/* crimson ticker → black insights */
.pyx-divide--crimson-black {
	background: linear-gradient(180deg, #8b0000 0%, #0a0a0a 100%);
}

/* black → gold figures band */
.pyx-divide--black-gold {
	background: linear-gradient(180deg, #0a0a0a 0%, #1a1400 100%);
}

/* gold figures band → charcoal rail */
.pyx-divide--gold-charcoal {
	background: linear-gradient(180deg, #1a1400 0%, #101010 100%);
}

/* charcoal rail → crimson fullscreen CTA */
.pyx-divide--charcoal-crimson {
	background: linear-gradient(180deg, #101010 0%, #2b0000 100%);
}

/* deep crimson CTA tail → black footer */
.pyx-divide--deepcrimson-black {
	background: linear-gradient(180deg, #120000 0%, #0a0a0a 100%);
}

.pyx-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--pyx-font-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: var(--pyx-gold);
	margin-bottom: 18px;
}

.pyx-eyebrow::before {
	content: "";
	width: 26px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--pyx-gold));
}

.pyx-section--warm .pyx-eyebrow {
	color: var(--pyx-red);
}

.pyx-section--warm .pyx-eyebrow::before {
	background: linear-gradient(90deg, transparent, var(--pyx-red));
}

.pyx-section-head {
	max-width: 680px;
	margin-bottom: 52px;
}

.pyx-section-head h2 {
	font-size: clamp(30px, 4vw, 46px);
	font-weight: 800;
}

.pyx-section-head p {
	color: var(--pyx-gray-light);
	font-size: 17px;
	margin: 0;
}

.pyx-section--warm .pyx-section-head p {
	color: var(--pyx-gray);
}

.pyx-section-head--center {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.pyx-section-head--center .pyx-eyebrow::before {
	display: none;
}

.pyx-section-head--tight {
	margin-bottom: 44px;
}

/* ---------- buttons ---------- */
.pyx-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--pyx-font-display);
	font-weight: 600;
	font-size: 15px;
	letter-spacing: 0.02em;
	padding: 14px 30px;
	border-radius: 999px;
	border: 1px solid transparent;
	transition: transform 0.3s var(--pyx-ease), box-shadow 0.3s var(--pyx-ease),
		background 0.3s var(--pyx-ease), color 0.3s var(--pyx-ease),
		border-color 0.3s var(--pyx-ease);
	will-change: transform;
}

.pyx-btn:hover {
	transform: translateY(-3px);
}

.pyx-btn--gold {
	background: linear-gradient(135deg, #ffd700 0%, #e6ac00 60%, #ffd700 100%);
	color: #141000;
	box-shadow: 0 10px 28px rgba(255, 215, 0, 0.22);
}

.pyx-btn--gold:hover {
	color: #141000;
	box-shadow: 0 16px 40px rgba(255, 215, 0, 0.35);
}

.pyx-btn--outline {
	border-color: var(--pyx-gold);
	color: var(--pyx-gold);
	background: rgba(255, 215, 0, 0.04);
}

.pyx-btn--outline:hover {
	background: rgba(255, 215, 0, 0.12);
	color: var(--pyx-gold);
	box-shadow: 0 10px 30px rgba(255, 215, 0, 0.18);
}

.pyx-btn--ghost {
	border-color: rgba(245, 240, 235, 0.35);
	color: var(--pyx-warm);
	background: rgba(245, 240, 235, 0.04);
}

.pyx-btn--ghost:hover {
	border-color: var(--pyx-gold);
	color: var(--pyx-gold);
}

.pyx-btn--red {
	background: linear-gradient(135deg, var(--pyx-red-bright), var(--pyx-red-deep));
	color: var(--pyx-gold);
	border-color: rgba(255, 215, 0, 0.4);
	box-shadow: 0 10px 30px rgba(139, 0, 0, 0.4);
}

.pyx-btn--red:hover {
	color: var(--pyx-gold);
	box-shadow: 0 16px 44px rgba(139, 0, 0, 0.6);
}

.pyx-btn--sm {
	padding: 9px 20px;
	font-size: 13px;
}

.pyx-btn svg {
	width: 16px;
	height: 16px;
	flex: none;
}

/* ---------- A · sticky top bar: logo left, menu center, CTA trio right ---------- */
.pyx-topbar {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 900;
	height: var(--pyx-nav-h);
	background: rgba(10, 10, 10, 0.86);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border-bottom: 1px solid var(--pyx-line-soft);
	transition: height 0.35s var(--pyx-ease), background 0.35s var(--pyx-ease),
		box-shadow 0.35s var(--pyx-ease), border-color 0.35s var(--pyx-ease);
}

.pyx-topbar__inner {
	max-width: 1400px;
	margin: 0 auto;
	height: 100%;
	padding: 0 28px;
	display: flex;
	align-items: center;
	gap: 28px;
}

.pyx-topbar.pyx-topbar--stuck {
	height: 64px;
	background: rgba(10, 10, 10, 0.96);
	border-bottom-color: var(--pyx-line);
	box-shadow: 0 12px 34px rgba(0, 0, 0, 0.55);
}

/* hairline reading-progress indicator glued to the bottom of the bar */
.pyx-topbar__progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	display: block;
	pointer-events: none;
	background: rgba(245, 240, 235, 0.06);
}

.pyx-topbar__progress i {
	display: block;
	height: 100%;
	width: 0;
	background: linear-gradient(90deg, var(--pyx-red-bright), var(--pyx-gold));
	box-shadow: 0 0 12px rgba(255, 215, 0, 0.55);
	transition: width 0.12s linear;
}

.pyx-brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	flex: none;
}

.pyx-brand__mark {
	width: 38px;
	height: 38px;
	flex: none;
	color: var(--pyx-gold);
	filter: drop-shadow(0 0 10px rgba(255, 215, 0, 0.45));
	transition: transform 0.5s var(--pyx-ease);
}

.pyx-brand:hover .pyx-brand__mark {
	transform: rotate(90deg);
}

.pyx-brand__mark svg {
	width: 100%;
	height: 100%;
}

.pyx-brand__name {
	font-family: var(--pyx-font-display);
	font-weight: 800;
	font-size: 22px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #ffffff;
	line-height: 1;
}

.pyx-brand__name:hover {
	color: #ffffff;
}

.pyx-brand__name em {
	font-style: normal;
	color: var(--pyx-gold);
}

.pyx-brand__logo {
	display: inline-flex;
	align-items: center;
}

.pyx-brand__logo img {
	height: 40px;
	width: auto;
}

.pyx-brand__img {
	height: 40px;
	width: auto;
	object-fit: contain;
}

.pyx-topbar__nav {
	flex: 1;
	display: flex;
	justify-content: center;
	min-width: 0;
}

.pyx-menu {
	display: flex;
	align-items: center;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pyx-menu li {
	margin: 0;
}

.pyx-menu a {
	display: inline-block;
	padding: 10px 16px;
	font-family: var(--pyx-font-display);
	font-size: 14.5px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--pyx-warm);
	border-radius: 999px;
	position: relative;
	transition: color 0.25s var(--pyx-ease), background 0.25s var(--pyx-ease);
}

.pyx-menu a::after {
	content: "";
	position: absolute;
	left: 16px;
	right: 16px;
	bottom: 5px;
	height: 1px;
	background: var(--pyx-gold);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.3s var(--pyx-ease);
}

.pyx-menu a:hover {
	color: var(--pyx-gold);
}

.pyx-menu a:hover::after,
.pyx-menu .current-menu-item > a::after,
.pyx-menu .current_page_item > a::after {
	transform: scaleX(1);
}

.pyx-menu .current-menu-item > a,
.pyx-menu .current_page_item > a {
	color: var(--pyx-gold);
}

.pyx-topbar__cta {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: none;
}

.pyx-topbar__cta .pyx-btn {
	padding: 10px 20px;
	font-size: 13.5px;
}

.pyx-langswitch {
	display: inline-flex;
	border: 1px solid var(--pyx-line);
	border-radius: 999px;
	overflow: hidden;
	flex: none;
}

.pyx-langswitch a {
	padding: 6px 12px;
	font-family: var(--pyx-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.08em;
	color: var(--pyx-gray-light);
}

.pyx-langswitch a.pyx-active {
	background: var(--pyx-gold);
	color: var(--pyx-black);
}

.pyx-burger {
	display: none;
	width: 44px;
	height: 44px;
	border: 1px solid var(--pyx-line);
	border-radius: 12px;
	background: transparent;
	color: var(--pyx-gold);
	align-items: center;
	justify-content: center;
}

.pyx-burger svg {
	width: 22px;
	height: 22px;
}

.pyx-burger__icon {
	display: flex;
	align-items: center;
	justify-content: center;
}

/* main content offset under fixed bar */
.pyx-site-main {
	padding-top: var(--pyx-nav-h);
}

.pyx-front .pyx-site-main {
	padding-top: 0;
}

/* ==========================================================================
   B · Hero — full-bleed video/background layer + Ken Burns micro-zoom
   ========================================================================== */
.pyx-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	background: #070303;
	isolation: isolate;
}

.pyx-hero__media {
	position: absolute;
	inset: -6%;
	z-index: 0;
	background-size: cover;
	background-position: center 42%;
	background-repeat: no-repeat;
	transform-origin: 52% 48%;
	animation: pyx-kenburns 26s var(--pyx-ease) infinite alternate;
	will-change: transform;
}

/* when no artwork file is available the theme paints a procedural scene */
.pyx-hero__media--synthetic {
	background-color: #12040a;
	background-image:
		radial-gradient(58% 46% at 18% 26%, rgba(179, 0, 0, 0.62) 0%, rgba(179, 0, 0, 0) 68%),
		radial-gradient(48% 40% at 82% 22%, rgba(255, 215, 0, 0.24) 0%, rgba(255, 215, 0, 0) 70%),
		radial-gradient(72% 58% at 62% 88%, rgba(139, 0, 0, 0.55) 0%, rgba(139, 0, 0, 0) 72%),
		linear-gradient(155deg, #1a0505 0%, #0a0a0a 52%, #1d1200 100%);
}

/* full-bleed looping clip, same Ken Burns drift as the still layer */
.pyx-hero__media--video {
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #070303;
}

@keyframes pyx-kenburns {
	0% {
		transform: scale(1.02) translate3d(0, 0, 0);
	}
	50% {
		transform: scale(1.1) translate3d(-1.4%, -1%, 0);
	}
	100% {
		transform: scale(1.06) translate3d(1.2%, 0.8%, 0);
	}
}

.pyx-hero__scrim {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(10, 10, 10, 0.94) 0%, rgba(10, 10, 10, 0.42) 34%, rgba(10, 10, 10, 0.72) 72%, rgba(10, 10, 10, 0.98) 100%),
		radial-gradient(76% 62% at 50% 46%, rgba(139, 0, 0, 0.34) 0%, rgba(139, 0, 0, 0) 74%);
}

.pyx-hero__grid-lines {
	position: absolute;
	inset: 0;
	z-index: 2;
	pointer-events: none;
	opacity: 0.4;
	background-image:
		linear-gradient(to right, rgba(255, 215, 0, 0.09) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(245, 240, 235, 0.05) 1px, transparent 1px);
	background-size: 96px 96px;
	mask-image: radial-gradient(70% 60% at 50% 45%, #000 0%, transparent 82%);
	-webkit-mask-image: radial-gradient(70% 60% at 50% 45%, #000 0%, transparent 82%);
}

.pyx-hero__noise {
	position: absolute;
	inset: 0;
	z-index: 3;
	pointer-events: none;
	opacity: 0.16;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='140' height='140'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='140' height='140' filter='url(%23n)' opacity='0.55'/%3E%3C/svg%3E");
}

.pyx-hero__inner {
	position: relative;
	z-index: 5;
	width: 100%;
	max-width: 1080px;
	margin: 0 auto;
	padding: calc(var(--pyx-nav-h) + 70px) 24px 130px;
	text-align: center;
}

.pyx-hero__badge {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 8px 20px;
	border: 1px solid var(--pyx-line);
	border-radius: 999px;
	background: rgba(10, 10, 10, 0.5);
	font-family: var(--pyx-font-mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--pyx-gold);
	margin-bottom: 30px;
	opacity: 0;
	animation: pyx-hero-in 0.9s var(--pyx-ease) 0.15s forwards;
}

.pyx-hero__badge .pyx-dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--pyx-gold);
	box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.6);
	animation: pyx-pulse 2.2s ease-out infinite;
}

@keyframes pyx-pulse {
	0% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0.55); }
	70% { box-shadow: 0 0 0 12px rgba(255, 215, 0, 0); }
	100% { box-shadow: 0 0 0 0 rgba(255, 215, 0, 0); }
}

.pyx-hero__title {
	font-size: clamp(38px, 6.8vw, 86px);
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin: 0 0 26px;
	color: var(--pyx-gold);
	text-shadow: 0 6px 44px rgba(139, 0, 0, 0.75), 0 0 90px rgba(255, 215, 0, 0.18);
	opacity: 0;
	animation: pyx-hero-in 1s var(--pyx-ease) 0.3s forwards;
}

.pyx-hero__title span {
	display: block;
	font-family: var(--pyx-font-mono);
	font-size: clamp(12px, 1.5vw, 16px);
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.78);
	text-shadow: none;
	margin-top: 24px;
}

.pyx-hero__sub {
	max-width: 660px;
	margin: 0 auto 40px;
	font-size: clamp(15px, 1.5vw, 18.5px);
	color: rgba(245, 240, 235, 0.82);
	opacity: 0;
	animation: pyx-hero-in 1s var(--pyx-ease) 0.45s forwards;
}

.pyx-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 16px;
	justify-content: center;
	opacity: 0;
	animation: pyx-hero-in 1s var(--pyx-ease) 0.6s forwards;
}

.pyx-hero__actions .pyx-btn {
	min-width: 210px;
	padding: 17px 38px;
	font-size: 16px;
}

@keyframes pyx-hero-in {
	from { opacity: 0; transform: translateY(26px); }
	to { opacity: 1; transform: translateY(0); }
}

.pyx-hero__scroll {
	position: absolute;
	left: 50%;
	bottom: 34px;
	transform: translateX(-50%);
	z-index: 6;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	font-family: var(--pyx-font-mono);
	font-size: 10px;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.5);
}

.pyx-hero__scroll i {
	display: block;
	width: 1px;
	height: 46px;
	background: linear-gradient(180deg, var(--pyx-gold), transparent);
	animation: pyx-scroll-hint 2.4s ease-in-out infinite;
}

@keyframes pyx-scroll-hint {
	0%, 100% { transform: scaleY(0.4); opacity: 0.4; transform-origin: top; }
	50% { transform: scaleY(1); opacity: 1; transform-origin: top; }
}

/* ==========================================================================
   3 · Live market ticker strip
   ========================================================================== */
.pyx-ticker {
	position: relative;
	background: linear-gradient(100deg, #5c0000 0%, #8b0000 44%, #6b0000 100%);
	border-top: 1px solid rgba(255, 215, 0, 0.34);
	border-bottom: 1px solid rgba(255, 215, 0, 0.2);
	overflow: hidden;
	padding: 18px 0;
}

.pyx-ticker::before,
.pyx-ticker::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	width: 110px;
	z-index: 3;
	pointer-events: none;
}

.pyx-ticker::before {
	left: 0;
	background: linear-gradient(90deg, #6d0000, rgba(109, 0, 0, 0));
}

.pyx-ticker::after {
	right: 0;
	background: linear-gradient(270deg, #6d0000, rgba(109, 0, 0, 0));
}

.pyx-ticker__viewport {
	display: flex;
	width: max-content;
	animation: pyx-marquee 44s linear infinite;
}

.pyx-ticker:hover .pyx-ticker__viewport {
	animation-play-state: paused;
}

@keyframes pyx-marquee {
	from { transform: translate3d(0, 0, 0); }
	to { transform: translate3d(-50%, 0, 0); }
}

.pyx-ticker__group {
	display: flex;
	align-items: center;
	gap: 0;
	flex: none;
}

.pyx-quote {
	display: flex;
	align-items: baseline;
	gap: 12px;
	padding: 0 34px;
	border-right: 1px solid rgba(255, 215, 0, 0.22);
	white-space: nowrap;
}

.pyx-quote__sym {
	font-family: var(--pyx-font-display);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.1em;
	color: var(--pyx-warm);
}

.pyx-quote__val {
	font-family: var(--pyx-font-mono);
	font-weight: 700;
	font-size: 17px;
	color: var(--pyx-gold);
	text-shadow: 0 0 18px rgba(255, 215, 0, 0.4);
	font-variant-numeric: tabular-nums;
}

.pyx-quote__chg {
	font-family: var(--pyx-font-mono);
	font-size: 12.5px;
	font-weight: 600;
	padding: 3px 9px;
	border-radius: 6px;
}

.pyx-quote__chg--up {
	color: #7dffb0;
	background: rgba(0, 90, 40, 0.42);
}

.pyx-quote__chg--down {
	color: #ff9a8a;
	background: rgba(90, 0, 10, 0.45);
}

.pyx-ticker__cta {
	position: relative;
	z-index: 4;
	text-align: center;
	margin-top: 16px;
}

/* ==========================================================================
   C + D · Article grid: 3 columns, first card spans 2 (featured)
          vertical rounded cards with lift-on-hover
   ========================================================================== */
.pyx-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.pyx-card {
	position: relative;
	display: flex;
	flex-direction: column;
	background: linear-gradient(168deg, #161616 0%, #0e0e0e 100%);
	border: 1px solid var(--pyx-line-soft);
	border-radius: var(--pyx-radius-card);
	overflow: hidden;
	box-shadow: var(--pyx-shadow-card);
	transition: transform 0.45s var(--pyx-ease), box-shadow 0.45s var(--pyx-ease),
		border-color 0.45s var(--pyx-ease);
	will-change: transform;
}

.pyx-card:hover {
	transform: translateY(-8px);
	border-color: rgba(255, 215, 0, 0.4);
	box-shadow: var(--pyx-shadow-lift);
}

.pyx-card__thumb {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #101010;
}

.pyx-card__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s var(--pyx-ease), filter 0.6s var(--pyx-ease);
	filter: saturate(0.86) contrast(1.04);
}

.pyx-card:hover .pyx-card__thumb img {
	transform: scale(1.07);
	filter: saturate(1.05) contrast(1.06);
}

/* procedural placeholder when a post has no artwork */
.pyx-card__placeholder {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: flex-end;
	padding: 20px;
	background-image:
		radial-gradient(60% 70% at 24% 22%, rgba(179, 0, 0, 0.55) 0%, rgba(179, 0, 0, 0) 70%),
		radial-gradient(52% 60% at 82% 78%, rgba(255, 215, 0, 0.2) 0%, rgba(255, 215, 0, 0) 72%),
		linear-gradient(150deg, #1c1c1c 0%, #0c0c0c 100%);
}

.pyx-card__placeholder::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image: linear-gradient(to right, rgba(255, 215, 0, 0.07) 1px, transparent 1px);
	background-size: 40px 100%;
	pointer-events: none;
}

.pyx-card__thumb::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(10, 10, 10, 0) 40%, rgba(10, 10, 10, 0.82) 100%);
	pointer-events: none;
}

.pyx-badge {
	position: absolute;
	z-index: 2;
	top: 16px;
	left: 16px;
	display: inline-block;
	padding: 6px 14px;
	border-radius: 999px;
	font-family: var(--pyx-font-mono);
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	background: rgba(10, 10, 10, 0.78);
	border: 1px solid var(--pyx-line);
	color: var(--pyx-gold);
	backdrop-filter: blur(6px);
}

.pyx-card__body {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: 26px 26px 24px;
	flex: 1;
}

.pyx-card__title {
	font-size: 19px;
	font-weight: 700;
	line-height: 1.34;
	margin: 0;
}

.pyx-card__title a {
	color: var(--pyx-warm);
}

.pyx-card:hover .pyx-card__title a {
	color: var(--pyx-gold);
}

.pyx-card__excerpt {
	color: var(--pyx-gray-light);
	font-size: 14.5px;
	line-height: 1.72;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pyx-card__meta {
	margin-top: auto;
	padding-top: 16px;
	border-top: 1px solid var(--pyx-line-soft);
	display: flex;
	align-items: center;
	gap: 12px;
	font-family: var(--pyx-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.06em;
	color: var(--pyx-gray);
}

.pyx-avatar {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: linear-gradient(140deg, var(--pyx-red-bright), var(--pyx-red-deep));
	border: 1px solid var(--pyx-line);
	color: var(--pyx-gold);
	font-family: var(--pyx-font-display);
	font-size: 11.5px;
	font-weight: 700;
	letter-spacing: 0.04em;
	flex: none;
}

.pyx-card__author {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: rgba(245, 240, 235, 0.8);
}

.pyx-dot-sep {
	width: 3px;
	height: 3px;
	border-radius: 50%;
	background: var(--pyx-gold);
	opacity: 0.65;
	flex: none;
}

/* featured card spans 2 columns of the 3-col grid */
.pyx-card--featured {
	grid-column: span 2;
	flex-direction: row;
	align-items: stretch;
	background: linear-gradient(120deg, #1b0d0d 0%, #101010 46%, #171305 100%);
}

.pyx-card--featured .pyx-card__thumb {
	flex: 1 1 56%;
	aspect-ratio: auto;
	min-height: 340px;
}

.pyx-card--featured .pyx-card__body {
	flex: 1 1 44%;
	padding: 40px 38px;
	gap: 18px;
	justify-content: center;
}

.pyx-card--featured .pyx-card__title {
	font-size: clamp(24px, 2.5vw, 34px);
	line-height: 1.2;
}

.pyx-card--featured .pyx-card__excerpt {
	-webkit-line-clamp: 4;
	font-size: 15.5px;
}

.pyx-card--featured::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	z-index: 3;
	background: linear-gradient(90deg, var(--pyx-red), var(--pyx-gold), var(--pyx-red));
}

.pyx-flag {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--pyx-font-mono);
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--pyx-gold);
}

.pyx-flag svg {
	width: 14px;
	height: 14px;
}

.pyx-grid__more {
	margin-top: 46px;
	text-align: center;
}

/* reveal-on-scroll */
.pyx-reveal {
	opacity: 0;
	transform: translateY(30px);
	transition: opacity 0.75s var(--pyx-ease), transform 0.75s var(--pyx-ease);
}

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

@media (prefers-reduced-motion: reduce) {
	.pyx-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
	.pyx-hero__media,
	.pyx-ticker__viewport {
		animation: none;
	}
	.pyx-hero__badge,
	.pyx-hero__title,
	.pyx-hero__sub,
	.pyx-hero__actions {
		opacity: 1;
		animation: none;
	}
}

/* ==========================================================================
   5 · Tradable instruments — 4 columns, gold-outlined icon tiles
   ========================================================================== */
.pyx-markets {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
}

.pyx-market {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 16px;
	padding: 32px 26px 30px;
	border: 1px solid var(--pyx-line);
	border-radius: var(--pyx-radius-soft);
	background: linear-gradient(165deg, rgba(255, 215, 0, 0.05) 0%, rgba(10, 10, 10, 0.2) 60%);
	overflow: hidden;
	transition: transform 0.4s var(--pyx-ease), border-color 0.4s var(--pyx-ease),
		box-shadow 0.4s var(--pyx-ease), background 0.4s var(--pyx-ease);
}

.pyx-market::after {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 150px;
	height: 150px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(139, 0, 0, 0.55) 0%, rgba(139, 0, 0, 0) 70%);
	opacity: 0;
	transition: opacity 0.5s var(--pyx-ease);
}

.pyx-market:hover {
	transform: translateY(-8px);
	border-color: var(--pyx-gold);
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.55), 0 0 0 1px rgba(255, 215, 0, 0.3);
	background: linear-gradient(165deg, rgba(255, 215, 0, 0.12) 0%, rgba(30, 8, 8, 0.4) 60%);
}

.pyx-market:hover::after {
	opacity: 1;
}

.pyx-market__icon {
	position: relative;
	z-index: 1;
	width: 58px;
	height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--pyx-gold);
	border-radius: 16px;
	color: var(--pyx-gold);
	background: rgba(10, 10, 10, 0.6);
	box-shadow: inset 0 0 22px rgba(255, 215, 0, 0.12);
	transition: transform 0.45s var(--pyx-ease), box-shadow 0.45s var(--pyx-ease);
}

.pyx-market:hover .pyx-market__icon {
	transform: rotate(-6deg) scale(1.06);
	box-shadow: inset 0 0 26px rgba(255, 215, 0, 0.26), 0 0 26px rgba(255, 215, 0, 0.2);
}

.pyx-market__icon svg {
	width: 28px;
	height: 28px;
}

.pyx-market__img {
	width: 30px;
	height: 30px;
	object-fit: contain;
	display: block;
}

.pyx-market__svgfb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.pyx-market__name {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 19px;
	font-weight: 700;
	color: var(--pyx-warm);
}

.pyx-market__pair {
	position: relative;
	z-index: 1;
	font-family: var(--pyx-font-mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.18em;
	color: var(--pyx-gold);
	margin: -10px 0 0;
}

.pyx-market__text {
	position: relative;
	z-index: 1;
	margin: 0;
	font-size: 14px;
	line-height: 1.7;
	color: var(--pyx-gray-light);
}

.pyx-market__link {
	position: relative;
	z-index: 1;
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--pyx-font-display);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	color: var(--pyx-gold);
}

.pyx-market__link svg {
	width: 15px;
	height: 15px;
	transition: transform 0.3s var(--pyx-ease);
}

.pyx-market:hover .pyx-market__link svg {
	transform: translateX(5px);
}

/* ==========================================================================
   6 · Platform advantages — 3 columns inside a warm-gray rounded container
   ========================================================================== */
.pyx-advantages {
	background: var(--pyx-warm);
	border-radius: 34px;
	padding: 74px 56px 78px;
	color: var(--pyx-black);
	position: relative;
	overflow: hidden;
	box-shadow: 0 30px 70px rgba(0, 0, 0, 0.45);
}

.pyx-advantages::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 5px;
	background: linear-gradient(90deg, var(--pyx-red), var(--pyx-gold) 50%, var(--pyx-red));
}

.pyx-advantages::after {
	content: "";
	position: absolute;
	right: -140px;
	bottom: -160px;
	width: 420px;
	height: 420px;
	border-radius: 50%;
	border: 60px solid rgba(139, 0, 0, 0.07);
	pointer-events: none;
}

.pyx-advantages__head {
	max-width: 620px;
	margin-bottom: 48px;
	position: relative;
	z-index: 1;
}

.pyx-advantages__head .pyx-eyebrow {
	color: var(--pyx-red);
}

.pyx-advantages__head .pyx-eyebrow::before {
	background: linear-gradient(90deg, transparent, var(--pyx-red));
}

.pyx-advantages__head h2 {
	font-size: clamp(28px, 3.6vw, 42px);
	font-weight: 800;
	color: var(--pyx-black);
	margin-bottom: 14px;
}

.pyx-advantages__head p {
	color: var(--pyx-gray);
	font-size: 16.5px;
	margin: 0;
}

.pyx-advantages__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 26px;
	position: relative;
	z-index: 1;
}

.pyx-adv {
	background: #fffdf9;
	border: 1px solid rgba(10, 10, 10, 0.08);
	border-radius: var(--pyx-radius-card);
	padding: 34px 28px 32px;
	transition: transform 0.4s var(--pyx-ease), box-shadow 0.4s var(--pyx-ease),
		border-color 0.4s var(--pyx-ease);
}

.pyx-adv:hover {
	transform: translateY(-8px);
	border-color: rgba(139, 0, 0, 0.35);
	box-shadow: 0 22px 46px rgba(139, 0, 0, 0.16);
}

.pyx-adv__num {
	font-family: var(--pyx-font-mono);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.2em;
	color: var(--pyx-red);
	display: block;
	margin-bottom: 18px;
}

.pyx-adv__icon {
	width: 52px;
	height: 52px;
	border-radius: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(140deg, rgba(139, 0, 0, 0.12), rgba(255, 215, 0, 0.22));
	color: var(--pyx-red);
	margin-bottom: 22px;
}

.pyx-adv__icon svg {
	width: 26px;
	height: 26px;
}

.pyx-adv__img {
	width: 28px;
	height: 28px;
	object-fit: contain;
	display: block;
}

.pyx-adv__svgfb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.pyx-adv h3 {
	font-size: 20px;
	font-weight: 700;
	color: var(--pyx-black);
	margin: 0 0 12px;
}

.pyx-adv p {
	margin: 0;
	font-size: 14.8px;
	line-height: 1.75;
	color: var(--pyx-gray);
}

/* ==========================================================================
   7 · Gold figures band
   ========================================================================== */
.pyx-figures {
	position: relative;
	background:
		radial-gradient(60% 120% at 12% 0%, rgba(139, 0, 0, 0.5) 0%, rgba(139, 0, 0, 0) 70%),
		linear-gradient(100deg, #1a1400 0%, #0a0a0a 46%, #1a1400 100%);
	border-top: 1px solid var(--pyx-line);
	border-bottom: 1px solid var(--pyx-line);
	padding: 78px 0;
	overflow: hidden;
}

.pyx-figures::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image: repeating-linear-gradient(
		115deg,
		rgba(255, 215, 0, 0.055) 0px,
		rgba(255, 215, 0, 0.055) 1px,
		transparent 1px,
		transparent 16px
	);
	pointer-events: none;
}

.pyx-figures__grid {
	position: relative;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 24px;
}

.pyx-figure {
	text-align: center;
	padding: 10px 14px;
	border-right: 1px solid rgba(255, 215, 0, 0.16);
}

.pyx-figure:last-child {
	border-right: 0;
}

.pyx-figure__val {
	display: block;
	font-family: var(--pyx-font-display);
	font-size: clamp(36px, 5vw, 58px);
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.02em;
	background: linear-gradient(180deg, #fff3b0 0%, #ffd700 46%, #b58a00 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	filter: drop-shadow(0 4px 22px rgba(255, 215, 0, 0.28));
}

.pyx-figure__label {
	display: block;
	margin-top: 14px;
	font-family: var(--pyx-font-mono);
	font-size: 11.5px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.7);
}

/* ==========================================================================
   8 · Voices / trust — horizontal scroll rail
   ========================================================================== */
.pyx-rail-wrap {
	position: relative;
}

.pyx-rail {
	display: flex;
	gap: 24px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 10px 24px 34px;
	margin: 0 -24px;
	scrollbar-width: thin;
	scrollbar-color: var(--pyx-red) transparent;
	-webkit-overflow-scrolling: touch;
}

.pyx-rail::-webkit-scrollbar {
	height: 6px;
}

.pyx-rail--dragging {
	cursor: grabbing;
	scroll-snap-type: none;
	user-select: none;
}

.pyx-rail--dragging .pyx-voice {
	pointer-events: none;
}

.pyx-rail::-webkit-scrollbar-track {
	background: rgba(245, 240, 235, 0.06);
	border-radius: 99px;
}

.pyx-rail::-webkit-scrollbar-thumb {
	background: linear-gradient(90deg, var(--pyx-red), var(--pyx-gold));
	border-radius: 99px;
}

.pyx-voice {
	flex: 0 0 372px;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding: 32px 30px;
	border-radius: var(--pyx-radius-card);
	background: linear-gradient(168deg, #171717 0%, #0d0d0d 100%);
	border: 1px solid var(--pyx-line-soft);
	transition: transform 0.4s var(--pyx-ease), border-color 0.4s var(--pyx-ease),
		box-shadow 0.4s var(--pyx-ease);
}

.pyx-voice:hover {
	transform: translateY(-8px);
	border-color: rgba(255, 215, 0, 0.36);
	box-shadow: 0 20px 44px rgba(0, 0, 0, 0.55);
}

.pyx-voice__mark {
	font-family: var(--pyx-font-display);
	font-size: 58px;
	font-weight: 900;
	line-height: 0.7;
	color: var(--pyx-red-bright);
	opacity: 0.85;
}

.pyx-voice__text {
	margin: 0;
	font-size: 15.4px;
	line-height: 1.78;
	color: rgba(245, 240, 235, 0.88);
}

.pyx-voice__stars {
	display: flex;
	gap: 4px;
	color: var(--pyx-gold);
}

.pyx-voice__stars svg {
	width: 15px;
	height: 15px;
}

.pyx-voice__who {
	margin-top: auto;
	padding-top: 18px;
	border-top: 1px solid var(--pyx-line-soft);
	display: flex;
	align-items: center;
	gap: 13px;
}

.pyx-voice__who strong {
	display: block;
	font-family: var(--pyx-font-display);
	font-size: 15px;
	font-weight: 600;
	color: var(--pyx-warm);
}

.pyx-voice__id span {
	display: block;
	font-family: var(--pyx-font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	color: var(--pyx-gray);
	text-transform: uppercase;
}

.pyx-rail-nav {
	display: flex;
	gap: 12px;
	justify-content: flex-end;
	margin-top: 6px;
}

.pyx-rail-btn {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	border: 1px solid var(--pyx-line);
	background: rgba(255, 215, 0, 0.04);
	color: var(--pyx-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.3s var(--pyx-ease), transform 0.3s var(--pyx-ease),
		border-color 0.3s var(--pyx-ease);
}

.pyx-rail-btn:hover {
	background: var(--pyx-gold);
	color: var(--pyx-black);
	transform: translateY(-2px);
}

.pyx-rail-btn svg {
	width: 20px;
	height: 20px;
}

/* trust strip under the rail */
.pyx-trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px 40px;
	margin-top: 54px;
	padding-top: 40px;
	border-top: 1px solid var(--pyx-line-soft);
}

.pyx-trust__item {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: var(--pyx-font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.62);
}

.pyx-trust__item svg {
	width: 18px;
	height: 18px;
	color: var(--pyx-gold);
}

/* ==========================================================================
   G · Fullscreen closing CTA — 100vh, dark-red gradient, gold headline
   ========================================================================== */
.pyx-cta-full {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	isolation: isolate;
	background: linear-gradient(160deg, #2b0000 0%, #8b0000 42%, #4d0000 74%, #120000 100%);
}

.pyx-cta-full__layer {
	position: absolute;
	inset: -10%;
	z-index: 0;
	pointer-events: none;
	background-image:
		radial-gradient(46% 40% at 22% 28%, rgba(255, 215, 0, 0.22) 0%, rgba(255, 215, 0, 0) 70%),
		radial-gradient(52% 46% at 78% 72%, rgba(10, 10, 10, 0.65) 0%, rgba(10, 10, 10, 0) 72%);
	will-change: transform;
}

.pyx-cta-full__rings {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 1400px;
	height: 1400px;
	margin: -700px 0 0 -700px;
	z-index: 0;
	pointer-events: none;
	border-radius: 50%;
	border: 1px solid rgba(255, 215, 0, 0.16);
	box-shadow:
		0 0 0 130px rgba(255, 215, 0, 0.045),
		0 0 0 280px rgba(255, 215, 0, 0.03),
		0 0 0 440px rgba(255, 215, 0, 0.02);
	animation: pyx-ring-breathe 12s ease-in-out infinite alternate;
	will-change: transform;
}

@keyframes pyx-ring-breathe {
	from { transform: scale(0.94) rotate(0deg); }
	to { transform: scale(1.06) rotate(12deg); }
}

.pyx-cta-full__noise {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0.14;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='120' height='120'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/%3E%3C/filter%3E%3Crect width='120' height='120' filter='url(%23n)'/%3E%3C/svg%3E");
}

.pyx-cta-full__inner {
	position: relative;
	z-index: 3;
	max-width: 940px;
	padding: 120px 24px;
	text-align: center;
}

.pyx-cta-full__eyebrow {
	display: inline-block;
	font-family: var(--pyx-font-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.34em;
	text-transform: uppercase;
	color: rgba(255, 215, 0, 0.86);
	padding-bottom: 16px;
	margin-bottom: 26px;
	border-bottom: 1px solid rgba(255, 215, 0, 0.4);
}

.pyx-cta-full__title {
	font-size: clamp(34px, 6.2vw, 80px);
	font-weight: 900;
	line-height: 1.08;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--pyx-gold);
	text-shadow: 0 10px 60px rgba(0, 0, 0, 0.55);
	margin: 0 0 26px;
}

.pyx-cta-full__text {
	max-width: 620px;
	margin: 0 auto 44px;
	font-size: clamp(15px, 1.6vw, 19px);
	color: rgba(245, 240, 235, 0.86);
}

.pyx-cta-full__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 18px;
	justify-content: center;
}

.pyx-cta-full__actions .pyx-btn {
	min-width: 220px;
	padding: 18px 40px;
	font-size: 16px;
}

.pyx-cta-full__note {
	margin-top: 34px;
	font-family: var(--pyx-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.5);
}

/* ==========================================================================
   F · Footer — single centered column, four lines only
   ========================================================================== */
.pyx-footer {
	background: var(--pyx-black);
	border-top: 1px solid var(--pyx-line);
	padding: 76px 24px 60px;
	text-align: center;
	position: relative;
	overflow: hidden;
}

.pyx-footer::before {
	content: "";
	position: absolute;
	left: 50%;
	top: -220px;
	transform: translateX(-50%);
	width: 720px;
	height: 420px;
	background: radial-gradient(ellipse at center, rgba(139, 0, 0, 0.4) 0%, rgba(139, 0, 0, 0) 68%);
	pointer-events: none;
}

.pyx-footer__inner {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 24px;
}

.pyx-footer__brand {
	display: inline-flex;
	align-items: center;
	gap: 12px;
}

.pyx-footer__brand .pyx-brand__mark {
	width: 32px;
	height: 32px;
}

.pyx-footer__brand .pyx-brand__name {
	font-size: 19px;
	color: var(--pyx-gold);
}

.pyx-footer__tagline {
	margin: 0;
	font-family: var(--pyx-font-display);
	font-size: 15.5px;
	font-weight: 300;
	letter-spacing: 0.06em;
	color: rgba(245, 240, 235, 0.66);
}

.pyx-footer__links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 10px 26px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.pyx-footer__links a {
	font-family: var(--pyx-font-mono);
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.6);
	transition: color 0.25s var(--pyx-ease);
}

.pyx-footer__links a:hover {
	color: var(--pyx-gold);
}

.pyx-footer__copy {
	margin: 0;
	font-family: var(--pyx-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.1em;
	color: var(--pyx-gray);
}

/* ==========================================================================
   E · Detail view — centered narrow column, wide related grid at the bottom
   ========================================================================== */
.pyx-detail {
	background: var(--pyx-black);
	padding: 78px 0 96px;
}

.pyx-detail__column {
	max-width: 760px;
	margin: 0 auto;
	padding: 0 24px;
}

.pyx-detail__crumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
	font-family: var(--pyx-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--pyx-gray);
	margin-bottom: 30px;
}

.pyx-detail__crumbs a {
	color: rgba(245, 240, 235, 0.66);
}

.pyx-detail__crumbs a:hover {
	color: var(--pyx-gold);
}

.pyx-detail__title {
	font-size: clamp(28px, 4.4vw, 48px);
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: 0.01em;
	margin: 0 0 22px;
	color: var(--pyx-warm);
}

.pyx-detail__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	padding-bottom: 30px;
	margin-bottom: 38px;
	border-bottom: 1px solid var(--pyx-line-soft);
	font-family: var(--pyx-font-mono);
	font-size: 12px;
	letter-spacing: 0.08em;
	color: var(--pyx-gray-light);
}

.pyx-detail__lede {
	font-size: 19px;
	line-height: 1.75;
	color: rgba(245, 240, 235, 0.8);
	border-left: 2px solid var(--pyx-gold);
	padding-left: 22px;
	margin: 0 0 40px;
}

.pyx-detail__hero-media {
	margin: 0 0 44px;
	border-radius: var(--pyx-radius-card);
	overflow: hidden;
	border: 1px solid var(--pyx-line-soft);
	box-shadow: var(--pyx-shadow-card);
}

.pyx-detail__hero-media img {
	width: 100%;
}

/* body copy: generous 1.8 leading */
.pyx-detail__body {
	font-size: 17.5px;
	line-height: 1.8;
	color: rgba(245, 240, 235, 0.86);
}

.pyx-detail__body h2 {
	font-size: 29px;
	font-weight: 700;
	margin: 54px 0 20px;
	color: var(--pyx-gold);
}

.pyx-detail__body h3 {
	font-size: 22px;
	font-weight: 700;
	margin: 42px 0 16px;
	color: var(--pyx-warm);
}

.pyx-detail__body h4 {
	font-size: 18px;
	margin: 34px 0 12px;
	color: var(--pyx-warm);
}

.pyx-detail__body p {
	margin: 0 0 1.5em;
}

.pyx-detail__body a {
	color: var(--pyx-gold);
	border-bottom: 1px solid rgba(255, 215, 0, 0.36);
	transition: border-color 0.25s var(--pyx-ease), background 0.25s var(--pyx-ease);
}

.pyx-detail__body a:hover {
	border-bottom-color: var(--pyx-gold);
	background: rgba(255, 215, 0, 0.08);
}

.pyx-detail__body strong {
	color: var(--pyx-warm);
	font-weight: 600;
}

.pyx-detail__body blockquote {
	margin: 42px 0;
	padding: 28px 32px;
	border-radius: var(--pyx-radius-soft);
	background: linear-gradient(150deg, rgba(139, 0, 0, 0.3), rgba(10, 10, 10, 0.5));
	border-left: 3px solid var(--pyx-gold);
	font-family: var(--pyx-font-display);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.6;
	color: var(--pyx-warm);
}

.pyx-detail__body blockquote p:last-child {
	margin-bottom: 0;
}

.pyx-detail__body ul,
.pyx-detail__body ol {
	margin: 0 0 1.6em;
	padding-left: 24px;
}

.pyx-detail__body li {
	margin-bottom: 12px;
}

.pyx-detail__body ul li::marker {
	color: var(--pyx-gold);
}

.pyx-detail__body ol li::marker {
	color: var(--pyx-gold);
	font-family: var(--pyx-font-mono);
	font-size: 0.9em;
}

.pyx-detail__body code {
	font-family: var(--pyx-font-mono);
	font-size: 0.88em;
	background: rgba(255, 215, 0, 0.1);
	border: 1px solid var(--pyx-line);
	border-radius: 6px;
	padding: 2px 7px;
	color: var(--pyx-gold);
}

.pyx-detail__body pre {
	margin: 0 0 1.8em;
	padding: 24px 26px;
	overflow-x: auto;
	border-radius: var(--pyx-radius-soft);
	background: #0d0d0d;
	border: 1px solid var(--pyx-line-soft);
}

.pyx-detail__body pre code {
	background: none;
	border: 0;
	padding: 0;
	color: rgba(245, 240, 235, 0.86);
	font-size: 14px;
	line-height: 1.75;
}

.pyx-detail__body table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 1.8em;
	font-size: 15.5px;
}

.pyx-detail__body th,
.pyx-detail__body td {
	border: 1px solid var(--pyx-line-soft);
	padding: 13px 16px;
	text-align: left;
}

.pyx-detail__body th {
	background: rgba(139, 0, 0, 0.24);
	font-family: var(--pyx-font-display);
	font-weight: 600;
	color: var(--pyx-gold);
}

.pyx-detail__body img {
	border-radius: var(--pyx-radius-soft);
	margin: 8px 0 26px;
}

.pyx-detail__body hr {
	border: 0;
	height: 1px;
	margin: 48px 0;
	background: linear-gradient(90deg, transparent, var(--pyx-line), transparent);
}

.pyx-detail__body .aligncenter {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.pyx-detail__body .alignleft {
	float: left;
	margin: 6px 26px 18px 0;
	max-width: 46%;
}

.pyx-detail__body .alignright {
	float: right;
	margin: 6px 0 18px 26px;
	max-width: 46%;
}

.pyx-detail__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 46px 0 0;
	padding-top: 32px;
	border-top: 1px solid var(--pyx-line-soft);
	align-items: center;
}

.pyx-detail__tags-label {
	font-family: var(--pyx-font-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--pyx-gold);
	margin-right: 6px;
}

.pyx-tag {
	display: inline-block;
	padding: 7px 16px;
	border-radius: 999px;
	border: 1px solid var(--pyx-line-soft);
	font-family: var(--pyx-font-mono);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: rgba(245, 240, 235, 0.68);
	transition: border-color 0.3s var(--pyx-ease), color 0.3s var(--pyx-ease),
		background 0.3s var(--pyx-ease);
}

.pyx-tag:hover {
	border-color: var(--pyx-gold);
	color: var(--pyx-gold);
	background: rgba(255, 215, 0, 0.08);
}

.pyx-author-box {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	margin-top: 44px;
	padding: 30px;
	border-radius: var(--pyx-radius-card);
	background: linear-gradient(160deg, #151515, #0d0d0d);
	border: 1px solid var(--pyx-line-soft);
}

.pyx-author-box .pyx-avatar {
	width: 56px;
	height: 56px;
	font-size: 17px;
}

.pyx-author-box h4 {
	margin: 0 0 8px;
	font-size: 17px;
	color: var(--pyx-warm);
}

.pyx-author-box p {
	margin: 0;
	font-size: 14.4px;
	line-height: 1.72;
	color: var(--pyx-gray-light);
}

.pyx-post-nav {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin-top: 30px;
}

.pyx-post-nav a {
	display: block;
	padding: 24px 26px;
	border-radius: var(--pyx-radius-soft);
	border: 1px solid var(--pyx-line-soft);
	background: #111111;
	transition: transform 0.35s var(--pyx-ease), border-color 0.35s var(--pyx-ease);
}

.pyx-post-nav a:hover {
	transform: translateY(-4px);
	border-color: var(--pyx-line);
}

.pyx-post-nav span {
	display: block;
	font-family: var(--pyx-font-mono);
	font-size: 10.5px;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--pyx-gold);
	margin-bottom: 10px;
}

.pyx-post-nav strong {
	display: block;
	font-family: var(--pyx-font-display);
	font-size: 15.5px;
	font-weight: 600;
	line-height: 1.45;
	color: var(--pyx-warm);
}

.pyx-post-nav a:last-child {
	text-align: right;
}

/* comments — covers both the theme classes and the core fallback markup */
.pyx-comments,
#comments {
	margin-top: 60px;
	padding-top: 40px;
	border-top: 1px solid var(--pyx-line-soft);
}

#comments .comments-title,
.pyx-comments h3 {
	font-size: 22px;
	color: var(--pyx-warm);
}

.pyx-comment-list,
.commentlist {
	list-style: none;
	margin: 0 0 40px;
	padding: 0;
}

.pyx-comment-list .comment,
.commentlist .comment {
	padding: 22px 0;
	border-bottom: 1px solid var(--pyx-line-soft);
}

.comment-body {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.pyx-comment-list .children,
.commentlist .children {
	list-style: none;
	margin: 0;
	padding-left: 30px;
}

.pyx-comment-meta,
.comment-metadata {
	font-family: var(--pyx-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.1em;
	color: var(--pyx-gray);
	margin-bottom: 10px;
}

.pyx-comment-meta a,
.comment-metadata a {
	color: var(--pyx-gold);
}

.comment-author .fn {
	font-family: var(--pyx-font-display);
	font-weight: 600;
	color: var(--pyx-warm);
	font-style: normal;
}

.comment-author .avatar {
	border-radius: 50%;
	border: 1px solid var(--pyx-line);
	margin-right: 10px;
}

.pyx-comment-content,
.comment-content {
	font-size: 15.4px;
	line-height: 1.76;
	color: rgba(245, 240, 235, 0.82);
}

.comment-content p:last-child {
	margin-bottom: 0;
}

.reply {
	font-family: var(--pyx-font-mono);
	font-size: 11.5px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.pyx-respond,
#respond {
	padding: 28px;
	border-radius: var(--pyx-radius-soft);
	background: #121212;
	border: 1px solid var(--pyx-line-soft);
}

#respond .comment-reply-title {
	font-size: 19px;
	color: var(--pyx-gold);
	margin-bottom: 18px;
}

.comment-form {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.comment-form label {
	display: block;
	font-family: var(--pyx-font-mono);
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--pyx-gray-light);
	margin-bottom: 6px;
}

.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea {
	width: 100%;
	padding: 13px 16px;
	border-radius: 10px;
	border: 1px solid var(--pyx-line-soft);
	background: rgba(10, 10, 10, 0.7);
	color: var(--pyx-warm);
	font-family: var(--pyx-font-body);
	font-size: 15px;
	transition: border-color 0.3s var(--pyx-ease), box-shadow 0.3s var(--pyx-ease);
}

.comment-form input:focus,
.comment-form textarea:focus {
	outline: none;
	border-color: var(--pyx-gold);
	box-shadow: 0 0 0 4px rgba(255, 215, 0, 0.12);
}

.comment-form .form-submit {
	margin: 6px 0 0;
}

.comment-form input[type="submit"] {
	padding: 13px 30px;
	border-radius: 999px;
	border: 1px solid transparent;
	background: linear-gradient(135deg, #ffd700, #d9a900);
	color: #141000;
	font-family: var(--pyx-font-display);
	font-weight: 700;
	font-size: 14.5px;
	cursor: pointer;
	transition: transform 0.3s var(--pyx-ease), box-shadow 0.3s var(--pyx-ease);
}

.comment-form input[type="submit"]:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(255, 215, 0, 0.28);
}

.comment-notes,
.logged-in-as,
.form-allowed-tags {
	font-size: 12.5px;
	color: var(--pyx-gray);
}

.comment-navigation {
	display: flex;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 20px;
	font-family: var(--pyx-font-mono);
	font-size: 12px;
}

.bypostauthor {
	background: rgba(139, 0, 0, 0.12);
	border-radius: var(--pyx-radius-soft);
	padding-left: 16px;
	padding-right: 16px;
}

/* bottom related grid — full width, 3 columns */
.pyx-related {
	background: var(--pyx-black-2);
	padding: 88px 0 100px;
	border-top: 1px solid var(--pyx-line-soft);
}

.pyx-related__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 44px;
}

.pyx-related__head h2 {
	font-size: clamp(26px, 3.4vw, 38px);
	font-weight: 800;
	margin: 0;
}

/* ==========================================================================
   Archive / index / search listing
   ========================================================================== */
.pyx-page-head {
	position: relative;
	padding: 92px 0 70px;
	background:
		radial-gradient(58% 120% at 82% 0%, rgba(139, 0, 0, 0.5) 0%, rgba(139, 0, 0, 0) 68%),
		linear-gradient(180deg, #0d0d0d 0%, #0a0a0a 100%);
	border-bottom: 1px solid var(--pyx-line-soft);
	overflow: hidden;
}

.pyx-page-head::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	background-image: linear-gradient(to right, rgba(255, 215, 0, 0.05) 1px, transparent 1px);
	background-size: 80px 100%;
	mask-image: linear-gradient(180deg, #000, transparent 78%);
	-webkit-mask-image: linear-gradient(180deg, #000, transparent 78%);
}

.pyx-page-head__inner {
	position: relative;
	z-index: 1;
	max-width: 820px;
}

.pyx-page-head h1 {
	font-size: clamp(30px, 4.8vw, 54px);
	font-weight: 900;
	letter-spacing: 0.015em;
	line-height: 1.16;
	margin: 0 0 18px;
	color: var(--pyx-warm);
}

.pyx-page-head h1 em {
	font-style: normal;
	color: var(--pyx-gold);
}

.pyx-page-head p {
	margin: 0;
	font-size: 17px;
	line-height: 1.75;
	color: var(--pyx-gray-light);
	max-width: 640px;
}

.pyx-listing {
	background: var(--pyx-black);
	padding: 78px 0 100px;
}

.pyx-listing__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.pyx-listing__grid > .pyx-card:first-child {
	grid-column: span 2;
	flex-direction: row;
	align-items: stretch;
	background: linear-gradient(120deg, #1b0d0d 0%, #101010 46%, #171305 100%);
}

.pyx-listing__grid > .pyx-card:first-child .pyx-card__thumb {
	flex: 1 1 54%;
	aspect-ratio: auto;
	min-height: 300px;
}

.pyx-listing__grid > .pyx-card:first-child .pyx-card__body {
	flex: 1 1 46%;
	padding: 34px 32px;
	justify-content: center;
}

.pyx-listing__grid > .pyx-card:first-child .pyx-card__title {
	font-size: 26px;
	line-height: 1.24;
}

.pyx-empty {
	text-align: center;
	padding: 70px 20px;
	border: 1px dashed var(--pyx-line);
	border-radius: var(--pyx-radius-card);
}

.pyx-empty h3 {
	font-size: 22px;
	color: var(--pyx-gold);
	margin-bottom: 12px;
}

.pyx-empty p {
	color: var(--pyx-gray-light);
	margin: 0 0 26px;
}

/* pagination — paginate_links() list output plus wp_link_pages() */
.pyx-pagination {
	display: flex;
	justify-content: center;
	margin-top: 62px;
}

.pyx-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	align-items: center;
}

.pyx-pagination ul.page-numbers {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 0;
	height: auto;
	border: 0;
	background: none;
}

.pyx-pagination ul.page-numbers li {
	margin: 0;
	list-style: none;
}

.pyx-pagination .page-numbers,
.pyx-pagination .nav-links a,
.pyx-pagination .nav-links span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 46px;
	height: 46px;
	padding: 0 16px;
	border-radius: 12px;
	border: 1px solid var(--pyx-line-soft);
	background: #111111;
	font-family: var(--pyx-font-mono);
	font-size: 13.5px;
	font-weight: 600;
	color: rgba(245, 240, 235, 0.76);
	transition: transform 0.3s var(--pyx-ease), border-color 0.3s var(--pyx-ease),
		background 0.3s var(--pyx-ease), color 0.3s var(--pyx-ease);
}

.pyx-pagination a.page-numbers:hover,
.pyx-pagination .nav-links a:hover {
	transform: translateY(-3px);
	border-color: var(--pyx-gold);
	color: var(--pyx-gold);
}

.pyx-pagination .page-numbers.current {
	background: linear-gradient(135deg, #ffd700, #d9a900);
	border-color: transparent;
	color: #141000;
	box-shadow: 0 10px 26px rgba(255, 215, 0, 0.25);
}

.pyx-pagination .page-numbers.dots {
	border: 0;
	background: none;
	min-width: 24px;
	color: var(--pyx-gray);
}

/* search form */
.pyx-searchform {
	display: flex;
	gap: 12px;
	align-items: stretch;
	max-width: 560px;
}

.pyx-searchform .pyx-search-field {
	flex: 1;
	min-width: 0;
	height: 54px;
	padding: 0 22px;
	border-radius: 999px;
	border: 1px solid var(--pyx-line);
	background: rgba(10, 10, 10, 0.7);
	color: var(--pyx-warm);
	font-family: var(--pyx-font-body);
	font-size: 15px;
	transition: border-color 0.3s var(--pyx-ease), box-shadow 0.3s var(--pyx-ease);
}

.pyx-searchform .pyx-search-field::placeholder {
	color: var(--pyx-gray);
}

.pyx-searchform .pyx-search-field:focus {
	outline: none;
	border-color: var(--pyx-gold);
	box-shadow: 0 0 0 4px rgba(255, 215, 0, 0.14);
}

.pyx-searchform .pyx-search-submit {
	height: 54px;
	padding: 0 30px;
	border-radius: 999px;
	border: 1px solid transparent;
	background: linear-gradient(135deg, #ffd700, #d9a900);
	color: #141000;
	font-family: var(--pyx-font-display);
	font-weight: 700;
	font-size: 14.5px;
	letter-spacing: 0.04em;
	transition: transform 0.3s var(--pyx-ease), box-shadow 0.3s var(--pyx-ease);
}

.pyx-searchform .pyx-search-submit:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 30px rgba(255, 215, 0, 0.3);
}

.pyx-search-inline {
	margin-top: 30px;
}

.pyx-search-inline--center {
	display: flex;
	justify-content: center;
}

.pyx-empty .pyx-searchform {
	margin: 0 auto;
}

.pyx-search-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 14px 30px;
	margin-top: 26px;
	font-family: var(--pyx-font-mono);
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--pyx-gray-light);
}

.pyx-chips {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

/* static page */
.pyx-page-body {
	background: var(--pyx-black);
	padding: 76px 0 100px;
}

.pyx-page-body .pyx-detail__column {
	max-width: 820px;
}

/* 404 */
.pyx-error {
	min-height: 76vh;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	background:
		radial-gradient(50% 60% at 50% 30%, rgba(139, 0, 0, 0.55) 0%, rgba(139, 0, 0, 0) 70%),
		var(--pyx-black);
	padding: 90px 24px;
}

.pyx-error__code {
	font-family: var(--pyx-font-display);
	font-size: clamp(96px, 20vw, 220px);
	font-weight: 900;
	line-height: 0.9;
	letter-spacing: 0.02em;
	background: linear-gradient(180deg, #ffd700 0%, #8b0000 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	-webkit-text-fill-color: transparent;
	margin-bottom: 12px;
}

.pyx-error h1 {
	font-size: clamp(24px, 3.4vw, 38px);
	color: var(--pyx-warm);
	margin-bottom: 16px;
}

.pyx-error p {
	max-width: 520px;
	margin: 0 auto 34px;
	color: var(--pyx-gray-light);
}

.pyx-error__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	justify-content: center;
}

/* widget areas / sidebar-less theme fallbacks */
.widget {
	margin-bottom: 40px;
}

.widget-title {
	font-size: 17px;
	color: var(--pyx-gold);
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 1180px) {
	.pyx-markets {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.pyx-figures__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 40px 24px;
	}
	.pyx-figure:nth-child(2n) {
		border-right: 0;
	}
}

@media (max-width: 1024px) {
	.pyx-topbar__nav {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		max-height: calc(100vh - var(--pyx-nav-h));
		overflow-y: auto;
		background: rgba(10, 10, 10, 0.98);
		border-bottom: 1px solid var(--pyx-line);
		padding: 18px 24px 26px;
		display: none;
		box-shadow: 0 24px 44px rgba(0, 0, 0, 0.6);
	}
	.pyx-topbar.pyx-topbar--open .pyx-topbar__nav {
		display: block;
	}
	.pyx-menu {
		flex-direction: column;
		align-items: stretch;
		gap: 4px;
		width: 100%;
	}
	.pyx-menu a {
		display: block;
		padding: 13px 8px;
		border-bottom: 1px solid var(--pyx-line-soft);
		border-radius: 0;
	}
	.pyx-menu a::after {
		display: none;
	}
	.pyx-burger {
		display: flex;
	}
	.pyx-topbar__inner {
		gap: 14px;
		padding: 0 18px;
	}
	.pyx-topbar__cta .pyx-btn--ghost {
		display: none;
	}
	.pyx-topbar__cta .pyx-btn {
		padding: 9px 15px;
		font-size: 12.5px;
	}
	.pyx-langswitch {
		display: none;
	}
	.pyx-grid,
	.pyx-listing__grid,
	.pyx-advantages__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.pyx-card--featured,
	.pyx-listing__grid > .pyx-card:first-child {
		grid-column: span 2;
	}
	.pyx-advantages {
		padding: 56px 34px 60px;
		border-radius: 26px;
	}
	.pyx-section {
		padding: 76px 0;
	}
}

@media (max-width: 720px) {
	:root {
		--pyx-nav-h: 70px;
	}
	.pyx-grid,
	.pyx-listing__grid,
	.pyx-advantages__grid,
	.pyx-markets,
	.pyx-figures__grid,
	.pyx-post-nav {
		grid-template-columns: minmax(0, 1fr);
	}
	.pyx-card--featured,
	.pyx-listing__grid > .pyx-card:first-child {
		grid-column: span 1;
		flex-direction: column;
	}
	.pyx-card--featured .pyx-card__thumb,
	.pyx-listing__grid > .pyx-card:first-child .pyx-card__thumb {
		flex: none;
		aspect-ratio: 16 / 10;
		min-height: 0;
	}
	.pyx-card--featured .pyx-card__body,
	.pyx-listing__grid > .pyx-card:first-child .pyx-card__body {
		padding: 26px 24px;
	}
	.pyx-figure {
		border-right: 0;
		border-bottom: 1px solid rgba(255, 215, 0, 0.14);
		padding-bottom: 26px;
	}
	.pyx-figure:last-child {
		border-bottom: 0;
	}
	.pyx-hero__inner {
		padding: calc(var(--pyx-nav-h) + 46px) 20px 110px;
	}
	.pyx-hero__actions .pyx-btn,
	.pyx-cta-full__actions .pyx-btn {
		width: 100%;
		min-width: 0;
	}
	.pyx-voice {
		flex-basis: 84vw;
	}
	.pyx-advantages {
		padding: 44px 22px 48px;
		border-radius: 22px;
	}
	.pyx-topbar__cta .pyx-btn--sm {
		padding: 8px 12px;
		font-size: 11.5px;
	}
	.pyx-detail__body {
		font-size: 16.6px;
	}
	.pyx-detail__body .alignleft,
	.pyx-detail__body .alignright {
		float: none;
		max-width: 100%;
		margin: 8px 0 24px;
	}
	.pyx-divide {
		height: 84px;
	}
	.pyx-searchform {
		flex-direction: column;
	}
	.pyx-searchform .pyx-search-submit {
		width: 100%;
	}
}

/* ==== breadcrumb (added by automation) ==== */
.pyx-crumb{display:flex;flex-wrap:wrap;align-items:center;gap:.5em;font-size:.85rem;line-height:1.4;margin:0 0 1.1rem;opacity:.9}
.pyx-crumb a{color:inherit;text-decoration:none}
.pyx-crumb a:hover{text-decoration:underline}
.pyx-crumb .pyx-sep{opacity:.45}
.pyx-crumb .pyx-current{font-weight:600}
.pyx-crumb-bar{padding-top:16px}
