/* Speedking homepage — farm-stand editorial language.
   Canvas #f4f3e7 · bands #d8e5d6 / #e8dcc6 · structure #00473c · action #e6ff55 · ink #0e150e.
   Type: Figtree 400 (display, tight leading at large sizes) · Inter 400/600/700 (body, labels,
   positive tracking under 24px) · Cormorant Garamond 300 (thin editorial counterpoint).
   Geometry: pill buttons only, 20px on photographs, 24px on panels.
   Loaded on the front page only (inc/home/home-rsnl.php); every selector is scoped
   under .speedking-theme so plugin and MU-plugin CSS stays isolated. */

.speedking-theme {
	--cb-canvas: #f4f3e7;
	--cb-sage: #d8e5d6;
	--cb-sand: #e8dcc6;
	--cb-forest: #00473c;
	--cb-lime: #e6ff55;
	--cb-ink: #0e150e;
	--cb-gray: #8c8c82;
	/* Rules and dividers: the ink at low alpha, so they sit on any of the three bands. */
	--cb-line: rgba(14, 21, 14, .16);
	--cb-line-soft: rgba(14, 21, 14, .09);
	--cb-head: "Figtree", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--cb-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--cb-accent: "Cormorant Garamond", Georgia, "Times New Roman", serif;
	--cb-max: 1200px;
	--cb-gutter: 40px;
	--cb-sec: 120px;
	--cb-shadow: rgba(14, 21, 14, .4) 3px 3px 32px -10px;
}

.speedking-theme.cb-home {
	margin: 0;
	background: var(--cb-canvas);
	color: var(--cb-ink);
	font-family: var(--cb-body);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: .017em;
	-webkit-font-smoothing: antialiased;
}

.speedking-theme.cb-home *,
.speedking-theme.cb-home *::before,
.speedking-theme.cb-home *::after { box-sizing: border-box; }

.speedking-theme .cb-wrap { max-width: var(--cb-max); margin: 0 auto; padding: 0 var(--cb-gutter); }
.speedking-theme .cb-home a { color: inherit; }
.speedking-theme .cb-home img { display: block; max-width: 100%; height: auto; }
.speedking-theme .cb-home ::selection { background: var(--cb-lime); color: var(--cb-ink); }
.speedking-theme .cb-home :is(a, button, input, select, textarea):focus-visible { outline: 2px solid var(--cb-forest); outline-offset: 3px; }

/* ---- Shared type ------------------------------------------------------- */

/* Eyebrow: the pre-headline context label. All caps, never larger than 14px. */
.speedking-theme .cb-eyebrow {
	margin: 0 0 16px;
	font-family: var(--cb-body);
	font-size: 14px;
	font-weight: 700;
	line-height: 1.29;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--cb-forest);
}

/* Display type is weight 400: the authority comes from size, not weight. */
.speedking-theme .cb-h1 {
	margin: 0 0 24px;
	font-family: var(--cb-head);
	font-weight: 400;
	font-size: clamp(2.5rem, 5.6vw, 4.375rem);
	line-height: .88;
	letter-spacing: -.01em;
	color: var(--cb-ink);
}
.speedking-theme .cb-h2 {
	margin: 0 0 24px;
	font-family: var(--cb-head);
	font-weight: 400;
	font-size: clamp(2.1rem, 4vw, 3rem);
	line-height: .92;
	letter-spacing: -.015em;
	color: var(--cb-ink);
}
/* The qualifier after the heading's dash, set in the thin editorial face. */
.speedking-theme .cb-h2__tail {
	display: block;
	margin-top: 10px;
	font-family: var(--cb-accent);
	font-weight: 300;
	font-size: clamp(1.6rem, 2.9vw, 2.25rem);
	line-height: 1;
	letter-spacing: -.047em;
	color: var(--cb-forest);
}
.speedking-theme .cb-lead { margin: 0 0 20px; font-size: 18px; line-height: 1.5; letter-spacing: .03em; color: var(--cb-ink); }
.speedking-theme .cb-body { margin: 0 0 20px; font-size: 16px; line-height: 1.65; letter-spacing: .017em; color: var(--cb-ink); }
.speedking-theme .cb-section .cb-split__body p:last-child { margin-bottom: 0; }

