/* =========================================================
   CareerAidHub Premium Article System — CAH-V7.1.1
   FINAL GLOBAL STYLESHEET
   September 2026

   Canonical future root: .cah-article
   Transitional root supported: .cah-v711

   Design:
   • Compact two-column hero on desktop
   • Deadline-first status dashboard
   • Status facts in a 2 × 2 grid
   • Two-column tables by default
   • Two-column cards desktop / one column mobile
   • Dynamic Related Resources
   • Legacy CAH classes retained during migration
   ========================================================= */


/* =========================================================
   1. DESIGN TOKENS / ROOT
   ========================================================= */

.cah-article,
.cah-v711 {
	--cah-primary: var(--ast-global-color-0, #1f67b3);
	--cah-primary-dark: #123d70;

	--cah-navy: #0b2748;
	--cah-navy-soft: #173e67;

	--cah-text: #1c2b3a;
	--cah-text-soft: #526274;
	--cah-muted: #6b7989;

	--cah-bg: #ffffff;
	--cah-surface: #ffffff;
	--cah-surface-soft: #f7fafe;
	--cah-blue-soft: #eef6fd;

	--cah-line: #dbe6f0;
	--cah-line-soft: #eaf0f5;

	--cah-green: #23724a;
	--cah-green-soft: #edf8f1;

	--cah-teal: #087a77;
	--cah-teal-soft: #edf9f8;

	--cah-amber: #9a6516;
	--cah-amber-soft: #fff8eb;

	--cah-red: #a23d3d;
	--cah-red-soft: #fff3f3;

	--cah-radius-xl: 22px;
	--cah-radius-lg: 17px;
	--cah-radius-md: 13px;
	--cah-radius-sm: 10px;

	--cah-shadow-lg: 0 18px 50px rgba(22, 62, 103, .09);
	--cah-shadow-md: 0 10px 28px rgba(22, 62, 103, .065);
	--cah-shadow-sm: 0 4px 14px rgba(22, 62, 103, .04);

	width: 100%;
	max-width: 100%;
	color: var(--cah-text);

	font-family:
		-apple-system,
		BlinkMacSystemFont,
		"Segoe UI",
		Roboto,
		Helvetica,
		Arial,
		sans-serif;

	font-size: 17px;
	line-height: 1.7;
}


/* =========================================================
   2. BASE
   ========================================================= */

:is(.cah-article, .cah-v711) *,
:is(.cah-article, .cah-v711) *::before,
:is(.cah-article, .cah-v711) *::after {
	box-sizing: border-box;
}

:is(.cah-article, .cah-v711) p {
	margin: 0 0 1rem;
}

:is(.cah-article, .cah-v711) ul,
:is(.cah-article, .cah-v711) ol {
	margin: .75rem 0 1.15rem 1.15rem;
	padding-left: .75rem;
}

:is(.cah-article, .cah-v711) li {
	margin: .36rem 0;
}

:is(.cah-article, .cah-v711) a {
	color: var(--cah-primary);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

:is(.cah-article, .cah-v711) a:hover {
	color: var(--cah-primary-dark);
}

:is(.cah-article, .cah-v711) a:focus-visible,
:is(.cah-article, .cah-v711) summary:focus-visible,
:is(.cah-article, .cah-v711) :is(.cah-btn, .btn):focus-visible {
	outline: 3px solid rgba(31, 103, 179, .24);
	outline-offset: 3px;
	border-radius: 6px;
}

:is(.cah-article, .cah-v711) h2,
:is(.cah-article, .cah-v711) h3 {
	color: var(--cah-navy);
	line-height: 1.28;
}

:is(.cah-article, .cah-v711) h2 {
	margin: 2.35rem 0 .95rem;
	font-size: clamp(1.46rem, 2vw, 1.92rem);
	letter-spacing: -.015em;
}

:is(.cah-article, .cah-v711) h3 {
	margin: 1.35rem 0 .55rem;
	font-size: 1.08rem;
}

:is(.cah-article, .cah-v711) section[id],
:is(.cah-article, .cah-v711) h2[id],
:is(.cah-article, .cah-v711) h3[id] {
	scroll-margin-top: 95px;
}

:is(.cah-article, .cah-v711) p,
:is(.cah-article, .cah-v711) li,
:is(.cah-article, .cah-v711) td,
:is(.cah-article, .cah-v711) th {
	word-break: normal;
	overflow-wrap: break-word;
}


/* =========================================================
   3. HERO
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-hero, .hero) {
	position: relative;
	overflow: hidden;

	margin: 0 0 1.35rem;
	padding: clamp(1.2rem, 2.6vw, 1.85rem);

	border: 1px solid #cbdfee;
	border-radius: var(--cah-radius-xl);

	background:
		radial-gradient(circle at 92% 8%, rgba(71, 139, 207, .16), transparent 28%),
		radial-gradient(circle at 3% 100%, rgba(8, 122, 119, .06), transparent 32%),
		linear-gradient(135deg, #ffffff 0%, #f1f8fe 56%, #f7fcfb 100%);

	box-shadow: var(--cah-shadow-lg);
}

:is(.cah-article, .cah-v711) :is(.cah-hero, .hero)::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 4px;

	background: linear-gradient(
		90deg,
		var(--cah-primary-dark),
		var(--cah-primary),
		var(--cah-teal)
	);
}

:is(.cah-article, .cah-v711) :is(.cah-hero-grid, .hero-grid) {
	position: relative;
	z-index: 1;

	display: grid;
	grid-template-columns: minmax(0, 1.55fr) minmax(290px, .72fr);
	gap: clamp(1.2rem, 2.6vw, 2rem);
	align-items: start;

	width: 100%;
	min-width: 0;
}

:is(.cah-article, .cah-v711) :is(.cah-hero-grid, .hero-grid) > *,
:is(.cah-article, .cah-v711) :is(.cah-hero-main, .hero-main) {
	min-width: 0;
	max-width: 100%;
}


/* =========================================================
   4. HERO LABEL / LEAD
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-eyebrow, .eyebrow) {
	display: inline-flex;
	align-items: center;

	width: fit-content;
	max-width: min(100%, 620px);

	margin: 0 0 .72rem !important;
	padding: .32rem .68rem;

	border: 1px solid #c5dcec;
	border-radius: 999px;

	background: rgba(255, 255, 255, .9);
	color: var(--cah-primary);

	font-size: .73rem;
	font-weight: 850;
	line-height: 1.35;
	letter-spacing: .06em;
	text-transform: uppercase;

	overflow-wrap: break-word;
}

:is(.cah-article, .cah-v711) :is(.cah-lead, .lead) {
	margin: 0 !important;

	color: #273b51;
	font-size: clamp(1.04rem, 1.35vw, 1.18rem);
	line-height: 1.66;
}

:is(.cah-article, .cah-v711) :is(.cah-lead, .lead) strong {
	color: var(--cah-navy);
}


/* =========================================================
   5. HERO CHIPS / RESEARCH FIT
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-chips, .chips) {
	display: flex;
	flex-wrap: wrap;
	gap: .48rem;
	margin-top: .95rem;
}

:is(.cah-article, .cah-v711) :is(.cah-chip, .chip) {
	display: inline-flex;
	align-items: center;

	max-width: 100%;
	padding: .38rem .62rem;

	border: 1px solid #d8e7f4;
	border-radius: 999px;

	background: rgba(255, 255, 255, .88);
	color: #39556e;

	font-size: .78rem;
	font-weight: 720;
	line-height: 1.3;

	overflow-wrap: break-word;
}

:is(.cah-article, .cah-v711) :is(.cah-research-fit, .research-fit) {
	margin-top: .9rem;
	color: var(--cah-muted);
	font-size: .82rem;
	line-height: 1.5;
}

:is(.cah-article, .cah-v711) :is(.cah-research-fit, .research-fit) strong {
	color: var(--cah-navy);
}


/* =========================================================
   6. BUTTONS
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-buttons, .buttons) {
	display: flex;
	flex-wrap: wrap;
	gap: .58rem;
	margin-top: 1rem;
}

:is(.cah-article, .cah-v711) :is(.cah-btn, .btn) {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-height: 42px;
	padding: .62rem .9rem;

	border: 1px solid transparent;
	border-radius: 10px;

	background: linear-gradient(
		135deg,
		var(--cah-primary-dark),
		var(--cah-primary)
	);

	color: #ffffff !important;

	font-size: .85rem;
	font-weight: 800;
	line-height: 1.35;
	text-align: center;
	text-decoration: none !important;

	box-shadow: 0 7px 18px rgba(31, 103, 179, .13);

	transition:
		transform .18s ease,
		box-shadow .18s ease,
		background .18s ease;
}

:is(.cah-article, .cah-v711) :is(.cah-btn, .btn):hover {
	transform: translateY(-1px);
	color: #ffffff !important;
	box-shadow: 0 9px 22px rgba(16, 52, 95, .17);
}

:is(.cah-article, .cah-v711) .cah-btn-secondary,
:is(.cah-article, .cah-v711) .btn.alt {
	border-color: #bed6e8;
	background: #ffffff;
	color: var(--cah-primary) !important;
	box-shadow: none;
}

:is(.cah-article, .cah-v711) .cah-btn-secondary:hover,
:is(.cah-article, .cah-v711) .btn.alt:hover {
	background: var(--cah-blue-soft);
	color: var(--cah-primary-dark) !important;
}


/* =========================================================
   7. STATUS DASHBOARD — NEW CAH-V7.1.1
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-status, .status) {
	position: relative;
	align-self: start;

	width: 100%;
	min-width: 0;
	margin: 0;
	padding: 1rem 1.05rem .95rem;

	overflow: hidden;

	border: 1px solid rgba(31, 103, 179, .15);
	border-radius: 16px;

	background: rgba(255, 255, 255, .98);
	box-shadow:
		0 10px 28px rgba(22, 62, 103, .065),
		0 2px 6px rgba(22, 62, 103, .025);

	isolation: isolate;
}

:is(.cah-article, .cah-v711) :is(.cah-status, .status)::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;

	height: 3px;

	background: linear-gradient(
		90deg,
		var(--cah-primary-dark),
		var(--cah-primary)
	);
}

:is(.cah-article, .cah-v711) :is(.cah-status-top, .status-top) {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .75rem;

	margin: 0;
	padding: .12rem 0 .68rem;

	border-bottom: 1px solid var(--cah-line-soft);
}

:is(.cah-article, .cah-v711) .cah-status-label {
	display: block;
	margin: 0;
	padding: 0;

	color: var(--cah-navy);

	font-size: .82rem;
	font-weight: 800;
	line-height: 1.35;
}


/* Status badges */

:is(.cah-article, .cah-v711) .cah-badge,
:is(.cah-article, .cah-v711) .open {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .35rem;

	width: auto;
	max-width: 100%;

	padding: .27rem .6rem;

	border: 0;
	border-radius: 999px;

	font-size: .73rem;
	font-weight: 850;
	line-height: 1.2;
	white-space: nowrap;
}

:is(.cah-article, .cah-v711) .cah-badge::before {
	content: "";
	display: block;

	width: 6px;
	height: 6px;
	flex: 0 0 6px;

	border-radius: 50%;
	background: currentColor;
}

:is(.cah-article, .cah-v711) .cah-badge-open,
:is(.cah-article, .cah-v711) .open {
	background: var(--cah-green-soft);
	color: var(--cah-green);
}

:is(.cah-article, .cah-v711) .cah-badge-rolling {
	background: var(--cah-teal-soft);
	color: var(--cah-teal);
}

:is(.cah-article, .cah-v711) .cah-badge-closed {
	background: var(--cah-red-soft);
	color: var(--cah-red);
}

:is(.cah-article, .cah-v711) .cah-badge-upcoming {
	background: var(--cah-amber-soft);
	color: var(--cah-amber);
}


/* Primary deadline */

:is(.cah-article, .cah-v711) :is(.cah-status-deadline, .status-deadline) {
	padding: .78rem 0 .72rem;
	border-bottom: 1px solid var(--cah-line-soft);
}

:is(.cah-article, .cah-v711) :is(.cah-status-deadline, .status-deadline) span,
:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) span {
	display: block;

	margin: 0 0 .12rem;

	color: var(--cah-muted);

	font-size: .7rem;
	font-weight: 600;
	line-height: 1.35;
}

:is(.cah-article, .cah-v711) :is(.cah-status-deadline, .status-deadline) strong {
	display: block;

	color: var(--cah-navy);

	font-size: 1.06rem;
	font-weight: 850;
	line-height: 1.35;
	letter-spacing: -.008em;
}


/* Compact 2 × 2 status facts */

:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));

	width: 100%;
}

:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) > div {
	min-width: 0;

	padding: .62rem .5rem .62rem 0;

	border-bottom: 1px solid var(--cah-line-soft);
}

:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) > div:nth-child(even) {
	padding-left: .65rem;
	padding-right: 0;

	border-left: 1px solid var(--cah-line-soft);
}

:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) strong {
	display: block;

	color: var(--cah-navy);

	font-size: .87rem;
	font-weight: 800;
	line-height: 1.4;

	overflow-wrap: break-word;
}

:is(.cah-article, .cah-v711) :is(.cah-status-verified, .status-verified) {
	padding-top: .62rem;

	color: var(--cah-muted);

	font-size: .71rem;
	line-height: 1.4;
}

:is(.cah-article, .cah-v711) :is(.cah-status-verified, .status-verified) strong {
	color: var(--cah-navy-soft);
	font-weight: 750;
}


/* =========================================================
   8. LEGACY VERTICAL STATUS SUPPORT
   Existing posts continue to render.
   New posts should use status-deadline + status-grid.
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-status-item, .status-item) {
	display: block;

	width: 100%;
	min-width: 0;

	margin: 0;
	padding: .62rem 0;

	border-bottom: 1px solid var(--cah-line-soft);
}

:is(.cah-article, .cah-v711) :is(.cah-status-item, .status-item):last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

:is(.cah-article, .cah-v711) :is(.cah-status-item, .status-item) span {
	display: block;

	margin: 0 0 .12rem;

	color: var(--cah-muted);

	font-size: .7rem;
	font-weight: 600;
	line-height: 1.35;
}

:is(.cah-article, .cah-v711) :is(.cah-status-item, .status-item) strong {
	display: block;

	color: var(--cah-navy);

	font-size: .88rem;
	font-weight: 800;
	line-height: 1.4;

	overflow-wrap: break-word;
}


/* WordPress / Astra protection */

