/*
 * HD Theme styles that theme.json cannot express.
 * Colors always come from the palette variables, so "Dark section" can swap them.
 */

/* ---------- Font fallback ---------- */

/*
 * Arial sized to Hanken Grotesk's metrics (measured: regular is 1.7% wider, ascent 1.0,
 * descent 0.3). Text keeps its size and line breaks when the real font arrives, so a
 * first, uncached visit does not shift. It is never seen once Hanken Grotesk is loaded.
 */
@font-face {
	font-family: "Hanken Grotesk Fallback";
	src: local("Arial"), local("Helvetica"), local("Liberation Sans");
	size-adjust: 101.7%;
	ascent-override: 98.3%;
	descent-override: 29.5%;
	line-gap-override: 0%;
}

/* ---------- Page structure ---------- */

/* Header, main and footer sit flush. Sections inside the content sit flush. */
.wp-site-blocks > * + * { margin-block-start: 0; }
.wp-block-post-content > .alignfull { margin-block: 0; }

h1, h2, h3, h4, h5, h6 { text-wrap: balance; }

/* Columns stack to one below 900px (core stacks at 782px). */
@media (max-width: 900px) {
	.wp-block-columns:not(.is-not-stacked-on-mobile) { flex-wrap: wrap !important; }
	.wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column { flex-basis: 100% !important; }
}

/* ---------- Dark section (Group block style) ---------- */

.is-style-dark-section {
	--wp--preset--color--ink: #FFFFFF;
	--wp--preset--color--body: rgba(255, 255, 255, 0.86);
	--wp--preset--color--muted: #C9AABA;
	--wp--preset--color--hairline: #6E3D55;
	--wp--preset--color--magenta: #E79BCB;
	background-color: var(--wp--preset--color--plum-dark);
	color: var(--wp--preset--color--body);
}

/* ---------- Card (Group block style) ---------- */

/* White rounded card. Keeps the light colors even inside a Dark section. */
.is-style-card {
	--wp--preset--color--ink: #1C1B1C;
	--wp--preset--color--body: #4A494A;
	--wp--preset--color--muted: #696869;
	--wp--preset--color--hairline: #E3E1E2;
	--wp--preset--color--magenta: #A8275E;
	background-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--body);
	border: 1px solid var(--wp--preset--color--hairline);
	border-radius: 14px;
	padding: clamp(24px, 3vw, 36px);
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.05);
}
.is-style-dark-section .is-style-card {
	border-color: transparent;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.25);
}

/* ---------- Page hero (patterns hero-diagram, hero-text) ---------- */

.hd-hero .hd-crumbs { margin-bottom: 28px; }
.hd-hero h1 { margin: 0; }
.hd-hero .is-style-label + h1 { margin-top: 24px; }
.hd-hero h1 + .hd-hero__sub { margin-top: 20px; }
.hd-hero .hd-hero__sub { font-size: clamp(18px, 1.5vw, 20px); line-height: 1.5; max-width: 34em; }
.hd-hero .hd-hero__for { font-weight: 500; line-height: 1.3; padding-left: 4px; }
.hd-hero .wp-block-columns { align-items: center !important; }

/* ---------- Section backgrounds (Group block styles) ---------- */

.is-style-section-white { background-color: var(--wp--preset--color--white); }
.is-style-section-grey { background-color: var(--wp--preset--color--page); }

/* ---------- Shared sections (HD-2320, patterns/section-*.php) ---------- */

/* Section heading group: label → H2 12px, H2 → lede 16px. */
.hd-head > .is-style-lede { margin-block-start: 16px; }

/* CTA band */
.hd-cta-title { font-weight: 200; font-size: clamp(32px, 3.4vw, 46px); }

/* Results strip */
.hd-results-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 12px var(--wp--preset--spacing--column-gap); }
.hd-results-head > * { margin: 0; }
.hd-results-head > p { max-width: 30em; font-size: 15.5px; line-height: 1.55; }
.hd-results { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--wp--preset--spacing--column-gap); }
.hd-results > * { margin: 0; }
.hd-result { display: grid; gap: 8px; align-content: start; border-top: 2px solid var(--wp--preset--color--gold); padding-top: 18px; }
.hd-result > * { margin: 0; }
.hd-result__v { font-size: clamp(40px, 4vw, 56px); font-weight: 700; line-height: 1.05; letter-spacing: -0.03em; color: var(--wp--preset--color--ink); font-variant-numeric: tabular-nums lining-nums; }
.hd-result__l { font-size: 15.5px; line-height: 1.5; }

/* Card grid */
.hd-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); }
.hd-cards.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hd-cards.is-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.hd-cards > * { margin: 0; }
.hd-cards > .is-style-card { display: grid; gap: 12px; align-content: start; padding: 28px; box-shadow: none; }
.hd-cards > .is-style-card > * { margin: 0; }
.hd-cards h3 { font-size: clamp(20px, 1.8vw, 24px); line-height: 1.25; }
.hd-cards p { font-size: 15.5px; line-height: 1.55; }
.hd-cards .is-style-text-link { margin-top: 4px; font-size: 15px; }
.hd-cards .is-style-text-link a { text-decoration: none; }
.hd-foot { font-size: 13px; line-height: 1.5; color: var(--wp--preset--color--muted); max-width: 52em; }

/*
 * Text with a reading width (footnote, lede, body) placed straight in a section: WordPress
 * centres anything narrower than the container, so pin it to the container's left edge.
 */
.is-layout-constrained > :is(.hd-foot, .is-style-lede, .has-body-font-size, .hd-proof, .hd-archive-hero > h1, .hd-archive-hero > .hd-hero__sub) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1240px)) / 2)) !important;
}

/* Problem list */
.hd-prose { display: grid; gap: 18px; align-content: start; }
.hd-prose > * { margin: 0; }
.hd-problem-list {
	list-style: none; margin: 0; padding: 0;
	display: grid; gap: 1px;
	background: var(--wp--preset--color--hairline);
	border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px; overflow: hidden;
}
.hd-problem-list li { margin: 0; background: var(--wp--preset--color--white); padding: 20px 24px; font-size: 15px; line-height: 1.5; }
.hd-problem-list li strong { display: block; margin-bottom: 4px; font-size: 17px; font-weight: 600; color: var(--wp--preset--color--ink); }
.hd-problem-list li br { display: none; }

/* Scope card */
.hd-price-card.is-style-card { display: grid; gap: 18px; padding: 28px; }
.hd-price-card > * { margin: 0; }
.hd-price-row { display: grid; gap: 4px; }
.hd-price-row > * { margin: 0; }
.hd-price-row + .hd-price-row { border-top: 1px solid var(--wp--preset--color--hairline); padding-top: 18px; }
.hd-price-row .hd-k { font-size: 14px; color: var(--wp--preset--color--muted); }
.hd-scope-list { margin: 0; padding-left: 18px; display: grid; gap: 8px; font-size: 15.5px; line-height: 1.5; }
.hd-scope-list li { margin: 0; }

/* Proof card (HD-2319, mockups: Growth, Customer Portal) */
.hd-proof { display: grid; gap: 24px; max-width: 760px; padding: clamp(24px, 3vw, 40px); }
.hd-head + .hd-proof { margin-block-start: 32px; }
.hd-proof > * { margin: 0; }
.hd-proof.is-style-card { box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.05); }
.hd-proof--dark { background: var(--wp--preset--color--plum); border-radius: 14px; color: var(--wp--preset--color--body); }
.hd-proof__who { font-size: 13.5px; line-height: 1.35; color: var(--wp--preset--color--muted); }
.hd-proof__client { gap: 14px !important; }
.hd-proof__client > * { margin: 0; }
.hd-proof__logo img { display: block; height: 30px !important; width: auto !important; }
.hd-proof__title { font-size: clamp(22px, 2vw, 27px); line-height: 1.2; letter-spacing: -0.02em; }
.hd-proof__res { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; padding-top: 20px; border-top: 1px solid var(--wp--preset--color--hairline); }
.hd-proof__res > * { margin: 0; display: grid; gap: 4px; align-content: start; }
.hd-proof__res p { margin: 0; }
.hd-proof__v { font-size: 22px; font-weight: 700; line-height: 1.15; letter-spacing: -0.015em; color: var(--wp--preset--color--ink); font-variant-numeric: tabular-nums; }
.hd-proof__l { font-size: 14px; line-height: 1.45; }
.hd-proof .is-style-text-link a { text-decoration: none; }
.hd-proof .is-style-text-link a:hover { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 560px) { .hd-proof__res { grid-template-columns: 1fr; } }