/* ---- Buttons and links ------------------------------------------------- */

/* Pill CTA: the one filled control on the page. Lime on ink, never inverted. */
.speedking-theme .cb-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 16px 24px;
	background: var(--cb-lime);
	color: var(--cb-ink);
	border: 0;
	border-radius: 9999px;
	font-family: var(--cb-body);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.25;
	letter-spacing: .017em;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease;
}
.speedking-theme .cb-btn:hover { transform: translateY(-1px); box-shadow: var(--cb-shadow); }
.speedking-theme .cb-btn--block { width: 100%; margin-top: 24px; }

/* Ghost text link: no background, no border — the arrow is the anchor. */
.speedking-theme .cb-ghost {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	font-family: var(--cb-body);
	font-size: 16px;
	font-weight: 700;
	letter-spacing: .017em;
	color: var(--cb-ink);
	text-decoration: none;
}
.speedking-theme .cb-ghost:hover { text-decoration: underline; text-underline-offset: .3em; }
.speedking-theme .cb-ctas { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }

/* ---- Bands ------------------------------------------------------------- */

.speedking-theme .cb-band { padding: var(--cb-sec) 0; background: var(--cb-canvas); scroll-margin-top: calc(var(--spk-header-h, 88px) + 16px); }
.speedking-theme .cb-band--sage { background: var(--cb-sage); }
.speedking-theme .cb-band--sand { background: var(--cb-sand); }

/* ---- Hero -------------------------------------------------------------- */

/* Full-bleed photograph as the background layer, with the cream panel anchored
   bottom-left over it. No radius here: the hero photograph runs edge to edge. */
.speedking-theme .cb-hero { position: relative; isolation: isolate; display: flex; align-items: flex-end; min-height: clamp(560px, 82vh, 860px); padding: 120px 0 60px; background: var(--cb-forest); }
.speedking-theme .cb-hero__media { position: absolute; inset: 0; z-index: 0; margin: 0; overflow: hidden; }
.speedking-theme .cb-hero__media img { width: 100%; height: 100%; object-fit: cover; object-position: center 58%; }
/* A low scrim under the panel only — the photograph stays unfiltered elsewhere. */
.speedking-theme .cb-hero::after { content: ""; position: absolute; inset: 0; z-index: 0; background: linear-gradient(to top, rgba(14, 21, 14, .45), rgba(14, 21, 14, 0) 55%); }
.speedking-theme .cb-hero > .cb-wrap { position: relative; z-index: 1; width: 100%; }
.speedking-theme .cb-hero__panel {
	max-width: 760px;
	padding: 40px;
	border-radius: 24px;
	background: rgba(244, 243, 231, .94);
	backdrop-filter: blur(2px);
}
.speedking-theme .cb-hero__lead { margin: 0 0 24px; max-width: 58ch; font-size: 18px; line-height: 1.33; letter-spacing: .03em; color: var(--cb-ink); }
.speedking-theme .cb-hero__lead p { margin: 0; font-size: inherit; line-height: inherit; }

/* ---- In short (answer band) -------------------------------------------- */

/* The stored answer box is a paragraph, not a headline: it is set as a standfirst
   at the subheading step, where it still reads as the page's summary without
   turning sixty words into display type. */
.speedking-theme .cb-facts__lead { margin: 0 0 56px; max-width: 58ch; font-family: var(--cb-head); font-weight: 400; font-size: clamp(1.25rem, 1.9vw, 1.5rem); line-height: 1.3; letter-spacing: -.01em; color: var(--cb-ink); }
.speedking-theme .cb-facts__lead p { margin: 0; font-size: inherit; line-height: inherit; }
.speedking-theme .cb-facts__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin: 0 0 60px; padding: 0; list-style: none; border-top: 1px solid var(--cb-line); }
.speedking-theme .cb-facts__list li { padding-top: 24px; }
.speedking-theme .cb-facts__num { display: block; margin-bottom: 12px; font-family: var(--cb-accent); font-weight: 300; font-size: 48px; line-height: 1; letter-spacing: -.047em; color: var(--cb-forest); }
.speedking-theme .cb-facts__text { display: block; font-size: 16px; line-height: 1.5; letter-spacing: .017em; color: var(--cb-ink); }