:is(.cah-article, .cah-v711) :is(.cah-status, .status) > br,
:is(.cah-article, .cah-v711) :is(.cah-status-top, .status-top) > br,
:is(.cah-article, .cah-v711) :is(.cah-status-item, .status-item) > br,
:is(.cah-article, .cah-v711) :is(.cah-status, .status) > p:empty,
:is(.cah-article, .cah-v711) :is(.cah-status-top, .status-top) > p:empty,
:is(.cah-article, .cah-v711) :is(.cah-status-item, .status-item) > p:empty {
	display: none !important;
}

:is(.cah-article, .cah-v711) :is(.cah-status, .status) p {
	margin-top: 0;
	margin-bottom: 0;
}

:is(.cah-article, .cah-v711) :is(.cah-status, .status),
:is(.cah-article, .cah-v711) :is(.cah-status, .status) * {
	word-break: normal;
}


/* =========================================================
   9. ALERTS / NOTICES
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-note, .note),
:is(.cah-article, .cah-v711) :is(.cah-warning, .warning),
:is(.cah-article, .cah-v711) :is(.cah-danger, .danger),
:is(.cah-article, .cah-v711) :is(.cah-success, .success) {
	margin: 1.05rem 0;
	padding: .9rem 1rem;
	border-radius: 12px;
}

:is(.cah-article, .cah-v711) :is(.cah-note, .note) {
	border: 1px solid #d3e5f5;
	border-left: 4px solid #4b8fd0;
	background: var(--cah-blue-soft);
}

:is(.cah-article, .cah-v711) :is(.cah-warning, .warning) {
	border: 1px solid #eeddb8;
	border-left: 4px solid #d18a29;
	background: var(--cah-amber-soft);
}

:is(.cah-article, .cah-v711) :is(.cah-danger, .danger) {
	border: 1px solid #efd5d5;
	border-left: 4px solid #c95757;
	background: var(--cah-red-soft);
}

:is(.cah-article, .cah-v711) :is(.cah-success, .success) {
	border: 1px solid #d1e8d9;
	border-left: 4px solid var(--cah-green);
	background: var(--cah-green-soft);
}

:is(.cah-article, .cah-v711) :is(.cah-note, .note) p:last-child,
:is(.cah-article, .cah-v711) :is(.cah-warning, .warning) p:last-child,
:is(.cah-article, .cah-v711) :is(.cah-danger, .danger) p:last-child,
:is(.cah-article, .cah-v711) :is(.cah-success, .success) p:last-child {
	margin-bottom: 0;
}


/* =========================================================
   10. QUICK NAVIGATION
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-v4-nav, .cah-nav) {
	margin: 1.3rem 0 1.85rem;
	padding: 1.05rem 1.1rem;

	border: 1px solid #d5e3eb;
	border-radius: var(--cah-radius-lg);

	background: linear-gradient(180deg, #fbfdff 0%, #f6fafc 100%);
	box-shadow: var(--cah-shadow-sm);
}

:is(.cah-article, .cah-v711) :is(.cah-v4-nav-title, .cah-nav-title) {
	display: flex !important;
	align-items: center !important;
	gap: .52rem !important;

	margin: 0 0 .82rem !important;
	padding: 0 !important;

	color: var(--cah-navy) !important;

	font-size: .98rem !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
	letter-spacing: 0 !important;
}

:is(.cah-article, .cah-v711) :is(.cah-v4-nav-title, .cah-nav-title)::before {
	content: "☰";

	display: inline-grid;
	place-items: center;

	width: 28px;
	height: 28px;
	flex: 0 0 28px;

	border-radius: 8px;

	background: #deeff8;
	color: var(--cah-primary);

	font-size: .8rem;
	line-height: 1;
}

:is(.cah-article, .cah-v711) :is(.cah-v4-nav-grid, .cah-nav-grid) {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: .58rem !important;

	width: 100% !important;

	margin: 0 !important;
	padding: 0 !important;
}

:is(.cah-article, .cah-v711) :is(.cah-v4-nav-item, .cah-nav-item) {
	display: flex !important;
	align-items: center !important;
	gap: .6rem !important;

	width: 100% !important;
	min-width: 0 !important;
	min-height: 46px !important;

	margin: 0 !important;
	padding: .54rem .68rem !important;

	border: 1px solid #d7e4ed !important;
	border-radius: 10px !important;

	background: #ffffff !important;
	color: var(--cah-navy) !important;

	font-size: .81rem !important;
	font-weight: 720 !important;
	line-height: 1.3 !important;
	text-decoration: none !important;

	box-shadow: 0 2px 8px rgba(22, 62, 103, .025);

	transition:
		border-color .16s ease,
		background .16s ease,
		box-shadow .16s ease,
		transform .16s ease;
}

:is(.cah-article, .cah-v711) :is(.cah-v4-nav-item, .cah-nav-item):hover {
	transform: translateY(-1px);

	border-color: #a9cddd !important;

	background: #f3f9fd !important;
	color: var(--cah-navy) !important;

	box-shadow: 0 5px 14px rgba(22, 62, 103, .055);
}

:is(.cah-article, .cah-v711) :is(.cah-v4-nav-num, .cah-nav-num) {
	display: grid !important;
	place-items: center !important;

	width: 27px !important;
	height: 27px !important;
	flex: 0 0 27px !important;

	border-radius: 8px !important;

	background: #e8f2f8 !important;
	color: #0874e8 !important;

	font-size: .68rem !important;
	font-weight: 850 !important;
	line-height: 1 !important;
}


/* =========================================================
   11. LEGACY NUMBERED SECTION SUPPORT
   Do not use on new CAH-V7.1.1 H2 headings.
   ========================================================= */