/* Proof card variant "launching soon" (HD-2326): flag, facts with gold rules, buttons */
.hd-proof.is-wide { max-width: 820px; }
.hd-flag { display: inline-block; margin: 0; font-size: 12px; font-weight: 600; line-height: 1; padding: 5px 8px; border-radius: 999px; background: #FBEAF2; color: #8A1E4C; border: 1px solid #F0C6D8; }
.hd-proof__client { flex-wrap: wrap !important; row-gap: 12px !important; }
.hd-proof__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.hd-proof__facts > * { margin: 0; display: grid; gap: 2px; align-content: start; border-top: 2px solid var(--wp--preset--color--gold); padding-top: 12px; }
.hd-proof__facts p { margin: 0; }
.hd-proof__fact-v { font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: var(--wp--preset--color--ink); }
.hd-proof__fact-l { font-size: 14.5px; line-height: 1.45; }
.hd-proof__actions { gap: 14px !important; }
.hd-proof__actions > * { margin: 0 !important; }
.hd-proof__actions .is-style-text-link a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
@media (max-width: 760px) { .hd-proof__facts { grid-template-columns: 1fr; } }

/* Ascend (HD-2327): edition chips in the hero, demo card, price rows */
.hd-edition-chips { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 24px 0 0; padding: 0; }
.hd-edition-chips li { margin: 0; font-size: 14px; font-weight: 500; line-height: 1.6; color: #FFFFFF; border: 1px solid rgba(255, 255, 255, 0.35); border-radius: 999px; padding: 6px 14px; }
.hd-hero .hd-edition-chips + .wp-block-buttons { margin-top: 28px !important; }
.hd-hero .has-caption-font-size img { display: inline-block; height: 24px; width: auto; vertical-align: middle; margin-right: 10px; }

.hd-demo-card.is-style-card { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); align-items: center; box-shadow: none; }
.hd-demo-card > * { margin: 0; }
.hd-demo-card__text > * { margin: 0; }
.hd-gold-facts { display: grid; gap: 14px; }
.hd-gold-facts.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.hd-gold-facts > * { margin: 0; display: grid; gap: 2px; align-content: start; border-top: 2px solid var(--wp--preset--color--gold); padding-top: 12px; }
.hd-gold-facts p { margin: 0; }
.hd-gold-facts__v { font-size: 20px; font-weight: 700; line-height: 1.25; letter-spacing: -0.015em; color: var(--wp--preset--color--ink); }
.hd-gold-facts__l { font-size: 14.5px; line-height: 1.45; }

.hd-price-row .hd-price { font-size: clamp(28px, 2.6vw, 36px); font-weight: 700; line-height: 1.1; letter-spacing: -0.02em; color: var(--wp--preset--color--ink); font-variant-numeric: tabular-nums lining-nums; }
.hd-price-row .hd-price-note { font-size: 14.5px; line-height: 1.5; }

@media (max-width: 960px) { .hd-demo-card.is-style-card { grid-template-columns: 1fr; } }
@media (max-width: 560px) { .hd-gold-facts.is-2 { grid-template-columns: 1fr; } }

/* Placeholders the editor still has to fill in (yellow, as in the mockups) */
.hd-ph { background: #FFF1B8; color: #3A2E00; padding: 0 4px; border-radius: 3px; font-weight: 500; }
.hd-logo-slot { display: inline-grid; place-items: center; height: 40px; margin: 0; padding: 0 16px; border: 1px dashed #C9C6C8; border-radius: 8px; font-size: 13px; color: var(--wp--preset--color--muted); background: var(--wp--preset--color--tint); }

/* "Connections we've already built" (HD-2328) */
.hd-built { margin-top: 32px !important; display: grid; gap: 14px; padding: 24px 28px; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px; }
.hd-built > * { margin: 0; }
.hd-built__k { font-size: 14px; font-weight: 600; color: var(--wp--preset--color--magenta); }
.hd-built__list { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.hd-built__list li { margin: 0; display: inline-flex; align-items: center; gap: 8px; background: var(--wp--preset--color--tint); border: 1px solid var(--wp--preset--color--hairline); border-radius: 999px; padding: 8px 14px; font-size: 15px; }
.hd-built__list strong { font-weight: 600; color: var(--wp--preset--color--ink); }
.hd-built__arrow { color: #8C7530; font-weight: 700; }
.hd-built__n { font-size: 14.5px; color: var(--wp--preset--color--muted); }

/* ---------- NetSuite services (HD-2329) ---------- */

/* "Why independent": problem list with a gold check per item */
.hd-check-list li { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 14px; align-items: start; }
.hd-check-list li::before {
	content: ""; grid-row: span 2; width: 20px; height: 20px; margin-top: 3px; background: #8C7530;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 8 14.5 16 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 8 14.5 16 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.hd-check-list li strong { margin-bottom: 4px; }

/* Service cards: eyebrow, larger heading, bullet list, link */
.hd-cards.is-svc > .is-style-card { gap: 14px; }
.hd-cards.is-svc .is-style-label { font-size: 13px; font-weight: 600; letter-spacing: 0.02em; }
.hd-cards.is-svc h3 { font-size: 22px; letter-spacing: -0.015em; }
.hd-card-list { margin: 0; padding-left: 18px; display: grid; gap: 4px; font-size: 15px; line-height: 1.55; }
.hd-card-list li { margin: 0; }
.hd-cards .is-style-text-link { font-weight: 600; }

/* Hand-picked case study cards (core blocks, same look as hd/case-study-card) */
.hd-cc .hd-cc__logo { margin: 0; }
.hd-cc .hd-cc__logo img { display: block; height: 28px; width: auto; max-width: 70%; }
.hd-cc .hd-cc__who > * { margin: 0; }
.hd-cc__res > div { margin: 0 !important; }
.hd-cc__res > div > p { margin: 0; }
.hd-cc__res .hd-cc__v { font-size: 20px; font-weight: 700; line-height: 1.15; letter-spacing: -0.02em; color: var(--wp--preset--color--ink); font-variant-numeric: tabular-nums; }
.hd-cc__res .hd-cc__l { font-size: 14px; line-height: 1.45; }
.hd-cc__more-p { margin: 0; font-size: 15px; font-weight: 600; }
.hd-cc__more-p a { text-decoration: none; color: var(--wp--preset--color--magenta); }
.hd-cc__more-p a::after { content: ""; position: absolute; inset: 0; border-radius: 14px; }
.hd-cc:hover .hd-cc__more-p a { text-decoration: underline; text-underline-offset: 3px; }
.hd-cc__more-p a:focus-visible { outline: none; }
.hd-cc__more-p a:focus-visible::after { outline: 2px solid var(--wp--preset--color--magenta); outline-offset: 3px; }
div.hd-cc-grid > * { margin: 0 !important; }
/* The block stylesheet zeroes the grid margin for Query Loops; here it follows the section head. */
div.hd-cc-grid { margin-top: 40px; }

/* Local: area chips and the contact card */
.hd-areas { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: 2px 0 0; padding: 0; }
.hd-areas li { margin: 0; font-size: 13px; font-weight: 500; line-height: 1.6; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline); border-radius: 999px; padding: 3px 10px; }
.hd-local-card { display: grid; gap: 16px; padding: 28px; background: var(--wp--preset--color--tint); border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px; }
.hd-local-card > * { margin: 0; }
.hd-local-card__row { display: grid; gap: 4px; padding-top: 16px; border-top: 1px solid var(--wp--preset--color--hairline); }
.hd-local-card__row:first-child { border-top: 0; padding-top: 0; }
.hd-local-card__row > * { margin: 0; }
.hd-local-card h3 { font-size: 15px; font-weight: 600; letter-spacing: 0; color: var(--wp--preset--color--magenta); }
.hd-local-card p { font-size: 17px; line-height: 1.45; color: var(--wp--preset--color--ink); }
.hd-local-card .hd-muted { font-size: 14.5px; color: var(--wp--preset--color--muted); }

/* CTA small print (independence note) */
.hd-head > .hd-cta-note { margin-top: 40px; max-width: 60em; font-size: 13.5px; color: #C9AABA; }

/* Data flow card (HD-2322) */
.hd-flow-card.is-style-card { display: grid; gap: 24px; padding: clamp(20px, 3vw, 40px); }
.hd-flow-card > * { margin: 0; }
.hd-flow-card .hd-foot { max-width: none; }

/* ---------- Case study page (HD-2324, mockup: Contractor Nation) ---------- */

/* Hero: at-a-glance facts under the intro */
.hd-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 32px !important; padding-top: 20px; border-top: 1px solid var(--wp--preset--color--hairline); }
.hd-facts > * { margin: 0; }
.hd-facts p { margin: 0; }
.hd-facts__k { font-size: 13px; color: var(--wp--preset--color--muted); margin-bottom: 4px !important; }
.hd-facts__v { font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--wp--preset--color--ink); }

/* Hero: client card (logo, who, "what we connected" diagram) */
.hd-client-card.is-style-card { display: grid; gap: 24px; }
.hd-client-card > * { margin: 0; }
.hd-client-card .hd-client__logo img { display: block; height: 34px !important; width: auto !important; }
.hd-client-card .hd-client__who { margin-top: 8px; font-size: 14px; color: var(--wp--preset--color--muted); }
.hd-client-card .hd-client__map { display: grid; gap: 10px; }
.hd-client-card .hd-client__map > * { margin: 0; }

/* "The complexity": 2 × 2 grid of numbers */
/* Mockups centre the numbers card next to the text (.grid-2 { align-items: center }). */
.wp-block-column:has(> .hd-numbers) { align-self: center; }
.hd-numbers { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; background: var(--wp--preset--color--hairline); border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px; overflow: hidden; }
.hd-numbers > * { margin: 0; background: var(--wp--preset--color--white); padding: 22px 24px; display: grid; gap: 4px; align-content: start; }
.hd-numbers p { margin: 0; }
.hd-numbers__v { font-size: 30px; font-weight: 700; line-height: 1.1; letter-spacing: -0.03em; color: var(--wp--preset--color--ink); font-variant-numeric: tabular-nums; }
.hd-numbers__l { font-size: 15px; line-height: 1.45; }

/* "What we built": diagram card with "also connected" chips */
.hd-build-card.is-style-card { display: grid; gap: 16px; padding: clamp(20px, 3vw, 36px); }
.hd-build-card > * { margin: 0; }
.hd-build-card .hd-map__node { padding: 16px 18px; }
.hd-chips-row { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; padding-top: 4px; }
.hd-chips-row > * { margin: 0; }
.hd-chips-row .hd-chips-row__tag { font-size: 13.5px; color: var(--wp--preset--color--muted); }
.hd-chips { display: flex; flex-wrap: wrap; gap: 10px; list-style: none; margin: 0; padding: 0; }
.hd-chips li { margin: 0; font-size: 13.5px; font-weight: 500; color: var(--wp--preset--color--ink); background: var(--wp--preset--color--tint); border: 1px dashed #C9C6C8; border-radius: 999px; padding: 6px 12px; }

/* Quote */
.hd-quote { display: grid; gap: 24px; max-width: 900px; }
.hd-quote > * { margin: 0; }
.hd-quote .wp-block-quote { margin: 0; padding: 0; border: 0; }
.hd-quote .wp-block-quote p { margin: 0; font-size: clamp(22px, 2.2vw, 30px); font-weight: 400; line-height: 1.4; letter-spacing: -0.01em; color: var(--wp--preset--color--ink); text-wrap: pretty; }
.hd-quote .wp-block-quote p::before { content: "\201C"; display: block; font-size: 64px; line-height: 0.6; font-weight: 700; color: var(--wp--preset--color--gold); margin-bottom: 12px; }
.hd-quote .wp-block-quote cite { display: block; margin-top: 24px; font-size: 15px; font-style: normal; color: var(--wp--preset--color--muted); }
.hd-quote .wp-block-quote cite strong { display: block; font-size: 16px; font-weight: 600; color: var(--wp--preset--color--ink); }

/* "Problems this project solved" */
.hd-problem-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); }
.hd-problem-cards > * { margin: 0; }
.hd-problem-cards > .is-style-card { display: grid; gap: 10px; align-content: start; padding: 24px; box-shadow: none; }
.hd-problem-cards > .is-style-card > * { margin: 0; }
.hd-problem-cards .hd-problem__from { font-size: 13px; color: var(--wp--preset--color--muted); }
.hd-problem-cards h3 { font-size: 19px; line-height: 1.3; letter-spacing: 0; }
.hd-problem-cards p { font-size: 15px; line-height: 1.55; }
.hd-solution-links { font-size: 16px; }
.hd-solution-links .hd-muted { color: var(--wp--preset--color--muted); }
.hd-solution-links a { font-weight: 600; }

/* Related case studies: two cards */
.hd-cc-grid.is-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

@media (max-width: 960px) {
	.hd-problem-cards { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
	.hd-cc-grid.is-2 { grid-template-columns: 1fr; }
}
@media (max-width: 560px) {
	.hd-facts, .hd-numbers { grid-template-columns: 1fr; }
}

/* Text + image */
.hd-media img { display: block; width: 100%; height: auto; border-radius: 14px; border: 1px solid var(--wp--preset--color--hairline); }
.hd-media { margin: 0; }

@media (max-width: 960px) {
	.hd-results { grid-auto-flow: row; grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hd-cards, .hd-cards.is-2 { grid-template-columns: 1fr; }
	.hd-cards.is-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
	.hd-results { grid-template-columns: 1fr; }
	.hd-cards.is-4 { grid-template-columns: 1fr; }
}

/* ---------- Cookie banner (inc/consent.php, mockup #cookie) ---------- */

/* Fixed to the bottom of the screen, outside the page flow, so it never shifts the page. */
.hd-cookie {
	position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 200;
	max-width: 760px; margin-inline: auto;
	display: grid; gap: 14px;
	padding: 20px 22px;
	background: var(--wp--preset--color--white); color: var(--wp--preset--color--body);
	border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px;
	box-shadow: 0 16px 48px rgba(48, 11, 31, 0.25);
	font-family: var(--wp--preset--font-family--hanken); font-size: 15px; line-height: 1.5;
}
.hd-cookie[hidden] { display: none; }
.hd-cookie p { margin: 0; }
.hd-cookie b { color: var(--wp--preset--color--ink); font-size: 16px; font-weight: 600; }
.hd-cookie a { color: var(--wp--preset--color--magenta); }
.hd-cookie__row { display: flex; flex-wrap: wrap; gap: 10px; }
.hd-cookie button {
	font: 600 15px/1 var(--wp--preset--font-family--hanken);
	padding: 12px 18px; border-radius: 6px; cursor: pointer;
	border: 1px solid #C9C6C8; background: var(--wp--preset--color--white); color: var(--wp--preset--color--ink);
}
.hd-cookie button[hidden] { display: none; }
/* Accept and Reject carry equal visual weight (HD-2317). */
.hd-cookie button.is-main { background: var(--wp--preset--color--gold); border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--plum-dark); }
.hd-cookie button.is-main:hover { background: #CDB262; border-color: #CDB262; }
.hd-cookie button:not(.is-main):hover { border-color: var(--wp--preset--color--ink); }
.hd-cookie button:focus-visible, .hd-cookie a:focus-visible, .hd-cookie input:focus-visible { outline: 2px solid var(--wp--preset--color--magenta); outline-offset: 2px; }
.hd-cookie__prefs { display: grid; gap: 10px; padding-top: 12px; border-top: 1px solid var(--wp--preset--color--hairline); }
.hd-cookie__prefs[hidden] { display: none; }
.hd-cookie__opt { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; cursor: pointer; }
.hd-cookie__opt input { width: 18px; height: 18px; margin: 2px 0 0; accent-color: var(--wp--preset--color--magenta); }
.hd-cookie__opt b { font-size: 15px; }

/* ---------- Paragraph block styles ---------- */

.is-style-label {
	font-size: var(--wp--preset--font-size--label);
	font-weight: 500;
	line-height: 1.3;
	color: var(--wp--preset--color--magenta);
}

.is-style-subhead {
	font-size: var(--wp--preset--font-size--subhead);
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--ink);
}

.is-style-caption {
	font-size: var(--wp--preset--font-size--caption);
	font-weight: 500;
	line-height: 1.4;
	color: var(--wp--preset--color--muted);
}

.is-style-stat {
	font-size: var(--wp--preset--font-size--stat);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.03em;
	color: var(--wp--preset--color--ink);
	font-variant-numeric: tabular-nums lining-nums;
}

.is-style-stat-phrase {
	font-size: var(--wp--preset--font-size--stat-phrase);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--ink);
}

.is-style-lede { font-size: clamp(18px, 1.5vw, 20px); line-height: 1.55; max-width: 38em; }

/* A stand-alone call-to-action link, e.g. next to buttons. */
.is-style-text-link {
	font-size: 16px;
	font-weight: 600;
}
.is-style-text-link a:hover { color: var(--wp--preset--color--ink); }

/* Body paragraphs keep a readable line length. */
.has-body-font-size, .is-style-measure { max-width: 65ch; }
.has-body-small-font-size { line-height: 1.55; }

/* ---------- Links and buttons ---------- */

a { text-decoration-thickness: 1px; text-underline-offset: 3px; }

/* Secondary button = core "Outline" style. */
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--ink);
	border: 1px solid var(--wp--preset--color--hairline);
	padding: 17px 26px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	background: transparent;
	border-color: var(--wp--preset--color--ink);
}
.is-style-dark-section .wp-block-button.is-style-outline > .wp-block-button__link { border-color: #8A5A72; }
.is-style-dark-section .wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--wp--preset--color--ink); }

