/*
 * Journal pages: blog list, blog post, case study list, case study detail.
 *
 * Every declaration is the literal value of the Tailwind utility used by the
 * React originals (ResourceHero.js, BlogList.js, CaseStudyList.js and the two
 * [slug] routes), so the rendered result matches rather than approximates.
 *
 * Tokens:
 *   primary #0B1B3D   accent #2563EB   text #1A1A2E
 *   muted   #6B7280   light  #F5F6F8   border rgba(229,231,235,.8)
 *   gray-100 #F3F4F6  gray-200 #E5E7EB
 */

/* ================================================================== hero == */

/* relative overflow-hidden bg-[#0B1B3D] py-24 lg:py-32 */
.gvd-journal__hero {
	position: relative;
	overflow: hidden;
	background: #0b1b3d;
	padding-block: 6rem;
}

@media (min-width: 1024px) {
	.gvd-journal__hero { padding-block: 8rem; }
}

/* bg-gradient-to-br from-[#0B1B3D] via-[#0e2a5e] to-[#0B1B3D] */
.gvd-journal__herobg {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom right, #0b1b3d, #0e2a5e, #0b1b3d);
}

/* 48px grid, radially masked to the top of the section */
.gvd-journal__herogrid {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255, 255, 255, 0.06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255, 255, 255, 0.06) 1px, transparent 1px);
	background-size: 48px 48px;
	mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, #000 30%, transparent 75%);
	-webkit-mask-image: radial-gradient(ellipse 80% 70% at 50% 0%, #000 30%, transparent 75%);
}

/* The two framer-motion glow orbs, looping on the same 12s / 15s cadence. */
.gvd-journal__orb {
	position: absolute;
	border-radius: 9999px;
	pointer-events: none;
}

.gvd-journal__orb--a {
	left: -6rem;
	top: 2.5rem;
	width: 18rem;
	height: 18rem;
	background: rgba(37, 99, 235, 0.25);
	filter: blur(100px);
	animation: gvd-journal-drift-a 12s ease-in-out infinite;
}

.gvd-journal__orb--b {
	right: 0;
	top: 33.333%;
	width: 20rem;
	height: 20rem;
	background: rgba(59, 130, 246, 0.2);
	filter: blur(120px);
	animation: gvd-journal-drift-b 15s ease-in-out infinite;
}

@keyframes gvd-journal-drift-a {
	0%, 100% { transform: translate(0, 0); }
	50%      { transform: translate(30px, -20px); }
}

@keyframes gvd-journal-drift-b {
	0%, 100% { transform: translate(0, 0); }
	50%      { transform: translate(-40px, 30px); }
}

/* inset-x-0 top-0 h-px bg-gradient-to-r from-transparent via-accent/60 */
.gvd-journal__heroedge {
	position: absolute;
	inset-inline: 0;
	top: 0;
	height: 1px;
	background: linear-gradient(to right, transparent, rgba(37, 99, 235, 0.6), transparent);
}

/* relative grid max-w-7xl items-center gap-12 lg:grid-cols-2 */
.gvd-journal__heroinner {
	position: relative;
	z-index: 1;
	display: grid;
	align-items: center;
	gap: 3rem;
}

@media (min-width: 1024px) {
	.gvd-journal__heroinner { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* Eyebrow chip with the pinging status dot. */
.gvd-journal__heroeyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	border: 1px solid rgba(37, 99, 235, 0.25);
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.1);
	padding: 0.375rem 0.875rem;
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #2563eb;
	backdrop-filter: blur(4px);
}

.gvd-journal__ping {
	position: relative;
	display: flex;
	width: 0.375rem;
	height: 0.375rem;
	flex: none;
}

.gvd-journal__ping-wave {
	position: absolute;
	inset: 0;
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.7);
	animation: gvd-journal-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

.gvd-journal__ping-dot {
	position: relative;
	width: 0.375rem;
	height: 0.375rem;
	border-radius: 9999px;
	background: #2563eb;
}

@keyframes gvd-journal-ping {
	75%, 100% { transform: scale(2); opacity: 0; }
}

/* mt-6 text-4xl sm:text-5xl lg:text-[3.25rem] font-bold leading-[1.08] */
.gvd-journal__herotitle {
	margin: 1.5rem 0 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 2.25rem;
	font-weight: 700;
	line-height: 1.08;
	letter-spacing: -0.025em;
	color: #fff;
}