:is(.cah-article, .cah-v711) .cah-section-title {
	display: flex;
	align-items: center;
	gap: .65rem;
}

:is(.cah-article, .cah-v711) .cah-section-number {
	display: inline-grid;
	place-items: center;

	width: 32px;
	height: 32px;
	flex: 0 0 32px;

	border-radius: 9px;

	background: linear-gradient(
		135deg,
		var(--cah-primary-dark),
		var(--cah-primary)
	);

	color: #ffffff;

	font-size: .78rem;
	font-weight: 850;

	box-shadow: 0 4px 12px rgba(31, 103, 179, .14);
}


/* =========================================================
   12. METRICS
   ========================================================= */

:is(.cah-article, .cah-v711) .cah-metrics {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .68rem;

	margin: .95rem 0 1.25rem;
}

:is(.cah-article, .cah-v711) .cah-metric {
	position: relative;

	min-width: 0;
	min-height: 96px;

	padding: .82rem;
	overflow: hidden;

	border: 1px solid var(--cah-line);
	border-radius: 12px;

	background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
	box-shadow: var(--cah-shadow-sm);
}

:is(.cah-article, .cah-v711) .cah-metric::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 100%;
	height: 3px;

	background: linear-gradient(
		90deg,
		var(--cah-primary),
		#66a9d8
	);
}