/* Inside a dark section the focus ring stays visible on plum. */
.is-style-dark-section :focus-visible { outline-color: var(--wp--preset--color--magenta); }

/* ---------- Site footer (pattern hd-theme/footer, mockup v10) ---------- */

.hd-footer { --hd-line: #4E2338; font-size: 15px; line-height: 1.45; }
.hd-footer * { box-sizing: border-box; }
.hd-footer > * { margin-block: 0; }
.hd-footer p, .hd-footer ul, .hd-footer h2, .hd-footer figure { margin: 0; }
.hd-footer ul { list-style: none; padding: 0; }
.hd-footer a:focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 3px; border-radius: 4px; }

.hd-footer .f-top {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	gap: 40px var(--wp--preset--spacing--column-gap);
	padding-block: clamp(56px, 7vw, 80px) 48px;
}
.hd-footer .f-top > * { margin-block: 0; }

.hd-footer .f-brand { display: grid; gap: 18px; align-content: start; }
.hd-footer .f-logo img { display: block; height: 30px; width: auto !important; }
.hd-footer .f-blurb { font-size: 15.5px; line-height: 1.55; max-width: 34ch; }
.hd-footer .f-contact { line-height: 1.45; }
.hd-footer .f-contact a { color: #FFFFFF; text-decoration: none; display: inline-block; margin-bottom: 6px; }
.hd-footer .f-contact a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Social links: outlined circles, white icons, gold on hover. */
.hd-footer .f-socials { gap: 10px !important; }
.hd-footer .f-socials .wp-social-link {
	width: 40px; height: 40px; margin: 0;
	border-radius: 50%; border: 1px solid #6E3D55;
	background: transparent !important; color: #FFFFFF !important;
	display: grid; place-items: center; transition: none;
}
.hd-footer .f-socials .wp-social-link:hover { border-color: var(--wp--preset--color--gold); color: var(--wp--preset--color--gold) !important; transform: none; }
.hd-footer .f-socials .wp-social-link a { padding: 0; color: inherit; display: grid; place-items: center; width: 100%; height: 100%; border-radius: 50%; }
.hd-footer .f-socials .wp-social-link svg { width: 17px; height: 17px; fill: currentColor; }

.hd-footer .f-col { display: grid; gap: 0; align-content: start; }
.hd-footer .f-title { margin: 0 0 14px; font: 500 14px/1.3 var(--wp--preset--font-family--hanken); letter-spacing: 0; color: #E79BCB; }
.hd-footer .f-links { display: grid; gap: 10px; }
.hd-footer .f-links li { line-height: 27px; }
.hd-footer .f-links a { color: rgba(255, 255, 255, 0.86); text-decoration: none; font-size: 15.5px; line-height: 1.35; }
.hd-footer .f-links a:hover { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }

.hd-footer .f-varato { gap: 10px; }
.hd-footer .f-varato .f-title { margin-bottom: 4px; }
.hd-footer .f-varato p { font-size: 15px; line-height: 1.5; }
.hd-footer .f-strong-link a { color: #FFFFFF; font-weight: 600; font-size: 15.5px; text-decoration: none; }
.hd-footer .f-strong-link a:hover { text-decoration: underline; text-underline-offset: 3px; }

.hd-footer .f-bottom {
	display: flex; flex-wrap: wrap; gap: 10px 24px;
	justify-content: space-between; align-items: center;
	padding-block: 22px; border-top: 1px solid var(--hd-line);
	font-size: 13.5px; color: #C9AABA;
}
.hd-footer .hd-copyright { max-width: 62ch; line-height: 1.5; color: #C9AABA; }
.hd-footer .f-legal { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.hd-footer .f-legal a { color: #C9AABA; text-decoration: none; }
.hd-footer .f-legal a:hover { color: #FFFFFF; }

@media (max-width: 980px) {
	.hd-footer .f-top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hd-footer .f-brand { grid-column: 1 / -1; }
}
@media (max-width: 520px) {
	.hd-footer .f-top { grid-template-columns: 1fr; }
}

/* Cross-link under a card grid (HD-2330): text left, link right, gold edge */
.hd-xlink {
	display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: center; justify-content: space-between;
	margin-top: 32px !important; padding: 18px 24px;
	background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline);
	border-left: 3px solid var(--wp--preset--color--gold); border-radius: 10px;
}
.hd-xlink > * { margin: 0 !important; }
.hd-xlink p { font-size: 16px; color: var(--wp--preset--color--ink); }
.hd-xlink .hd-xlink__a { font-size: 15px; font-weight: 600; }
.hd-xlink .hd-xlink__a a { text-decoration: none; }
.hd-xlink .hd-xlink__a a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Full-width card in a card grid (HD-2331, Growth "Product feeds and marketplaces") */
.hd-cards > .is-wide { grid-column: 1 / -1; }

/* What we report on: four boxes under the timeline (HD-2331) */
.hd-measure-k { margin-top: 56px !important; }
.hd-measure {
	display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px;
	margin-top: 40px !important; overflow: hidden;
	background: var(--wp--preset--color--hairline); border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px;
}
.hd-measure > div { display: grid; gap: 6px; align-content: start; margin: 0 !important; padding: 24px; background: var(--wp--preset--color--white); }
.hd-measure > div > p { margin: 0; font-size: 15px; line-height: 1.5; }
.hd-measure .hd-measure__v { font-size: 19px; font-weight: 600; line-height: 1.55; letter-spacing: -0.01em; color: var(--wp--preset--color--ink); }
.hd-measure-not { margin-top: 20px !important; font-size: 15px; color: var(--wp--preset--color--muted); }
@media (max-width: 960px) { .hd-measure { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .hd-measure { grid-template-columns: 1fr; } }

/* Case studies (HD-2332): a result written as a phrase, and the "Coming soon" flag on a next step */
.hd-result__v.is-phrase { font-size: clamp(28px, 2.6vw, 36px); line-height: 1.1; letter-spacing: -0.02em; padding-top: 6px; }
.hd-timeline__step.is-next .hd-timeline__when { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* All case studies (HD-2336): a shorter purple header than a page hero, and the count line */
.hd-archive-hero { padding-block: clamp(48px, 6vw, 72px); }
.hd-archive-hero .is-style-label + h1 { margin-top: 12px; }
.hd-archive-hero h1 { font-size: clamp(34px, 3.5vw, 48px); font-weight: 200; line-height: 1.12; max-width: 22ch; }
.hd-archive-hero .hd-hero__sub { max-width: 40em; }
.hd-count { margin-top: 0 !important; margin-bottom: 24px !important; font-size: 15px; color: var(--wp--preset--color--muted); }
.hd-count + .hd-cc-query { margin-top: 0 !important; }

/* ---------- About page (HD-2341) ---------- */

/* White page top for reading pages: breadcrumbs, label, light H1, intro, facts */
.hd-page-top { padding-top: clamp(40px, 5vw, 64px); padding-bottom: var(--wp--preset--spacing--section); }
.hd-page-top .hd-crumbs { margin-bottom: 28px; }
.hd-page-top .is-style-label + h1 { margin-top: 12px; }
.hd-page-top h1 { margin-bottom: 0; font-size: clamp(34px, 3.6vw, 50px); font-weight: 200; line-height: 1.12; max-width: 22ch; }
.hd-page-top .hd-hero__sub { margin-top: 20px !important; font-size: clamp(18px, 1.5vw, 20px); line-height: 1.5; max-width: 40em; }
.hd-page-top .hd-facts { max-width: 820px; margin-bottom: 16px !important; }
.is-layout-constrained > :is(.hd-page-top > h1, .hd-page-top > .hd-hero__sub, .hd-page-top > .hd-facts) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1240px)) / 2)) !important;
}

/* Platforms row under the story */
.hd-plat { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 24px var(--wp--preset--spacing--column-gap); align-items: center; margin-top: calc(24px + var(--wp--preset--spacing--column-gap)) !important; padding-top: 32px; border-top: 1px solid var(--wp--preset--color--hairline); }
.hd-plat > * { margin: 0; }
.hd-plat__intro > * { margin: 0; }
.hd-plat__intro p:not(.is-style-label) { margin-top: 6px; font-size: 15.5px; }
.hd-plat__list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; list-style: none; margin: 0; padding: 0; }
.hd-plat__list li { box-sizing: border-box; display: grid; place-items: center; height: 72px; padding: 12px 18px; margin: 0; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline); border-radius: 10px; }
.hd-plat__list img { display: block; max-height: 32px; max-width: 100%; width: auto; height: auto; }
.hd-plat__name { font-size: 18px; font-weight: 600; color: var(--wp--preset--color--ink); }

/* Leadership grid */
.hd-ld-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); margin-top: 40px !important; }
.hd-ld-grid > .hd-ld { display: grid; gap: 8px; align-content: start; margin: 0; }
.hd-ld > * { margin: 0; }
.hd-ld__photo { display: grid; place-content: center; aspect-ratio: 1 / 1; margin-bottom: 10px !important; text-align: center; border-radius: 14px; background: linear-gradient(135deg, #5A2340, #300B1F); }
.hd-ld__photo > * { margin: 0; }
.hd-ld__photo.is-photo { display: block; overflow: hidden; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline); }
.hd-ld__photo.is-photo img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hd-ld__initials { font-size: 44px; font-weight: 200; line-height: 1; color: #E6CF8F; }
.hd-ld__ph { margin-top: 8px !important; font-size: 12px; color: #C9AABA; }
.hd-ld h3 { font-size: 21px; }
.hd-ld .hd-ld__role { font-size: 14.5px; font-weight: 500; color: var(--wp--preset--color--magenta); }
.hd-ld p:not(.hd-ld__role):not(.hd-ld__in):not(.hd-ld__initials):not(.hd-ld__ph) { font-size: 15.5px; line-height: 1.55; }
.hd-ld .hd-ld__in { font-size: 14.5px; font-weight: 600; }
.hd-ld .hd-ld__in a, .hd-ld__in-todo { text-decoration: none; color: var(--wp--preset--color--magenta); }

/* Dark feature card (Varato) */
.hd-feature-card {
	--wp--preset--color--ink: #FFFFFF;
	--wp--preset--color--body: rgba(255, 255, 255, 0.86);
	--wp--preset--color--hairline: #8A5A72;
	--wp--preset--color--magenta: #E79BCB;
	display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: var(--wp--preset--spacing--column-gap); align-items: center;
	padding: clamp(28px, 4vw, 48px); border-radius: 16px;
	background: var(--wp--preset--color--plum-dark); color: var(--wp--preset--color--body);
}
.hd-feature-card > * { margin: 0 !important; }
.hd-feature-card .hd-prose > * { margin: 0; }
/* .hd-prose is a grid with an 18px gap; the label is 9px shorter than in the mockup, so the heading gets 9px more. */
.hd-feature-card .hd-prose > .is-style-label + h2 { margin-top: 9px; }
.hd-feature-card p:not(.is-style-label) { font-size: 17px; line-height: 1.6; }
.hd-feature-card .wp-block-buttons { flex-direction: column; align-items: flex-start; gap: 12px; }

@media (max-width: 1000px) {
	.hd-ld-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.hd-feature-card { grid-template-columns: 1fr; }
}
@media (max-width: 900px) {
	.hd-plat { grid-template-columns: 1fr; }
	.hd-plat__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 520px) {
	.hd-ld-grid { grid-template-columns: 1fr; }
	.hd-ld__photo { max-width: 240px; }
}

/* ---------- Contact page (HD-2340) ---------- */

.hd-ct-hero .wp-block-columns { align-items: flex-start !important; gap: var(--wp--preset--spacing--column-gap); }
.hd-ct-hero .is-style-label + h1 { margin-top: 12px; }
.hd-ct-hero h1 { font-size: clamp(34px, 3.6vw, 50px); font-weight: 200; line-height: 1.12; max-width: 16ch; }
.hd-ct-hero .hd-hero__sub { margin-top: 20px; max-width: 32em; }
.hd-ct-list { display: grid; gap: 14px; max-width: 32em; margin: 32px 0 0; padding: 24px 0 0; list-style: none; border-top: 1px solid var(--wp--preset--color--hairline); }
.hd-ct-list li { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 12px; margin: 0; font-size: 16px; line-height: 1.5; }
.hd-ct-list li::before {
	content: ""; width: 20px; height: 20px; margin-top: 2px; background: var(--wp--preset--color--gold);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 8 14.5 16 6'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10.5 8 14.5 16 6'/%3E%3C/svg%3E") center / contain no-repeat;
}
.hd-ct-direct { margin-top: 32px !important; font-size: 15.5px; line-height: 1.6; }
.hd-ct-direct a { font-size: 20px; font-weight: 600; letter-spacing: -0.01em; color: #FFFFFF; text-decoration: none; }
.hd-ct-direct a:hover { text-decoration: underline; }

/* What happens next */
.hd-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); margin-top: 40px !important; }
.hd-steps > .hd-step { display: grid; gap: 8px; align-content: start; margin: 0; padding-top: 18px; border-top: 2px solid var(--wp--preset--color--gold); }
.hd-step > * { margin: 0; }
.hd-step .hd-step__when { font-size: 14px; font-weight: 600; color: var(--wp--preset--color--magenta); }
.hd-step h3 { font-size: 20px; }
.hd-step p:not(.hd-step__when) { font-size: 15.5px; line-height: 1.55; }

/* Call / Visit / Already a client? */
.hd-info-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); }
.hd-info-cards > .hd-info-card { display: grid; gap: 6px; align-content: start; margin: 0; padding: 24px; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px; }
.hd-info-card > * { margin: 0; }
.hd-info-card h3 { font-size: 15px; font-weight: 600; color: var(--wp--preset--color--magenta); }
.hd-info-card .hd-info-card__main { font-size: 17px; line-height: 1.45; color: var(--wp--preset--color--ink); }
.hd-info-card .hd-info-card__note { font-size: 14.5px; color: var(--wp--preset--color--muted); }

