/*
Theme Name: Glyn Hurll
Theme URI: https://glynhurll.com
Author: Glyn Hurll
Description: Custom block theme for Glyn Hurll, fractional CMO for technology, B2B and technology-led B2C businesses.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 8.1
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: glynhurll
*/

/* ---------- Base ---------- */
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	*, *::before, *::after { transition: none !important; animation: none !important; }
}
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(h1, h2, h3, p) { text-wrap: pretty; }
:where(h1, h2) { text-wrap: balance; }
[id] { scroll-margin-top: 96px; }

.wp-site-blocks > * + * { margin-block-start: 0; }
main.wp-block-group { margin-block-start: 0; }

:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 3px solid var(--wp--preset--color--coral);
	outline-offset: 3px;
	border-radius: 2px;
}

.wp-element-button, .wp-block-button__link { transition: background-color .15s ease, color .15s ease, border-color .15s ease; }

/* ---------- Header ---------- */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }

.gh-header {
	/* Solid, not blurred: backdrop-filter would trap the fixed mobile menu inside the header. */
	background: #fff !important;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.gh-brand { gap: 2px !important; }
.gh-brand .wp-block-site-title { margin: 0; }
.gh-brand__tag {
	margin: 0;
	font-size: .75rem;
	line-height: 1.1;
	letter-spacing: .04em;
	color: var(--wp--preset--color--muted);
}
.gh-header .wp-block-navigation__container { gap: clamp(14px, 2.4vw, 30px); }
.gh-header .wp-block-navigation-item.current-menu-item > a,
.gh-header .wp-block-navigation-item a[aria-current="page"] { color: var(--wp--preset--color--coral-strong); }
.gh-header .gh-nav-cta > a {
	padding: .6rem 1.1rem;
	border: 1.5px solid var(--wp--preset--color--plum);
	border-radius: 4px;
	color: var(--wp--preset--color--plum) !important;
	font-weight: 600;
}
.gh-header .gh-nav-cta > a:hover,
.gh-header .gh-nav-cta > a:focus-visible {
	background: var(--wp--preset--color--plum);
	color: #fff !important;
}
.gh-header .wp-block-navigation__responsive-container.is-menu-open {
	padding: 1.5rem var(--wp--custom--gutter);
}
.gh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 1.25rem;
	font-size: 1.25rem;
}
.gh-header .wp-block-navigation__responsive-container.is-menu-open .gh-nav-cta { margin-top: .5rem; }