.speedking-theme .cb-chips { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin: 0 0 24px; border: 1px solid var(--cb-line); border-radius: 24px; overflow: hidden; }
.speedking-theme .cb-chip { padding: 20px 24px 24px; border-left: 1px solid var(--cb-line); }
.speedking-theme .cb-chip:first-child { border-left: 0; }
.speedking-theme .cb-chip dt { margin: 0 0 8px; font-size: 12px; font-weight: 700; line-height: 1.33; letter-spacing: .05em; text-transform: uppercase; color: var(--cb-forest); }
.speedking-theme .cb-chip dd { margin: 0; font-family: var(--cb-head); font-weight: 400; font-size: 20px; line-height: 1.2; letter-spacing: -.01em; color: var(--cb-ink); }
.speedking-theme .cb-chip__note { display: block; margin-top: 6px; font-family: var(--cb-body); font-weight: 400; font-size: 12px; line-height: 1.33; letter-spacing: .02em; color: var(--cb-gray); }
.speedking-theme .cb-honest { margin: 0; font-size: 14px; font-weight: 700; letter-spacing: .024em; color: var(--cb-forest); }

/* ---- On-page index (category tabs) ------------------------------------- */

/* Text-only tabs: the typographic scale is the navigation signal. The dot is
   the only state marker — no border, no background, no underline. */
.speedking-theme .cb-index { padding: 80px 0 0; background: var(--cb-canvas); }
.speedking-theme .cb-tabs { display: flex; flex-wrap: wrap; gap: 8px 40px; margin: 0; padding: 0 0 12px; list-style: none; }
.speedking-theme .cb-tabs a {
	position: relative;
	display: block;
	padding-bottom: 14px;
	font-family: var(--cb-head);
	font-weight: 400;
	font-size: clamp(1.4rem, 2.4vw, 2.1rem);
	line-height: 1.05;
	letter-spacing: -.015em;
	color: var(--cb-ink);
	text-decoration: none;
}
.speedking-theme .cb-tabs a::after { content: ""; position: absolute; left: 0; bottom: 0; width: 8px; height: 8px; border-radius: 50%; background: var(--cb-forest); opacity: 0; transition: opacity .2s ease; }
.speedking-theme .cb-tabs a:hover::after,
.speedking-theme .cb-tabs a.is-current::after { opacity: 1; }

/* ---- Content sections -------------------------------------------------- */

.speedking-theme .cb-split { display: grid; grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr); gap: 40px 64px; align-items: start; }
.speedking-theme .cb-split__body { max-width: 68ch; }
.speedking-theme .cb-split__head { position: sticky; top: calc(var(--spk-header-h, 88px) + 24px); }
.speedking-theme .cb-split__head .cb-h2 { margin-bottom: 0; }

.speedking-theme .cb-list { margin: 24px 0 0; padding: 0; list-style: none; border-top: 1px solid var(--cb-line); }
.speedking-theme .cb-list li { padding: 16px 0 16px 24px; border-bottom: 1px solid var(--cb-line-soft); position: relative; font-size: 16px; line-height: 1.5; letter-spacing: .017em; }
.speedking-theme .cb-list li::before { content: ""; position: absolute; left: 0; top: 24px; width: 8px; height: 8px; border-radius: 50%; background: var(--cb-forest); }
.speedking-theme .cb-list strong { font-weight: 700; }

/* ---- Journal cards ----------------------------------------------------- */

/* Product-card treatment: no card background, no border, no shadow. */
.speedking-theme .cb-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px; margin-top: 60px; }
.speedking-theme .cb-card { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding-top: 24px; border-top: 1px solid var(--cb-line); }
.speedking-theme .cb-card__title { margin: 0; font-family: var(--cb-body); font-size: 20px; font-weight: 700; line-height: 1.2; letter-spacing: .03em; }
.speedking-theme .cb-card__title a { text-decoration: none; }
.speedking-theme .cb-card__title a:hover { text-decoration: underline; text-underline-offset: .25em; }
.speedking-theme .cb-card__text { margin: 0 0 8px; font-size: 16px; line-height: 1.25; letter-spacing: .017em; color: var(--cb-ink); }