@media (max-width: 960px) {
	.hd-steps, .hd-info-cards { grid-template-columns: 1fr; }
}
.hd-info-card .hd-info-card__main a { color: inherit; text-decoration: none; }
.hd-info-card .hd-info-card__main a:hover { text-decoration: underline; }

/* ---------- Homepage (HD-2339) ---------- */

/* Hero: copy left, Before / After illustration right */
.hd-home-hero .wp-block-columns { gap: var(--wp--preset--spacing--column-gap); }
.hd-home-hero h1 { margin: 0 0 32px; font-size: clamp(34px, 3.5vw, 48px); font-weight: 200; line-height: 1.12; text-wrap: balance; }
.hd-home-hero .hd-home-hero__sub { margin: 0 0 6px; font-size: clamp(20px, 1.8vw, 24px); font-weight: 500; line-height: 1.25; letter-spacing: -0.01em; color: var(--wp--preset--color--ink); }
.hd-home-hero .hd-home-hero__lede { margin: 0 0 40px; max-width: 34em; font-size: clamp(17px, 1.45vw, 20px); line-height: 1.55; color: var(--wp--preset--color--ink); opacity: 0.92; }
.hd-home-hero .wp-block-buttons { gap: 16px; }

/* Heading row with a link on the right (Solutions, Insights) */
.hd-head-row { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 32px; }
.hd-head-row > * { margin: 0 !important; }
.hd-head-row__link { padding-bottom: 6px; font-size: 15.5px; font-weight: 600; white-space: nowrap; }
.hd-head-row__link a { color: var(--wp--preset--color--magenta); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.hd-head-row__link a:hover { color: var(--wp--preset--color--ink); }

/* Solution cards, two by two */
.hd-sol-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); margin-top: 40px !important; }
.hd-sol-grid > .hd-sol {
	display: flex; flex-direction: column; gap: 16px; min-width: 0; margin: 0;
	padding: clamp(24px, 2.6vw, 32px);
	background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.05);
}
.hd-sol > * { margin: 0; }
.hd-sol .hd-sol__for { display: flex; align-items: center; gap: 12px; font-size: 14px; font-weight: 500; line-height: 1.3; color: var(--wp--preset--color--magenta); }
.hd-sol .hd-sol__for::before {
	content: ""; flex: none; width: 40px; height: 40px; border-radius: 10px;
	background: var(--wp--preset--color--plum) center / 20px 20px no-repeat;
}
.hd-sol.is-ico-portal .hd-sol__for::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E6CF8F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='16' rx='2'/%3E%3Cpath d='M3 9h18M8 14h3M8 17h6M15 14h1'/%3E%3C/svg%3E"); }
.hd-sol.is-ico-cpq .hd-sol__for::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E6CF8F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v4M12 17v4M4.5 7.5l3 2M16.5 14.5l3 2M4.5 16.5l3-2M16.5 9.5l3-2'/%3E%3Ccircle cx='12' cy='12' r='3.2'/%3E%3C/svg%3E"); }
.hd-sol.is-ico-ascend .hd-sol__for::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E6CF8F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 20h18M5 20V12l4-2v10M9 20V7l5-3v16M14 20V9l5 2v9'/%3E%3C/svg%3E"); }
.hd-sol.is-ico-integration .hd-sol__for::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E6CF8F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='5' cy='6' r='2.2'/%3E%3Ccircle cx='19' cy='6' r='2.2'/%3E%3Ccircle cx='5' cy='18' r='2.2'/%3E%3Ccircle cx='19' cy='18' r='2.2'/%3E%3Crect x='9' y='9' width='6' height='6' rx='1.5'/%3E%3Cpath d='M7 7.5 9 9.5M17 7.5 15 9.5M7 16.5 9 14.5M17 16.5 15 14.5'/%3E%3C/svg%3E"); }
.hd-sol .hd-sol__name { font-size: clamp(22px, 2vw, 26px); font-weight: 600; line-height: 1.2; letter-spacing: -0.015em; }
.hd-sol .hd-sol__job { font-size: 17px; font-weight: 500; line-height: 1.45; color: var(--wp--preset--color--ink); }
.hd-sol .hd-sol__desc { font-size: 15.5px; line-height: 1.55; }
.hd-sol .hd-sol__meta { display: grid; gap: 6px; margin-top: auto; padding-top: 16px; border-top: 1px solid var(--wp--preset--color--hairline); font-size: 13.5px; line-height: 1.45; color: var(--wp--preset--color--muted); }
.hd-sol__meta > * { margin: 0; }
.hd-sol__meta strong { font-weight: 600; color: var(--wp--preset--color--ink); }
.hd-sol__chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; list-style: none; }
.hd-sol__chips li { margin: 0; padding: 3px 10px; font-size: 12.5px; font-weight: 500; color: var(--wp--preset--color--ink); background: #F6F5F5; border: 1px solid var(--wp--preset--color--hairline); border-radius: 999px; }
.hd-sol .hd-sol__cta { font-size: 15px; font-weight: 600; }
.hd-sol .hd-sol__cta a { color: var(--wp--preset--color--magenta); text-decoration: none; }
.hd-sol .hd-sol__cta a:hover { color: var(--wp--preset--color--ink); }

/* Two proof cards side by side */
.hd-proof-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); }
.hd-proof-pair > .hd-proof { max-width: none !important; width: auto; margin: 0 !important; }