/* ---------- Shared section helpers ---------- */
.gh-eyebrow {
	margin: 0;
	font-size: .9375rem;
	font-weight: 600;
	color: var(--wp--preset--color--plum);
}
.gh-eyebrow--caps {
	font-size: .875rem;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.has-night-background-color .gh-eyebrow,
.has-plum-background-color .gh-eyebrow { color: var(--wp--preset--color--lilac); }
.gh-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.6; color: var(--wp--preset--color--body); max-width: 40rem; }
.has-night-background-color .gh-lead { color: var(--wp--preset--color--lilac-mist); }
.has-night-background-color :where(h1, h2, h3) { color: #fff; }
.has-night-background-color p:not([class*="-color"]) { color: var(--wp--preset--color--lilac-mist); }

/* Buttons */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	border: 1.5px solid var(--wp--preset--color--plum);
	color: var(--wp--preset--color--plum);
	padding: calc(.9rem - 1.5px) calc(1.6rem - 1.5px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
.wp-block-button.is-style-outline > .wp-block-button__link:focus-visible {
	background: var(--wp--preset--color--plum);
	color: #fff;
}
.wp-block-button.is-style-gh-outline-light > .wp-block-button__link {
	background: transparent;
	border: 1.5px solid rgba(255, 255, 255, .7);
	color: #fff;
	padding: calc(.9rem - 1.5px) calc(1.6rem - 1.5px);
}
.wp-block-button.is-style-gh-outline-light > .wp-block-button__link:hover,
.wp-block-button.is-style-gh-outline-light > .wp-block-button__link:focus-visible {
	background: #fff;
	color: var(--wp--preset--color--aubergine);
}
.wp-block-button.is-style-gh-text > .wp-block-button__link {
	background: none;
	padding-left: 0;
	padding-right: 0;
	color: var(--wp--preset--color--plum);
}
.wp-block-button.is-style-gh-text > .wp-block-button__link:hover { color: var(--wp--preset--color--coral-strong); }

/* Cards */
.is-style-gh-card {
	background: #fff;
	border-radius: var(--wp--custom--radius--card);
	padding: clamp(24px, 3vw, 32px);
}
.is-style-gh-card-dark {
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 6px 6px 6px 32px;
	padding: 28px;
}
.is-style-gh-panel {
	background: #fff;
	color: var(--wp--preset--color--ink);
	border-radius: var(--wp--custom--radius--panel);
	padding: clamp(24px, 4vw, 40px);
}

/* Lists with + / ✓ markers */
.is-style-gh-plus, .is-style-gh-check {
	list-style: none;
	padding-left: 0;
	margin: 0;
	display: grid;
	gap: .625rem;
	color: var(--wp--preset--color--body);
	font-size: 1rem;
	line-height: 1.5;
}
.is-style-gh-plus li, .is-style-gh-check li {
	display: grid;
	grid-template-columns: 1.1rem 1fr;
	gap: .6rem;
	padding-bottom: .625rem;
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.is-style-gh-plus li::before { content: "+"; color: var(--wp--preset--color--coral); font-weight: 700; }
.is-style-gh-check li::before { content: "✓"; color: var(--wp--preset--color--plum); font-weight: 700; }
.is-style-gh-plus.gh-list--compact li, .is-style-gh-check.gh-list--compact li { border-bottom: 0; padding-bottom: 0; }

/* ---------- Hero ---------- */
.gh-hero {
	position: relative;
	overflow: hidden;
	background-image: radial-gradient(ellipse 60% 80% at 78% 40%, #5a1c93 0%, rgba(44, 10, 82, 0) 70%);
}
.gh-hero__grid { align-items: end !important; }
.gh-hero__copy { padding-block: clamp(56px, 9vw, 120px) clamp(40px, 6vw, 72px); }
.gh-hero__copy .wp-block-buttons { padding-top: .5rem; }
.gh-hero h1 { color: #fff; margin: 0; }
.gh-hero__photo { margin: 0 auto; max-width: 520px; }
.gh-hero__photo img {
	display: block;
	width: 100%;
	height: auto;
	-webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 12%, #000 78%, transparent 100%), linear-gradient(to right, transparent 0%, #000 14%, #000 86%, transparent 100%);
	-webkit-mask-composite: source-in;
	mask-image: linear-gradient(to bottom, transparent 0%, #000 12%, #000 78%, transparent 100%), linear-gradient(to right, transparent 0%, #000 14%, #000 86%, transparent 100%);
	mask-composite: intersect;
}
@media (max-width: 781px) {
	.gh-hero__copy { padding-bottom: 0; }
	.gh-hero__photo { max-width: 360px; }
}

.gh-hero-links {
	border-top: 1px solid rgba(255, 255, 255, .18);
	gap: 0 !important;
}
.gh-hero-links p { margin: 0; }
.gh-hero-links a {
	display: block;
	height: 100%;
	padding: 22px 20px;
	color: var(--wp--preset--color--lilac-mist);
	font-size: .9375rem;
	line-height: 1.4;
	text-decoration: none;
	border-left: 1px solid rgba(255, 255, 255, .18);
}
.gh-hero-links p:first-child a { border-left: 0; padding-left: 0; color: #fff; border-bottom: 4px solid var(--wp--preset--color--coral); }
.gh-hero-links a:hover { color: #fff; }
@media (max-width: 600px) {
	.gh-hero-links a { border-left: 0; padding-left: 0; border-top: 1px solid rgba(255, 255, 255, .12); }
	.gh-hero-links p:first-child a { border-top: 0; }
}

/* Page hero (inner pages) */
.gh-page-hero h1 { font-size: clamp(2.25rem, 1.5rem + 3vw, 3.75rem); }

/* Arrow links */
.gh-arrow-links p { margin: 0; }
.gh-arrow-links a {
	display: flex;
	flex-direction: column;
	gap: 14px;
	color: var(--wp--preset--color--aubergine);
	font-size: 1.125rem;
	font-weight: 500;
	text-decoration: none;
}
.gh-arrow-links a::before {
	content: "→";
	width: 30px;
	height: 30px;
	border-radius: 50%;
	border: 1.5px solid currentColor;
	display: grid;
	place-items: center;
	font-size: .875rem;
}
.gh-arrow-links a:hover { color: var(--wp--preset--color--coral-strong); }

/* Stats */
.gh-stat { text-align: center; align-items: center !important; gap: .5rem !important; }
.gh-stat__num {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: clamp(2.75rem, 2rem + 3vw, 4rem);
	line-height: 1;
	letter-spacing: -0.03em;
	color: #c9a6ff;
}
.gh-stat__label { margin: 0; font-size: 1.1875rem; color: #fff; }

/* Sectors */
.gh-sectors { border-top: 2px solid var(--wp--preset--color--aubergine); gap: 0 !important; }
.gh-sectors > .wp-block-group { padding: 32px; border-left: 1px solid var(--wp--preset--color--line); }
.gh-sectors > .wp-block-group:first-child { padding-left: 0; border-left: 0; }
.gh-sectors__tags { font-size: .875rem; color: var(--wp--preset--color--muted); margin-top: auto; }
@media (max-width: 781px) {
	.gh-sectors > .wp-block-group { padding: 28px 0; border-left: 0; border-top: 1px solid var(--wp--preset--color--line); }
	.gh-sectors > .wp-block-group:first-child { border-top: 0; }
}

/* Approach steps */
.gh-step__num {
	margin: 0;
	font-family: var(--wp--preset--font-family--display);
	font-weight: 700;
	font-size: 2.75rem;
	line-height: 1;
	color: #c9a6ff;
}
.gh-step h3 { font-family: var(--wp--preset--font-family--body); font-size: 1.3125rem; font-weight: 600; letter-spacing: 0; margin: 0; }
.gh-step__when { margin: 0; font-size: .8125rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--lilac) !important; }

/* Service cards (home) & detail (services page) */
.gh-card__kicker { margin: 0; font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.gh-card .wp-block-heading { margin: 0; }
.gh-ideal {
	margin: 0;
	padding: 16px 18px;
	background: var(--wp--preset--color--mist);
	border-radius: 6px;
	font-size: .9375rem;
	line-height: 1.5;
	color: var(--wp--preset--color--body);
}
.has-mist-background-color .gh-ideal { background: #fff; }
.gh-ideal strong { color: var(--wp--preset--color--aubergine); }
.gh-card .gh-ideal { margin-top: auto; }
.gh-card { height: 100%; }
.gh-card__link a { font-weight: 600; text-decoration: none; }
.gh-card__link a::after { content: " →"; }

.gh-service { border-top: 1px solid var(--wp--preset--color--line); }
.gh-service:first-child { border-top: 0; }
.gh-service__num { color: var(--wp--preset--color--coral); }

/* Engagement models */
.gh-model__commitment { margin: 0; font-size: .9375rem; font-weight: 600; color: var(--wp--preset--color--coral-strong); }

/* About facts */
.gh-facts { border-top: 1px solid var(--wp--preset--color--line); gap: 0 !important; }
.gh-facts > .wp-block-group {
	padding: 14px 0;
	border-bottom: 1px solid var(--wp--preset--color--line);
	font-size: 1rem;
}
.gh-facts p { margin: 0; }
.gh-facts p:first-child { color: var(--wp--preset--color--muted); }
.gh-facts p:last-child { font-weight: 600; color: var(--wp--preset--color--aubergine); text-align: right; }

.gh-portrait img {
	width: 100%;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: 50% 20%;
	border-radius: 8px 8px 8px 120px;
	display: block;
}

/* FAQ */
.gh-faq { border-top: 1px solid #ddd3e6; gap: 0 !important; }
.gh-faq .wp-block-details { margin: 0; }
.gh-faq summary {
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 20px;
	padding: 24px 0;
	cursor: pointer;
	font-size: 1.1875rem;
	font-weight: 600;
	color: var(--wp--preset--color--aubergine);
}
.gh-faq summary::-webkit-details-marker { display: none; }
.gh-faq summary::after { content: "+"; font-size: 1.5rem; font-weight: 400; color: var(--wp--preset--color--plum); flex-shrink: 0; }
.gh-faq details[open] summary::after { content: "−"; }
.gh-faq details > p { margin: 0; padding: 0 0 24px; font-size: 1.0625rem; line-height: 1.65; color: var(--wp--preset--color--body); max-width: 820px; }

/* Contact / CTA */
.gh-email-label { margin: 0; font-size: .875rem; color: var(--wp--preset--color--lilac) !important; }
.gh-email { margin: 0; font-size: 1.25rem; font-weight: 600; }
.gh-email a { color: #fff; text-decoration: none; }
.gh-email a:hover { color: var(--wp--preset--color--lilac); text-decoration: underline; }

/* ---------- Enquiry form ---------- */
.gh-form { display: grid; gap: 16px; }
.gh-form__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.gh-form label { display: flex; flex-direction: column; gap: 6px; font-size: .875rem; font-weight: 600; color: var(--wp--preset--color--aubergine); }
.gh-form .gh-form__optional { font-weight: 400; color: var(--wp--preset--color--muted); }
.gh-form input, .gh-form select, .gh-form textarea {
	padding: 13px 14px;
	border: 1px solid #b9abc6;
	border-radius: 4px;
	font: inherit;
	font-size: 1rem;
	font-weight: 400;
	color: var(--wp--preset--color--ink);
	background: #fff;
	width: 100%;
}
.gh-form textarea { resize: vertical; min-height: 7rem; }
.gh-form input:focus, .gh-form select:focus, .gh-form textarea:focus { border-color: var(--wp--preset--color--plum); }
.gh-form__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.gh-form__consent { margin: 0; font-size: .8125rem; line-height: 1.5; color: var(--wp--preset--color--muted); }
.gh-form__consent a { color: var(--wp--preset--color--plum); }
.gh-form button {
	justify-self: start;
	padding: 15px 28px;
	background: var(--wp--preset--color--coral-strong);
	color: #fff;
	border: 0;
	border-radius: 4px;
	font: inherit;
	font-weight: 600;
	font-size: 1rem;
	cursor: pointer;
}
.gh-form button:hover, .gh-form button:focus-visible { background: #b8321f; }
.gh-form-notice { padding: 14px 16px; border-radius: 6px; font-size: .9375rem; line-height: 1.5; margin: 0 0 8px; }
.gh-form-notice--error { background: #fdecea; color: #8a1f12; border: 1px solid #f3b8ae; }
.gh-form-success h3 { margin: 0 0 12px; font-size: 1.875rem; }
.gh-form-success p { margin: 0; color: var(--wp--preset--color--body); font-size: 1.0625rem; }

/* ---------- Footer ---------- */
.gh-footer a { color: #fff; text-decoration: none; }
.gh-footer a:hover { color: var(--wp--preset--color--lilac); text-decoration: underline; }
.gh-footer__label { margin: 0; font-size: .8125rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--lilac) !important; }
.gh-footer__links { gap: 10px !important; font-size: .9375rem; }
.gh-footer__links p { margin: 0; }
.gh-pills { gap: 8px !important; }
.gh-pills p { margin: 0; }
.gh-pills a {
	display: inline-block;
	padding: 6px 12px;
	border-radius: 999px;
	background: var(--wp--preset--color--violet);
	font-size: .8125rem;
}
.gh-pills a:hover { background: #fff; color: var(--wp--preset--color--plum); text-decoration: none; }
.gh-footer__bottom { border-top: 1px solid rgba(255, 255, 255, .2); font-size: .8125rem; color: var(--wp--preset--color--lilac-mist); }
.gh-footer__bottom p { margin: 0; }
.gh-footer__bottom a { color: var(--wp--preset--color--lilac-mist); }

/* ---------- Posts / Insights ---------- */
.gh-post-card { border-top: 1px solid var(--wp--preset--color--line); padding-top: 24px; }
.gh-prose > * + * { margin-block-start: 1.1em; }
.gh-prose :where(h2) { font-size: clamp(1.625rem, 1.3rem + 1.2vw, 2.25rem); margin-block-start: 1.8em; }
.gh-prose :where(h3) { margin-block-start: 1.5em; }

.gh-placeholder {
	border: 2px dashed var(--wp--preset--color--coral);
	border-radius: 6px;
	padding: 18px 20px;
	background: #fff7f5;
}

/* Section extras */
.gh-statement { font-weight: 600 !important; line-height: 1.18 !important; letter-spacing: -0.02em; max-width: 1000px; margin: 0; }
.gh-label {
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-size: .875rem !important;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--plum);
}
.gh-label:not(:first-child) { margin-top: 1.5rem; }
.gh-linkedin a::after { content: none; }
.gh-intro .wp-block-heading { margin: 0; max-width: 760px; }
.gh-intro p { margin: 0; }
.gh-ph { background: #fff1c2; color: #5a3d00; padding: 0 .25em; border-radius: 2px; }
.gh-statement { margin-left: max(0px, calc((100% - 1144px) / 2)) !important; }
.gh-facts { width: 100%; }
@media (min-width: 960px) {
	.gh-footer__grid { grid-template-columns: 1.3fr 1fr 1fr 1.6fr !important; }
}
.gh-hero-links--jump { border-top: 0; }
.gh-hero-links--jump a,
.gh-hero-links--jump p:first-child a {
	border-left: 0;
	border-bottom: 0;
	border-top: 1px solid rgba(255, 255, 255, .18);
	padding: 18px 20px 18px 0;
	color: var(--wp--preset--color--lilac-mist);
}
.gh-hero-links--jump a::after { content: " ↓"; color: var(--wp--preset--color--coral); }
.gh-hero-links--jump a:hover { color: #fff; }
.gh-form *, .gh-form *::before, .gh-form *::after { box-sizing: border-box; }
.has-night-background-color .is-style-gh-panel p { color: var(--wp--preset--color--body); }
.has-night-background-color .is-style-gh-panel .gh-form__consent { color: var(--wp--preset--color--muted); }
.has-night-background-color .is-style-gh-panel .gh-form-notice--error { color: #8a1f12; }
.is-style-gh-panel .gh-form-success h3 { color: var(--wp--preset--color--aubergine); }

@media (max-width: 600px) {
	.gh-arrow-links, .gh-stats-grid { grid-template-columns: 1fr 1fr !important; row-gap: 1.75rem !important; }
	.gh-stat__label { font-size: 1rem; }
}
.gh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content,
.gh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	align-items: flex-start !important;
}
.gh-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3.5rem; }
.gh-header .wp-block-navigation__responsive-container.is-menu-open .gh-nav-cta > a { padding: .8rem 1.4rem; }

/* ---------- Insights ---------- */
.gh-post-card { padding-top: clamp(24px, 3vw, 32px); border-top: 0; }
.gh-post-card .wp-block-post-featured-image { margin: calc(-1 * clamp(24px, 3vw, 32px)) calc(-1 * clamp(24px, 3vw, 32px)) .25rem; width: auto; }
.gh-post-card .wp-block-post-featured-image img { border-radius: 6px 6px 0 0; }
.gh-post-card__title { margin: 0; font-size: clamp(1.25rem, 1.1rem + 0.5vw, 1.5rem) !important; line-height: 1.15; }
.gh-post-card__title a { color: var(--wp--preset--color--aubergine); text-decoration: none; }
.gh-post-card__title a:hover { color: var(--wp--preset--color--coral-strong); }
.gh-post-card__excerpt p { margin: 0; font-size: 1rem; color: var(--wp--preset--color--body); }
.gh-post-card .wp-block-read-more { margin-top: auto; font-weight: 600; text-decoration: none; color: var(--wp--preset--color--plum); }
.gh-post-card .wp-block-read-more::after { content: " →"; }
.gh-post-meta { font-size: .8125rem; letter-spacing: .08em; text-transform: uppercase; color: var(--wp--preset--color--muted); }
.gh-post-meta > * { margin: 0; }
.gh-post-meta > * + *::before { content: "·"; margin-right: .5rem; }
.gh-post-meta a { color: var(--wp--preset--color--plum); text-decoration: none; }
.gh-post-meta--dark, .gh-post-meta--dark p:not([class*="-color"]) { color: var(--wp--preset--color--lilac) !important; }
.gh-post-meta--dark .wp-block-post-date { color: var(--wp--preset--color--lilac); }
.gh-article-hero h1 { font-size: clamp(2rem, 1.4rem + 2.6vw, 3.5rem); }
.gh-article-image { margin-top: var(--wp--preset--spacing--50) !important; }
.gh-article-image img { border-radius: 8px; }
.gh-article { font-size: 1.125rem; line-height: 1.7; color: var(--wp--preset--color--body); }
.gh-article :where(h2, h3) { color: var(--wp--preset--color--aubergine); }
.gh-article blockquote { margin-inline: 0; padding-left: 1.25rem; border-left: 4px solid var(--wp--preset--color--coral); font-size: 1.25rem; color: var(--wp--preset--color--aubergine); }
.gh-article :where(ul, ol) { padding-left: 1.25rem; }
.gh-article li + li { margin-top: .4em; }
.gh-author__box { border-top: 1px solid var(--wp--preset--color--line); padding-top: 1.5rem; }
.gh-author__box p { margin: 0; color: var(--wp--preset--color--body); }
.gh-pagination { margin-top: var(--wp--preset--spacing--50); font-weight: 600; }
.gh-pagination a { text-decoration: none; }
.gh-pagination .page-numbers.current { color: var(--wp--preset--color--coral-strong); }

/* Article extras */
.gh-article .gh-table { margin-block: 2rem; overflow-x: auto; }
.gh-article .gh-table table { width: 100%; min-width: 560px; border-collapse: collapse; font-size: .9375rem; line-height: 1.45; }
.gh-article .gh-table th, .gh-article .gh-table td { padding: 12px 14px; border: 0; border-bottom: 1px solid var(--wp--preset--color--line); text-align: left; vertical-align: top; }
.gh-article .gh-table thead th { background: var(--wp--preset--color--night); color: #fff; font-weight: 600; }
.gh-article .gh-table tbody td:first-child { font-weight: 600; color: var(--wp--preset--color--aubergine); }
.gh-article .gh-table tbody tr:nth-child(even) { background: var(--wp--preset--color--mist); }
.gh-article .schema-faq { border-top: 1px solid #ddd3e6; }
.gh-article .schema-faq-section { padding: 20px 0; border-bottom: 1px solid #ddd3e6; }
.gh-article .schema-faq-question { display: block; font-size: 1.1875rem; color: var(--wp--preset--color--aubergine); margin-bottom: .4rem; }
.gh-article .schema-faq-answer { margin: 0; }
.gh-article .gh-checklist { list-style: none; padding-left: 0; }
.gh-article .gh-checklist li { display: grid; grid-template-columns: 1.4rem 1fr; gap: .6rem; }
.gh-article .gh-checklist li::before { content: ""; width: 1rem; height: 1rem; margin-top: .35em; border: 2px solid var(--wp--preset--color--plum); border-radius: 3px; }
.gh-article .gh-article-cta { margin-top: 1.5rem; }
.gh-article a:not(.wp-element-button) { text-decoration-thickness: 1px; text-underline-offset: 3px; }
.gh-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.gh-tags a { padding: 6px 12px; border-radius: 999px; background: var(--wp--preset--color--mist); color: var(--wp--preset--color--plum); font-size: .8125rem; font-weight: 600; text-decoration: none; }
.gh-tags a:hover { background: var(--wp--preset--color--plum); color: #fff; }
.gh-author__name { font-weight: 700; color: var(--wp--preset--color--aubergine); }
.gh-author__box .wp-block-post-author-biography { color: var(--wp--preset--color--body); }
@media (max-width: 600px) { .gh-article-image img { aspect-ratio: 16 / 9 !important; } }