/* ---- Keep reading ------------------------------------------------------ */

.speedking-theme .cb-links { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 60px; margin: 40px 0 0; padding: 0; list-style: none; }
.speedking-theme .cb-links li { padding: 20px 0; border-top: 1px solid var(--cb-line); }
.speedking-theme .cb-links a { display: block; font-family: var(--cb-head); font-weight: 400; font-size: clamp(1.2rem, 1.8vw, 1.5rem); line-height: 1.15; letter-spacing: -.01em; color: var(--cb-ink); text-decoration: none; }
.speedking-theme .cb-links a::after { content: " →"; color: var(--cb-forest); }
.speedking-theme .cb-links a:hover { text-decoration: underline; text-underline-offset: .25em; }

/* ---- Sourcing desk ----------------------------------------------------- */

/* The one reversed band: deep forest surface, cream type, lime submit. */
.speedking-theme .cb-final { background: var(--cb-forest); color: var(--cb-canvas); }
.speedking-theme .cb-final .cb-eyebrow,
.speedking-theme .cb-final .cb-h2,
.speedking-theme .cb-final .cb-lead { color: var(--cb-canvas); }
.speedking-theme .cb-final .cb-h2__tail { color: var(--cb-lime); }
.speedking-theme .cb-final__grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 60px; align-items: start; }
.speedking-theme .cb-contact { display: grid; gap: 20px; margin: 40px 0 0; }
.speedking-theme .cb-contact div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; padding-top: 16px; border-top: 1px solid rgba(244, 243, 231, .22); }
.speedking-theme .cb-contact dt { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--cb-lime); }
.speedking-theme .cb-contact dd { margin: 0; font-size: 18px; letter-spacing: .03em; }
.speedking-theme .cb-contact a { color: var(--cb-canvas); text-decoration: underline; text-underline-offset: .25em; }
.speedking-theme .cb-contact a:hover { color: var(--cb-lime); }

.speedking-theme .cb-form { padding: 40px; border-radius: 24px; background: var(--cb-canvas); color: var(--cb-ink); }
.speedking-theme .cb-form h3 { margin: 0 0 8px; font-family: var(--cb-head); font-weight: 400; font-size: 24px; line-height: 1.21; letter-spacing: -.01em; color: var(--cb-ink); }
.speedking-theme .cb-form__note { margin: 0 0 24px; font-size: 14px; line-height: 1.29; letter-spacing: .024em; color: var(--cb-gray); }
.speedking-theme .cb-form label { display: block; margin: 20px 0 8px; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; color: var(--cb-forest); }
.speedking-theme .cb-form input,
.speedking-theme .cb-form select {
	width: 100%;
	min-height: 52px;
	padding: 0 14px;
	border: 1px solid var(--cb-line);
	border-radius: 8px;
	background: #fff;
	color: var(--cb-ink);
	font: inherit;
	font-size: 16px;
	letter-spacing: .017em;
}
.speedking-theme .cb-form input:focus-visible,
.speedking-theme .cb-form select:focus-visible { outline: 2px solid var(--cb-forest); outline-offset: 2px; }

/* ---- Mobile action bar ------------------------------------------------- */

.speedking-theme .cb-sticky { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; display: none; grid-template-columns: 1fr 1fr; height: 64px; transform: translateY(110%); transition: transform .25s ease; }
.speedking-theme .cb-sticky.is-on { transform: none; }
.speedking-theme .cb-sticky a { display: flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 700; letter-spacing: .024em; text-decoration: none; }
.speedking-theme .cb-sticky__wa { background: var(--cb-forest); color: var(--cb-canvas); }
.speedking-theme .cb-sticky__brief { background: var(--cb-lime); color: var(--cb-ink); }

