/* ==========================================================================
   v0.3.52 Category archives (/category/{slug}/). Loads after landing.css +
   archives.css (Resource Library cards, pagination, Big CTA) and reuses
   the style-kit Pricing Guide strip. Mobile-first; no fixed widths.
   ========================================================================== */
.hu-cat-archive { overflow-x: clip; }

/* ---- Hero: dark navy + dotted market-map motif + chip row ---- */
.wp-block-group.hu-page-hero--cat { position: relative; overflow: hidden; isolation: isolate; }
.wp-block-group.hu-page-hero--cat::before {
	content: "";
	position: absolute;
	z-index: -1;
	inset: 0 0 0 auto;
	width: 62%;
	background-image: radial-gradient(var(--hero-dots) 1.4px, transparent 1.6px);
	background-size: 16px 16px;
	-webkit-mask-image: radial-gradient(ellipse 70% 75% at 72% 42%, #000 28%, transparent 74%);
	mask-image: radial-gradient(ellipse 70% 75% at 72% 42%, #000 28%, transparent 74%);
	pointer-events: none;
}
.wp-block-group.hu-page-hero--cat::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: 9%;
	top: 46%;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	background: var(--hero-accent);
	box-shadow: 0 0 0 8px rgba(var(--hu-yellow-rgb), .16), -190px 120px 0 -2px rgba(var(--hu-yellow-rgb), .75), -330px 30px 0 -3px rgba(var(--hu-white-rgb), .5);
	pointer-events: none;
}
.hu-page-hero--cat .hu-eyebrow a { color: inherit; text-decoration: none; }
.hu-page-hero--cat .hu-eyebrow a:hover { text-decoration: underline; }
.hu-page-hero--cat .hu-eyebrow span { opacity: .55; margin: 0 4px; }
.hu-page-hero--cat .hu-hero-title { overflow-wrap: anywhere; }
.hu-page-hero--cat .hu-hero-dek { max-width: 680px; }

.hu-cat-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 30px !important; }
.hu-cat-chip {
	display: inline-flex; align-items: center; min-height: 38px; padding: 0 15px;
	border: 1px solid var(--hero-panel-border); border-radius: 999px;
	background: var(--hero-panel-bg); color: var(--hero-fg);
	font-size: 13px; font-weight: 750; line-height: 1; text-decoration: none; white-space: nowrap;
	transition: background-color .16s ease, border-color .16s ease;
}
.hu-cat-chip:is(:hover, :focus-visible) { background: var(--hero-outline-hover-bg); border-color: var(--hero-frame); color: var(--hero-fg); }
.hu-cat-chip:focus-visible { outline: 3px solid var(--hu-blue); outline-offset: 2px; }
.hu-cat-chip.is-active { background: var(--hero-pill-bg); border-color: var(--hero-pill-bg); color: var(--hero-pill-fg); }
.hu-cat-chip.is-active:is(:hover, :focus-visible) { background: var(--hu-yellow-hover); border-color: var(--hu-yellow-hover); color: var(--hu-navy); }

/* Founder Files author line */
.hu-cat-author { display: flex; align-items: center; gap: 12px; margin-top: 22px !important; color: var(--hero-soft); font-size: 14px; line-height: 1.35; }
.hu-cat-author strong { color: var(--hero-heading); font-weight: 800; }
.hu-cat-author-role { display: block; color: var(--hero-soft); font-size: 12px; opacity: .85; }
.hu-cat-author-photo { flex: none; width: 46px; height: 46px; border: 2px solid var(--hero-accent); border-radius: 50%; object-fit: cover; }
.hu-cat-author-photo.is-initials { display: inline-flex; align-items: center; justify-content: center; background: var(--hu-yellow); color: var(--hu-navy); font-size: 14px; font-weight: 900; }

/* ---- List section ---- */
.wp-block-group.hu-section.hu-cat-list { padding: 56px 0 72px; background: var(--hu-surface); }

/* Fallback art: shared .hu-noimg placeholder (style.css, v0.3.54) */