@media (min-width: 640px) {
	.gvd-journal__herotitle { font-size: 3rem; }
}

@media (min-width: 1024px) {
	.gvd-journal__herotitle { font-size: 3.25rem; }
}

.gvd-journal__herohighlight {
	position: relative;
	white-space: nowrap;
	color: #2563eb;
}

.gvd-journal__herounderline {
	position: absolute;
	left: 0;
	bottom: -0.25rem;
	width: 100%;
	height: 3px;
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.5);
	transform-origin: left;
	animation: gvd-journal-underline 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.5s both;
}

@keyframes gvd-journal-underline {
	from { transform: scaleX(0); }
	to   { transform: scaleX(1); }
}

/* mt-6 max-w-xl text-lg leading-relaxed text-white/65 */
.gvd-journal__herolede {
	margin: 1.5rem 0 0;
	max-width: 36rem;
	font-size: 1.125rem;
	line-height: 1.625;
	color: rgba(255, 255, 255, 0.65);
}

@media (min-width: 1024px) {
	.gvd-journal__heroaside { justify-self: end; }
}

/* ----------------------------------------------- hero aside: topic cards -- */

/* relative w-full max-w-sm */
.gvd-journal__topics {
	position: relative;
	width: 100%;
	max-width: 24rem;
}

/* -inset-4 rounded-3xl bg-accent/10 blur-2xl */
.gvd-journal__topicsglow {
	position: absolute;
	inset: -1rem;
	border-radius: 1.5rem;
	background: rgba(37, 99, 235, 0.1);
	filter: blur(40px);
}

.gvd-journal__topicslist {
	position: relative;
	display: grid;
	gap: 0.75rem;
}

/* flex items-center gap-3 rounded-2xl border border-white/10 bg-white/[0.06] p-4 */
.gvd-journal__topic {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.06);
	padding: 1rem;
	backdrop-filter: blur(12px);
}

.gvd-journal__topicicon {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.75rem;
	background: rgba(255, 255, 255, 0.1);
}

