/* wp-content/themes/apexcx/assets/css/author.css */
/* Author archive (author.php). Loaded only on is_author(); blog.css also loads
   on archives and provides the shared card grid (.apexcx-art-grid), breadcrumb
   and pagination. This file adds the author hero + Background/aside. Values use
   design tokens; component layout dimensions are section-specific one-offs. */

/* ------------------------------------------------------------------- Hero */
.apexcx-author-hero {
	position: relative;
	overflow: hidden;
	padding: 112px 0 32px; /* top clears the 76px fixed header */
}
.apexcx-author-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	background: linear-gradient(180deg, var(--apexcx-color-surface), var(--apexcx-color-bg-alt));
}
.apexcx-author-hero__bg svg { display: block; }
.apexcx-author-hero__fade {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 0%, rgba(238, 240, 243, .2) 40%, var(--apexcx-color-bg) 74%);
}
.apexcx-author-hero__inner { position: relative; z-index: 2; }

.apexcx-author-hero__split {
	display: grid;
	grid-template-columns: 0.8fr 1.4fr;
	gap: var(--apexcx-space-xl);
	align-items: center;
}
.apexcx-author-portrait { position: relative; }
.apexcx-author-portrait img,
.apexcx-author-portrait .avatar {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center 18%;
	display: block;
	box-shadow: 0 24px 50px rgba(10, 15, 60, .16);
}

.apexcx-author-kicker { color: var(--apexcx-color-primary); }
.apexcx-author-name {
	font-size: clamp(38px, 5vw, 56px);
	margin: var(--apexcx-space-sm) 0 0;
	color: var(--apexcx-color-ink);
}
.apexcx-author-role {
	font-size: 20px; /* design fixed size */
	color: var(--apexcx-color-primary);
	margin-top: 10px;
	font-weight: 700;
}
.apexcx-author-lede {
	max-width: 56ch;
	margin: 18px 0 0;
	color: var(--apexcx-color-ink-soft);
	font-size: var(--apexcx-text-body-lg);
	line-height: 1.55;
}
.apexcx-author-tags {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: var(--apexcx-space-md);
}
.apexcx-author-tag {
	border: 1px solid #D9DEE7;
	background: var(--apexcx-color-surface);
	color: var(--apexcx-color-ink-soft);
	padding: 7px 15px;
	font-size: var(--apexcx-text-kick);
	font-weight: 600;
}
.apexcx-author-contact {
	display: flex;
	flex-wrap: wrap;
	gap: var(--apexcx-space-md);
	margin-top: var(--apexcx-space-md);
	font-size: 15px;
	font-weight: 700;
}
.apexcx-author-contact__link {
	display: inline-flex;
	align-items: center;
	gap: var(--apexcx-space-2xs);
	color: var(--apexcx-color-primary);
}
.apexcx-author-contact__link:hover { color: var(--apexcx-color-ink); }

/* ------------------------------------------------------------- Background */
.apexcx-author-bg { padding: 20px 0 0; background: var(--apexcx-color-bg); }
.apexcx-author-bg__split {
	display: grid;
	grid-template-columns: 1.5fr 1fr;
	gap: var(--apexcx-space-xl);
	align-items: start;
	padding-bottom: var(--apexcx-space-md);
	border-bottom: 1px solid var(--apexcx-color-border-soft);
}
.apexcx-author-bg__kick { color: var(--apexcx-color-primary); margin-bottom: 14px; }
.apexcx-author-bio p {
	margin: 0 0 14px;
	font-size: var(--apexcx-text-body-lg);
	line-height: 1.6;
	color: var(--apexcx-color-ink-soft);
}
.apexcx-author-bio > *:last-child { margin-bottom: 0; }
.apexcx-author-bio strong { color: var(--apexcx-color-ink); }

.apexcx-author-aside {
	display: flex;
	flex-direction: column;
	background: var(--apexcx-color-surface);
	border: 1px solid var(--apexcx-color-border);
}
.apexcx-author-aside__block { padding: var(--apexcx-space-md) 28px; }
.apexcx-author-aside__block + .apexcx-author-aside__block { border-top: 1px solid var(--apexcx-color-border-soft); }
.apexcx-author-aside__kick { color: var(--apexcx-color-primary); font-size: var(--apexcx-text-kick); }
.apexcx-author-aside__item {
	margin-top: 14px;
	font-size: var(--apexcx-text-body);
	line-height: 1.55;
	color: var(--apexcx-color-ink-soft);
}
.apexcx-author-aside__item strong { color: var(--apexcx-color-ink); }
.apexcx-author-aside__item span { color: var(--apexcx-color-muted); font-size: 15px; }

/* --------------------------------------------------------------- Articles */
.apexcx-author-articles { padding: var(--apexcx-space-2xl) 0; background: var(--apexcx-color-bg); }
.apexcx-author-articles__head { text-align: center; margin-bottom: var(--apexcx-space-xl); }
.apexcx-author-articles__title {
	font-size: clamp(30px, 4vw, 50px);
	margin: 12px 0 0;
	color: var(--apexcx-color-ink);
}

/* --------------------------------------------------------------- Responsive */
@media (max-width: 860px) {
	.apexcx-author-hero__split,
	.apexcx-author-bg__split { grid-template-columns: 1fr; gap: 28px; }
}