:is(.cah-article, .cah-v711) .cah-metric strong {
	display: block;

	color: var(--cah-primary);

	font-size: .98rem;
	line-height: 1.35;
}

:is(.cah-article, .cah-v711) .cah-metric span {
	display: block;

	margin-top: .22rem;

	color: var(--cah-muted);

	font-size: .78rem;
	line-height: 1.43;
}


/* =========================================================
   13. TABLES — TWO-COLUMN FIRST
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-table-wrap, .table-wrap) {
	width: 100%;
	max-width: 100%;

	margin: 1rem 0 1.35rem;
	overflow-x: auto;

	border: 1px solid var(--cah-line);
	border-radius: 14px;

	background: #ffffff;
	box-shadow: var(--cah-shadow-sm);

	-webkit-overflow-scrolling: touch;
}

:is(.cah-article, .cah-v711) .cah-table,
:is(.cah-article, .cah-v711) :is(.cah-table-wrap, .table-wrap) > table {
	width: 100%;
	min-width: 0;

	margin: 0;

	border-collapse: collapse;
	table-layout: auto;
}

:is(.cah-article, .cah-v711) .cah-table th,
:is(.cah-article, .cah-v711) .cah-table td,
:is(.cah-article, .cah-v711) :is(.cah-table-wrap, .table-wrap) > table th,
:is(.cah-article, .cah-v711) :is(.cah-table-wrap, .table-wrap) > table td {
	padding: .7rem .78rem;

	border-bottom: 1px solid var(--cah-line-soft);

	vertical-align: top;
	text-align: left;
	line-height: 1.5;
}

:is(.cah-article, .cah-v711) .cah-table th,
:is(.cah-article, .cah-v711) :is(.cah-table-wrap, .table-wrap) > table th {
	background: #f2f7fc;
	color: var(--cah-navy);

	font-size: .83rem;
	font-weight: 820;
}

:is(.cah-article, .cah-v711) .cah-table td,
:is(.cah-article, .cah-v711) :is(.cah-table-wrap, .table-wrap) > table td {
	color: #314356;
	font-size: .89rem;
}

:is(.cah-article, .cah-v711) .cah-table tbody tr:nth-child(even) td,
:is(.cah-article, .cah-v711) :is(.cah-table-wrap, .table-wrap) > table tbody tr:nth-child(even) td {
	background: #fbfdff;
}

:is(.cah-article, .cah-v711) .cah-table tr:last-child th,
:is(.cah-article, .cah-v711) .cah-table tr:last-child td,
:is(.cah-article, .cah-v711) :is(.cah-table-wrap, .table-wrap) > table tr:last-child th,
:is(.cah-article, .cah-v711) :is(.cah-table-wrap, .table-wrap) > table tr:last-child td {
	border-bottom: 0;
}

/* Add only when a genuinely wide table is unavoidable. */
:is(.cah-article, .cah-v711) .cah-table-wide {
	min-width: 700px;
}