.gvd-journal__topicicon--accent  { color: #2563eb; }
.gvd-journal__topicicon--blue    { color: #93c5fd; }
.gvd-journal__topicicon--emerald { color: #6ee7b7; }

.gvd-journal__topiclabel {
	margin: 0;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 600;
	color: #fff;
}

.gvd-journal__topicsub {
	margin: 0;
	font-size: 0.75rem;
	line-height: 1rem;
	color: rgba(255, 255, 255, 0.45);
}

/* ------------------------------------------------ hero aside: stat grid -- */

/* grid w-full max-w-md grid-cols-2 gap-3 */
.gvd-journal__stats {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
	width: 100%;
	max-width: 28rem;
	margin: 0;
}

.gvd-journal__stat {
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: 1rem;
	background: rgba(255, 255, 255, 0.06);
	padding: 1.25rem;
	text-align: center;
	backdrop-filter: blur(12px);
}

.gvd-journal__statvalue {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.875rem;
	line-height: 2.25rem;
	font-weight: 700;
	color: #fff;
}

.gvd-journal__statlabel {
	margin: 0.25rem 0 0;
	font-size: 0.75rem;
	line-height: 1rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: rgba(255, 255, 255, 0.5);
}

/* ================================================================ lists == */

/* mb-10 flex flex-wrap gap-2 */
.gvd-journal__filters {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 2.5rem;
}

.gvd-journal__filter {
	appearance: none;
	border: 0;
	border-radius: 9999px;
	padding: 0.375rem 1rem;
	font: inherit;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 500;
	background: #f3f4f6;
	color: #6b7280;
	cursor: pointer;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.gvd-journal__filter:hover {
	background: #e5e7eb;
	color: #1a1a2e;
}

.gvd-journal__filter.is-active,
.gvd-journal__filter.is-active:hover {
	background: #2563eb;
	color: #fff;
}

/* Shared image behaviour for every card medium. */
.gvd-journal__img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.7s cubic-bezier(0.4, 0, 0.2, 1);
}

.gvd-journal__img--dim { opacity: 0.9; }

.gvd-journal__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	background: #0b1b3d;
	font-size: 0.75rem;
	line-height: 1rem;
	color: rgba(255, 255, 255, 0.25);
}

.gvd-journal__placeholder--lg {
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: rgba(255, 255, 255, 0.3);
}

/* --------------------------------------------------------- featured post -- */

/* group mb-12 grid overflow-hidden rounded-3xl border bg-white shadow-sm */
.gvd-journal__featured {
	display: grid;
	overflow: hidden;
	margin-bottom: 3rem;
	border: 1px solid #f3f4f6;
	border-radius: 1.5rem;
	background: #fff;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.gvd-journal__featured:hover {
	transform: translateY(-0.25rem);
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

@media (min-width: 1024px) {
	.gvd-journal__featured { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.gvd-journal__featuredmedia {
	position: relative;
	overflow: hidden;
	background: #f3f4f6;
	aspect-ratio: 16 / 10;
}

@media (min-width: 1024px) {
	.gvd-journal__featuredmedia { aspect-ratio: auto; }
}

.gvd-journal__featured:hover .gvd-journal__img { transform: scale(1.05); }

/* absolute left-4 top-4 rounded-full bg-accent px-3 py-1 text-xs uppercase */
.gvd-journal__badge {
	position: absolute;
	left: 1rem;
	top: 1rem;
	border-radius: 9999px;
	background: #2563eb;
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #fff;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
}

/* flex flex-col justify-center p-8 lg:p-10 */
.gvd-journal__featuredbody {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 2rem;
}

@media (min-width: 1024px) {
	.gvd-journal__featuredbody { padding: 2.5rem; }
}

/* mb-3 w-fit rounded-full bg-accent/10 px-2.5 py-1 text-xs text-accent */
.gvd-journal__chip {
	display: inline-flex;
	align-items: center;
	width: fit-content;
	margin-bottom: 0.75rem;
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.1);
	padding: 0.25rem 0.625rem;
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 500;
	color: #2563eb;
}

/* text-2xl lg:text-3xl font-bold leading-tight text-text */
.gvd-journal__featuredtitle {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.25;
	color: #1a1a2e;
	transition: color 0.2s ease;
}

@media (min-width: 1024px) {
	.gvd-journal__featuredtitle { font-size: 1.875rem; }
}

.gvd-journal__featured:hover .gvd-journal__featuredtitle { color: #2563eb; }

/* mt-4 line-clamp-3 leading-relaxed text-text-muted */
.gvd-journal__featuredtext {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 1rem 0 0;
	line-height: 1.625;
	color: #6b7280;
}

/* ------------------------------------------------------------------ meta -- */

/* flex flex-wrap items-center gap-x-4 gap-y-1.5 text-xs text-text-muted */
.gvd-journal__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: 1rem;
	row-gap: 0.375rem;
	font-size: 0.75rem;
	line-height: 1rem;
	color: #6b7280;
}

.gvd-journal__meta--featured { margin-top: 1.5rem; }
.gvd-journal__meta--card     { margin-top: auto; padding-top: 1.25rem; }

.gvd-journal__metaitem {
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
}

.gvd-journal__metaitem .gvd-svg { flex: none; }

/* "Read article" / "Read case study" */
.gvd-journal__more {
	display: inline-flex;
	align-items: center;
	margin-top: 1.5rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 600;
	color: #2563eb;
}

.gvd-journal__more .gvd-svg {
	margin-left: 0.375rem;
	transition: transform 0.2s ease;
}

.gvd-journal__featured:hover .gvd-journal__more .gvd-svg,
.gvd-journal__case:hover .gvd-journal__more .gvd-svg {
	transform: translateX(0.25rem);
}

/* --------------------------------------------------------- post/case grid -- */

/* grid gap-6 md:grid-cols-2 lg:grid-cols-3 lg:gap-8 — the original goes
   two-up at md (768px), a breakpoint later than the shared .gvd-grid--3. */
.gvd-journal__grid { gap: 1.5rem; }

@media (min-width: 640px) and (max-width: 767.98px) {
	.gvd-journal__grid { grid-template-columns: repeat(1, minmax(0, 1fr)); }
}

@media (min-width: 1024px) {
	.gvd-journal__grid { gap: 2rem; }
}

/* group flex h-full flex-col overflow-hidden rounded-2xl border bg-white */
.gvd-journal__card,
.gvd-journal__case {
	display: flex;
	height: 100%;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid #f3f4f6;
	border-radius: 1rem;
	background: #fff;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	text-decoration: none;
	transition: transform 0.3s ease, box-shadow 0.3s ease, border-color 0.3s ease;
}

.gvd-journal__card:hover {
	transform: translateY(-0.25rem);
	border-color: rgba(37, 99, 235, 0.3);
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
}

.gvd-journal__case:hover {
	transform: translateY(-0.25rem);
	border-color: rgba(37, 99, 235, 0.3);
	box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 8px 10px -6px rgba(0, 0, 0, 0.1);
}

.gvd-journal__cardmedia {
	position: relative;
	overflow: hidden;
	background: #f3f4f6;
	aspect-ratio: 16 / 9;
}

.gvd-journal__card:hover .gvd-journal__img,
.gvd-journal__case:hover .gvd-journal__img { transform: scale(1.05); }

/* absolute left-3 top-3 rounded-full bg-white/90 px-2.5 py-1 text-[11px] */
.gvd-journal__tag {
	position: absolute;
	left: 0.75rem;
	top: 0.75rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.9);
	padding: 0.25rem 0.625rem;
	font-size: 0.6875rem;
	line-height: 1rem;
	font-weight: 600;
	color: #2563eb;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	backdrop-filter: blur(4px);
}

/* flex flex-1 flex-col p-6 */
.gvd-journal__cardbody {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 1.5rem;
}

/* text-lg font-semibold leading-snug line-clamp-2 */
.gvd-journal__cardtitle {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.375;
	color: #1a1a2e;
	transition: color 0.2s ease;
}

.gvd-journal__card:hover .gvd-journal__cardtitle,
.gvd-journal__case:hover .gvd-journal__cardtitle { color: #2563eb; }

/* mt-3 line-clamp-3 text-sm leading-relaxed text-text-muted */
.gvd-journal__cardtext {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	line-height: 1.625;
	color: #6b7280;
}

/* ---------------------------------------------------------- case cards -- */

.gvd-journal__casemedia {
	position: relative;
	overflow: hidden;
	background: #0b1b3d;
	aspect-ratio: 16 / 10;
}

.gvd-journal__caseglyph {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: rgba(255, 255, 255, 0.25);
}

/* bg-gradient-to-t from-black/60 via-transparent to-transparent */
.gvd-journal__casescrim {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent 50%, transparent);
}

.gvd-journal__caseindustry {
	position: absolute;
	left: 1rem;
	top: 1rem;
	border-radius: 9999px;
	background: rgba(255, 255, 255, 0.9);
	padding: 0.25rem 0.75rem;
	font-size: 0.6875rem;
	line-height: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #2563eb;
	box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
	backdrop-filter: blur(4px);
}

.gvd-journal__caseclient {
	position: absolute;
	left: 1rem;
	bottom: 1rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	font-weight: 500;
	color: rgba(255, 255, 255, 0.9);
}

/* flex flex-1 flex-col p-6 lg:p-7 */
.gvd-journal__casebody {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	padding: 1.5rem;
}

@media (min-width: 1024px) {
	.gvd-journal__casebody { padding: 1.75rem; }
}

/* mt-3 flex gap-2 text-sm italic leading-relaxed line-clamp-3 */
.gvd-journal__casequote {
	display: flex;
	gap: 0.5rem;
	margin: 0.75rem 0 0;
	font-size: 0.875rem;
	font-style: italic;
	line-height: 1.625;
	color: #6b7280;
}

.gvd-journal__casequote span {
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gvd-journal__casequoteicon {
	flex: none;
	margin-top: 0.125rem;
	color: rgba(37, 99, 235, 0.5);
}

.gvd-journal__more--case { margin-top: auto; padding-top: 1.5rem; }

/* --------------------------------------------------------- empty states -- */

.gvd-journal__empty {
	max-width: 28rem;
	margin-inline: auto;
	border: 1px solid #f3f4f6;
	border-radius: 1rem;
	background: rgba(249, 250, 251, 0.6);
	padding: 2.5rem;
	text-align: center;
}

.gvd-journal__emptytitle {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.125rem;
	font-weight: 600;
	line-height: 1.75rem;
	color: #1a1a2e;
}

.gvd-journal__emptytext {
	margin: 0.5rem 0 0;
	font-size: 0.875rem;
	line-height: 1.625;
	color: #6b7280;
}

.gvd-journal__emptylink {
	display: inline-flex;
	align-items: center;
	margin-top: 1.5rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: #2563eb;
	text-decoration: none;
}

.gvd-journal__emptylink .gvd-svg { margin-left: 0.375rem; }

/* Shown by the filter script when a category has nothing in it. */
.gvd-journal__none {
	margin: 0;
	text-align: center;
	color: #6b7280;
}

.gvd-journal__none:not([hidden]) { margin-top: 2rem; }

/* ====================================================== article headers == */

/* py-20 lg:py-28 bg-[#0B1B3D] */
.gvd-journal__posthero {
	background: #0b1b3d;
	padding-block: 5rem;
}

@media (min-width: 1024px) {
	.gvd-journal__posthero { padding-block: 7rem; }
}

/* max-w-4xl mx-auto px-4 sm:px-6 lg:px-8 */
.gvd-journal__narrow,
.gvd-journal__wide,
.gvd-journal__reading {
	width: 100%;
	margin-inline: auto;
	padding-inline: 1rem;
}

@media (min-width: 640px) {
	.gvd-journal__narrow,
	.gvd-journal__wide,
	.gvd-journal__reading { padding-inline: 1.5rem; }
}

@media (min-width: 1024px) {
	.gvd-journal__narrow,
	.gvd-journal__wide,
	.gvd-journal__reading { padding-inline: 2rem; }
}

.gvd-journal__narrow  { max-width: 56rem; }
.gvd-journal__wide    { max-width: 56rem; }
.gvd-journal__reading { max-width: 48rem; }

.gvd-journal__back {
	display: inline-flex;
	align-items: center;
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: rgba(255, 255, 255, 0.6);
	text-decoration: none;
	transition: color 0.2s ease;
}

.gvd-journal__back:hover { color: #fff; }

.gvd-journal__back .gvd-svg { margin-right: 0.375rem; }

.gvd-journal__postchips {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1.25rem;
}

.gvd-journal__postchip {
	display: inline-flex;
	align-items: center;
	border: 1px solid rgba(37, 99, 235, 0.2);
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.15);
	padding: 0.25rem 0.75rem;
	font-size: 0.75rem;
	line-height: 1rem;
	font-weight: 500;
	color: #2563eb;
}

.gvd-journal__postchip .gvd-svg { margin-right: 0.375rem; }

/* h1: text-3xl sm:text-4xl lg:text-5xl font-bold leading-tight text-white */
.gvd-journal__posttitle {
	margin: 0;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.875rem;
	font-weight: 700;
	line-height: 1.25;
	color: #fff;
}

@media (min-width: 640px) {
	.gvd-journal__posttitle { font-size: 2.25rem; }
}

@media (min-width: 1024px) {
	.gvd-journal__posttitle { font-size: 3rem; }
}

/* mt-6 flex flex-wrap gap-4 text-sm text-white/60 */
.gvd-journal__postmeta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	margin-top: 1.5rem;
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: rgba(255, 255, 255, 0.6);
}

.gvd-journal__caseclientline {
	margin: 1rem 0 0;
	font-size: 1.125rem;
	line-height: 1.75rem;
	color: rgba(255, 255, 255, 0.7);
}

.gvd-journal__caseclientline span {
	font-weight: 500;
	color: #fff;
}

/* w-10 h-10 rounded-lg, tinted per industry */
.gvd-journal__caseicon {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 0.5rem;
}

.gvd-journal__caseicon--emerald { background: #ecfdf5; color: #059669; }
.gvd-journal__caseicon--blue    { background: #eff6ff; color: #2563eb; }
.gvd-journal__caseicon--amber   { background: #fffbeb; color: #d97706; }
.gvd-journal__caseicon--accent  { background: rgba(37, 99, 235, 0.1); color: #2563eb; }

/* ============================================================== article == */

/* py-16 lg:py-24 bg-white */
.gvd-journal__body {
	background: #fff;
	padding-block: 4rem;
}

@media (min-width: 1024px) {
	.gvd-journal__body { padding-block: 6rem; }
}

/* --------------------------------------------------------------- prose --- */

/*
 * The Tailwind-typography stack HtmlContent.js applied:
 *   prose prose-neutral prose-headings:font-heading prose-headings:text-text
 *   prose-p:text-text-muted prose-p:leading-relaxed prose-a:text-accent
 *   prose-strong:text-text prose-li:text-text-muted
 *   prose-blockquote:border-accent prose-blockquote:text-text
 *   prose-img:rounded-lg
 */
.gvd-journal__prose {
	font-size: 1rem;
	line-height: 1.75;
	color: #6b7280;
}

.gvd-journal__prose > :first-child { margin-top: 0; }
.gvd-journal__prose > :last-child { margin-bottom: 0; }

.gvd-journal__prose p {
	margin: 0 0 1.25rem;
	line-height: 1.625;
	color: #6b7280;
}

.gvd-journal__prose h2 {
	margin: 2.5rem 0 1.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.3333;
	color: #1a1a2e;
}

.gvd-journal__prose h3 {
	margin: 2rem 0 0.75rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.25rem;
	font-weight: 600;
	line-height: 1.6;
	color: #1a1a2e;
}

.gvd-journal__prose h4 {
	margin: 1.5rem 0 0.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1rem;
	font-weight: 600;
	color: #1a1a2e;
}

.gvd-journal__prose ul,
.gvd-journal__prose ol {
	margin: 0 0 1.25rem;
	padding-left: 1.625rem;
}

.gvd-journal__prose li {
	margin: 0.5rem 0;
	color: #6b7280;
}

.gvd-journal__prose a {
	color: #2563eb;
	font-weight: 500;
	text-decoration: none;
}

.gvd-journal__prose a:hover { text-decoration: underline; }

.gvd-journal__prose strong { color: #1a1a2e; font-weight: 600; }

.gvd-journal__prose blockquote {
	margin: 1.6rem 0;
	border-left: 4px solid #2563eb;
	padding-left: 1rem;
	font-style: italic;
	color: #1a1a2e;
}

.gvd-journal__prose img,
.gvd-journal__prose figure img {
	max-width: 100%;
	height: auto;
	border-radius: 0.5rem;
}

.gvd-journal__prose figure { margin: 2rem 0; }

.gvd-journal__prose hr {
	margin: 3rem 0;
	border: 0;
	border-top: 1px solid rgba(229, 231, 235, 0.8);
}

/* Wide content scrolls inside itself, never the page body. */
.gvd-journal__prose table,
.gvd-journal__prose pre {
	display: block;
	max-width: 100%;
	overflow-x: auto;
}

.gvd-journal__prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.925rem;
}

.gvd-journal__prose th,
.gvd-journal__prose td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid rgba(229, 231, 235, 0.8);
	text-align: left;
}

.gvd-journal__prose th {
	background: #f5f6f8;
	font-weight: 600;
	color: #1a1a2e;
}

/* ------------------------------------------------------------ pull quote -- */

/* mt-16 bg-[#0B1B3D] rounded-2xl p-8 lg:p-10 */
.gvd-journal__pull {
	margin-top: 4rem;
	border-radius: 1rem;
	background: #0b1b3d;
	padding: 2rem;
}

@media (min-width: 1024px) {
	.gvd-journal__pull { padding: 2.5rem; }
}

.gvd-journal__pullicon {
	display: block;
	margin-bottom: 1rem;
	color: #2563eb;
}

/* text-xl lg:text-2xl text-white font-medium leading-relaxed mb-6 */
.gvd-journal__pulltext {
	margin: 0 0 1.5rem;
	padding: 0;
	border: 0;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.625;
	color: #fff;
}

@media (min-width: 1024px) {
	.gvd-journal__pulltext { font-size: 1.5rem; }
}

.gvd-journal__pullwho {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.gvd-journal__pullavatar {
	display: flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 2.5rem;
	height: 2.5rem;
	border-radius: 9999px;
	background: rgba(37, 99, 235, 0.2);
	font-size: 0.875rem;
	font-weight: 700;
	color: #2563eb;
}

.gvd-journal__pullname {
	font-weight: 500;
	color: #fff;
}

.gvd-journal__pullrole {
	font-size: 0.875rem;
	line-height: 1.25rem;
	color: rgba(255, 255, 255, 0.6);
}

/* -------------------------------------------------- reduced motion ------- */

@media (prefers-reduced-motion: reduce) {
	.gvd-journal__orb,
	.gvd-journal__ping-wave,
	.gvd-journal__herounderline {
		animation: none;
	}
}