/* Newest insights */
.hd-ins-query { margin-top: 40px !important; }
.hd-ins-grid { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); margin: 0; padding: 0; list-style: none; }
.hd-ins-grid > li { display: grid; gap: 8px; align-content: start; margin: 0 !important; min-width: 0; }
.hd-ins-grid > li > * { margin: 0; }
.hd-ins__thumb { margin-bottom: 10px !important; overflow: hidden; border-radius: 12px; background: var(--wp--preset--color--plum-dark); }
.hd-ins__thumb img { display: block; width: 100%; border-radius: 12px; object-fit: cover; transition: transform 0.4s ease; }
.hd-ins-grid > li:hover .hd-ins__thumb img { transform: scale(1.03); }
.hd-ins__thumb.is-empty { aspect-ratio: 16 / 10; background: linear-gradient(135deg, #5A2340, #300B1F); }
.hd-ins__thumb.is-empty a { display: block; height: 100%; }
.hd-ins__cat { font-size: 13.5px; font-weight: 500; line-height: 1.3; }
.hd-ins__cat a { color: var(--wp--preset--color--magenta); text-decoration: none; }
.hd-ins__title { font-size: 20px; font-weight: 600; line-height: 1.3; letter-spacing: -0.015em; text-wrap: balance; }
.hd-ins__title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.hd-ins__title a:hover { text-decoration: underline; }
.hd-ins__ex p { margin: 0; font-size: 15.5px; line-height: 1.55; }
.hd-ins__ex .wp-block-post-excerpt__more-text { display: none; }

/* Platform cards */
.hd-pt-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); margin-top: 40px !important; }
.hd-pt-grid > .hd-pt-card { display: grid; gap: 14px; align-content: start; margin: 0; padding: 24px; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px; }
.hd-pt-card > * { margin: 0; }
.hd-pt-card .hd-plat__list { display: block; }
.hd-pt-card .hd-plat__list li { padding: 12px 20px; background: #F6F5F5; border: 0; }
.hd-pt-card .hd-plat__list img { max-height: 36px; }
.hd-pt-card p { font-size: 15px; line-height: 1.5; }

@media (max-width: 1000px) { .hd-pt-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
	.hd-sol-grid, .hd-proof-pair, .hd-ins-grid { grid-template-columns: 1fr; }
	.hd-ins-grid { gap: 40px; }
}
@media (max-width: 560px) { .hd-pt-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .hd-ins__thumb img { transition: none; } }

/* Homepage proof pair: the mockup's card layout (label and rule above the diagram, footnote
   under it, larger numbers, links aligned at the bottom). Scoped so solution pages keep theirs. */
.hd-proof-pair > .hd-proof { display: flex; flex-direction: column; gap: 28px; padding: clamp(24px, 3vw, 40px); }
.hd-proof-pair > .hd-proof > * { margin: 0 !important; }
.hd-proof-pair .hd-proof__title { margin-top: -20px !important; font-size: clamp(22px, 2vw, 27px); line-height: 1.18; letter-spacing: -0.025em; }
.hd-proof-pair .hd-proof__map-label { margin-top: -3px !important; margin-bottom: -16px !important; padding-top: 24px; border-top: 1px solid var(--wp--preset--color--hairline); font-size: 13.5px; font-weight: 500; line-height: 1.3; color: var(--wp--preset--color--magenta); }
.hd-proof-pair .hd-proof__map-foot { margin-top: -18px !important; }
.hd-proof-pair .hd-proof__res { padding-top: 22px; }
.hd-proof-pair .hd-proof__v { font-size: 30px; line-height: 1.05; letter-spacing: -0.03em; }
.hd-proof-pair .hd-proof__v.is-phrase { padding-top: 4px; font-size: 22px; line-height: 1.15; letter-spacing: -0.015em; }
.hd-proof-pair .hd-proof > .is-style-text-link:last-child { margin-top: auto !important; }

/* Section intro next to a link (Solutions, Proof): the mockup's smaller lede */
.hd-head-row .is-style-lede,
.hd-proof-pair-head .is-style-lede { font-size: clamp(17px, 1.4vw, 19px); }
.hd-head-row h2 { max-width: 32ch; }
.hd-head-row__link.is-plain { font-size: 15px; }
.hd-head-row__link.is-plain a { text-decoration: none; }
.wp-block-group:has(> .hd-pt-grid) > .hd-head .is-style-lede { font-size: 17px; }
.wp-block-group:has(> .hd-proof-pair) > .hd-head .is-style-lede { font-size: clamp(17px, 1.4vw, 19px); }

/* ---------- Text pages (HD-2342): Privacy policy, Terms of use, Sitemap, any plain page ---------- */

.hd-text-top { padding-bottom: clamp(32px, 4vw, 48px); }
.hd-text-top h1 { margin: 0; font-size: clamp(34px, 3.6vw, 50px); font-weight: 200; line-height: 1.12; max-width: 22ch; }
.hd-text-top .hd-crumbs + h1 { margin-top: 0; }
.hd-text-top .hd-last-updated { margin: 16px 0 0; font-size: 15px; color: var(--wp--preset--color--muted); }
.is-layout-constrained > :is(.hd-text-top > h1, .hd-text-top > .hd-last-updated) {
	margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1240px)) / 2)) !important;
}
.hd-text-body { padding-top: clamp(24px, 3vw, 40px); padding-bottom: var(--wp--preset--spacing--section); }

