/*
 * FFJ Core long-form content (Batch 08; Guides & Resources 2026-10-03): First Job Guides
 * (archive, topics, guides), the Guides & Resources hub, State Job Resources and
 * block-editor content pages. Same "Clock In" tokens as ffj.css (literal fallbacks).
 * .ffj-prose styles native block content (articles and pages); .ffj-ui scopes FFJ widgets.
 * Reading measure 42rem; links in running text are underlined; no decorative motion.
 */

.ffj-prose {
	--ffj-ink: var(--text-primary, #0F2A2E);
	--ffj-ink-2: var(--text-secondary, #4A5F63);
	--ffj-muted: var(--text-muted, #586D71);
	--ffj-teal: var(--brand-primary, #0B6E69);
	--ffj-teal-hover: var(--brand-primary-hover, #085854);
	--ffj-teal-deep: var(--brand-primary-deep, #0A3F3D);
	--ffj-teal-tint: var(--brand-primary-tint, #E2F2F0);
	--ffj-sun: var(--brand-accent, #FFC533);
	--ffj-sun-hover: var(--brand-accent-hover, #F2B01E);
	--ffj-sun-tint: var(--brand-accent-tint, #FFF6DA);
	--ffj-surface-alt: var(--surface-alt, #F3F7F6);
	--ffj-sunken: var(--surface-sunken, #E7EFEE);
	--ffj-border: var(--border, #D3DFDD);
	--ffj-border-strong: var(--border-strong, #6B8185);
	max-width: var(--width-reading, 42rem);
	color: var(--ffj-ink);
	font-size: 1.125rem;
	line-height: 1.7;
	overflow-wrap: break-word;
}
.ffj-prose > :first-child, .ffj-prose .elementor-widget-container > :first-child { margin-top: 0; }
/* Elementor caps container widgets at 100% with a high-specificity rule; content pages keep the reading measure. */
.elementor.elementor .e-con > .elementor-widget.ffj-page-prose,
.e-con.e-con > .e-con-inner > .elementor-widget.ffj-page-prose { max-width: var(--width-reading, 42rem); }
.ffj-prose p, .ffj-prose ul, .ffj-prose ol, .ffj-prose blockquote, .ffj-prose figure, .ffj-prose details, .ffj-prose .wp-block-group, .ffj-prose .wp-block-buttons, .ffj-prose .wp-block-table { margin: 0 0 1.25rem; }
.ffj-prose h2 { margin: 2.5rem 0 0.75rem; font-size: clamp(1.5rem, 1.3rem + 0.8vw, 1.875rem); font-weight: 800; line-height: 1.2; letter-spacing: -0.01em; color: var(--ffj-ink); scroll-margin-top: 1rem; }
.ffj-prose h3 { margin: 1.75rem 0 0.5rem; font-size: 1.25rem; font-weight: 700; line-height: 1.3; color: var(--ffj-ink); scroll-margin-top: 1rem; }
.ffj-prose h4 { margin: 1.5rem 0 0.5rem; font-size: 1.125rem; font-weight: 700; line-height: 1.35; color: var(--ffj-ink); }
.ffj-prose a:not(.wp-block-button__link):not(.ffj-btn) { color: var(--ffj-teal); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.ffj-prose a:not(.wp-block-button__link):not(.ffj-btn):hover { color: var(--ffj-teal-hover); text-decoration-thickness: 2px; }
.ffj-prose ul, .ffj-prose ol { padding-left: 1.5rem; }
.ffj-prose li { margin: 0.375rem 0; }
.ffj-prose li > ul, .ffj-prose li > ol { margin: 0.375rem 0 0; }
.ffj-prose strong { font-weight: 700; }
.ffj-prose blockquote { padding: 0.25rem 0 0.25rem 1.25rem; border-left: 4px solid var(--ffj-teal-tint); color: var(--ffj-ink-2); }
.ffj-prose hr, .ffj-prose .wp-block-separator { margin: 2rem 0; border: 0; border-top: 1px solid var(--ffj-border); }
.ffj-prose img { max-width: 100%; height: auto; border-radius: var(--radius-card, 16px); }
.ffj-prose figcaption { margin-top: 0.5rem; font-size: 0.875rem; line-height: 1.5; color: var(--ffj-ink-2); }
.ffj-prose .wp-block-table { overflow-x: auto; }
.ffj-prose table { width: 100%; border-collapse: collapse; font-size: 1rem; line-height: 1.5; }
.ffj-prose th, .ffj-prose td { padding: 0.625rem 0.75rem; border: 1px solid var(--ffj-border); text-align: left; vertical-align: top; -webkit-hyphens: auto; hyphens: auto; }
/* Narrow phones: core's fixed table layout gives each column under 100px, so words hyphenate (above) instead of splitting at an arbitrary letter, and cells get a little more room. */
@media (max-width: 26em) { .ffj-prose th, .ffj-prose td { padding: 0.5rem; } }
.ffj-prose th { background: var(--ffj-surface-alt); font-weight: 700; }

/* Block styles registered by FFJ Core (Resources::register). */
.ffj-prose .is-style-ffj-lead { font-size: clamp(1.1875rem, 1.12rem + 0.3vw, 1.3125rem); line-height: 1.6; }
.ffj-prose .is-style-ffj-tip, .ffj-prose .is-style-ffj-note { padding: 1rem 1.25rem; border-radius: var(--radius-card, 16px); }
.ffj-prose .is-style-ffj-tip { background: var(--ffj-sun-tint); }
.ffj-prose .is-style-ffj-note { background: var(--info-bg, #E8F0FA); border-left: 4px solid var(--info, #1D4E89); }
.ffj-prose .is-style-ffj-tip > :last-child, .ffj-prose .is-style-ffj-note > :last-child { margin-bottom: 0; }
.ffj-prose .is-style-ffj-tip h2, .ffj-prose .is-style-ffj-tip h3, .ffj-prose .is-style-ffj-note h2, .ffj-prose .is-style-ffj-note h3 { margin-top: 0; }
.ffj-prose ul.is-style-ffj-checklist { padding-left: 0; list-style: none; }
.ffj-prose ul.is-style-ffj-checklist > li { position: relative; padding-left: 2rem; }
.ffj-prose ul.is-style-ffj-checklist > li::before {
	content: ""; position: absolute; left: 0; top: 0.3em; width: 1.25rem; height: 1.25rem;
	background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230B6E69' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='m8 12.4 2.8 2.8L16.2 9.8'/%3E%3C/svg%3E");
}
.ffj-prose details { border: 1px solid var(--ffj-border); border-radius: var(--radius-control, 10px); padding: 0 1rem; }
.ffj-prose details > summary { display: flex; align-items: center; min-height: 2.75rem; padding: 0.5rem 0; font-weight: 700; cursor: pointer; }
.ffj-prose details[open] > summary { border-bottom: 1px solid var(--ffj-border); margin-bottom: 0.75rem; }
.ffj-prose details > :last-child { margin-bottom: 0.75rem; }

/* Buttons block: the FFJ primary (sunburst) and secondary (outline) buttons. */
.ffj-prose .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.ffj-prose .wp-block-button__link {
	display: inline-flex; align-items: center; justify-content: center; min-height: var(--control-height, 3rem);
	padding: 0.625rem 1.25rem; border: 2px solid var(--ffj-ink); border-radius: var(--radius-control, 10px);
	background: var(--ffj-sun); color: var(--ffj-ink); font-size: 1rem; font-weight: 700; line-height: 1.25; text-decoration: none;
}
.ffj-prose .wp-block-button__link:hover { background: var(--ffj-sun-hover); color: var(--ffj-ink); }
.ffj-prose .is-style-outline .wp-block-button__link { background: #FFFFFF; color: var(--ffj-teal); border-color: var(--ffj-teal); }
.ffj-prose .is-style-outline .wp-block-button__link:hover { background: var(--ffj-teal-tint); color: var(--ffj-teal-hover); border-color: var(--ffj-teal-hover); }

/* Legal drafts */
.ffj-draft-banner { margin: 0 0 1.75rem; padding: 0.875rem 1rem; border: 1px solid var(--warning, #8A4600); border-left-width: 4px; border-radius: var(--radius-control, 10px); background: var(--warning-bg, #FFF1DB); color: var(--text-primary, #0F2A2E); font-size: 1rem; line-height: 1.5; }
.ffj-draft-banner p { margin: 0; }

/* Content-page title */
.ffj-ui.ffj-page-header .ffj-page-header__title { margin: 0; font-size: var(--type-h1, clamp(2.125rem, 1.7rem + 1.9vw, 3.25rem)); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; overflow-wrap: anywhere; }

/* Page not found (404 template; also closed jobs past retention, 410). */
.ffj-ui.ffj-not-found { max-width: var(--width-reading, 42rem); padding: 1rem 0 2rem; }
.ffj-ui .ffj-not-found__title { margin: 0 0 1rem; font-size: var(--type-h1, clamp(2.125rem, 1.7rem + 1.9vw, 3.25rem)); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.ffj-ui .ffj-not-found__lead { margin: 0 0 1.5rem; font-size: clamp(1.0625rem, 1.03rem + 0.2vw, 1.1875rem); line-height: 1.6; color: var(--ffj-ink-2); }
.ffj-ui .ffj-not-found__actions { display: flex; flex-wrap: wrap; gap: 0.75rem; margin: 0 0 1.5rem; }
.ffj-ui .ffj-not-found__more { margin: 0; color: var(--ffj-ink-2); }
@media (max-width: 479px) { .ffj-ui .ffj-not-found__actions .ffj-btn { width: 100%; } }

/* Breadcrumbs (separators are drawn, not text, so screen readers don't announce them). */
.ffj-ui .ffj-breadcrumbs ol { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 0.75rem; margin: 0 0 0.75rem; padding: 0; list-style: none; font-size: 0.9375rem; }
.ffj-ui .ffj-breadcrumbs li { display: inline-flex; align-items: center; gap: 0.75rem; }
.ffj-ui .ffj-breadcrumbs li + li::before { content: ""; width: 0.4rem; height: 0.4rem; border-top: 2px solid var(--ffj-muted); border-right: 2px solid var(--ffj-muted); transform: rotate(45deg); }
.ffj-ui .ffj-breadcrumbs a { display: inline-flex; align-items: center; min-height: 1.75rem; font-weight: 600; text-decoration: underline; text-underline-offset: 0.18em; }
.ffj-ui .ffj-breadcrumbs a[aria-current="page"] { color: var(--ffj-ink); text-decoration: none; }

/* Resources hub and topic pages */
.ffj-ui.ffj-resources-header { display: grid; gap: 0.5rem; }
.ffj-ui .ffj-resources-header__title { margin: 0; font-size: var(--type-h1, clamp(2.125rem, 1.7rem + 1.9vw, 3.25rem)); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; }
.ffj-ui .ffj-resources-header__intro { max-width: var(--width-reading, 42rem); font-size: clamp(1.125rem, 1.07rem + 0.25vw, 1.25rem); line-height: 1.6; color: var(--ffj-ink-2); }
.ffj-ui .ffj-resources-header__intro p:last-child { margin-bottom: 0; }
.ffj-ui .ffj-topic-nav { display: grid; gap: 0.75rem; margin-top: 1rem; }
.ffj-ui .ffj-topic-nav__all { margin: 0; }
.ffj-ui .ffj-topic-nav__group { display: grid; gap: 0.375rem; }
.ffj-ui .ffj-topic-nav__label { margin: 0; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ffj-ink-2); }
.ffj-ui .ffj-topic-nav ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0; padding: 0; list-style: none; }
.ffj-ui a.ffj-topic-link {
	display: inline-flex; align-items: center; min-height: 2.75rem; padding: 0.375rem 1rem; border: 1px solid var(--ffj-border-strong);
	border-radius: var(--ffj-r-pill); background: var(--ffj-surface); color: var(--ffj-ink); font-size: 0.9375rem; font-weight: 600; line-height: 1.25; text-decoration: none;
}
.ffj-ui a.ffj-topic-link:hover { border-color: var(--ffj-teal); color: var(--ffj-teal-hover); background: var(--ffj-teal-tint); }
.ffj-ui a.ffj-topic-link.is-current { background: var(--ffj-teal-deep); border-color: var(--ffj-teal-deep); color: #FFFFFF; }
.ffj-ui .ffj-resources-header .ffj-notice { margin: 1rem 0 0; }

.ffj-ui.ffj-resources { display: grid; gap: 2rem; }
.ffj-ui .ffj-resources__heading { margin: 0 0 1rem; font-size: clamp(1.5rem, 1.3rem + 0.8vw, 1.875rem); font-weight: 800; line-height: 1.2; }
.ffj-ui .ffj-resource-grid { display: grid; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 40rem) { .ffj-ui .ffj-resource-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .ffj-ui .ffj-resource-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ffj-ui .ffj-resource-grid > li { display: flex; }
.ffj-ui .ffj-resource-card { display: flex; flex-direction: column; width: 100%; padding: 0; overflow: hidden; transition: box-shadow var(--ffj-fast) ease, border-color var(--ffj-fast) ease; }
.ffj-ui .ffj-resource-card:hover { border-color: var(--ffj-teal); box-shadow: 0 8px 24px rgba(11, 110, 105, 0.14); }
.ffj-ui .ffj-resource-card:has(.ffj-resource-card__link:focus-visible) { border-color: var(--ffj-ink); }
.ffj-ui .ffj-resource-card__media { aspect-ratio: 16 / 9; background: var(--ffj-sunken); }
.ffj-ui .ffj-resource-card__img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ffj-ui .ffj-resource-card__body { display: grid; gap: 0.5rem; align-content: start; padding: var(--space-card, 1.25rem); }
.ffj-ui .ffj-resource-card__topic { margin: 0; }
.ffj-ui .ffj-resource-card__title { margin: 0; font-size: var(--type-h4, 1.25rem); font-weight: 700; line-height: 1.3; overflow-wrap: anywhere; }
.ffj-ui .ffj-resource-card__link { color: var(--ffj-ink); text-decoration: none; }
.ffj-ui .ffj-resource-card__link:hover { color: var(--ffj-ink); text-decoration: underline; text-underline-offset: 0.18em; }
.ffj-ui .ffj-resource-card__link::after { content: ""; position: absolute; inset: 0; border-radius: var(--ffj-r-card); }
.ffj-ui .ffj-resource-card__excerpt { margin: 0; color: var(--ffj-ink-2); line-height: 1.55; }
.ffj-ui .ffj-resource-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.375rem; margin: 0.25rem 0 0; font-size: 0.875rem; color: var(--ffj-muted); }
.ffj-ui .ffj-status-draft { border: 1px dashed var(--ffj-border-strong); background: var(--ffj-surface); color: var(--ffj-ink); }
@media (min-width: 48rem) {
	.ffj-ui .ffj-resource-card--featured.ffj-resource-card--has-image { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
	.ffj-ui .ffj-resource-card--featured .ffj-resource-card__media { aspect-ratio: auto; min-height: 100%; }
	.ffj-ui .ffj-resource-card--featured .ffj-resource-card__body { align-content: center; padding: 2rem; }
}
.ffj-ui .ffj-resource-card--featured .ffj-resource-card__title { font-size: clamp(1.5rem, 1.3rem + 0.8vw, 2rem); font-weight: 800; line-height: 1.2; }

/* Article */
.ffj-ui.ffj-article-header, .ffj-ui.ffj-article, .ffj-ui.ffj-cta-panel, .ffj-ui.ffj-related { width: 100%; max-width: 64rem; margin-inline: auto; }
.ffj-ui.ffj-article-header { display: grid; gap: 0.75rem; }
.ffj-ui .ffj-article-header__title { margin: 0; font-size: clamp(2rem, 1.6rem + 1.6vw, 2.875rem); font-weight: 800; line-height: 1.12; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.ffj-ui .ffj-article-header__deck { margin: 0; font-size: clamp(1.125rem, 1.07rem + 0.25vw, 1.25rem); line-height: 1.55; color: var(--ffj-ink-2); }
.ffj-ui .ffj-article-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 0.25rem 1.25rem; margin: 0; font-size: 0.9375rem; color: var(--ffj-ink-2); }
.ffj-ui .ffj-article-hero { margin: 0.75rem 0 0; }
.ffj-ui .ffj-article-hero__img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--ffj-r-card); background: var(--ffj-sunken); }
.ffj-ui .ffj-article-hero figcaption { margin-top: 0.5rem; font-size: 0.875rem; color: var(--ffj-ink-2); }
.ffj-ui.ffj-article { display: grid; gap: 1.5rem; }
.ffj-ui.ffj-article .ffj-prose { max-width: none; }
.ffj-ui.ffj-article .ffj-prose > :first-child { margin-top: 0; }
.ffj-ui .ffj-toc { padding: 1rem 1.25rem; background: var(--ffj-surface-alt); border-radius: var(--ffj-r-card); }
.ffj-ui .ffj-toc__title { margin: 0 0 0.5rem; font-weight: 700; }
.ffj-ui .ffj-toc ol { margin: 0; padding-left: 1.25rem; }
.ffj-ui .ffj-toc li { margin: 0.25rem 0; }
.ffj-ui .ffj-toc a { font-weight: 600; text-decoration: underline; text-underline-offset: 0.18em; }
.ffj-ui .ffj-sources { padding-top: 1.5rem; border-top: 1px solid var(--ffj-border); }
.ffj-ui .ffj-sources h2 { margin: 0 0 0.75rem; font-size: 1.25rem; font-weight: 700; }
.ffj-ui .ffj-sources ol { margin: 0; padding-left: 1.25rem; font-size: 0.9375rem; line-height: 1.55; overflow-wrap: anywhere; }
.ffj-ui .ffj-sources li { margin: 0.5rem 0; }
.ffj-ui .ffj-sources a { text-decoration: underline; text-underline-offset: 0.18em; }
.ffj-ui .ffj-sources__date { color: var(--ffj-ink-2); }
.ffj-ui.ffj-cta-panel { padding: 1.5rem; background: var(--ffj-teal-tint); border-radius: var(--ffj-r-card); }
.ffj-ui .ffj-cta-panel__title { margin: 0 0 0.5rem; font-size: 1.5rem; font-weight: 800; line-height: 1.2; }
.ffj-ui .ffj-cta-panel__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1rem; margin: 1rem 0 0; }
.ffj-ui.ffj-related { display: grid; gap: 0.75rem; }
.ffj-ui .ffj-related__title { margin: 0; font-size: 1.5rem; font-weight: 800; line-height: 1.2; }
.ffj-ui.ffj-related ul { margin: 0; padding: 0; list-style: none; }
.ffj-ui .ffj-related__item { padding: 0.875rem 0; border-bottom: 1px solid var(--ffj-border); }
.ffj-ui .ffj-related__link { font-size: 1.125rem; font-weight: 700; text-decoration: underline; text-underline-offset: 0.18em; }
.ffj-ui .ffj-related__meta { margin: 0.25rem 0 0; font-size: 0.875rem; color: var(--ffj-muted); }

/* Reserved slot wrapper (Batch 09 fills it; empty slots are never output). */
.ffj-slot { margin: 2rem 0; }

@media print {
	.ffj-ui.ffj-cta-panel, .ffj-ui.ffj-related, .ffj-ui .ffj-toc, .ffj-ui .ffj-topic-nav, .ffj-slot { display: none !important; }
	/* Outside links keep their printed address in Guide text and Sources (QA follow-up 2026-10-10; ffj-header.css hides addresses elsewhere). */
	html .ffj-prose a[href^="http"]::after, html .ffj-ui .ffj-sources a[href^="http"]::after { content: " (" attr(href) ")" !important; font-size: 0.8em; }
}
@media (forced-colors: active) {
	.ffj-ui a.ffj-topic-link, .ffj-draft-banner, .ffj-prose .is-style-ffj-tip, .ffj-prose .is-style-ffj-note, .ffj-ui .ffj-toc, .ffj-ui.ffj-cta-panel { border: 1px solid CanvasText; }
}

/* ==================================================================
 * First Job Guides, 2026-10-03: image-independent editorial design.
 * Typographic hero in the template's surface-alt band, reading column of 42rem, "In this guide"
 * (inline disclosure on phones/tablets, sticky panel at 64rem+), labelled callouts, sources.
 * ================================================================== */
.ffj-ui.ffj-guide-hero { position: relative; gap: 0.875rem; padding-block: 0.25rem 0.5rem; }
.ffj-ui.ffj-guide-hero .ffj-breadcrumbs ol { margin-bottom: 0.25rem; }
.ffj-ui .ffj-guide-hero__topic { display: inline-flex; align-items: center; gap: 0.5rem; justify-self: start; margin: 0.25rem 0 0; padding: 0.25rem 0.75rem 0.25rem 0.625rem; border: 1px solid var(--ffj-border); border-radius: 999px; background: var(--ffj-surface, #FFFFFF); color: var(--ffj-teal-deep); }
.ffj-ui .ffj-guide-hero__topic::before { content: ""; flex: none; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--brand-spark, #F2694B); }
.ffj-ui.ffj-guide-hero .ffj-article-header__title { max-width: 48rem; font-size: clamp(2.125rem, 1.55rem + 2.5vw, 3.25rem); line-height: 1.08; letter-spacing: -0.022em; }
.ffj-ui.ffj-guide-hero .ffj-article-header__deck { max-width: var(--width-reading, 42rem); }
.ffj-ui.ffj-guide-hero .ffj-article-meta { gap: 0.375rem 0; margin-top: 0.25rem; }
/* Inline-block (not flex) so the space in "By <link>" and "Published <time>" is kept. */
.ffj-ui.ffj-guide-hero .ffj-article-meta > span { display: inline-block; }
.ffj-ui.ffj-guide-hero .ffj-article-meta > span + span:not(.ffj-chip)::before { content: ""; display: inline-block; vertical-align: middle; width: 4px; height: 4px; margin: -2px 0.75rem 0; border-radius: 50%; background: var(--ffj-border-strong); }
.ffj-ui.ffj-guide-hero .ffj-article-meta > .ffj-chip { margin: 0 0.75rem; }
.ffj-ui .ffj-guide-hero__by { font-weight: 600; color: var(--ffj-ink); }
.ffj-ui .ffj-guide-hero__by a { color: var(--ffj-ink); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.ffj-ui .ffj-guide-hero__by a:hover { color: var(--ffj-teal-hover); }
/* Decorative mark (aria-hidden): concentric teal rings with the brand spark. Wide screens only. */
.ffj-ui .ffj-guide-hero__mark { display: none; }
@media (min-width: 64rem) {
	.ffj-ui.ffj-guide-hero { padding-right: 12rem; }
	.ffj-ui .ffj-guide-hero__mark {
		display: block; position: absolute; right: 0.5rem; top: 50%; width: 9.5rem; height: 9.5rem; transform: translateY(-50%); border-radius: 50%; pointer-events: none;
		background:
			radial-gradient(circle at 68% 30%, var(--brand-spark, #F2694B) 0 0.7rem, transparent 0.75rem),
			repeating-radial-gradient(circle at 50% 50%, rgba(11, 110, 105, 0.22) 0 2px, transparent 2px 15px);
	}
	.ffj-ui.ffj-guide-hero--image { padding-right: 0; }
	.ffj-ui.ffj-guide-hero--image .ffj-guide-hero__mark { display: none; }
}
.ffj-ui.ffj-guide-hero .ffj-article-hero__img { max-height: 32rem; }

/* Reading layout */
.ffj-ui.ffj-guide { gap: 2rem; }
.ffj-ui.ffj-guide .ffj-guide__main { display: grid; gap: 2rem; min-width: 0; align-content: start; }
.ffj-ui.ffj-guide .ffj-prose { max-width: var(--width-reading, 42rem); }
@media (min-width: 64rem) {
	.ffj-ui.ffj-guide--toc { grid-template-columns: minmax(0, 1fr) 15.5rem; column-gap: 4rem; align-items: start; }
	.ffj-ui.ffj-guide .ffj-guide__aside { position: sticky; top: calc(var(--wp-admin--admin-bar--height, 0px) + var(--ffj-header-offset, 0px) + 1.5rem); align-self: start; }
}

/* In this guide */
.ffj-ui .ffj-toc.ffj-toc--inline, .ffj-ui .ffj-toc.ffj-toc--side { padding: 0; background: none; border-radius: 0; }
.ffj-ui .ffj-toc--inline details { border: 1px solid var(--ffj-border); border-radius: var(--ffj-r-card, 16px); background: var(--ffj-surface-alt); max-width: var(--width-reading, 42rem); }
.ffj-ui .ffj-toc--inline summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; min-height: 3rem; padding: 0.625rem 1rem 0.625rem 1.25rem; font-weight: 700; cursor: pointer; list-style: none; border-radius: var(--ffj-r-card, 16px); }
.ffj-ui .ffj-toc--inline summary::-webkit-details-marker { display: none; }
.ffj-ui .ffj-toc--inline summary::after { content: ""; flex: none; width: 0.5rem; height: 0.5rem; margin-right: 0.25rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform var(--duration-fast, 150ms) ease; }
.ffj-ui .ffj-toc--inline details[open] summary::after { transform: rotate(-135deg) translateY(-2px); }
.ffj-ui .ffj-toc--inline ol { margin: 0; padding: 0 1.25rem 1rem 2.5rem; }
.ffj-ui .ffj-toc--side { display: none; }
.ffj-ui .ffj-toc--side .ffj-toc__title { margin: 0 0 0.75rem; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--ffj-ink-2); }
.ffj-ui .ffj-toc--side ol { margin: 0; padding: 0 0 0 1rem; border-left: 3px solid var(--ffj-teal-tint); list-style: none; counter-reset: ffj-toc; }
.ffj-ui .ffj-toc--side li { margin: 0; counter-increment: ffj-toc; }
.ffj-ui .ffj-toc--side a { display: block; padding: 0.375rem 0; font-size: 0.9375rem; font-weight: 600; line-height: 1.35; color: var(--ffj-ink); text-decoration: none; }
.ffj-ui .ffj-toc--side a:hover { color: var(--ffj-teal-hover); text-decoration: underline; text-underline-offset: 0.18em; }
@media (min-width: 64rem) {
	.ffj-ui .ffj-toc--inline { display: none; }
	.ffj-ui .ffj-toc--side { display: block; max-height: calc(100vh - 3rem); overflow-y: auto; padding-bottom: 0.5rem; }
}

/* Callouts (block styles on core/group; label and icon added by the template). */
/* display/font-weight/gap reset the unrelated .ffj-ui .ffj-callout notice in ffj.css (flex, semibold). */
.ffj-prose .ffj-callout { display: block; position: relative; gap: normal; align-items: normal; padding: 1rem 1.25rem 1rem 3.25rem; border: 1px solid transparent; border-radius: var(--radius-card, 16px); font-weight: inherit; }
.ffj-prose .ffj-callout > .ffj-callout__icon { position: absolute; left: 1.125rem; top: 1.1rem; width: 1.25rem; height: 1.25rem; margin: 0; }
.ffj-prose .ffj-callout__label { margin: 0 0 0.375rem; font-size: 0.8125rem; font-weight: 700; line-height: 1.35; letter-spacing: 0.08em; text-transform: uppercase; }
.ffj-prose .ffj-callout > :last-child { margin-bottom: 0; }
.ffj-prose .ffj-callout h2, .ffj-prose .ffj-callout h3 { margin-top: 0; }
.ffj-prose .ffj-callout--quick-take { background: var(--ffj-teal-tint); border-left: 4px solid var(--ffj-teal); }
.ffj-prose .ffj-callout--quick-take .ffj-callout__label, .ffj-prose .ffj-callout--quick-take .ffj-callout__icon { color: var(--ffj-teal-deep); }
.ffj-prose .ffj-callout--why { background: var(--ffj-surface-alt); border-left: 4px solid var(--ffj-teal); }
.ffj-prose .ffj-callout--why .ffj-callout__icon, .ffj-prose .ffj-callout--why .ffj-callout__label { color: var(--ffj-teal-deep); }
.ffj-prose .ffj-callout--example { background: #FFFFFF; border: 1px dashed var(--ffj-border-strong); }
.ffj-prose .ffj-callout--example .ffj-callout__icon, .ffj-prose .ffj-callout--example .ffj-callout__label { color: var(--ffj-ink-2); }
.ffj-prose .ffj-callout--tip { background: var(--ffj-sun-tint); }
.ffj-prose .ffj-callout--tip .ffj-callout__icon { color: var(--ffj-ink); }
.ffj-prose .ffj-callout--know { background: #FFFFFF; border: 2px solid var(--ffj-teal-tint); }
.ffj-prose .ffj-callout--know .ffj-callout__icon, .ffj-prose .ffj-callout--know .ffj-callout__label { color: var(--ffj-teal-deep); }
.ffj-prose .ffj-callout--safety { background: var(--warning-bg, #FFF1DB); border-left: 4px solid var(--warning, #8A4600); }
.ffj-prose .ffj-callout--safety .ffj-callout__icon, .ffj-prose .ffj-callout--safety .ffj-callout__label { color: var(--warning, #8A4600); }
.ffj-prose .ffj-callout--note { background: var(--info-bg, #E8F0FA); border-left: 4px solid var(--info, #1D4E89); }
.ffj-prose .ffj-callout--note .ffj-callout__icon, .ffj-prose .ffj-callout--note .ffj-callout__label { color: var(--info, #1D4E89); }
@media (max-width: 26em) { .ffj-prose .ffj-callout { padding: 0.875rem 1rem 0.875rem 2.875rem; } .ffj-prose .ffj-callout > .ffj-callout__icon { left: 0.875rem; top: 0.95rem; } }

/* Sources and trust */
.ffj-ui.ffj-guide .ffj-sources { max-width: var(--width-reading, 42rem); padding: 1.5rem; border-top: 0; border-radius: var(--ffj-r-card, 16px); background: var(--ffj-surface-alt); }
.ffj-ui .ffj-sources__intro { margin: -0.25rem 0 1rem; font-size: 0.9375rem; color: var(--ffj-ink-2); }
.ffj-ui .ffj-sources ol.ffj-sources__list { display: grid; gap: 0.875rem; margin: 0; padding-left: 1.5rem; }
.ffj-ui .ffj-sources__item { margin: 0; padding-left: 0.25rem; }
.ffj-ui .ffj-sources__item::marker { color: var(--ffj-muted); font-weight: 700; }
.ffj-ui .ffj-sources__publisher { display: block; font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.02em; color: var(--ffj-ink-2); }
.ffj-ui .ffj-sources__title { font-weight: 600; color: var(--ffj-teal); }
.ffj-ui .ffj-sources__note { display: block; margin-top: 0.125rem; color: var(--ffj-ink-2); }
.ffj-ui .ffj-sources__date { display: block; margin-top: 0.125rem; font-size: 0.875rem; color: var(--ffj-muted); }
.ffj-ui.ffj-guide .ffj-guide-note { max-width: var(--width-reading, 42rem); margin: 0; }
.ffj-ui .ffj-guide-trust { display: flex; align-items: baseline; gap: 0.625rem; max-width: var(--width-reading, 42rem); margin: 0; font-size: 0.9375rem; color: var(--ffj-ink-2); }
.ffj-ui .ffj-guide-trust__dot { flex: none; width: 0.5rem; height: 0.5rem; border-radius: 50%; background: var(--brand-spark, #F2694B); transform: translateY(-0.05em); }
.ffj-ui .ffj-guide-trust a { font-weight: 600; text-decoration: underline; text-underline-offset: 0.18em; }

/* Closing CTA and related guides */
.ffj-ui.ffj-cta-panel { position: relative; overflow: hidden; padding: 1.75rem; }
.ffj-ui.ffj-cta-panel > :not(.ffj-cta-panel__spark) { position: relative; max-width: var(--width-reading, 42rem); }
.ffj-ui .ffj-cta-panel__spark { position: absolute; right: -2.5rem; top: -2.5rem; width: 9rem; height: 9rem; border-radius: 50%; background: radial-gradient(circle at 34% 66%, var(--brand-spark, #F2694B) 0 0.55rem, transparent 0.6rem), repeating-radial-gradient(circle, rgba(11, 110, 105, 0.16) 0 2px, transparent 2px 14px); pointer-events: none; }
@media (max-width: 39.99rem) { .ffj-ui .ffj-cta-panel__spark { display: none; } .ffj-ui .ffj-cta-panel__actions .ffj-btn-primary { width: 100%; } }
.ffj-ui.ffj-related ul { display: grid; gap: 0 2rem; }
@media (min-width: 48rem) { .ffj-ui.ffj-related ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .ffj-ui.ffj-related ul { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ==================================================================
 * Guides & Resources hub (/resources/) and State Job Resources (/resources/states/).
 * ================================================================== */
.ffj-ui.ffj-dir-header { position: relative; display: grid; gap: 0.75rem; }
.ffj-ui .ffj-dir-header__title { margin: 0; font-size: var(--type-h1, clamp(2.125rem, 1.7rem + 1.9vw, 3.25rem)); font-weight: 800; line-height: 1.1; letter-spacing: -0.02em; overflow-wrap: anywhere; }
.ffj-ui .ffj-dir-header__lead { max-width: var(--width-reading, 42rem); margin: 0; font-size: clamp(1.125rem, 1.07rem + 0.25vw, 1.25rem); line-height: 1.6; color: var(--ffj-ink-2); }
.ffj-ui .ffj-dir-header__spark { display: none; }
@media (min-width: 64rem) {
	.ffj-ui.ffj-dir-header { padding-right: 11rem; }
	.ffj-ui .ffj-dir-header__spark { display: block; position: absolute; right: 0.5rem; top: 0; width: 8.5rem; height: 8.5rem; border-radius: 50%; pointer-events: none; background: radial-gradient(circle at 30% 70%, var(--brand-spark, #F2694B) 0 0.65rem, transparent 0.7rem), repeating-radial-gradient(circle, rgba(11, 110, 105, 0.2) 0 2px, transparent 2px 15px); }
}
.ffj-ui .ffj-dir-jump ul { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.5rem 0 0; padding: 0; list-style: none; }
.ffj-ui .ffj-state-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 0.75rem 1rem; margin-top: 0.75rem; padding: 1.25rem; border: 1px solid var(--ffj-border); border-radius: var(--ffj-r-card, 16px); background: var(--ffj-surface, #FFFFFF); max-width: 40rem; }
.ffj-ui .ffj-state-form .ffj-field { flex: 1 1 16rem; margin: 0; }
.ffj-ui .ffj-state-form select { width: 100%; }
@media (max-width: 29.99rem) { .ffj-ui .ffj-state-form .ffj-btn { width: 100%; } }

.ffj-ui.ffj-dir { display: grid; gap: 3rem; }
.ffj-ui .ffj-dir-feature { display: grid; gap: 1.25rem; }
@media (min-width: 48rem) { .ffj-ui .ffj-dir-feature { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ffj-ui .ffj-dir-card { display: flex; flex-direction: column; gap: 0.5rem; padding: 1.5rem; box-shadow: inset 0 4px 0 var(--ffj-teal); }
.ffj-ui .ffj-dir-card--states { box-shadow: inset 0 4px 0 var(--ffj-teal-deep); }
.ffj-ui .ffj-dir-card > p { margin: 0; color: var(--ffj-ink-2); line-height: 1.6; }
.ffj-ui .ffj-dir-card > .ffj-overline { color: var(--ffj-teal-deep); }
.ffj-ui .ffj-dir-card__title { margin: 0; font-size: clamp(1.5rem, 1.3rem + 0.8vw, 1.875rem); font-weight: 800; line-height: 1.2; }
.ffj-ui .ffj-dir-card__action { margin-top: auto !important; padding-top: 0.75rem; }
.ffj-ui .ffj-dir-guides { display: grid; gap: 0.375rem; margin: 0.25rem 0 0; padding: 0; list-style: none; }
.ffj-ui .ffj-dir-guides a { font-weight: 600; text-decoration: underline; text-underline-offset: 0.18em; }
.ffj-ui .ffj-dir-guides__topic { display: block; font-size: 0.875rem; color: var(--ffj-muted); }
.ffj-ui .ffj-dir-section { display: grid; gap: 1rem; scroll-margin-top: 1rem; }
.ffj-ui .ffj-dir-section__title { margin: 0; font-size: clamp(1.5rem, 1.3rem + 0.8vw, 1.875rem); font-weight: 800; line-height: 1.2; }
.ffj-ui .ffj-dir-section__intro { max-width: var(--width-reading, 42rem); margin: -0.25rem 0 0; color: var(--ffj-ink-2); line-height: 1.6; }
.ffj-ui .ffj-dir-links { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 40rem) { .ffj-ui .ffj-dir-section .ffj-dir-links { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 64rem) { .ffj-ui .ffj-dir-section .ffj-dir-links { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.ffj-ui .ffj-dir-link { display: grid; gap: 0.25rem; align-content: start; padding: 1.25rem; border: 1px solid var(--ffj-border); border-radius: var(--ffj-r-card, 16px); background: var(--ffj-surface, #FFFFFF); }
.ffj-ui .ffj-dir-link > * { margin: 0; }
.ffj-ui .ffj-dir-link__name { font-size: 1.125rem; font-weight: 700; line-height: 1.35; overflow-wrap: anywhere; }
.ffj-ui .ffj-dir-link__name a { color: var(--ffj-teal); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.18em; }
.ffj-ui .ffj-dir-link__name a:hover { color: var(--ffj-teal-hover); text-decoration-thickness: 2px; }
.ffj-ui .ffj-ext__icon { display: inline-block; width: 0.9em; height: 0.9em; margin-left: 0.3em; vertical-align: -0.1em; }
.ffj-ui .ffj-dir-link__by { font-size: 0.875rem; font-weight: 600; color: var(--ffj-ink-2); }
.ffj-ui .ffj-dir-link__why { color: var(--ffj-ink-2); line-height: 1.55; }
.ffj-ui .ffj-dir-link__checked { margin-top: 0.25rem !important; font-size: 0.875rem; color: var(--ffj-muted); }
.ffj-ui .ffj-dir-links--compact { gap: 0; }
.ffj-ui .ffj-dir-links--compact .ffj-dir-link { padding: 0.875rem 0; border: 0; border-top: 1px solid var(--ffj-border); border-radius: 0; background: none; }
.ffj-ui .ffj-dir-links--compact .ffj-dir-link__name { font-size: 1.0625rem; }
.ffj-ui .ffj-dir-jobs { display: grid; gap: 0.75rem; padding: 1.75rem; border-radius: var(--ffj-r-card, 16px); background: var(--ffj-teal-tint); scroll-margin-top: 1rem; }
.ffj-ui .ffj-dir-jobs > * { margin: 0; }
.ffj-ui .ffj-dir-jobs__label { font-weight: 600; }
.ffj-ui .ffj-dir-jobs__cats { display: flex; flex-wrap: wrap; gap: 0.5rem; padding: 0; list-style: none; }
.ffj-ui .ffj-dir-footnote { max-width: var(--width-reading, 42rem); margin: 0; font-size: 0.875rem; color: var(--ffj-muted); }
.ffj-ui .ffj-state-results { display: grid; gap: 1.25rem; scroll-margin-top: 1rem; }
.ffj-ui .ffj-state-results:focus { outline: none; }
.ffj-ui .ffj-state-results__title { margin: 0; font-size: clamp(1.75rem, 1.45rem + 1.25vw, 2.5rem); font-weight: 800; line-height: 1.15; letter-spacing: -0.015em; }
.ffj-ui .ffj-state-results__meta { margin: -0.5rem 0 0; color: var(--ffj-ink-2); }
.ffj-ui .ffj-state-results__meta a { font-weight: 600; text-decoration: underline; text-underline-offset: 0.18em; }
.ffj-ui .ffj-state-cards { display: grid; gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
@media (min-width: 48rem) { .ffj-ui .ffj-state-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.ffj-ui .ffj-state-card { padding: 1.5rem 1.5rem 0.75rem; border: 1px solid var(--ffj-border); border-radius: var(--ffj-r-card, 16px); background: var(--ffj-surface, #FFFFFF); }
.ffj-ui .ffj-state-card__title { margin: 0 0 0.375rem; font-size: 1.375rem; font-weight: 800; line-height: 1.2; }
.ffj-ui .ffj-state-card__intro { margin: 0 0 0.75rem; color: var(--ffj-ink-2); line-height: 1.55; }
.ffj-ui .ffj-state-card--jobs { padding-bottom: 1.5rem; background: var(--ffj-teal-tint); border-color: var(--ffj-teal-tint); }
.ffj-ui .ffj-state-card__action { margin: 0; }
.ffj-ui .ffj-dir-notice { max-width: 48rem; margin: 0; }

@media print {
	.ffj-ui .ffj-toc--side, .ffj-ui .ffj-toc--inline, .ffj-ui .ffj-state-form, .ffj-ui .ffj-dir-jump, .ffj-ui .ffj-guide-hero__mark, .ffj-ui .ffj-dir-header__spark, .ffj-ui .ffj-cta-panel__spark { display: none !important; }
}
@media (forced-colors: active) {
	.ffj-prose .ffj-callout, .ffj-ui .ffj-dir-link, .ffj-ui .ffj-dir-card, .ffj-ui .ffj-state-card, .ffj-ui .ffj-sources, .ffj-ui .ffj-toc--inline details, .ffj-ui .ffj-state-form, .ffj-ui .ffj-dir-jobs { border: 1px solid CanvasText; }
	.ffj-ui .ffj-guide-hero__mark, .ffj-ui .ffj-dir-header__spark, .ffj-ui .ffj-cta-panel__spark, .ffj-ui .ffj-guide-trust__dot, .ffj-ui .ffj-guide-hero__topic::before { forced-color-adjust: none; }
}
@media (prefers-reduced-motion: reduce) {
	.ffj-ui .ffj-toc--inline summary::after { transition: none; }
}