/* =========================================================
   14. CONTENT CARDS / RELATED-CARD BASE
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-grid, .grid) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .75rem;

	margin: .9rem 0 1.2rem;
}

:is(.cah-article, .cah-v711) :is(.cah-card, .card) {
	position: relative;

	min-width: 0;
	padding: .95rem 1rem;

	border: 1px solid var(--cah-line);
	border-radius: 13px;

	background: #ffffff;
	box-shadow: var(--cah-shadow-sm);

	transition:
		transform .17s ease,
		box-shadow .17s ease,
		border-color .17s ease;
}

:is(.cah-article, .cah-v711) :is(.cah-card, .card):hover {
	transform: translateY(-1px);

	border-color: #c4d8e8;

	box-shadow: 0 8px 22px rgba(22, 62, 103, .065);
}

:is(.cah-article, .cah-v711) :is(.cah-card, .card) h3 {
	margin-top: 0;
	font-size: 1.03rem;
}

:is(.cah-article, .cah-v711) :is(.cah-card, .card) p:last-child,
:is(.cah-article, .cah-v711) :is(.cah-card, .card) ul:last-child,
:is(.cah-article, .cah-v711) :is(.cah-card, .card) ol:last-child {
	margin-bottom: 0;
}

:is(.cah-article, .cah-v711) :is(.cah-tag, .tag) {
	display: inline-block;

	margin-bottom: .4rem;
	padding: .17rem .44rem;

	border-radius: 999px;

	background: var(--cah-blue-soft);
	color: var(--cah-primary);

	font-size: .68rem;
	font-weight: 820;
	letter-spacing: .03em;
	text-transform: uppercase;
}


/* =========================================================
   15. CHECKLIST
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-checklist, .checklist) {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .55rem;

	margin: .9rem 0 1.2rem !important;
	padding: 0 !important;

	list-style: none;
}

:is(.cah-article, .cah-v711) :is(.cah-checklist, .checklist) li {
	position: relative;

	min-width: 0;
	margin: 0;

	padding: .68rem .74rem .68rem 2.2rem;

	border: 1px solid #dfe9f3;
	border-radius: 10px;

	background: #ffffff;

	line-height: 1.48;
}

:is(.cah-article, .cah-v711) :is(.cah-checklist, .checklist) li::before {
	content: "✓";

	position: absolute;
	left: .68rem;
	top: .65rem;

	display: grid;
	place-items: center;

	width: 20px;
	height: 20px;

	border-radius: 50%;

	background: var(--cah-green-soft);
	color: var(--cah-green);

	font-size: .71rem;
	font-weight: 900;
}


/* =========================================================
   16. NUMBERED APPLICATION STEPS
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-steps, .steps) {
	margin: .9rem 0 1.25rem !important;
	padding: 0 !important;

	list-style: none;
	counter-reset: cah-step;
}

:is(.cah-article, .cah-v711) :is(.cah-steps, .steps) li {
	position: relative;

	min-width: 0;
	margin: 0 0 .54rem;

	padding: .78rem .86rem .78rem 3rem;

	border: 1px solid var(--cah-line);
	border-radius: 11px;

	background: #ffffff;

	counter-increment: cah-step;
}

:is(.cah-article, .cah-v711) :is(.cah-steps, .steps) li::before {
	content: counter(cah-step);

	position: absolute;
	left: .78rem;
	top: .7rem;

	display: grid;
	place-items: center;

	width: 27px;
	height: 27px;

	border-radius: 50%;

	background: linear-gradient(
		135deg,
		var(--cah-primary-dark),
		var(--cah-primary)
	);

	color: #ffffff;

	font-size: .74rem;
	font-weight: 850;
}


/* =========================================================
   17. FAQ
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-faq, .faq) {
	margin-top: 2.2rem;

	padding: clamp(1rem, 2vw, 1.4rem);

	border: 1px solid #d7e6f2;
	border-radius: var(--cah-radius-lg);

	background: linear-gradient(180deg, #fbfdff 0%, #f5f9fe 100%);
	box-shadow: var(--cah-shadow-sm);
}

:is(.cah-article, .cah-v711) :is(.cah-faq, .faq) h2 {
	margin-top: 0;
}

:is(.cah-article, .cah-v711) .cah-faq-list {
	display: grid;
	gap: .62rem;
}

:is(.cah-article, .cah-v711) .cah-faq-item,
:is(.cah-article, .cah-v711) :is(.cah-faq, .faq) details {
	overflow: hidden;

	min-width: 0;
	margin: .6rem 0;

	border: 1px solid #dce8f2;
	border-radius: 12px;

	background: #ffffff;
	box-shadow: 0 3px 12px rgba(17, 58, 99, .028);
}

:is(.cah-article, .cah-v711) .cah-faq-item summary,
:is(.cah-article, .cah-v711) :is(.cah-faq, .faq) details summary {
	position: relative;

	cursor: pointer;
	list-style: none;

	padding: .9rem 2.8rem .9rem .95rem;

	color: var(--cah-navy);

	font-weight: 800;
	line-height: 1.4;
}

:is(.cah-article, .cah-v711) .cah-faq-item summary::-webkit-details-marker,
:is(.cah-article, .cah-v711) :is(.cah-faq, .faq) details summary::-webkit-details-marker {
	display: none;
}

:is(.cah-article, .cah-v711) .cah-faq-item summary::after,
:is(.cah-article, .cah-v711) :is(.cah-faq, .faq) details summary::after {
	content: "+";

	position: absolute;
	top: 50%;
	right: .9rem;

	transform: translateY(-50%);

	display: grid;
	place-items: center;

	width: 26px;
	height: 26px;

	border-radius: 50%;

	background: var(--cah-blue-soft);
	color: var(--cah-primary);

	font-size: 1.12rem;
	line-height: 1;
}

:is(.cah-article, .cah-v711) .cah-faq-item[open] summary,
:is(.cah-article, .cah-v711) :is(.cah-faq, .faq) details[open] summary {
	background: #f7fbff;
	color: var(--cah-primary);
}

:is(.cah-article, .cah-v711) .cah-faq-item[open] summary::after,
:is(.cah-article, .cah-v711) :is(.cah-faq, .faq) details[open] summary::after {
	content: "−";

	background: var(--cah-primary);
	color: #ffffff;
}

:is(.cah-article, .cah-v711) .cah-faq-answer {
	padding: 0 .95rem .9rem;

	border-top: 1px solid var(--cah-line-soft);

	color: #344659;
}

:is(.cah-article, .cah-v711) .cah-faq-answer p {
	margin: .8rem 0 0;
}

:is(.cah-article, .cah-v711) :is(.cah-faq, .faq) details > p {
	padding: 0 .95rem .9rem;
	margin: 0;
}


/* =========================================================
   18. RELATED RESOURCES
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-related, .related) {
	margin-top: 2rem;
	padding: 1.1rem;

	border: 1px solid var(--cah-line);
	border-radius: var(--cah-radius-lg);

	background: linear-gradient(135deg, #fbfdff, #f5faff);
}

:is(.cah-article, .cah-v711) :is(.cah-related, .related) h2 {
	margin-top: 0;
}

:is(.cah-article, .cah-v711) :is(.cah-related, .related) :is(.cah-card, .card) {
	height: 100%;
}

:is(.cah-article, .cah-v711) :is(.cah-related, .related) :is(.cah-card, .card) h3 a {
	text-decoration: none;
}

:is(.cah-article, .cah-v711) :is(.cah-related, .related) :is(.cah-card, .card) h3 a:hover {
	text-decoration: underline;
	text-underline-offset: 3px;
}


/* =========================================================
   19. SOURCE / VERIFICATION
   ========================================================= */