/* ---- Responsive — 1180 / 1000 / 760, the theme's three steps ------------ */

@media (max-width: 1180px) {
	.speedking-theme { --cb-sec: 96px; --cb-gutter: 32px; }
	.speedking-theme .cb-split { gap: 40px 56px; }
}
@media (max-width: 1000px) {
	.speedking-theme .cb-split,
	.speedking-theme .cb-final__grid { grid-template-columns: minmax(0, 1fr); gap: 40px; }
	.speedking-theme .cb-split__head { position: static; }
	.speedking-theme .cb-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.speedking-theme .cb-facts__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; }
	.speedking-theme .cb-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.speedking-theme .cb-chip:nth-child(3) { border-left: 0; }
	.speedking-theme .cb-chip:nth-child(n + 3) { border-top: 1px solid var(--cb-line); }
	.speedking-theme .cb-links { grid-template-columns: minmax(0, 1fr); gap: 0; }
}
@media (max-width: 760px) {
	.speedking-theme { --cb-sec: 72px; --cb-gutter: 16px; }
	.speedking-theme .cb-hero { min-height: 0; padding: 72px 0 40px; }
	.speedking-theme .cb-hero__media { position: relative; inset: auto; height: 58vw; max-height: 340px; border-radius: 0; }
	.speedking-theme .cb-hero::after { display: none; }
	.speedking-theme .cb-hero { display: block; background: var(--cb-canvas); padding-top: 0; }
	.speedking-theme .cb-hero > .cb-wrap { margin-top: -40px; }
	.speedking-theme .cb-hero__panel { padding: 24px; background: var(--cb-canvas); }
	.speedking-theme .cb-facts__list,
	.speedking-theme .cb-cards { grid-template-columns: minmax(0, 1fr); }
	.speedking-theme .cb-chips { grid-template-columns: minmax(0, 1fr); }
	.speedking-theme .cb-chip { border-left: 0; }
	.speedking-theme .cb-chip + .cb-chip { border-top: 1px solid var(--cb-line); }
	.speedking-theme .cb-index { padding-top: 56px; }
	.speedking-theme .cb-tabs { gap: 4px 24px; }
	.speedking-theme .cb-form { padding: 24px; }
	.speedking-theme .cb-ctas .cb-btn { width: 100%; }
	.speedking-theme .cb-sticky { display: grid; }
}
@media (prefers-reduced-motion: reduce) {
	.speedking-theme .cb-home *,
	.speedking-theme .cb-sticky { transition: none !important; }
	.speedking-theme .cb-btn:hover { transform: none; }
}

/* ---- Corrections against the shared inner-page stylesheet ---------------
   tailwind.css also loads here, and its heading-link rule draws a border under
   every link inside a heading. On the homepage the card and rail titles are the
   link, so the rule would underline each of them twice. */
.speedking-theme .cb-card__title a,
.speedking-theme .cb-links a,
.speedking-theme .cb-tabs a,
.speedking-theme .cb-h2 a { border-bottom: 0; }

/* Prose links inside the reversed band: the shared rule paints them deep
   forest, which is the band's own colour. Lime is the only readable accent here
   and it is already this page's action colour. */
.speedking-theme .cb-final p a,
.speedking-theme .cb-final li a { color: var(--cb-lime); text-decoration: underline; text-underline-offset: .22em; }
.speedking-theme .cb-final p a:hover,
.speedking-theme .cb-final li a:hover { color: var(--cb-canvas); }
.speedking-theme .cb-contact dt { min-width: 7.5rem; }

/* ---- Blocks injected by MU-plugins -------------------------------------
   Both ship inline styles, so they are matched on the style attribute and
   overridden — the alternative is a steel-blue bar above the header and a
   near-black sitemap below a forest footer. */