/* Featured card */
.hu-cat-feature {
	position: relative; display: grid; grid-template-columns: minmax(0, 1fr); overflow: hidden;
	margin: 0 0 44px; border: 1px solid var(--hu-line); border-radius: 12px; background: var(--hu-white);
	box-shadow: 0 22px 60px rgba(var(--hu-navy-rgb), .08);
	transition: border-color .16s ease, box-shadow .16s ease;
}
.hu-cat-feature:hover, .hu-cat-feature:focus-within { border-color: rgba(var(--hu-blue-rgb), .45); box-shadow: 0 26px 64px rgba(var(--hu-navy-rgb), .12); }
.hu-cat-feature-media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; background: var(--hu-navy); }
.hu-cat-feature-media img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .5s ease; }
.hu-cat-feature:hover .hu-cat-feature-media img { transform: scale(1.03); }
.hu-cat-feature-media .hu-guide-tag { left: 16px; bottom: 14px; padding: 7px 10px; font-size: 9px; }
.hu-cat-feature-copy { display: flex; flex-direction: column; justify-content: center; padding: 24px 22px 26px; }
.hu-cat-feature-copy > * { margin: 0; }
.hu-cat-feature-title { margin: 10px 0 12px !important; color: var(--hu-navy); font-size: clamp(26px, 3.2vw, 40px); font-weight: 800; line-height: 1.05; letter-spacing: -.04em; overflow-wrap: break-word; }
.hu-cat-feature-title a { color: inherit; text-decoration: none; }
.hu-cat-feature-title a::after { content: ""; position: absolute; inset: 0; }
.hu-cat-feature-title a:focus-visible { outline: none; }
.hu-cat-feature:focus-within { outline: 2px solid var(--hu-blue); outline-offset: 2px; }
.hu-cat-feature-excerpt { color: var(--hu-text-body); font-size: 15px; line-height: 1.6; }
.hu-cat-feature-more { margin-top: 18px !important; color: var(--hu-blue); font-size: 13px; font-weight: 850; }
.hu-cat-feature:hover .hu-cat-feature-more { color: var(--hu-blue-hover); }

/* Section head above the grid */
.hu-cat-head { margin: 0 0 20px; }
.hu-cat-head > * { margin: 0; }
.hu-cat-head-title { margin-top: 6px !important; color: var(--hu-navy); font-size: clamp(28px, 3.4vw, 40px); font-weight: 800; line-height: 1.05; letter-spacing: -.04em; }

/* Grid: Resource Library cards, 1 col mobile -> 2 -> 3 (Founder Files: max 2) */
.hu-cat-archive .hu-guide-grid.hu-cat-grid { grid-template-columns: minmax(0, 1fr); gap: 16px; }
.hu-cat-card { min-width: 0; }
.hu-cat-card .hu-guide-thumb { height: auto; aspect-ratio: 16 / 9; }
.hu-cat-card .hu-guide-thumb img { transition: transform .5s ease; }
.hu-cat-card:hover .hu-guide-thumb img { transform: scale(1.04); }
.hu-cat-card h3 { overflow-wrap: break-word; }
.hu-cat-card .hu-card-link { font-size: 12px; }

/* Founder Files: editorial cards */
.hu-cat-card--editorial .hu-guide-thumb { aspect-ratio: 3 / 2; }
.hu-cat-card--editorial .hu-guide-body { padding: 24px 24px 26px; }
.hu-cat-card--editorial h3 { font-size: clamp(22px, 2.3vw, 28px); line-height: 1.1; letter-spacing: -.035em; }
.hu-cat-card--editorial .hu-guide-body > p:not(.hu-guide-meta):not(.hu-card-link) { font-size: 14px; line-height: 1.6; }
.hu-cat-archive--founder .hu-cat-feature-title { font-size: clamp(30px, 3.8vw, 48px); }
.hu-cat-archive--founder .hu-cat-feature-excerpt { font-size: 16px; }

/* Pagination */
.hu-cat-archive .hu-cat-pagination { margin-top: 40px; }
.hu-cat-archive .hu-cat-pagination .prev, .hu-cat-archive .hu-cat-pagination .next { padding: 0 16px; }
.hu-cat-archive .hu-cat-pagination a:focus-visible { outline: 3px solid var(--hu-blue); outline-offset: 2px; }
.hu-cat-archive .hu-cat-pagination .dots { border-color: transparent; background: transparent; }

/* Bottom CTAs */
.wp-block-group.hu-section.hu-cat-guide { padding: 48px 0 0; background: var(--hu-white); }
.wp-block-group.hu-section.hu-cat-cta { border-top: 0; background: var(--hu-white); padding: 28px 0 80px; }