/* "On this page" beside the text; the text alone when the list is hidden */
.hd-gp { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 56px; align-items: start; }
.hd-gp > * { margin: 0 !important; }
.hd-gp:not(:has(> .hd-toc)) { grid-template-columns: minmax(0, 1fr); }
.hd-toc { position: sticky; top: 96px; display: grid; gap: 10px; }
.hd-toc__title { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: 0.03em; color: var(--wp--preset--color--muted); }
.hd-toc ol { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; border-left: 2px solid var(--wp--preset--color--hairline); }
.hd-toc li { margin: 0; }
.hd-toc a { display: block; margin-left: -2px; padding-left: 14px; border-left: 2px solid transparent; font-size: 15px; line-height: 1.4; color: var(--wp--preset--color--body); text-decoration: none; }
.hd-toc a:hover,
.hd-toc a:focus-visible { color: var(--wp--preset--color--magenta); border-left-color: var(--wp--preset--color--magenta); }

/* The text: a comfortable line length, theme-styled headings, lists, tables and links */
.hd-gp__body { display: grid; gap: 16px; max-width: 70ch; }
.hd-gp__body > * { margin: 0 !important; }
.hd-gp__body h2 { margin-top: 24px !important; font-size: 26px; scroll-margin-top: 96px; }
.hd-gp__body h2:first-child { margin-top: 0 !important; }
.hd-gp__body h3 { margin-top: 8px !important; font-size: 19px; }
.hd-gp__body ul,
.hd-gp__body ol { display: grid; gap: 6px; padding-left: 22px; }
.hd-gp__body a { color: var(--wp--preset--color--magenta); overflow-wrap: anywhere; }
.hd-gp__body .wp-block-table { overflow-x: auto; }
.hd-gp__body table { width: 100%; border-collapse: collapse; font-size: 15px; line-height: 1.5; }
.hd-gp__body th,
.hd-gp__body td { padding: 10px 12px; text-align: left; vertical-align: top; border: 1px solid var(--wp--preset--color--hairline); }
.hd-gp__body thead th { font-weight: 600; color: var(--wp--preset--color--ink); background: #F6F5F5; border-bottom-width: 1px; }
.hd-gp__body .wp-block-table thead { border-bottom: 0; }

/* Sitemap lists */
.hd-sitemap-list,
.hd-sitemap-list ul { display: grid; gap: 6px; padding-left: 22px; }
.hd-sitemap-list h3 { margin: 0; font-size: 17px; font-weight: 400; }

@media (max-width: 900px) {
	.hd-gp { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.hd-toc { position: static; }
}
.hd-sol-grid.is-alone { margin-top: 0 !important; }

/* ---------- Videos page (HD-2338): channel cards ---------- */
.hd-chans { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp--preset--spacing--column-gap); margin-top: 32px !important; }
.hd-chans > .hd-chan { display: grid; gap: 10px; align-content: start; margin: 0; padding: 28px; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px; }
.hd-chan > * { margin: 0; }
.hd-chan .hd-chan__name { font-size: 12.5px; font-weight: 600; letter-spacing: 0.02em; }
.hd-chan.is-hd .hd-chan__name { color: var(--wp--preset--color--magenta); }
.hd-chan.is-va .hd-chan__name { color: #74612A; }
.hd-chan h3 { font-size: 21px; }
.hd-chan p:not(.hd-chan__name):not(.hd-chan__link) { font-size: 15.5px; line-height: 1.55; }
.hd-chan .hd-chan__link { font-size: 15px; font-weight: 600; }
.hd-chan .hd-chan__link a { color: var(--wp--preset--color--magenta); text-decoration: none; }
.hd-chan .hd-chan__link a:hover { text-decoration: underline; }
@media (max-width: 960px) { .hd-chans { grid-template-columns: 1fr; } }

/* A white page top without facts (Videos, Thank you): shorter bottom, less space above the next section */
.hd-page-top.is-compact { padding-bottom: clamp(32px, 4vw, 48px); }
.hd-page-top.is-compact + section { padding-top: clamp(24px, 3vw, 40px) !important; }

/* Varato: dark posters (mockup) and a gold that keeps 4.5:1 contrast on grey */
.hd-video:has(.hd-video__ch.is-va) .hd-video__poster { background: linear-gradient(160deg, #3A3A3A, #1C1C1C); }
.hd-video__ch.is-va { color: #74612A; }

/* ---------- Search and Page not found (HD-2343, HD-2344) ---------- */

/* Search box (core Search block): wide input, gold button */
.hd-srch { max-width: 640px; margin-top: 28px !important; }
.is-layout-constrained > .hd-srch { margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1240px)) / 2)) !important; }
.hd-srch .wp-block-search__label { display: block; margin-bottom: 8px; font-size: 14px; font-weight: 600; color: var(--wp--preset--color--ink); }
.hd-srch .wp-block-search__inside-wrapper { display: flex; gap: 8px; padding: 0; border: 0; }
.hd-srch .wp-block-search__input { flex: 1; min-width: 0; margin: 0; padding: 13px 16px; font: 400 17px/1.4 var(--wp--preset--font-family--hanken); color: var(--wp--preset--color--ink); background: #FFFFFF; border: 1px solid #C9C6C8; border-radius: 6px; }
.hd-srch .wp-block-search__input:focus { outline: 2px solid var(--wp--preset--color--magenta); outline-offset: 1px; border-color: var(--wp--preset--color--magenta); }
.hd-srch .wp-block-search__button { margin: 0; }

/* Popular pages / suggestions */
.hd-empty { display: grid; gap: 16px; max-width: 720px; }
.hd-empty > * { margin: 0 !important; }
.hd-empty h2 { font-size: 28px; }
.hd-quick { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 8px 0 0 !important; padding: 0; list-style: none; }
.hd-quick li { margin: 0; }
.hd-quick a { display: grid; gap: 2px; height: 100%; box-sizing: border-box; padding: 16px 18px; text-decoration: none; background: #FFFFFF; border: 1px solid var(--wp--preset--color--hairline); border-radius: 10px; }
.hd-quick a:hover { border-color: var(--wp--preset--color--magenta); }
.hd-quick strong { font-size: 16.5px; font-weight: 600; color: var(--wp--preset--color--ink); }
.hd-quick span { font-size: 14px; color: var(--wp--preset--color--muted); }

/* Results: the section turns grey when it shows suggestions */
.hd-sr-section:has(.hd-empty) { background-color: var(--wp--preset--color--page); }
.hd-sr { display: grid; }
.hd-sr__meta { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: center; justify-content: space-between; padding-bottom: 20px; border-bottom: 1px solid var(--wp--preset--color--hairline); }
.hd-sr__meta p { margin: 0; font-size: 15px; color: var(--wp--preset--color--muted); }
.hd-sr__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.hd-sr__chips a { padding: 9px 14px; font-size: 14px; font-weight: 500; line-height: 1; color: var(--wp--preset--color--ink); text-decoration: none; background: #FFFFFF; border: 1px solid var(--wp--preset--color--hairline); border-radius: 999px; }
.hd-sr__chips a[aria-current] { color: #FFFFFF; background: var(--wp--preset--color--plum); border-color: var(--wp--preset--color--plum); }
.hd-sr__chips a:focus-visible { outline: 2px solid var(--wp--preset--color--magenta); outline-offset: 2px; }
.hd-sr__list { max-width: 820px; margin: 0; padding: 0; list-style: none; }
.hd-sr__item { display: grid; gap: 6px; margin: 0; padding: 24px 0; border-bottom: 1px solid var(--wp--preset--color--hairline); }
.hd-sr__item > * { margin: 0; }
.hd-sr__type { font-size: 12.5px; font-weight: 600; letter-spacing: 0.02em; color: var(--wp--preset--color--magenta); }
.hd-sr__item h2 { font-size: 21px; line-height: 1.3; letter-spacing: -0.01em; }
.hd-sr__item h2 a { color: var(--wp--preset--color--ink); text-decoration: none; }
.hd-sr__item h2 a:hover { color: var(--wp--preset--color--magenta); text-decoration: underline; }
.hd-sr__item p { font-size: 15.5px; line-height: 1.55; }
.hd-sr__item mark { padding: 0 2px; color: inherit; background: #FFF1B8; border-radius: 2px; }
.hd-sr__url { font-size: 13.5px; color: var(--wp--preset--color--muted); overflow-wrap: anywhere; }
.hd-pager ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 32px 0 0; padding: 0; list-style: none; }
.hd-pager li { margin: 0; }
.hd-pager a,
.hd-pager span { display: grid; place-items: center; min-width: 40px; height: 40px; box-sizing: border-box; padding: 0 12px; font-size: 15px; color: var(--wp--preset--color--ink); text-decoration: none; background: #FFFFFF; border: 1px solid var(--wp--preset--color--hairline); border-radius: 6px; }
.hd-pager span[aria-current] { color: #FFFFFF; background: var(--wp--preset--color--plum); border-color: var(--wp--preset--color--plum); }

@media (max-width: 560px) {
	.hd-quick { grid-template-columns: 1fr; }
	.hd-srch .wp-block-search__inside-wrapper { flex-direction: column; }
}
.hd-srch .wp-block-search__input::placeholder { color: var(--wp--preset--color--muted); opacity: 1; }
.is-layout-constrained > .hd-empty { margin-left: max(0px, calc((100% - var(--wp--style--global--content-size, 1240px)) / 2)) !important; }
.hd-empty > .hd-quick + p { margin-top: 16px !important; }

/* Search results section: room under the page links; the grey suggestions band gets full section padding */
.hd-sr-section { padding-bottom: var(--wp--preset--spacing--section); }
.hd-page-top.is-compact + .hd-sr-section:has(.hd-empty) { padding-top: var(--wp--preset--spacing--section) !important; }

/* ---------- Insights (HD-2325, HD-2337) ---------- */

/* Content beside "More insights" */
.hd-ins-top,
.hd-post-top { padding-top: clamp(40px, 5vw, 64px); padding-bottom: var(--wp--preset--spacing--section); }
.hd-post-wrap { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 72px; align-items: start; }
.hd-post-wrap > * { margin: 0 !important; min-width: 0; }
.hd-ins-main > *,
.hd-post-main > * { margin: 0; }

/* More insights */
.hd-side { position: sticky; top: 100px; display: grid; gap: 16px; }
.hd-side > * { margin: 0; }
.hd-side h2 { font-size: 15px; font-weight: 600; color: var(--wp--preset--color--ink); }
.hd-side ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--wp--preset--color--hairline); }
.hd-side li { margin: 0; border-bottom: 1px solid var(--wp--preset--color--hairline); }
.hd-side li a { display: grid; gap: 4px; padding: 14px 0; font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--wp--preset--color--ink); text-decoration: none; }
.hd-side li a span { font-size: 12.5px; font-weight: 500; color: var(--wp--preset--color--magenta); }
.hd-side li a:hover { color: var(--wp--preset--color--magenta); }
.hd-side__all { font-size: 15px; font-weight: 600; }
.hd-side__all a { color: var(--wp--preset--color--ink); text-decoration: none; }
.hd-side__all a:hover { color: var(--wp--preset--color--magenta); text-decoration: underline; text-underline-offset: 3px; }

/* Insights top: label, light H1, intro */
.hd-ins-head { margin-bottom: 40px !important; }
.hd-ins-head .hd-crumbs { margin-bottom: 28px; }
.hd-ins-heading > * { margin: 0; }
.hd-ins-heading .is-style-label + h1 { margin-top: 12px; }
.hd-ins-heading h1 { font-size: clamp(34px, 3.5vw, 48px); font-weight: 200; line-height: 1.12; max-width: 22ch; color: var(--wp--preset--color--ink); }
.hd-ins-sub { margin-top: 16px !important; max-width: 40em; font-size: clamp(18px, 1.5vw, 20px); line-height: 1.5; }

/* Cards: image, topic and date, title, summary */
.hd-ic__thumb { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 12px; background: linear-gradient(135deg, #5A2340, #300B1F); }
.hd-ic__thumb img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hd-ic__meta { display: flex; flex-wrap: wrap; gap: 6px 12px; font-size: 14px; color: var(--wp--preset--color--muted); }
.hd-ic__cat { font-weight: 500; color: var(--wp--preset--color--magenta); }
.hd-ig { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 48px var(--wp--preset--spacing--column-gap); margin: 0; padding: 0; list-style: none; }
.hd-ig.is-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hd-ic { margin: 0; min-width: 0; }
.hd-ic a { display: grid; gap: 16px; color: inherit; text-decoration: none; }
.hd-ic__title { margin: 0; font-size: 20px; font-weight: 600; line-height: 1.3; color: var(--wp--preset--color--ink); }
.hd-ic a:hover .hd-ic__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.hd-ic__ex { margin-top: -8px; font-size: 15.5px; line-height: 1.55; color: var(--wp--preset--color--body); }
.hd-ic a:focus-visible { outline: 2px solid var(--wp--preset--color--magenta); outline-offset: 6px; border-radius: 12px; }

/* Featured (newest) post */
.hd-feat { display: grid; gap: 20px; color: inherit; text-decoration: none; border-radius: 14px; }
.hd-feat__body { display: grid; gap: 14px; }
.hd-feat__title { margin: 0; font-size: clamp(28px, 2.6vw, 36px); font-weight: 600; line-height: 1.15; color: var(--wp--preset--color--ink); }
.hd-feat:hover .hd-feat__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.hd-feat__ex { font-size: 18px; line-height: 1.55; color: var(--wp--preset--color--body); }
.hd-feat:focus-visible { outline: 2px solid var(--wp--preset--color--magenta); outline-offset: 6px; }

/* Topic links and the list */
.hd-ins-list { margin-top: 56px !important; padding-top: 40px; border-top: 1px solid var(--wp--preset--color--hairline); }
.hd-ins-head + .hd-ins-list { margin-top: 0 !important; }
.hd-ins-list > * { margin: 0; }
.hd-topics { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 32px !important; }
.hd-topics a { padding: 10px 16px; font-size: 15px; font-weight: 500; line-height: 1; color: var(--wp--preset--color--ink); text-decoration: none; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline); border-radius: 999px; }
.hd-topics a[aria-current] { color: #FFFFFF; background: var(--wp--preset--color--plum); border-color: var(--wp--preset--color--plum); }
.hd-topics a:focus-visible { outline: 2px solid var(--wp--preset--color--magenta); outline-offset: 2px; }
.hd-ig__more { justify-content: center; margin-top: 48px !important; }
.hd-ig__none { margin: 0; font-size: 17px; }

/* Post */
.hd-post-head { margin-bottom: 36px !important; }
.hd-post-head > * { margin: 0; }
.hd-post-head .hd-crumbs { margin-bottom: 28px; }
.hd-post-head .hd-post-topic + h1 { margin-top: 12px; }
.hd-post-topic a { color: inherit; text-decoration: none; }
.hd-post-head h1 { font-size: clamp(34px, 3.6vw, 50px); font-weight: 200; line-height: 1.12; max-width: 24ch; color: var(--wp--preset--color--ink); }
.hd-post-meta { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 24px !important; font-size: 15px; color: var(--wp--preset--color--muted); }
.hd-post-meta__by { font-weight: 600; color: var(--wp--preset--color--ink); }
.hd-post-img { margin: 0 0 40px !important; }
.hd-post-img__frame { aspect-ratio: 16 / 9; overflow: hidden; border-radius: 12px; background: linear-gradient(135deg, #5A2340, #300B1F); }
.hd-post-img__frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.hd-post-img figcaption { margin-top: 10px; font-size: 14px; color: var(--wp--preset--color--muted); }

/* Post text: about 68 characters a line */
.hd-article { max-width: 68ch; font-size: 18px; line-height: 1.7; color: var(--wp--preset--color--body); }
.hd-article > * { margin-top: 0; margin-bottom: 0; }
.hd-article > * + * { margin-top: 20px !important; }
.hd-article > h2 { margin-top: 48px !important; font-size: clamp(26px, 2.4vw, 32px); }
.hd-article > h3 { margin-top: 32px !important; font-size: 21px; }
.hd-article ul,
.hd-article ol { display: grid; gap: 8px; padding-left: 22px; }
.hd-article strong { color: var(--wp--preset--color--ink); }
.hd-article a { color: var(--wp--preset--color--magenta); }
.hd-article blockquote { margin-left: 0; margin-right: 0; padding-left: 20px; border-left: 3px solid var(--wp--preset--color--gold); font-size: 20px; color: var(--wp--preset--color--ink); }
.hd-article figure img { border-radius: 12px; }
.hd-article figcaption { font-size: 14px; color: var(--wp--preset--color--muted); }
.hd-article pre,
.hd-article code { font-size: 15px; background: #F6F5F5; border-radius: 6px; }
.hd-article pre { padding: 16px 18px; overflow-x: auto; }
.hd-article .wp-block-table { overflow-x: auto; }
.hd-article table { width: 100%; border-collapse: collapse; font-size: 15.5px; line-height: 1.5; }
.hd-article th,
.hd-article td { padding: 10px 12px; text-align: left; vertical-align: top; border: 1px solid var(--wp--preset--color--hairline); }
.hd-article thead th { color: var(--wp--preset--color--ink); background: #F6F5F5; }
.hd-article .is-style-callout { padding: 18px 22px; font-size: 17px; background: #F6F5F5; border-left: 3px solid var(--wp--preset--color--gold); border-radius: 0 10px 10px 0; }

/* Related insights */
.hd-related { display: grid; gap: 40px; }
.hd-related > * { margin: 0; }
.hd-related .hd-head-row h2 { margin: 0; }
.hd-related .hd-head-row .is-style-label { margin: 0 0 10px; }

@media (max-width: 1000px) {
	.hd-post-wrap { grid-template-columns: minmax(0, 1fr); gap: 48px; }
	.hd-side { position: static; }
}
@media (max-width: 960px) { .hd-ig.is-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { .hd-ig, .hd-ig.is-3 { grid-template-columns: 1fr; } }
.hd-related-section { padding-top: var(--wp--preset--spacing--section); padding-bottom: var(--wp--preset--spacing--section); }

/* Optional blocks in a post: case study card and video short (mockup: Insight post) */
.hd-cs-block {
	position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 18px 22px; align-items: center;
	padding: 22px 24px; background: var(--wp--preset--color--white); border: 1px solid var(--wp--preset--color--hairline); border-radius: 14px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04), 0 8px 24px rgba(0, 0, 0, 0.05);
}
.hd-cs-block > * { margin: 0 !important; }
.hd-cs-block__logo img { display: block; height: 26px; width: auto; border-radius: 0 !important; }
.hd-cs-block__text > * { margin: 0 !important; line-height: 1.35; }
.hd-cs-block .hd-cs-block__k { font-size: 13px; font-weight: 500; color: var(--wp--preset--color--magenta); }
.hd-cs-block .hd-cs-block__title { margin-top: 2px !important; font-size: 17px; }
.hd-cs-block .hd-cs-block__more { margin-top: 6px !important; font-size: 15px; font-weight: 600; }
.hd-cs-block .hd-cs-block__more a { color: var(--wp--preset--color--magenta); text-decoration: none; }
.hd-cs-block .hd-cs-block__more a::after { content: ""; position: absolute; inset: 0; border-radius: 14px; }
.hd-cs-block:hover .hd-cs-block__more a { text-decoration: underline; }
.hd-cs-block__more a:focus-visible { outline: none; }
.hd-cs-block__more a:focus-visible::after { outline: 2px solid var(--wp--preset--color--magenta); outline-offset: 3px; }

.hd-vid-block { display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 22px; align-items: center; }
.hd-vid-block > * { margin: 0 !important; }
.hd-vid-block__text > * { margin: 0 !important; }
.hd-vid-block .hd-vid-block__title { font-size: 17px; font-weight: 600; line-height: 1.35; color: var(--wp--preset--color--ink); }
.hd-vid-block .hd-vid-block__by { margin-top: 6px !important; font-size: 15px; color: var(--wp--preset--color--muted); }
@media (max-width: 560px) { .hd-cs-block { grid-template-columns: 1fr; } }

/* ---------- Solution FAQ page (HD-2334) ---------- */

/* White top: breadcrumbs, label, H1, intro, back link; the FAQ block with topics below it. */
.hd-fq-top h1 { font-size: clamp(34px, 3.5vw, 48px); max-width: 20ch; }
.hd-fq-top .hd-hero__sub { margin-top: 16px !important; }
.hd-fq-top .hd-fq-back { margin-top: 20px !important; margin-bottom: 0; font-size: 15.5px; font-weight: 600; }
.hd-fq-top .hd-fq-back a { color: var(--wp--preset--color--magenta); text-decoration-thickness: 1px; text-underline-offset: 3px; }
.hd-fq-top .hd-fq-back a:hover { color: var(--wp--preset--color--ink); }
.hd-fq-top .hd-fq-back a:focus-visible { outline: 2px solid var(--wp--preset--color--magenta); outline-offset: 3px; border-radius: 2px; }
.hd-fq-top > .hd-faq { margin-top: 48px !important; }