:is(.cah-article, .cah-v711) :is(.cah-source, .source) {
	position: relative;

	margin-top: 1.1rem;
	padding: 1.1rem;

	overflow: hidden;

	border: 1px solid #cadfea;
	border-radius: var(--cah-radius-lg);

	background: linear-gradient(135deg, #f8fbff 0%, #f3faf9 100%);
}

:is(.cah-article, .cah-v711) :is(.cah-source, .source)::before {
	content: "";

	position: absolute;
	top: 0;
	left: 0;

	width: 4px;
	height: 100%;

	background: linear-gradient(
		180deg,
		var(--cah-primary),
		var(--cah-teal)
	);
}

:is(.cah-article, .cah-v711) :is(.cah-source, .source) h2 {
	margin-top: 0;
}

:is(.cah-article, .cah-v711) :is(.cah-small, .small) {
	color: var(--cah-muted);
	font-size: .86rem;
}


/* =========================================================
   20. ADSENSE-SAFE VISUAL SPACING
   Placement decisions remain in PHP.
   ========================================================= */

:is(.cah-article, .cah-v711) .cah-ad-wrap {
	clear: both;

	width: 100%;

	margin: 38px auto;

	text-align: center;
}

:is(.cah-article, .cah-v711) .cah-ad-label {
	margin: 0 0 8px;

	color: var(--cah-muted);

	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: .08em;
	text-transform: uppercase;
}

:is(.cah-article, .cah-v711) .cah-ad-box {
	display: block;

	width: 100%;
}

:is(.cah-article, .cah-v711) .cah-ad-after-content {
	margin-top: 42px;
	margin-bottom: 24px;

	padding-top: 22px;

	border-top: 1px solid var(--cah-line-soft);
}


/* =========================================================
   21. LARGE DESKTOP
   ========================================================= */

@media (min-width: 1200px) {

	:is(.cah-article, .cah-v711) :is(.cah-hero-grid, .hero-grid) {
		grid-template-columns: minmax(0, 1.62fr) minmax(300px, .7fr);
		gap: clamp(1.5rem, 2.8vw, 2.25rem);
	}
}


/* =========================================================
   22. SMALL DESKTOP
   ========================================================= */

@media (max-width: 1100px) and (min-width: 981px) {

	:is(.cah-article, .cah-v711) :is(.cah-hero-grid, .hero-grid) {
		grid-template-columns: minmax(0, 1.45fr) minmax(285px, .72fr);
		gap: 1.3rem;
	}

	:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) strong {
		font-size: .84rem;
	}
}


/* =========================================================
   23. TABLET
   ========================================================= */

