/* Theme additions made after the Hugo port (kept out of the compiled neal.css
   so an SCSS recompile can't clobber them). Currently: author byline + bio box. */

.post-meta__author {
	color: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.post-meta__author:hover { opacity: .85; }

.author-box {
	display: flex;
	gap: 1.25rem;
	align-items: flex-start;
	margin: 2.5rem 0 0;
	padding: 1.5rem;
	background: #f5f8fc;
	border: 1px solid #e3ebf4;
	border-radius: 12px;
}
.author-box__photo img {
	width: 96px;
	height: 96px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
}
.author-box__label {
	display: block;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #5a7184;
	margin-bottom: .15rem;
}
.author-box__name { margin: 0 0 .15rem; font-size: 1.15rem; }
.author-box__name a { color: inherit; text-decoration: none; }
.author-box__name a:hover { text-decoration: underline; }
.author-box__meta { font-size: .85rem; font-weight: 600; color: #5a7184; margin-bottom: .5rem; }
.author-box__bio { margin: 0 0 .6rem; font-size: .95rem; }
.author-box__link { font-weight: 600; text-decoration: none; }
.author-box__link:hover { text-decoration: underline; }

@media (max-width: 575px) {
	.author-box { flex-direction: column; }
}

.footer-bar .license { display: block; margin-top: .25rem; opacity: .8; font-size: .85em; }

/* Trust sections with exactly four cards render as a 2×2 grid instead of 3+1. */
@media (min-width: 576px) {
	.trust-grid--2x2 { grid-template-columns: repeat(2, 1fr); }
}

/* Process sections without a photo (e.g. the /about career timeline): the
   two-column grid would leave its image column empty, so span full width and
   center the steps at a readable measure. The dashed thread linking the step
   icons picks up the theme's dotted-divider motif and encodes the chronology. */
.process__grid--full { grid-template-columns: 1fr; }
.process__grid--full .process__steps { max-width: 860px; margin: 0 auto; width: 100%; }
.process__steps--timeline .step-card { position: relative; }
.process__steps--timeline .step-card:not(:last-child)::after {
	content: '';
	position: absolute;
	left: 61px; /* center of the 76px icon circle inside the 24px card padding */
	top: 100%;
	height: 20px; /* matches .process__steps gap */
	border-left: 2px dashed rgba(255, 255, 255, .4);
}

/* Consecutive blue sections read as one continuous band: drop the white
   top wave and the doubled padding at the junction. */
.section--blue + .section--blue .wave-top { display: none; }
.section--blue + .section--blue { padding-top: 0; }