.speedking-theme .elite-breadcrumb[style] {
	background: var(--cb-canvas) !important;
	color: var(--cb-ink) !important;
	padding: 10px 40px !important;
	font-family: var(--cb-body) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
	border-bottom: 1px solid var(--cb-line-soft);
}
.speedking-theme .elite-breadcrumb[style] { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.speedking-theme .elite-breadcrumb[style] a { color: var(--cb-forest) !important; text-decoration: none; }
.speedking-theme .elite-breadcrumb[style] a:hover { text-decoration: underline; text-underline-offset: .25em; }
.speedking-theme .elite-footer-sitemap[style] { background: var(--cb-ink) !important; color: var(--cb-canvas) !important; margin-top: 0 !important; padding: 60px 40px !important; font-family: var(--cb-body); }
.speedking-theme .elite-footer-sitemap h4[style] { color: var(--cb-lime) !important; font-family: var(--cb-body); font-size: 12px !important; font-weight: 700; letter-spacing: .05em !important; }
.speedking-theme .elite-footer-sitemap a[style] { color: rgba(244, 243, 231, .78) !important; text-decoration: none; }
.speedking-theme .elite-footer-sitemap a[style]:hover { color: var(--cb-lime) !important; text-decoration: underline; text-underline-offset: .25em; }
.speedking-theme .elite-footer-sitemap ul[style] { margin: 0; }

@media (max-width: 760px) {
	.speedking-theme .elite-breadcrumb[style] { padding: 10px 16px !important; }
	.speedking-theme .elite-footer-sitemap[style] { padding: 40px 16px !important; }
}

/* The front page's mobile action bar already carries WhatsApp; the floating disc
   would sit on top of its second button. */
@media (max-width: 760px) {
	.speedking-theme.cb-home .spk-wa { display: none; }
}

/* ---- Illustrated sections ----------------------------------------------
   Two equal columns, photograph on one side and the whole text stack on the
   other. The side swaps per illustrated section (cb-split--flip), so the page
   reads as a column that changes hands rather than a list. */
/* Start-aligned, not centred: a stored section can run to 450 words, and a
   centred figure then floats halfway down a column it is supposed to open.
   Sticky keeps it beside the reader for the length of the passage. */
.speedking-theme .cb-split--media { grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 40px 64px; align-items: start; }
.speedking-theme .cb-split__media { position: sticky; top: calc(var(--spk-header-h, 88px) + 24px); }
.speedking-theme .cb-split--media .cb-split__text { display: flex; flex-direction: column; gap: 24px; max-width: 54ch; }
.speedking-theme .cb-split--media .cb-split__head { position: static; }
.speedking-theme .cb-split--media .cb-split__body { max-width: none; }
.speedking-theme .cb-split--media .cb-split__body p:last-child { margin-bottom: 0; }
/* Photographs run full-bleed inside their container at 20px — no frame, no
   border, nothing drawn around them. */
.speedking-theme .cb-split__media { margin: 0; border-radius: 20px; overflow: hidden; background: var(--cb-sage); }
.speedking-theme .cb-split__media img { display: block; width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
/* The figure is first in the markup so it leads on a phone; on a wide screen
   the odd sections send it to the second column instead. */
.speedking-theme .cb-split--flip .cb-split__media { order: 2; }
.speedking-theme .cb-split--media .cb-h2 { margin-bottom: 0; }

/* ---- Illustrated cards -------------------------------------------------- */
.speedking-theme .cb-journal--media .cb-card { padding-top: 0; border-top: 0; gap: 16px; }
.speedking-theme .cb-card__media { display: block; border-radius: 20px; overflow: hidden; background: var(--cb-sage); align-self: stretch; }
.speedking-theme .cb-card__media img { display: block; width: 100%; height: 100%; aspect-ratio: 1 / 1; object-fit: cover; transition: transform .5s ease; }
.speedking-theme .cb-card:hover .cb-card__media img { transform: scale(1.03); }

@media (max-width: 1000px) {
	.speedking-theme .cb-split--media { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.speedking-theme .cb-split__media { position: static; }
	.speedking-theme .cb-split--flip .cb-split__media { order: 0; }
	.speedking-theme .cb-split__media img { aspect-ratio: 16 / 10; }
	.speedking-theme .cb-split--media .cb-split__text { max-width: none; }
}
@media (prefers-reduced-motion: reduce) {
	.speedking-theme .cb-card:hover .cb-card__media img { transform: none; }
}