@media (max-width: 980px) {

	:is(.cah-article, .cah-v711) :is(.cah-hero-grid, .hero-grid) {
		grid-template-columns: 1fr;
		gap: 1.15rem;
	}

	:is(.cah-article, .cah-v711) :is(.cah-status, .status) {
		width: 100%;
		max-width: 100%;
	}

	:is(.cah-article, .cah-v711) .cah-metrics {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}


@media (max-width: 900px) {

	:is(.cah-article, .cah-v711) :is(.cah-v4-nav-grid, .cah-nav-grid) {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}


/* =========================================================
   24. MOBILE
   ========================================================= */

@media (max-width: 700px) {

	.cah-article,
	.cah-v711 {
		font-size: 16px;
	}

	:is(.cah-article, .cah-v711) :is(.cah-hero, .hero) {
		padding: 1rem;
		border-radius: 17px;
	}

	:is(.cah-article, .cah-v711) :is(.cah-hero-grid, .hero-grid) {
		gap: 1rem;
	}

	:is(.cah-article, .cah-v711) :is(.cah-eyebrow, .eyebrow) {
		border-radius: 12px;
		font-size: .7rem;
	}

	:is(.cah-article, .cah-v711) :is(.cah-status, .status) {
		padding: .92rem;

		border-radius: 15px;

		box-shadow: 0 8px 22px rgba(22, 62, 103, .06);
	}

	:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) > div {
		padding-top: .56rem;
		padding-bottom: .56rem;
	}

	:is(.cah-article, .cah-v711) :is(.cah-grid, .grid),
	:is(.cah-article, .cah-v711) :is(.cah-checklist, .checklist) {
		grid-template-columns: 1fr;
	}

	:is(.cah-article, .cah-v711) :is(.cah-buttons, .buttons) {
		flex-direction: column;
	}

	:is(.cah-article, .cah-v711) :is(.cah-btn, .btn) {
		width: 100%;
	}

	:is(.cah-article, .cah-v711) .cah-section-title {
		align-items: flex-start;
	}

	:is(.cah-article, .cah-v711) :is(.cah-card, .card):hover {
		transform: none;
	}
}


/* =========================================================
   25. SMALL MOBILE
   ========================================================= */

@media (max-width: 560px) {

	:is(.cah-article, .cah-v711) :is(.cah-v4-nav, .cah-nav) {
		padding: .95rem;
		border-radius: 14px;
	}

	:is(.cah-article, .cah-v711) :is(.cah-v4-nav-grid, .cah-nav-grid) {
		grid-template-columns: 1fr !important;
		gap: .48rem !important;
	}

	:is(.cah-article, .cah-v711) .cah-metrics {
		grid-template-columns: 1fr;
	}

	:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) strong {
		font-size: .82rem;
	}
}


/* =========================================================
   26. VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 380px) {

	:is(.cah-article, .cah-v711) :is(.cah-hero, .hero) {
		padding: .88rem;
	}

	:is(.cah-article, .cah-v711) :is(.cah-chip, .chip) {
		width: 100%;
		border-radius: 10px;
	}

	:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) {
		grid-template-columns: 1fr;
	}

	:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) > div:nth-child(even) {
		padding-left: 0;
		border-left: 0;
	}

	:is(.cah-article, .cah-v711) :is(.cah-status-grid, .status-grid) strong {
		font-size: .84rem;
	}
}


/* =========================================================
   27. REDUCED MOTION
   ========================================================= */

@media (prefers-reduced-motion: reduce) {

	:is(.cah-article, .cah-v711) *,
	:is(.cah-article, .cah-v711) *::before,
	:is(.cah-article, .cah-v711) *::after {
		scroll-behavior: auto !important;
	}

	:is(.cah-article, .cah-v711) :is(.cah-btn, .btn),
	:is(.cah-article, .cah-v711) :is(.cah-card, .card),
	:is(.cah-article, .cah-v711) :is(.cah-v4-nav-item, .cah-nav-item) {
		transition: none;
	}

	:is(.cah-article, .cah-v711) :is(.cah-btn, .btn):hover,
	:is(.cah-article, .cah-v711) :is(.cah-card, .card):hover,
	:is(.cah-article, .cah-v711) :is(.cah-v4-nav-item, .cah-nav-item):hover {
		transform: none;
	}
}


/* =========================================================
   28. PRINT
   ========================================================= */

@media print {

	:is(.cah-article, .cah-v711) :is(.cah-hero, .hero),
	:is(.cah-article, .cah-v711) :is(.cah-status, .status),
	:is(.cah-article, .cah-v711) :is(.cah-card, .card),
	:is(.cah-article, .cah-v711) :is(.cah-v4-nav, .cah-nav),
	:is(.cah-article, .cah-v711) :is(.cah-table-wrap, .table-wrap),
	:is(.cah-article, .cah-v711) :is(.cah-faq, .faq),
	:is(.cah-article, .cah-v711) :is(.cah-related, .related),
	:is(.cah-article, .cah-v711) :is(.cah-source, .source) {
		box-shadow: none !important;
	}

	:is(.cah-article, .cah-v711) :is(.cah-btn, .btn) {
		box-shadow: none !important;
	}
}