@media (min-width: 700px) {
	.hu-cat-archive .hu-guide-grid.hu-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (min-width: 921px) {
	.hu-cat-feature { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); }
	.hu-cat-feature-media { aspect-ratio: auto; min-height: 400px; }
	.hu-cat-feature-copy { padding: 40px 42px; }
	.hu-cat-archive--founder .hu-cat-feature { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
	.hu-cat-archive--founder .hu-cat-feature-media { min-height: 460px; }
	.wp-block-group.hu-section.hu-cat-list { padding: 64px 0 86px; }
}
@media (min-width: 1040px) {
	.hu-cat-archive .hu-guide-grid.hu-cat-grid:not(.hu-cat-grid--editorial) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.hu-cat-archive .hu-guide-grid.hu-cat-grid--editorial { gap: 24px; }
}
@media (max-width: 920px) {
	.wp-block-group.hu-page-hero--cat::before { width: 100%; opacity: .7; }
	.wp-block-group.hu-page-hero--cat::after { display: none; }
	.hu-cat-chips { margin-top: 24px !important; gap: 7px; }
	.hu-cat-chip { min-height: 36px; padding: 0 13px; font-size: 12.5px; }
}
@media (max-width: 480px) {
	.hu-cat-feature { margin-bottom: 34px; }
	.hu-cat-feature-copy { padding: 20px 18px 22px; }
	.hu-cat-card .hu-guide-body { padding: 18px 18px 20px; }
	.hu-cat-archive .hu-cat-pagination a:not(.prev):not(.next), .hu-cat-archive .hu-cat-pagination span { min-width: 38px; min-height: 38px; }
	.wp-block-group.hu-section.hu-cat-cta { padding-bottom: 56px; }
}
@media (prefers-reduced-motion: reduce) {
	.hu-cat-feature-media img, .hu-cat-card .hu-guide-thumb img { transition: none; }
	.hu-cat-feature:hover .hu-cat-feature-media img, .hu-cat-card:hover .hu-guide-thumb img { transform: none; }
}

/* Card text overrides: archives.css ".hu-guide-card p:not(.hu-guide-meta)" would otherwise grey/resize the pill + link */
.hu-cat-archive .hu-cat-card .hu-guide-tag { padding: 6px 9px; color: var(--hu-navy); font-size: 9px; line-height: 1; }
.hu-cat-archive .hu-cat-card .hu-card-link { color: var(--hu-blue); font-size: 12px; }
.hu-cat-archive .hu-cat-card:hover .hu-card-link { color: var(--hu-blue-hover); }
.hu-cat-archive .hu-cat-head { padding-top: 6px; }
.hu-cat-archive .hu-cat-feature { margin-bottom: 52px !important; }
@media (max-width: 480px) { .hu-cat-archive .hu-cat-feature { margin-bottom: 38px !important; } }
@media (max-width: 480px) { .hu-cat-guide .hu-guide-strip .wp-block-button, .hu-cat-guide .hu-guide-strip .wp-block-button__link { width: 100%; text-align: center; } }
/* v0.3.73: no dotted grid / decorative dots on category heroes. */
.wp-block-group.hu-page-hero--cat::before, .wp-block-group.hu-page-hero--cat::after { display: none !important; }

/* v0.3.74: ".hu-section .hu-wrap > * { margin-block: 0 }" (cs-related.css / landing.css) out-ranked
   .hu-cat-head's margin, so the first card sat flush against the H2. Higher-specificity spacing here. */
.hu-cat-archive .hu-cat-list .hu-wrap > .hu-cat-head { margin: 0 0 24px; }
.hu-cat-archive .hu-cat-list .hu-wrap > .hu-cat-feature + .hu-cat-head { margin-top: 40px; }
.hu-cat-archive .hu-cat-list .hu-wrap > .hu-cat-grid + .hu-cat-pagination { margin-top: 32px; }
@media (min-width: 782px) {
	.hu-cat-archive .hu-cat-list .hu-wrap > .hu-cat-head { margin-bottom: 32px; }
	.hu-cat-archive .hu-cat-list .hu-wrap > .hu-cat-feature + .hu-cat-head { margin-top: 56px; }
}
