/* Load Merriweather from Google Fonts */
/****************************************************
 NEW YORK CIVIL LAW – MASTER STYLESHEET (CLEANED)
 Option 2: Separate card systems preserved
****************************************************/
/*===================================================
  0. ROOT TOKENS / THEME VARIABLES
===================================================*/
:root {
/* Core palette */
/* Shadows & radius */
}

/*===================================================
  1. GLOBAL TYPOGRAPHY & BASE
===================================================*/
/* Smooth scrolling for anchor links */
html {
	scroll-behavior: smooth;
}

/* Global background for single posts & pages (luxury blue) */
body.single-post,
body.page {
	background-color: var(--nycl-navy-deep) !important;
}

/* Global bottom padding for sticky footer/back-to-top spacing */
body {
	padding-bottom: 56px !important;
	scroll-padding-bottom: 56px;
}

/* Default single-post content typography (Merriweather) */
.single .wp-block-post-content,
.single-post .entry-content {
	font-family: "Merriweather", Georgia, serif !important;
	font-size: 18px !important;
	line-height: 1.7;
	text-align: left !important;
}

/* Headings inside single posts */
.single .wp-block-post-content h2,
.single .wp-block-post-content h3,
.single-post .entry-content h2,
.single-post .entry-content h3 {
	font-family: "Merriweather", Georgia, serif !important;
	font-weight: 700;
	font-size: 21px !important;
	line-height: 1.4;
	color: var(--nycl-navy);
	margin-top: 1.5em;
	margin-bottom: .75em;
}

/* Global link style in content areas */
.entry-content a,
.wp-block-post-content a,
.post-content a,
.page-content a {
	font-family: "Merriweather", Georgia, serif;
	font-weight: 400;
	text-decoration: none;
	color: var(--nycl-navy);
}

.entry-content a:hover,
.wp-block-post-content a:hover,
.post-content a:hover,
.page-content a:hover {
	color: #0056b3;
	text-decoration: underline;
}

/* Elegant date line under titles */
.single .wp-block-post-date {
	display: block;
	font-family: "Merriweather", Georgia, serif !important;
	font-weight: 400;
	font-size: 14px;
	letter-spacing: .03em;
	color: #6e6e6e;
	margin-top: .25em;
	margin-bottom: .4em;
	text-align: center;
	line-height: 1.2;
}

.single .wp-block-post-date::before {
	content: "— ";
	color: #999;
}

.single .wp-block-post-date::after {
	content: " —";
	color: #999;
}

/* Tighten gap between date and first paragraph */
.single .wp-block-post-date {
	margin-bottom: .25em !important;
}

.single .wp-block-post-date + p {
	margin-top: 0 !important;
}

/* Fix global centering on posts – force left alignment for content blocks */
.entry-content,
.entry-content p,
.entry-content li,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6,
.single-post .wp-block-group,
.single-post .wp-block-group p,
.single-post .wp-block-group li {
	text-align: left !important;
}

/* Case summary pattern (used in case templates) */
.case-summary-pattern {
	font-family: "Merriweather", Georgia, serif !important;
	color: #111;
	line-height: 1.7;
	font-size: 16.5px;
}

.case-summary-pattern h1,
.case-summary-pattern h2,
.case-summary-pattern h3,
.case-summary-pattern h4,
.case-summary-pattern h5,
.case-summary-pattern h6 {
	font-family: "Merriweather", Georgia, serif !important;
	font-weight: 700;
	color: var(--nycl-navy);
	line-height: 1.4;
	margin-top: 1.2em;
	margin-bottom: .6em;
}

.case-summary-pattern h1 {
	font-size: 1.8rem;
}

.case-summary-pattern h2 {
	font-size: 1.6rem;
}

.case-summary-pattern h3 {
	font-size: 1.45rem;
}

.case-summary-pattern h4,
.case-summary-pattern h5,
.case-summary-pattern h6 {
	font-size: 1.3rem;
}

.case-summary-pattern p,
.case-summary-pattern li {
	font-size: 16.5px;
	margin-bottom: .75em;
}

.case-summary-pattern ul,
.case-summary-pattern ol {
	margin-left: 1.5em;
}

/*===================================================
  2. GLOBAL LAYOUT & BACKGROUNDS
===================================================*/
/* Remove white wrappers behind content so blue background shows */
html,
body {
	background-color: var(--nycl-bluegray) !important;
}

.wp-site-blocks,
.site,
.site-content,
.content-area,
.entry-content,
.wp-block-post-content,
.wp-block-group.is-layout-constrained,
.wp-block-group.alignfull,
.wp-block-group.alignwide,
.wp-block-template-part,
.wp-block-cover {
	background: transparent !important;
}

/* Make entire header area full width */
.wp-site-blocks {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.wp-site-blocks > header,
.wp-site-blocks > header > .wp-block-group,
.wp-site-blocks header .wp-block-group.alignfull {
	max-width: 100% !important;
	width: 100% !important;
}

/* Global full-width header overrides */
header.wp-block-template-part,
header.wp-block-template-part > .wp-block-group.alignfull,
header.wp-block-template-part > .wp-block-group.alignfull.is-layout-flow,
header.wp-block-template-part > .wp-block-group.alignfull.is-layout-flow.wp-block-group-is-layout-constrained,
header.wp-block-template-part > .wp-block-group,
header.wp-block-template-part > .wp-block-group__inner-container,
.wp-block-group.has-global-padding.is-layout-constrained.wp-block-group-is-layout-constrained,
.wp-site-blocks > header.wp-block-template-part {
	max-width: 100% !important;
	width: 100% !important;
	margin: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* Footer background remains deep blue */
.site-footer,
footer.wp-block-template-part {
	background-color: var(--nycl-navy-deep) !important;
}

/*===================================================
  3. HERO BANNERS (PARALLAX / REP / RESOURCES)
===================================================*/
/* General parallax hero */
.parallax-hero {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 40vh;
	max-height: 500px;
	overflow: hidden;
	background-size: cover;
	background-position: center center;
	background-repeat: no-repeat;
	background-attachment: fixed;
}

/* iOS & reduced-motion fallback */
@supports (-webkit-touch-callout: none) {
	.parallax-hero {
		background-attachment: scroll;
	}
}

@media (prefers-reduced-motion: reduce) {
	.parallax-hero {
		background-attachment: scroll;
	}
}

.parallax-hero img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.parallax-hero::after {
	content: "";
	position: absolute;
	background: rgba(0, 20, 60, 0.35);
}

/* Inner hero content */
.parallax-inner {
	position: relative;
	text-align: center;
	padding: 3rem 1rem;
	z-index: 1;
}

.hero-title {
	margin: 0;
	color: #fff;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 700;
	letter-spacing: .3px;
	font-size: clamp(1.8rem, 4vw, 3rem);
	text-shadow: 0 2px 8px rgba(0,0,0,0.35);
}

.hero-sub {
	margin: .5rem 0 0;
	color: var(--nycl-bluegray);
	font-family: "Merriweather", Georgia, serif;
	font-size: clamp(1rem, 2.4vw, 1.25rem);
	opacity: .95;
}

/* Reduce hero height on smaller screens */
@media (max-width: 768px) {
	.parallax-hero {
		min-height: 38vh;
	}
}

@media (max-width: 640px) {
	.parallax-hero {
		min-height: 32vh;
	}
}

/* Representative cases hero (full-width) */
.rep-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	background-size: cover;
	background-position: center;
	padding: 140px 20px;
	text-align: center;
	color: #ffffff;
}

.rep-hero-inner h1 {
	font-family: "Merriweather", Georgia, serif;
	font-size: 68px;
	font-weight: 800;
	margin: 0;
}

.rep-hero-inner p {
	font-family: "Merriweather", Georgia, serif;
	font-size: 28px;
	font-weight: 600;
	margin-top: 20px;
}

/* Free resources hero (image via custom property) */
.resources-hero {
	position: relative;
	min-height: 420px;
	display: grid;
	text-align: center;
	padding: 6rem 1.5rem;
	color: #0b2447;
	background: center / cover no-repeat;
	background-image: var(--hero-img);
}

.resources-hero::after {
	content: "";
	position: absolute;
	background: rgba(255, 253, 245, 0.55);
	pointer-events: none;
}

.resources-hero .hero-inner {
	position: relative;
	max-width: 980px;
	margin: 0 auto;
}

/*===================================================
  4. SINGLE POST IVORY CONTENT CARD
===================================================*/
/* Main ivory card container for single posts (nycl-content-card) */
.nycl-content-card {
	max-width: 1200px;
	margin: 2.5rem auto;
	background-color: #fffdf9;
	border-radius: 18px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	border: 1px solid rgba(10,42,74,0.08);
	padding: 3rem 2rem;
	color: #111;
	font-family: "Merriweather", Georgia, serif;
	line-height: 1.7;
}

/* Headings inside ivory card */
.nycl-content-card h2,
.nycl-content-card h3,
.nycl-content-card h4 {
	color: #0A2A4A;
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 700;
	margin-top: 2rem;
	margin-bottom: 1rem;
}

/* Paragraph spacing */
.nycl-content-card p {
	margin-bottom: 1.25rem;
}

/* Lists */
.nycl-content-card ul,
.nycl-content-card ol {
	margin-left: 1.5rem;
	margin-bottom: 1.25rem;
}

/* Blockquotes */
.nycl-content-card blockquote {
	border-left: 4px solid #0A2A4A;
	background: #f5f8fc;
	margin: 1.75rem 0;
	padding: 1rem 1.25rem;
	border-radius: 10px;
	color: #0A2A4A;
	font-style: italic;
}

/* Images inside card */
.nycl-content-card img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 12px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.06);
	border: 1px solid rgba(10,42,74,0.08);
	margin: 1.25rem 0;
}

/* Mega-card variant for some single posts */
.mega-card {
	box-shadow: 0 8px 24px rgba(10, 37, 64, 0.08);
	border-radius: 24px;
	background: #f7f3e8;
}

.single .mega-card,
.single .mega-card.wp-block-group {
	background: #f7f3e8 !important;
	color: #0a2540;
	max-width: 920px;
	margin: 2.5rem auto;
	padding: clamp(1.25rem, 2.5vw, 3rem);
	border-radius: 24px;
	box-shadow: 0 8px 24px rgba(10, 37, 64, 0.08);
}

.single .mega-card * {
	color: inherit;
}

.single .mega-card img {
	border-radius: 12px;
}

.single .mega-card ul,
.single .mega-card ol {
	margin-left: 1.25rem;
}

/*===================================================
  5. CASE GRID / QUERY LOOP CARDS
===================================================*/
/* Grid wrapper for representative case grids, etc. */
.case-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 4rem 2rem;
	background: var(--nycl-bluegray);
	border-top: 1px solid rgba(0,40,85,.1);
	border-bottom: 1px solid rgba(0,40,85,.1);
}

/* Card inside case grid (wp-block-post) */
.case-grid .wp-block-post {
	position: relative;
	background: #fff;
	border: 1.5px solid rgba(0,40,85,.15);
	border-radius: 14px;
	overflow: hidden;
	box-shadow: 0 2px 6px rgba(0,0,0,.06);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.case-grid .wp-block-post:hover {
	transform: translateY(-4px);
	border-color: rgba(0,40,85,.25);
	box-shadow: 0 6px 12px rgba(0,0,0,.12);
}

.case-grid .wp-block-post-featured-image img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
	border-top-left-radius: 14px;
	border-top-right-radius: 14px;
}

.case-grid .wp-block-post-title {
	font-family: Helvetica, Arial, sans-serif;
	font-weight: 600;
	color: var(--nycl-navy);
	text-align: center;
	margin: 1rem 1rem .5rem;
	font-size: 1.15rem;
	line-height: 1.3;
}

.case-grid .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.case-grid .wp-block-post-title a:hover,
.case-grid .wp-block-post-title a:focus {
	text-decoration: underline;
}

.case-grid .wp-block-post-excerpt {
	font-family: "Merriweather", Georgia, serif;
	font-size: .95rem;
	color: #333;
	text-align: center;
	padding: 0 1.25rem 1.25rem;
	flex-grow: 1;
}

.case-grid .wp-block-post-excerpt__more-text a {
	display: inline-block;
	background: var(--nycl-navy);
	color: #fff !important;
	padding: .45rem .9rem;
	border-radius: 999px;
	text-decoration: none;
	font-size: .85rem;
	transition: background-color .25s ease, transform .25s ease;
}

.case-grid .wp-block-post-excerpt__more-text a:hover {
	background: #0041a3;
	transform: translateY(-1px);
}

/* Query pagination */
.wp-block-query-pagination {
	text-align: center;
	margin-top: 2rem;
}

.wp-block-query-pagination .wp-block-query-pagination-numbers a,
.wp-block-query-pagination .wp-block-query-pagination-next,
.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .page-numbers.current {
	display: inline-block;
	padding: .35rem .65rem;
	margin: 0 .15rem;
	border-radius: 6px;
	text-decoration: none;
	border: 1px solid rgba(0,40,85,.15);
	color: var(--nycl-navy);
}

.wp-block-query-pagination .page-numbers.current {
	background: var(--nycl-navy);
	color: #fff;
	border-color: var(--nycl-navy);
}

/*===================================================
  6. FREE RESOURCES PAGE (CARDS + NAV)
===================================================*/
/* Page-scoped background */
#free-resources,
#free-resources .resources-wrap {
	background: var(--nycl-bluegray) !important;
}

/* Mega ivory wrap */
#free-resources .wp-block-group.free-ivory-wrap {
	background: var(--nycl-ivory-dark) !important;
	border: 1px solid rgba(10,42,82,0.12) !important;
	border-radius: 28px !important;
	box-shadow: 0 20px 40px rgba(10,42,82,0.10) !important;
	max-width: 1200px !important;
	width: min(1200px, 92vw) !important;
	margin: 0 auto !important;
	padding: clamp(24px, 4vw, 56px) !important;
	overflow: hidden;
}

/* Keep inner alignfull blocks contained */
#free-resources .wp-block-group.free-ivory-wrap .alignfull,
#free-resources .wp-block-group.free-ivory-wrap > .wp-block-group {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	width: 100% !important;
}

/* Resources wrapper font */
.resources-wrap {
	font-family: "Merriweather", Georgia, serif !important;
}

/* Resources hero text */
.resources-hero h1 {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	letter-spacing: .5px;
	font-weight: 700;
	margin: 0 0 10px;
	color: var(--nycl-navy);
}

.resources-hero p {
	font-family: "Merriweather", Georgia, serif;
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0 0 20px;
}

/* CTA button in hero */
.lux-cta {
	display: inline-block;
	padding: 12px 18px;
	border-radius: 999px;
	background: var(--nycl-blue);
	color: #fff;
	text-decoration: none;
	box-shadow: var(--nycl-shadow-soft);
}

.lux-cta:hover {
	background: var(--nycl-blue-light);
}

/* Capsule nav */
.resources-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: .75rem;
	margin: 1rem auto 2rem;
	text-align: center;
}

.resources-wrap .pill {
	display: inline-block;
	font-family: "Merriweather", Georgia, serif;
	text-decoration: none;
	font-size: 1rem;
	padding: .25rem .5rem;
	border-bottom: 2px solid transparent;
	color: #000;
	transition: color .3s ease, border-color .3s ease;
}

.resources-wrap .pill:hover {
	border-bottom: 2px solid var(--nycl-navy);
	color: var(--nycl-navy);
}

/* Blue gradient pills on Free Resources (scoped) */
#free-resources .resources-nav .pill {
	background: linear-gradient(180deg, #1A4B8C, #2C6FB0);
	color: #ffffff !important;
	border: 1px solid rgba(255,255,255,0.25);
	box-shadow: 0 4px 10px rgba(0,40,85,0.15);
	text-decoration: none !important;
	transition: transform .15s ease, box-shadow .25s ease, filter .25s ease;
}

#free-resources .resources-nav .pill:hover {
	filter: brightness(1.05);
	transform: translateY(-2px);
	box-shadow: 0 8px 18px rgba(0,40,85,0.25);
}

#free-resources .resources-nav .pill--all {
	font-weight: 700;
	background: linear-gradient(180deg, #002855, #1A4B8C) !important;
	border-color: rgba(255,255,255,0.35);
}

/* Resource grids */
.resources-section,
.resources-featured {
	max-width: 1200px;
	margin: 0 auto;
	padding: 24px 24px 40px;
}

.resources-section h2,
.resources-featured h2 {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	margin: 10px 0 18px;
	color: var(--nycl-navy);
}

.resource-grid,
.featured-row {
	display: grid;
	grid-template-columns: repeat(3,1fr);
	gap: 24px;
}

/* Resource card (Free Resources ONLY) */
#free-resources .resource-card {
	border-radius: var(--nycl-radius) !important;
	background: #ffffff;
	border: 1.5px solid rgba(0, 40, 85, 0.15) !important;
	box-shadow: 0 3px 8px rgba(0, 40, 85, 0.08), 0 1px 2px rgba(0, 40, 85, 0.05);
	padding: 18px 18px 16px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease, background .25s ease;
}

#free-resources .resource-card:hover {
	transform: translateY(-6px);
	border-color: rgba(0, 40, 85, 0.25);
	box-shadow: 0 10px 24px rgba(0, 40, 85, 0.18), 0 4px 8px rgba(0, 40, 85, 0.10);
}

/* Card icon */
#free-resources .resource-card .icon {
	background: linear-gradient(180deg, #fdfdfd, #f4f6f9);
	border: 1px solid rgba(0, 40, 85, 0.12);
	border-radius: 12px;
	width: 46px;
	height: 46px;
	display: grid;
	font-size: 28px;
	box-shadow: 0 4px 8px rgba(0, 40, 85, 0.10);
}

/* Titles & text */
#free-resources .resource-card h3 {
	font-family: "Merriweather", Georgia, serif;
	font-size: 1.05rem;
	margin: 6px 0;
	color: var(--nycl-navy);
	font-weight: 700;
}

#free-resources .resource-card p {
	margin-bottom: 10px;
	font-size: .98rem;
	color: #1a1f2b;
	line-height: 1.55;
}

/* Tags */
#free-resources .resource-card .tag {
	border-radius: 999px;
	border: 1px solid rgba(0, 40, 85, 0.15);
	background: #fafafa;
	box-shadow: 0 1px 2px rgba(0, 40, 85, 0.05);
	padding: 4px 10px;
	font-size: .85rem;
	color: var(--nycl-navy);
}

/* Resource card button */
#free-resources .resource-card .btn {
	background: linear-gradient(180deg, #1A4B8C, #2C6FB0) !important;
	color: #ffffff !important;
	border: 1px solid rgba(255,255,255,0.25);
	border-radius: 12px;
	padding: 10px 16px;
	font-weight: 600;
	text-decoration: none !important;
	box-shadow: 0 4px 10px rgba(0,40,85,0.15);
	margin-top: auto;
	text-align: center;
	transition: transform .2s ease, box-shadow .25s ease, filter .25s ease;
}

#free-resources .resource-card .btn:hover {
	filter: brightness(1.06);
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,40,85,0.25);
}

/* Resources CTA box */
.resources-cta {
	max-width: 900px;
	margin: 10px auto 64px;
	text-align: center;
	padding: 0 24px;
}

.resources-cta h2 {
	color: var(--nycl-navy);
	margin: 0 0 8px;
}

.resources-cta p {
	margin: 0 0 16px;
}

.resources-cta .cta-box {
	background: #fff;
	border: 1px dashed rgba(0,40,85,.2);
	border-radius: 12px;
	padding: 20px;
}

/*===================================================
  7. FRAUD RESOURCE LIBRARY
===================================================*/
.fraud-wrap {
	background: var(--nycl-bluegray);
	padding: 4rem 2rem;
}

.fraud-mega-card {
	background: #f8f5f0;
	border-radius: 24px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	padding: 3rem;
	max-width: 1300px;
	margin: 0 auto;
}

.fraud-hero h1 {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-size: 2.5rem;
	color: var(--nycl-navy);
}

.fraud-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.fraud-card {
	background: #fff;
	border-radius: 16px;
	padding: 1.5rem 2rem;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05);
	transition: transform .3s ease, box-shadow .3s ease;
}

.fraud-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}

.fraud-search {
	width: 100%;
	max-width: 500px;
	margin-top: 1rem;
	padding: .8rem 1.2rem;
	border-radius: 50px;
	border: 1px solid rgba(0,40,85,0.2);
	font-size: 1rem;
}

.pdf-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1rem;
	margin-top: 1rem;
}

.pdf-item {
	background: #fff;
	border-radius: 12px;
	padding: 1rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-family: "Merriweather", Georgia, serif;
}

/*===================================================
  8. REPRESENTATIVE CASES & FRONT PAGE CASE ROW
===================================================*/
/* Front page “Case Results” row */
.front-cases {
	max-width: 1200px;
	margin: 60px auto;
	padding: 0 20px;
}

.front-cases-title {
	font-family: "Merriweather", Georgia, serif;
	font-size: 36px;
	color: #0f2b4c;
	text-align: center;
	margin-bottom: 40px;
}

.front-cases-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 30px;
}

.front-case-card {
	background: var(--nycl-ivory-soft);
	border: 1px solid #ded9d2;
	border-radius: 14px;
	padding: 25px;
	box-shadow: 0 3px 10px rgba(0,0,0,0.08);
	font-family: "Merriweather", Georgia, serif;
	transition: transform .25s ease, box-shadow .25s ease;
}

.front-case-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 18px rgba(0,0,0,0.12);
}

.front-case-card h3 {
	color: #0f2b4c;
	font-size: 22px;
	margin-top: 0;
	margin-bottom: 12px;
	font-weight: 700;
}

.front-case-card p {
	font-size: 17px;
	line-height: 1.6;
	margin-bottom: 18px;
	color: #333;
}

.case-link {
	font-size: 17px;
	color: #0f2b4c;
	text-decoration: none;
	font-weight: 700;
	border-bottom: 1px solid transparent;
	transition: border-color .2s;
}

.case-link:hover {
	border-color: #0f2b4c;
}

/* Representative cases cards (nycl-case-card variant) */
.nycl-case-card {
	background-color: var(--nycl-ivory-soft);
	border: 1px solid rgba(0, 40, 85, 0.18);
	border-radius: 14px;
	box-shadow: 0 12px 28px rgba(15, 23, 42, 0.18);
	padding: 1.5rem;
	display: flex;
	flex-direction: column;
	height: 100%;
}

.nycl-case-card .wp-block-post-title a {
	font-family: "Merriweather", Georgia, serif;
	font-size: 1.2rem;
	font-weight: 700;
	color: #0f172a;
	text-decoration: none;
}

.nycl-case-card .wp-block-post-title a:hover {
	text-decoration: underline;
}

.nycl-case-card .wp-block-post-excerpt {
	font-family: Georgia, serif;
	font-size: 1rem;
	line-height: 1.6;
	color: #374151;
	margin-top: .75rem;
	margin-bottom: 1.5rem;
	flex-grow: 1;
}

.nycl-case-card .wp-block-read-more {
	font-family: "Helvetica Neue", Arial, sans-serif;
	font-size: .9rem;
	background-color: var(--nycl-navy);
	color: var(--nycl-ivory-soft);
	padding: .45rem .9rem;
	border-radius: 999px;
	text-decoration: none;
	display: inline-block;
}

.nycl-case-card .wp-block-read-more:hover {
	background-color: #154a8a;
}

.nycl-case-card * {
	text-align: left !important;
}

/* Hide Representative Cases categories from main loops */
.category-representative-cases,
.category-motions-trials,
.category-appeals {
	display: none !important;
}

/*===================================================
  9. ABOUT PAGE – IVORY CARD + TYPOGRAPHY
===================================================*/
.about-section {
	background-color: var(--nycl-bluegray);
	padding: 3.5rem 1rem 4rem;
	display: flex;
	flex-direction: column;
	align-items: center;
}

.about-card {
	background-color: #fffaf3;
	border-radius: 24px;
	box-shadow: 0 4px 12px rgba(0,0,0,0.08);
	max-width: 950px;
	width: 100%;
	padding: 3rem 3rem 2.25rem;
	position: relative;
	font-family: "Merriweather", Georgia, serif;
	color: #222;
}

.about-photo {
	width: 180px;
	height: 180px;
	border-radius: 50%;
	overflow: hidden;
	float: left;
	margin-right: 2rem;
	margin-bottom: 1rem;
	box-shadow: 0 4px 10px rgba(0,0,0,0.12);
}

.about-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.about-text {
	max-width: 800px;
	margin: 0 auto;
	font-family: "Merriweather", Georgia, serif;
	font-size: 18px;
	line-height: 1.8;
	color: #1a1a1a;
}

.about-text h1,
.about-text h2,
.about-text h3 {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 600;
	color: var(--nycl-navy);
	letter-spacing: .3px;
	margin-top: 1.5em;
	margin-bottom: .6em;
}

.about-text h1 {
	font-size: 28px;
}

.about-text h2 {
	font-size: 22px;
}

.about-text h3 {
	font-size: 18px;
}

.about-text p,
.about-text li {
	font-size: 18px;
	line-height: 1.8;
	margin-bottom: 1.5rem;
}

.about-text p:first-of-type {
	font-size: 19px;
	line-height: 1.9;
	color: #0f1f3d;
}

.about-text ul {
	margin-left: 1.5rem;
	padding-left: 0;
}

.about-text li {
	margin-bottom: .5em;
}

.about-text a {
	color: #003366;
	text-decoration: underline;
}

.bio-footer {
	font-style: italic;
	margin-top: 2rem;
	color: #444;
}

.about-actions {
	text-align: center;
	margin-top: 2rem;
}

/* About page specific typography (page-about-matthew-lerner) */
body.page-about-matthew-lerner {
	font-family: "Merriweather", Georgia, serif !important;
	font-size: 18px !important;
	line-height: 1.8 !important;
	color: #1a1a1a;
}

body.page-about-matthew-lerner p:first-of-type {
	font-size: 19px !important;
	line-height: 1.9 !important;
	color: #0f1f3d;
}

body.page-about-matthew-lerner .entry-content {
	background: #fffdf9;
	border-radius: 16px;
	box-shadow: 0 4px 16px rgba(0,40,85,0.08);
	padding: 3rem 2rem;
	max-width: 800px;
	margin: 0 auto;
}

body.page-about-matthew-lerner h1,
body.page-about-matthew-lerner h2,
body.page-about-matthew-lerner h3 {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	color: var(--nycl-navy);
	letter-spacing: .3px;
	font-weight: 600;
}

/* Make bullet lists left-aligned inside #about card */
#about .wp-block-list,
#about ul,
#about li {
	text-align: left !important;
	margin-left: 1.2em !important;
}

/*===================================================
  10. HEADER BAR ON SINGLE POSTS
===================================================*/
.single .nycl-post-header {
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	background: var(--nycl-bluegray);
	padding: 20px 40px;
	border-bottom: 1px solid rgba(0,40,85,.1);
}

.single .nycl-post-header a.site-name {
	font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: #0a2540;
	text-decoration: none !important;
	border-bottom: 0 !important;
	box-shadow: none !important;
}

.single .nycl-post-header .nav-link {
	display: flex !important;
	gap: 24px;
	align-items: flex-start;
	margin: 0;
	padding: 0;
}

.single .nycl-post-header .nav-link a,
.single .nycl-post-header nav.wp-block-navigation a {
	font-family: "Merriweather", Georgia, serif;
	font-size: 15px;
	color: #0a2540;
	text-decoration: none !important;
}

.single .nycl-post-header .nav-link a:hover,
.single .nycl-post-header nav.wp-block-navigation a:hover {
	color: #183b6b;
	text-decoration: underline;
}

/*===================================================
  11. STICKY DISCLAIMER & BACK-TO-TOP
===================================================*/
/* Primary sticky disclaimer bar (ID-based) */
#nycl-disclaimer {
	position: fixed !important;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100% !important;
	background: #002855 !important;
	color: #fff !important;
	padding: 10px 16px;
	text-align: center;
	font-family: "Merriweather", Georgia, serif;
	font-size: 14px;
	line-height: 1.35;
	z-index: 2147483647;
	box-shadow: 0 -2px 6px rgba(0,0,0,.08);
}

#nycl-disclaimer * {
	background: transparent !important;
	color: inherit !important;
}

#nycl-disclaimer a {
	color: #fff !important;
	text-decoration: underline;
}

#nycl-disclaimer a:hover {
	opacity: .9;
}

/* Alternate class-based disclaimer (for legacy pages) */
.sticky-disclaimer,
.nycl-disclaimer {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #002855;
	color: #ffffff;
	text-align: center;
	padding: .75rem 1rem;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 13px;
	line-height: 1.4;
	z-index: 9999;
}

/* Universal white text on dark buttons/pills */
.wp-block-button__link,
.wp-block-button a,
button,
a.button,
.pill,
.pill a,
.btn,
.btn a,
.button a,
.lux-btn--home,
.lux-btn--home:link,
.lux-btn--home:visited,
.lux-btn--home:hover,
.lux-btn--home:active,
a[href*="home"],
a.back-to-home,
a.back-home,
a[data-type="back-home"] {
	color: #ffffff !important;
}

/* Back-to-top button (unified) */
.back-to-top,
#back-to-top,
a[href="#top"].back-to-top {
	position: fixed !important;
	bottom: 150px !important;
	right: 40px !important;
	width: 60px !important;
	height: 60px !important;
	border-radius: 50% !important;
	background-color: #0d325f !important;
	color: #fff !important;
	font-size: 28px !important;
	font-weight: 600 !important;
	text-align: center !important;
	line-height: 60px !important;
	text-decoration: none !important;
	box-shadow: 0 8px 20px rgba(0,0,0,0.25) !important;
	z-index: 9999999 !important;
	cursor: pointer !important;
	pointer-events: auto !important;
	transition: .2s ease;
}

.back-to-top:hover {
	transform: translateY(-3px);
	background-color: #0b294e !important;
}

/* Alternative floating button (lux-top-btn) */
.lux-top-btn {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 55px;
	height: 55px;
	background: #0a355e;
	color: #ffffff !important;
	border-radius: 50%;
	font-size: 22px;
	text-align: center;
	line-height: 55px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.25);
	text-decoration: none;
	z-index: 9999;
	opacity: .8;
	transition: opacity .2s ease, transform .3s ease;
}

.lux-top-btn:hover {
	opacity: 1;
	transform: translateY(-3px);
}

/*===================================================
  12. FOOTER LAYOUT FIXES (EMAIL ON ONE LINE)
===================================================*/
/* Target general footer columns */
footer .wp-block-columns {
	display: flex !important;
}

footer .wp-block-columns > .wp-block-column:first-child {
	flex: 0 0 45% !important;
	max-width: 45% !important;
	white-space: nowrap !important;
}

footer .wp-block-columns > .wp-block-column:first-child *,
footer .wp-block-columns > .wp-block-column:first-child a {
	white-space: nowrap !important;
}

/* Luxury Footer template part */
.wp-block-template-part[name="Luxury Footer"] .wp-block-columns {
	display: flex !important;
}

.wp-block-template-part[name="Luxury Footer"] .wp-block-columns > .wp-block-column:first-child {
	flex: 0 0 48% !important;
	max-width: 48% !important;
}

.wp-block-template-part[name="Luxury Footer"] .wp-block-columns > .wp-block-column:first-child * {
	white-space: nowrap !important;
}

/* Specific wp-container-96 footer layout */
.wp-container-96.wp-block-columns {
	display: flex !important;
	align-items: center;
}

.wp-container-96.wp-block-columns > .wp-block-column:first-child {
	flex: 0 0 48% !important;
	max-width: 48% !important;
	white-space: nowrap !important;
}

.wp-container-96.wp-block-columns > .wp-block-column:nth-child(2),
.wp-container-96.wp-block-columns > .wp-block-column:nth-child(3) {
	flex: 0 0 26% !important;
	max-width: 26% !important;
}

.wp-container-96.wp-block-columns > .wp-block-column:first-child p,
.wp-container-96.wp-block-columns > .wp-block-column:first-child a {
	white-space: nowrap !important;
}

.wp-container-96.wp-block-columns > .wp-block-column:first-child p {
	font-size: .95em;
}

/* Footer email font-size tweak */
a[href^="mailto:mlerner@gerberciano.com"] {
	font-size: .78em !important;
	white-space: nowrap !important;
	display: inline-block;
}

.footer-email {
	font-size: 14px;
	white-space: nowrap;
}

/*===================================================
  13. RESPONSIVE MEDIA QUERIES
===================================================*/
/* Case grid responsiveness */
@media (max-width: 1024px) {
	.case-grid {
		grid-template-columns: repeat(2,1fr);
		gap: 28px;
		padding: 3rem 1.5rem;
	}
	
	.resource-grid,
																																.featured-row {
		grid-template-columns: repeat(2,1fr);
	}
}

@media (max-width: 640px) {
	.case-grid {
		grid-template-columns: 1fr;
		gap: 24px;
		padding: 2.5rem 1rem;
	}
	
	.resource-grid,
																																.featured-row {
		grid-template-columns: 1fr;
	}
	
	.resources-nav {
		gap: .5rem;
		margin-bottom: 1.5rem;
	}
}

/* About page responsive tweaks */
@media (max-width: 900px) {
	.about-card {
		padding: 2rem;
	}
	
	.about-photo {
		border-radius: 12px;
	}
}

@media (max-width: 768px) {
	.about-photo {
		float: none;
		display: block;
		margin: 0 auto 1.25rem;
		width: 160px;
		height: 160px;
	}
}

/* Rep hero mobile */
@media (max-width: 600px) {
	.rep-hero h1 {
		font-size: 32px;
	}
}

/* Free resources container on very small screens */
@media (max-width: 600px) {
	#free-resources .wp-block-group.free-ivory-wrap {
		padding: 30px 20px !important;
		margin: 25px auto 40px !important;
	}
	
	.resources-hero {
		min-height: 320px;
		padding: 4rem 1.25rem;
	}
	
	#back-to-top {
		bottom: 20px;
		right: 18px;
		width: 44px;
		height: 44px;
		font-size: 18px;
	}
}

/* Full-width light blue background, no white gutters */
/* 1. Set the page background to your light blue */
body {
	background-color: #e7ecf5;
/* use your palette's light blue */
	margin: 0;
}

body.wp-template-front-page,
body.wp-template-front-page .wp-site-blocks {
	background-color: #e7ecf5 !important;
}

/* ==========================================
   FRONT-END ONLY BACKGROUND FIX
   ========================================== */
/* 1. Apply full-page background */
body.wp-template-front-page,
body.wp-template-front-page .wp-site-blocks {
	background-color: #e7ecf5 !important;
}

/* 2. Ensure Group blocks don't override background */
body.wp-template-front-page .wp-block-group {
	background: transparent !important;
}

/* 3. True full-width content */
body.wp-template-front-page .alignfull {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* FORCE OVERRIDE OF WORDPRESS SITE BACKGROUND VARIABLE */
:root {
}

/* ============================================================
   FINAL FIX – FORCE FRONT PAGE BACKGROUND TO LIGHT BLUE
   ============================================================ */
/* 1. Force wp-site-blocks (the real background element) to blue */
body.home .wp-site-blocks {
	background-color: #e7ecf5 !important;
}

/* 2. Remove internal ivory background on inner container */
body.home .wp-site-blocks > .wp-block-group {
	background: transparent !important;
}

/* 3. Make full-width sections actually full-width */
body.home .alignfull {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Subtle luxury gradient behind all front-page content */
body.home .wp-site-blocks {
	background: linear-gradient(180deg,
        #e7ecf5 0%,
        #dce8f3 50%,
        #e7ecf5 100%) !important;
}

/* Matte texture effect */
body.home .wp-site-blocks::before {
	content: "";
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	pointer-events: none;
	opacity: .1;
	background-image: ;
	z-index: 0;
}

/* Section spacing and top separators */
body.home section,
body.home .wp-block-group {
	padding-top: 40px;
	padding-bottom: 40px;
}

body.home .wp-block-group:not(:first-child)::before {
	content: "";
	display: block;
	width: 60%;
	height: 1px;
	margin: 0 auto 30px;
	background: rgba(0, 0, 0, 0.08);
}

/* Luxury buttons for calls to action */
.wp-element-button,
.wp-block-button__link {
	background: #002c57 !important;
	color: white !important;
	border-radius: 50px !important;
	padding: 12px 26px !important;
	font-weight: 600;
	transition: all .25s ease;
}

.wp-element-button:hover,
.wp-block-button__link:hover {
	background: #004b85 !important;
	transform: translateY(-2px);
}

.card {
	background: white !important;
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.08);
	padding: 26px;
}

.card {
	opacity: 0;
	transform: translateY(20px);
	animation: fadeUp .6s ease forwards;
}

@keyframes fadeUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* ============================================================
   FORCE MERRIWEATHER TYPEFACE ON ALL CARD CONTENT
   ============================================================ */
body.home .card,
body.home .card *,
body.home .wp-block-post,
body.home .wp-block-post *,
body.home .wp-block-group.card,
body.home .wp-block-group.card *,
body.home .wp-block-post-template li,
body.home .wp-block-post-template li *,
body.home .wp-block-query,
body.home .wp-block-query * {
	font-family: 'Merriweather', Georgia, serif !important;
}

/* ============================================================
   SINGLE POST PAGE BACKGROUND
============================================================ */
body.single {
	background-color: #e7ecf5 !important;
/* Your light blue-grey */
}

/* ============================================================
   SINGLE POST IVORY CARD LAYOUT
============================================================ */
body.single .wp-site-blocks {
	padding-top: 40px;
	padding-bottom: 60px;
}

/* The card itself */
body.single article {
	background: #f8f5ee !important;
/* Ivory */
	max-width: 900px;
/* Controls width of post */
	margin: 0 auto;
/* Centers the card */
	padding: 40px 50px;
	border-radius: 12px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.08);
	position: relative;
	z-index: 1;
}

/* Ensure nested blocks don’t force white backgrounds */
body.single article .wp-block-group,
body.single article .wp-block-columns,
body.single article .wp-block-cover {
	background: transparent !important;
}

/* Typography inside post cards */
body.single article h1,
body.single article h2,
body.single article h3 {
	font-family: "Merriweather", Georgia, serif !important;
	color: #002c57;
}

body.single article p,
body.single article li {
	font-size: 1.08rem;
	line-height: 1.7;
}

/* ============================================================
   SINGLE POST – RESTORE IVORY CARD AROUND CONTENT
============================================================ */
/* 1. Blue-grey background behind the card */
body.single {
	background-color: #e7ecf5 !important;
}

/* 2. Ensure outer wrappers are transparent */
body.single .wp-site-blocks,
body.single .wp-site-blocks > .wp-block-group {
	background: transparent !important;
}

/* 3. The actual card wrapper around the post content
   This targets the innermost wp-block-group that contains  */
body.single .wp-site-blocks .wp-block-group:has(article) {
	background: #f8f5ee !important;
/* Ivory */
	max-width: 760px !important;
/* Narrow, luxury width */
	margin: 40px auto !important;
	padding: 40px 50px !important;
	border-radius: 16px;
	box-shadow: 0 6px 20px rgba(0,0,0,0.12);
	position: relative;
	z-index: 2;
}

/* 4. Ensure nothing inside the article breaks the card width */
body.single .wp-site-blocks .wp-block-group:has(article) > * {
	max-width: 100% !important;
}

/* =========================================================
   SINGLE POST – FORCE BLUE BACKGROUND + IVORY CONTENT CARD
   ========================================================= */
/* 1. Global page background (full width, no white gutters) */
.single-post,
.single-post body,
.single-post #page,
.single-post #primary,
.single-post .wp-site-blocks {
	background-color: #A9C8E3 !important;
/* Luxury light blue */
}

/* 2. Center the content + give it an ivory card */
.single-post .entry-content,
.single-post .wp-block-post-content {
	max-width: 900px;
	margin: 40px auto;
	background: #F8F8F2 !important;
/* Ivory card */
	padding: 40px 50px !important;
	border-radius: 12px;
	box-shadow: 0 6px 18px rgba(0,0,0,0.08);
	box-sizing: border-box;
	position: relative;
	z-index: 2;
}

/* 3. Fix theme wrappers that sometimes inherit white backgrounds */
.single-post article,
.single-post article.wp-block-post,
.single-post .wp-block-group {
	background: transparent !important;
	box-shadow: none !important;
}

/* 4. Make sure featured images do NOT create a white strip */
.single-post .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	margin: 0 auto 20px;
}

/* 5. Remove accidental centering from global styles */
.single-post .entry-content p,
.single-post .wp-block-post-content p,
.single-post .wp-block-post-content * {
	text-align: left !important;
}

/* 6. Ensure the background stretches fully on all screen sizes */
body.single-post {
	width: 100%;
	overflow-x: hidden;
	background-color: #A9C8E3 !important;
}

/* =========================================================
   FINAL FIX — REMOVE OUTER CARD WRAPPER
   ========================================================= */
/* Remove background + padding from ALL wp-block-group wrappers
   that sit above the inner post-content */
body.single-post .wp-block-group {
	background: transparent !important;
	box-shadow: none !important;
	border: none !important;
	border-radius: 0 !important;
	padding: 0 !important;
	margin: 0 auto !important;
}

/* But preserve group blocks INSIDE the ivory card */
body.single-post .wp-block-post-content .wp-block-group {
	padding: initial !important;
	margin: initial !important;
	background: transparent !important;
}

/* Force the ONLY card to be the post-content container */
body.single-post .wp-block-post-content {
	background: #F8F8F2 !important;
/* Ivory */
	padding: 40px 50px !important;
	max-width: 900px;
	margin: 40px auto !important;
	border-radius: 16px;
	box-shadow: 0 8px 22px rgba(0,0,0,0.10);
	position: relative;
	z-index: 2;
}

/* Keep page background blue */
body.single-post {
	background-color: #A9C8E3 !important;
}

/* =========================================================
   SINGLE POST – BLUE-GREY BACKGROUND + LOWER TITLE
   ========================================================= */
/* 1. Set the entire page background (including above the title) */
body.single-post,
body.single-post .wp-site-blocks {
	background-color: #A9C8E3 !important;
/* Replace with your exact palette color */
}

/* 2. Push the title block lower so it does not hug the top */
body.single-post header,
body.single-post .wp-block-post-title {
	margin-top: 60px !important;
	padding-top: 20px !important;
}

/* 3. Remove any white wrapper around the hero/title area */
body.single-post .wp-block-group,
body.single-post .wp-block-group.alignwide,
body.single-post .wp-block-group.alignfull {
	background: transparent !important;
	padding-top: 0 !important;
}

/* 4. Keep the ivory card ONLY around the text content */
body.single-post .wp-block-post-content {
	background: #F8F8F2 !important;
	padding: 40px 50px !important;
	max-width: 900px;
	margin: 40px auto !important;
	border-radius: 16px;
	box-shadow: 0 8px 22px rgba(0,0,0,0.10);
	position: relative;
	z-index: 2;
}

/* =========================================================
   SINGLE POST — MATCH FRONT PAGE BLUE-GREY BACKGROUND
   REMOVE OUTER CARD, KEEP ROUNDED IVORY CARD ONLY
   ========================================================= */
/* 1. EXACT FRONT-PAGE BLUE-GREY BACKGROUND */
html,
body.single-post,
body.single-post .wp-site-blocks,
body.single-post main,
body.single-post .site-main {
	background-color: #CBD9E4 !important;
/* EXACT MATCH */
}

/* 2. REMOVE THE OUTER CARD + DROP SHADOW COMPLETELY */
body.single-post .wp-block-group,
body.single-post .wp-block-group.has-global-padding,
body.single-post .wp-block-group.alignwide,
body.single-post .wp-block-group.alignfull,
body.single-post article.wp-block-post,
body.single-post article.wp-block-post > div,
body.single-post .post-inner,
body.single-post .entry-header {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
}

/* 3. APPLY *ONE* BEAUTIFUL IVORY CARD WITH ROUNDED CORNERS */
body.single-post .wp-block-post-content,
body.single-post .entry-content {
	background-color: #F8F8F2 !important;
/* Ivory card */
	max-width: 900px;
	margin: 50px auto !important;
	padding: 40px 50px !important;
	border-radius: 18px !important;
/* Rounded corners */
	box-shadow: 0 8px 20px rgba(0,0,0,0.08) !important;
	position: relative;
	z-index: 10;
}

/* 4. LUXURY SPACING FOR THE PAGE TITLE */
body.single-post .wp-block-post-title {
	margin-top: 60px !important;
	margin-bottom: 20px !important;
}

/* GLOBAL — BACK TO HOME LINK FOR ALL PAGES */
.back-home a,
a.back-home {
	font-family: 'Merriweather', serif !important;
	color: #000 !important;
	text-decoration: none !important;
	font-size: 16px;
	font-weight: 600;
	display: inline-block;
	margin-top: 40px;
}

/* Hover (optional subtle underline) */
.back-home a:hover,
a.back-home:hover {
	text-decoration: underline !important;
}

/* ==========================================
   GLOBAL BACK TO HOME BUTTON STYLE
   Matches your luxury front page pill buttons
   ========================================== */
.back-home-wrapper {
	text-align: center;
	margin-top: 40px;
}

/* Button style */
.back-home-btn {
	display: inline-block;
	padding: 12px 28px;
	background-color: #0A2A43;
/* navy blue (same as front page buttons) */
	color: #ffffff !important;
	font-family: 'Merriweather', serif !important;
	font-size: 18px;
	font-weight: 600;
	border-radius: 999px;
/* pill shape */
	text-decoration: none !important;
	box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15);
	transition: all .2s ease-in-out;
}

/* Hover state to match your site’s button behavior */
.back-home-btn:hover {
	background-color: #0D3B5A;
/* lighter navy hover */
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.18);
}

/* PAGE BACKGROUND */
.rep-page-wrapper {
	background-color: #A9C8E3;
/* luxury light blue */
	padding: 40px 20px;
}

.rep-page-title {
	text-align: center;
	font-family: 'Merriweather', serif;
	color: #003366;
	font-size: 42px;
	margin-bottom: 40px;
}

/* QUERY LOOP GRID */
.wp-block-query .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	max-width: 1200px;
	margin: 0 auto;
}

/* CARD */
.rep-card {
	background-color: #FFFFFF;
	border-radius: 18px;
	overflow: hidden;
	box-shadow: 0 4px 12px rgba(0,0,0,0.15);
	transition: transform .25s ease, box-shadow .25s ease;
}

.rep-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 6px 18px rgba(0,0,0,0.22);
}

/* IMAGE */
.rep-card img {
	width: 100%;
	height: 220px;
	object-fit: cover;
}

/* CARD BODY */
.rep-card-body {
	padding: 20px;
	text-align: center;
}

.rep-card-body h2,
.wp-block-post-title {
	font-family: 'Merriweather', serif;
	color: #003366;
}

/* Link Style */
a.wp-block-post-title {
	text-decoration: none;
	color: #003366;
}

a.wp-block-post-title:hover {
	color: #004C9B;
}

.case-wrapper {
	background-color: #A9C8E3;
	padding: 60px 20px;
}

.case-title {
	text-align: center;
	font-family: 'Merriweather', serif;
	font-size: 36px;
	color: #003366;
	margin-bottom: 10px;
}

.case-date {
	text-align: center;
	font-family: 'Merriweather', serif;
	color: #003366;
	font-size: 18px;
	margin-bottom: 40px;
}

.case-card {
	background-color: #FFFFFF;
	max-width: 960px;
	margin: 0 auto;
	padding: 40px;
	border-radius: 20px;
	box-shadow: 0 5px 16px rgba(0,0,0,0.18);
	line-height: 1.65;
	font-family: Georgia, serif;
	font-size: 18px;
}

.case-card h3 {
	font-family: 'Merriweather', serif;
	color: #003366;
	margin-top: 32px;
	margin-bottom: 12px;
	font-size: 22px;
}

/* ------------------------------
   LUXURY GRID FOR LATEST POSTS
   Representative Cases Page
--------------------------------*/
/* 3-COLUMN GRID */
.wp-block-latest-posts.is-grid {
	display: grid !important;
	grid-template-columns: repeat(3, 1fr) !important;
	gap: 2rem !important;
	padding: 1rem 0;
}

/* CARD CONTAINER */
.wp-block-latest-posts.is-grid > li {
	background: #ffffff;
	border-radius: 18px;
	padding: 0;
	list-style: none;
	overflow: hidden;
	box-shadow: 0 6px 18px rgba(0,0,0,0.12);
	transition: transform .25s ease, box-shadow .25s ease;
}

/* CARD HOVER */
.wp-block-latest-posts.is-grid > li:hover {
	transform: translateY(-6px);
	box-shadow: 0 10px 26px rgba(0,0,0,0.16);
}

/* FEATURED IMAGE UNIFORM SIZE */
.wp-block-latest-posts__featured-image img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
}

/* TEXT WRAPPER INSIDE CARD */
.wp-block-latest-posts__post-title,
.wp-block-latest-posts__post-excerpt,
.wp-block-latest-posts__post-date {
	padding: 0 1.2rem;
}

/* TITLE STYLE */
.wp-block-latest-posts__post-title {
	font-family: "Merriweather", serif;
	font-weight: 700;
	font-size: 1.05rem;
	line-height: 1.35;
	margin-top: 1rem;
	margin-bottom: .75rem;
}

/* EXCERPT */
.wp-block-latest-posts__post-excerpt {
	font-family: "Georgia", serif;
	color: #444;
	font-size: .95rem;
	margin-bottom: 1rem;
}

/* DATE */
.wp-block-latest-posts__post-date {
	font-family: "Merriweather", serif;
	font-size: .85rem;
	color: #6a6a6a;
	margin-bottom: 1.2rem;
}

/* Remove default bullets */
.wp-block-latest-posts.is-grid {
	list-style: none !important;
}

/* MAKE BACKGROUND BLUE LIKE FRONT PAGE */
body.page-id-3771 {
	background-color: #d4e2ee !important;
}

/* FIX CARD WIDTH — FORCE 3 FULL COLUMNS */
.wp-block-latest-posts.is-grid > li {
	width: 100% !important;
	max-width: none !important;
}

/* Fix grid sizing so columns expand normally */
.wp-block-latest-posts.is-grid {
	grid-template-columns: repeat(3, minmax(280px, 1fr)) !important;
}

/* Center the heading above the grid */
.page h2.wp-block-heading,
.page h1.wp-block-heading {
	text-align: center !important;
}

/* Fix card title spacing + center titles */
.wp-block-latest-posts__post-title {
	padding-left: 1.2rem !important;
	padding-right: 1.2rem !important;
	display: block;
	text-align: center;
	margin-top: 1rem;
	margin-bottom: .75rem;
}

/* Fix card excerpt spacing */
.wp-block-latest-posts__post-excerpt {
	padding-left: 1.2rem !important;
	padding-right: 1.2rem !important;
	text-align: left;
}

/* ===========================================
   MATCH CARD TYPOGRAPHY TO HOMEPAGE CARDS
   Representative Cases Grid
=========================================== */
/* ----- Card Title (Matches Homepage) ----- */
.wp-block-latest-posts__post-title {
	font-family: "Merriweather", serif !important;
	font-weight: 700 !important;
	font-size: 1.35rem !important;
/* Homepage title scale */
	line-height: 1.35 !important;
	margin-top: 1.2rem !important;
	margin-bottom: .9rem !important;
	padding-left: 1.2rem !important;
	padding-right: 1.2rem !important;
	text-align: center !important;
}

/* ----- Excerpt (Matches Homepage Body Text) ----- */
.wp-block-latest-posts__post-excerpt {
	font-family: Georgia, serif !important;
	font-size: 1.1rem !important;
/* Homepage excerpt size */
	line-height: 1.6 !important;
	padding-left: 1.2rem !important;
	padding-right: 1.2rem !important;
	margin-bottom: 1.2rem !important;
	text-align: left !important;
/* Homepage uses left-aligned body text */
}

/* ----- Date (Matches Homepage Subtext) ----- */
.wp-block-latest-posts__post-date {
	font-family: "Merriweather", serif !important;
	font-size: .95rem !important;
/* Same as homepage date */
	color: #6a6a6a !important;
	padding-left: 1.2rem !important;
	padding-right: 1.2rem !important;
	margin-bottom: 1.3rem !important;
	text-align: center !important;
}

/* ----- Ensure uniform spacing in card interior ----- */
.wp-block-latest-posts__post-excerpt,
.wp-block-latest-posts__post-date {
	display: block;
}

/* Brand link color */
--lux-link-blue: #1f4fd8;
--lux-link-blue-hover: #163a9c;
/* ---------------------------------------
   POST CONTENT LINK STYLING
---------------------------------------- */

/* Main body links */
.entry-content a:not(.wp-block-button__link) {
	color: #1f4fd8;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: color .2s ease;
}

/* Hover state */
.entry-content a:not(.wp-block-button__link):hover {
	color: #163a9c;
}

/* Visited links */
.entry-content a:not(.wp-block-button__link):visited {
	color: #3a3a8c;
}

.entry-content a em,
.entry-content a cite {
	font-style: normal;
	font-weight: 700;
}

/* FORCE FULL WIDTH FOR FRAUD CENTER */
.lux-full-width {
	width: 100vw;
	margin-left: calc(-50vw + 50%);
}

/* BACKGROUND */
.lux-bg-blue {
	background-color: var(--lux-blue-soft);
	padding: 80px 0;
}

/* GRID */
.lux-card-grid-2x2 {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 36px;
	margin-top: 48px;
}

/* CARD */
.lux-card {
	background: #fff;
	border-radius: 18px;
	padding: 32px;
	box-shadow: 0 12px 30px rgba(0,0,0,.08);
}

/* CARD CONTENT */
.lux-center-card {
	display: flex;
	flex-direction: column;
}

/* BUTTON ALIGNMENT */
.lux-center-card .lux-button {
	margin-top: auto;
}

/* MOBILE */
@media (max-width: 900px) {
	.lux-card-grid-2x2 {
		grid-template-columns: 1fr;
	}
}

/* ===================================
   FRAUD RESOURCE CENTER – ALIGNMENT FIX
=================================== */
/* Pull content higher on the page */
.lux-full-width {
	padding-top: 40px !important;
}

/* Override theme title container behavior */
.lux-full-width .lux-container {
	display: flex;
	flex-direction: column;
	align-items: center;
}

/* Center title relative to card grid width */
.lux-full-width .lux-page-title {
	width: 100%;
	max-width: 1200px;
	text-align: center !important;
	margin-top: 0;
	margin-bottom: 40px;
}

/* Ensure grid aligns directly under title */
.lux-card-grid-2x2 {
	width: 100%;
	max-width: 1200px;
	margin-top: 0;
}

/* ===================================
   FRAUD RESOURCE CENTER – CARD POLISH
=================================== */
/* Base card outline + transition */
.lux-full-width .lux-card {
	border: 1px solid rgba(0, 0, 0, 0.08);
	transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

/* Subtle hover lift */
.lux-full-width .lux-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.12);
	border-color: rgba(0, 0, 0, 0.18);
}

/* Optional: slightly emphasize clickable text on hover */
.lux-full-width .lux-card:hover h3 {
	color: var(--lux-blue-primary);
}

/* Keep buttons calm (no jumpiness) */
.lux-full-width .lux-card .lux-button {
	transition: color .2s ease;
}

/* ===================================
   FRAUD RESOURCE CENTER – TYPOGRAPHY
   FORCE MERRIWEATHER EVERYWHERE
=================================== */
.lux-full-width,
.lux-full-width * {
	font-family: "Merriweather", Georgia, serif !important;
}

/* Optional fine-tuning for hierarchy */
.lux-full-width h1 {
	font-weight: 700;
}

.lux-full-width h3 {
	font-weight: 700;
}

.lux-full-width p,
.lux-full-width a,
.lux-full-width li {
	font-weight: 400;
}

/* === FORCE QUERY PAGINATION VISIBILITY === */
.wp-block-query-pagination {
	display: flex !important;
	justify-content: center;
	align-items: center;
	gap: 14px;
	margin: 60px auto 40px;
	padding: 0;
	width: 100%;
	clear: both;
	position: relative;
	z-index: 5;
}

/* Pagination links */
.wp-block-query-pagination a,
.wp-block-query-pagination span {
	font-family: "Merriweather", serif;
	font-size: 15px;
	color: #1f3a5f;
	text-decoration: none;
	padding: 8px 14px;
	border-radius: 999px;
	border: 1px solid rgba(31, 58, 95, 0.25);
	transition: all .2s ease;
}

/* Hover */
.wp-block-query-pagination a:hover {
	background: #1f3a5f;
	color: #ffffff;
}

/* Current page */
.wp-block-query-pagination .current {
	background: #1f3a5f;
	color: #ffffff;
	border-color: #1f3a5f;
}

/* Allow pagination to escape grid container */
.wp-block-query {
	overflow: visible !important;
}

.wp-block-post-template {
	overflow: visible !important;
}

.lux-bg-blue {
	background-color: var(--lux-blue-soft);
	padding: 80px 0;
}

.lux-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 24px;
}

.lux-card {
	background: #ffffff;
	border-radius: 18px;
	padding: 28px;
	box-shadow: 0 10px 30px rgba(0,0,0,.08);
}

.lux-card-grid {
	display: grid;
	gap: 28px;
}

.lux-card-grid-4 {
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.lux-resource-card {
	background: #ffffff;
	border-radius: 16px;
	padding: 24px;
	margin-bottom: 22px;
}

.lux-resource-meta {
	font-size: 13px;
	color: #666;
	margin: 8px 0 12px;
}

.lux-text-link {
	color: var(--lux-blue-primary);
	font-weight: 600;
}

/* ===================================
   FRAUD RESOURCE CARDS – MATCH FRONT PAGE
=================================== */
.lux-resource-card {
	background: #fffdf7;
/* same ivory tone */
	border-radius: 18px;
	padding: 26px;
	box-shadow: 0 10px 28px rgba(0,0,0,0.08);
	display: flex;
	flex-direction: column;
	height: 100%;
}

/* Title spacing */
.lux-resource-card h3,
.lux-resource-card h2 {
	margin-top: 0;
	margin-bottom: 12px;
}

/* Push link to bottom */
.lux-resource-card .wp-block-read-more {
	margin-top: auto;
	font-weight: 600;
}

/* Hover polish */
.lux-resource-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
	transition: all .25s ease;
}

/* ===================================
   FRAUD RESOURCE QUERY LOOP FIX
=================================== */
/* Ensure grid items can expand */
.wp-block-post-template {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

/* Ensure cards fill grid cells */
.lux-resource-card {
	width: 100%;
	max-width: none;
	box-sizing: border-box;
}

/* Prevent word-stacking / narrow columns */
.wp-block-query .wp-block-post {
	min-width: 0;
}

/* ===================================
   FRAUD RESOURCE CARD – INTERACTIONS
=================================== */
/* Make cards equal height */
.wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.lux-resource-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	position: relative;
}

/* Push "View Resource" to bottom */
.lux-resource-card .wp-block-read-more {
	margin-top: auto;
	padding-top: 16px;
	font-weight: 600;
}

/* Make entire card clickable */
.lux-resource-card::after {
	content: "";
	position: absolute;
	z-index: 1;
}

/* Ensure links sit above overlay */
.lux-resource-card a {
	position: relative;
	z-index: 2;
}

/* Hover effect for whole card */
.lux-resource-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
	transition: all .25s ease;
}

/* ===================================
   FEATURED IMAGE HOVER ZOOM
=================================== */
.lux-resource-card .wp-block-post-featured-image {
	overflow: hidden;
	border-radius: 14px;
}

.lux-resource-card .wp-block-post-featured-image img {
	transition: transform .4s ease;
}

.lux-resource-card:hover
.wp-block-post-featured-image img {
	transform: scale(1.05);
}

.lux-resource-card:hover h2,
.lux-resource-card:hover h3 {
	color: #1c3557;
/* your navy */
}

/* ================================
   FRONT PAGE – TIGHTEN HERO → RESULTS GAP
================================ */
/* Pull section up closer to buttons */
.front-page-results-section {
	margin-top: 40px !important;
	padding-top: 0 !important;
}

/* Reduce extra spacing on the heading itself */
.front-page-results-section h2,
.front-page-results-section h3 {
	margin-top: 0;
}

/* Level 1 Fraud Resource Center cards */
.lux-hub-card {
	background: #fffdf7;
/* ivory */
	border-radius: 18px;
	padding: 26px;
	box-shadow: 0 10px 28px rgba(0,0,0,0.08);
	border: 1px solid rgba(0,0,0,0.06);
	height: 100%;
}

.lux-hub-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(0,0,0,0.12);
	transition: all .25s ease;
}

/* spacing between hub card rows */
.wp-block-columns {
	gap: 32px;
	margin-bottom: 32px;
}

/* ===================================
   FRAUD RESOURCE CENTER – LEVEL 1 CARDS
   HARD OVERRIDE (THEME-SAFE)
=================================== */
/* Outer card */
.wp-block-group.lux-hub-card {
	background-color: #fffdf7 !important;
/* ivory */
	border-radius: 20px;
	border: 1px solid rgba(0,0,0,0.10);
	box-shadow: 0 12px 30px rgba(0,0,0,0.10);
	height: 100%;
	display: flex;
}

/* Inner padding wrapper */
.wp-block-group.lux-hub-card-inner {
	padding: 34px 36px !important;
/* real breathing room */
	display: flex;
	flex-direction: column;
	width: 100%;
	box-sizing: border-box;
}

/* Prevent theme from collapsing margins */
.wp-block-group.lux-hub-card-inner > * {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Title spacing */
.wp-block-group.lux-hub-card-inner h3 {
	margin-top: 0;
	margin-bottom: 14px;
}

/* Body text spacing */
.wp-block-group.lux-hub-card-inner p {
	line-height: 1.6;
}

/* Anchor "Explore Resources" to bottom */
.wp-block-group.lux-hub-card-inner p:last-child {
	margin-top: auto;
	padding-top: 18px;
	font-weight: 600;
}

/* Hover polish */
.wp-block-group.lux-hub-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 20px 42px rgba(0,0,0,0.14);
	transition: all .25s ease;
}

.wp-block-columns {
	gap: 36px;
	margin-bottom: 36px;
}

/* ===================================
   FRAUD RESOURCE CENTER – INNER TEXT INSET
=================================== */
/* Force consistent inner padding for all content */
.wp-block-group.lux-hub-card {
	padding: 0 !important;
/* outer card handled separately */
}

/* Inner content spacing (text inset) */
.wp-block-group.lux-hub-card > * {
	padding-left: 36px !important;
	padding-right: 36px !important;
}

/* Top padding for first element */
.wp-block-group.lux-hub-card > :first-child {
	padding-top: 32px !important;
}

/* Bottom padding for last element ("Explore Resources") */
.wp-block-group.lux-hub-card > :last-child {
	padding-bottom: 32px !important;
}

/* Prevent paragraph margin collapse */
.wp-block-group.lux-hub-card p {
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Fraud Resource Center – FINAL Card Fix */
.fraud-card {
	background-color: #fbf8f2;
/* ivory */
	border-radius: 18px;
	box-shadow: 0 8px 28px rgba(0,0,0,0.06);
	overflow: hidden;
}

/* THIS is the critical fix */
.fraud-card .wp-block-group__inner-container {
	padding: 32px 34px 34px !important;
}

/* Typography spacing safety */
.fraud-card h2,
.fraud-card h3 {
	margin-top: 0;
}

.fraud-card p {
	margin-left: 0;
	margin-right: 0;
}

/* Explore Resources spacing */
.fraud-card a {
	display: inline-block;
	margin-top: 14px;
}

.fraud-card {
	word-break: normal;
	overflow-wrap: normal;
	hyphens: none;
}

/* ===============================
   FRAUD RESOURCE CENTER – CARD SIZE
================================ */
.fraud-card {
	max-width: 400px;
/* controls card width */
	min-height: 320px;
/* creates square/portrait feel */
	margin: 0 auto;
/* centers card inside column */
	display: flex;
	flex-direction: column;
}

.fraud-card a {
	margin-top: auto;
}

/* =========================================
   Fraud Resource Center – 2x2 hub cards
   (WordPress.com-safe overrides)
========================================= */
/* Make the two columns behave like a card row with consistent spacing */
.fraud-hub-row {
	gap: 32px !important;
	align-items: stretch !important;
}

/* Force the card look + constrain width */
.fraud-hub-row .fraud-hub-card {
	background: #fbf8f2 !important;
/* ivory */
	border: 1px solid rgba(20, 45, 75, 0.18) !important;
	border-radius: 18px !important;
	box-shadow: 0 10px 28px rgba(0,0,0,0.10) !important;
	padding: 30px 32px !important;
/* width control inside Columns */
	width: min(420px, 100%) !important;
	max-width: 420px !important;
	margin: 0 auto !important;
/* “square” feel (without breaking text) */
	min-height: 420px !important;
	display: flex !important;
	flex-direction: column !important;
}

/* Keep “Explore Resources” pinned toward the bottom */
.fraud-hub-row .fraud-hub-card a,
.fraud-hub-row .fraud-hub-card .wp-block-button,
.fraud-hub-row .fraud-hub-card p:last-child {
	margin-top: auto !important;
}

/* Mobile: allow height to grow naturally */
@media (max-width: 720px) {
	.fraud-hub-row .fraud-hub-card {
		min-height: 0 !important;
		width: 100% !important;
		max-width: 560px !important;
	}
}

/* FRAUD RESOURCE CENTER – CARD SYSTEM */
.fraud-hub-card {
	background: #fffaf2;
/* ivory */
	border-radius: 18px;
	padding: 28px 30px 30px;
	max-width: 420px;
	min-height: 320px;
	box-shadow: 0 12px 30px rgba(0,0,0,0.08);
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* Headings inside cards */
.fraud-hub-card h2,
.fraud-hub-card h3 {
	margin-top: 0;
}

/* Paragraph spacing */
.fraud-hub-card p {
	margin-left: 0;
	margin-right: 0;
}

/* Explore Resources link */
.fraud-hub-card a {
	margin-top: auto;
	font-weight: 600;
}

.wp-site-blocks {
	background-color: #e6eef6;
/* your luxury light blue */
	width: 100%;
	max-width: none;
	margin: 0;
	padding-left: 0;
	padding-right: 0;
}

/* ONLY intentional ivory cards */
.nycl-content-card,
.lux-card,
.lux-resource-card,
.fraud-card,
.front-case-card,
.nycl-case-card {
	background-color: #f8f6f1;
	border-radius: 18px;
	box-shadow: 0 12px 28px rgba(0,0,0,0.06);
}

.wp-block-post {
	padding: 22px;
}

.wp-block-post-title,
.wp-block-post-excerpt {
	text-align: center;
	padding-left: 12px;
	padding-right: 12px;
}

.wp-block-post-featured-image img {
	border-radius: 14px;
	object-fit: cover;
}

.wp-block-post-template {
	gap: 28px;
}

/* REMOVE OUTER IVORY WRAPPER */
.entry-content > .wp-block-group,
.entry-content > .wp-block-columns {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	max-width: none !important;
}

/* INDIVIDUAL IVORY CARDS */
.wp-block-column > .wp-block-group {
	background-color: #f8f6f1;
	border-radius: 22px;
	padding: 36px 34px;
	box-shadow: 0 14px 30px rgba(0,0,0,0.08);
	height: 100%;
}

.wp-block-column > .wp-block-group * {
	box-sizing: border-box;
}

.wp-block-column > .wp-block-group p,
.wp-block-column > .wp-block-group h2,
.wp-block-column > .wp-block-group h3 {
	margin-right: 0;
	max-width: 100%;
}

/* ALL FRAUD RESOURCE CARDS */
.wp-block-columns .wp-block-column {
	background-color: #f8f6f1;
	border-radius: 22px;
	padding: 36px 34px;
	box-shadow: 0 14px 30px rgba(0,0,0,0.08);
}

.wp-block-column .wp-block-group {
	background: transparent;
	padding: 0;
	box-shadow: none;
}

/* PREVENT TEXT FROM TOUCHING CARD EDGES */
.wp-block-column > * {
	max-width: 100%;
	box-sizing: border-box;
}

.wp-block-column p,
.wp-block-column h2,
.wp-block-column h3 {
	margin-left: 0;
	margin-right: 0;
}

.wp-block-column a {
	display: inline-block;
	margin-top: 28px;
}

/* THE COLUMN IS THE CARD */
.wp-block-columns .wp-block-column {
	background-color: #f8f6f1;
	border-radius: 22px;
	padding: 36px 34px;
	box-shadow: 0 14px 30px rgba(0,0,0,0.08);
	position: relative;
}

/* INNER GROUPS ARE CONTENT ONLY */
.wp-block-column .wp-block-group {
	background: transparent !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.wp-block-column * {
	box-sizing: border-box;
	max-width: 100%;
}

.wp-block-column h2,
.wp-block-column h3,
.wp-block-column p {
	margin-left: 0;
	margin-right: 0;
}

/* REMOVE UNWANTED INNER BORDERS */
.wp-block-column .wp-block-group,
.wp-block-column .wp-block-group * {
	border: none !important;
	outline: none !important;
}

/* FORCE TEXT TO RESPECT CARD PADDING */
.wp-block-column > * {
	box-sizing: border-box;
	max-width: 100%;
	padding-right: 0;
}

.wp-block-column p,
.wp-block-column h2,
.wp-block-column h3 {
	padding-right: 0;
}

.wp-block-column .wp-block-group {
	max-width: 100%;
}

/* CARD VERTICAL LAYOUT */
.wp-block-columns .wp-block-column {
	display: flex;
	flex-direction: column;
}

/* Keep headings at the top */
.wp-block-column h2,
.wp-block-column h3 {
	margin-top: 0;
}

/* Push description text toward the vertical middle */
.wp-block-column p {
	margin-top: auto;
	margin-bottom: auto;
}

/* Keep "Explore Resources" at the bottom */
.wp-block-column a {
	margin-top: auto;
}

/* ==========================================
   FORCE FRONT PAGE GRID INTO ITS OWN CONTEXT
   ========================================== */
.front-page .wp-block-query {
	display: block;
	max-width: 1200px;
	margin: 0 auto 100px;
}

.front-page .wp-block-post-template {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 48px;
}

.front-page .wp-block-post {
	display: block;
	background: #ffffff;
	border-radius: 20px;
	box-shadow: 0 10px 30px rgba(0,0,0,0.06);
	overflow: hidden;
}

/* TEMP FIX: remove any red top rule/line above posts */
article, .wp-block-post, .post, .entry, .hentry {
	border-top: 0 !important;
}

article::before, .wp-block-post::before, .post::before, .entry::before, .hentry::before,
article::after,  .wp-block-post::after,  .post::after,  .entry::after,  .hentry::after {
	background: transparent !important;
	border-top: 0 !important;
	box-shadow: none !important;
	outline: none !important;
}

footer .footer-widgets,
footer .footer-widgets * {
	background: transparent !important;
}

/* Remove surface background from footer-adjacent constrained group */
.wp-site-blocks
  > .wp-block-group
  .wp-block-group.has-global-padding.is-layout-constrained {
	background-color: transparent !important;
}

/* Remove the ivory surface from the embedded template-part strip above the sticky footer */
.alignfull.wp-block-template-part .wp-block-group.has-global-padding.is-layout-constrained {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
}

/* Also remove background from the template-part wrapper itself (sometimes it carries the surface) */
.alignfull.wp-block-template-part {
	background: transparent !important;
	background-color: transparent !important;
	background-image: none !important;
}

/* Footer transition cleanup */
.wp-block-template-part,
.wp-block-template-part .wp-block-group,
.wp-block-template-part .wp-block-columns {
	background: transparent !important;
	box-shadow: none !important;
}

/* HARD STOP: no cards near footer */
.wp-block-template-part,
.wp-block-template-part *,
footer,
footer * {
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/************************************************************
 NYCL – STRUCTURAL CSS FIX
 PURPOSE:
 • Remove unintended ivory cards above footer
 • Prevent wp-block-group bleed
 • Preserve intentional card components only
************************************************************/
/* =========================================================
   1. GLOBAL SAFETY RESET (STRUCTURAL BLOCKS)
   DO NOT STYLE WORDPRESS PRIMITIVES
========================================================= */
.wp-block-group,
.wp-block-columns,
.wp-block-column {
	background: transparent;
	box-shadow: none;
	border-radius: 0;
}

/* =========================================================
   2. PAGE BACKGROUNDS (ONE SOURCE OF TRUTH)
========================================================= */
/* Default site background */
html,
body,
.wp-site-blocks {
	background-color: #e7ecf5;
}

/* Single posts */
body.single-post {
	background-color: #CBD9E4;
}

/* =========================================================
   3. INTENTIONAL CARD SYSTEM (ONLY THESE GET IVORY)
========================================================= */
/* Base luxury card */
.card,
.nycl-content-card,
.mega-card,
.lux-card,
.lux-resource-card,
.fraud-card,
.front-case-card,
.nycl-case-card,
.rep-card,
.case-card {
	background-color: #f8f6f1;
	border-radius: 18px;
	box-shadow: 0 12px 28px rgba(0,0,0,0.08);
}

/* Card padding variants */
.card--tight {
	padding: 24px;
}

.card--normal {
	padding: 32px;
}

.card--spacious {
	padding: 40px;
}

/* =========================================================
   4. SINGLE POST – ONE IVORY CARD ONLY
========================================================= */
/* Kill ALL outer wrappers */
body.single-post .wp-block-group,
body.single-post .wp-block-columns,
body.single-post article,
body.single-post .entry-header {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* The ONE true content card */
body.single-post .wp-block-post-content,
body.single-post .entry-content {
	background-color: #F8F8F2 !important;
	max-width: 900px;
	margin: 50px auto !important;
	padding: 40px 50px !important;
	border-radius: 18px !important;
	box-shadow: 0 8px 22px rgba(0,0,0,0.10) !important;
	position: relative;
	z-index: 10;
}

/* Ensure nested blocks don’t create cards */
body.single-post .wp-block-post-content .wp-block-group,
body.single-post .wp-block-post-content .wp-block-columns {
	background: transparent !important;
	box-shadow: none !important;
	padding: initial !important;
}

/* =========================================================
   5. QUERY / PAGINATION – NEVER A CARD
========================================================= */
.wp-block-query,
.wp-block-query-pagination,
.wp-block-query-pagination * {
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* =========================================================
   6. FOOTER + TRANSITION ZONE (HARD LOCK)
========================================================= */
/* Footer container */
footer,
footer *,
.wp-block-template-part,
.wp-block-template-part *,
.alignfull.wp-block-template-part {
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 0 !important;
}

/* Restore footer background intentionally */
footer.wp-block-template-part {
	background-color: var(--nycl-navy-deep) !important;
}

/* =========================================================
   7. GRID CARDS (SAFE + SCOPED)
========================================================= */
/* Representative / Query cards */
.wp-block-query .wp-block-post,
.wp-block-latest-posts.is-grid > li {
	background: #ffffff;
	border-radius: 18px;
	box-shadow: 0 10px 26px rgba(0,0,0,0.08);
	overflow: hidden;
}

/* =========================================================
   8. REMOVE LEGACY GLOBAL CARD RULES (FINAL KILL SWITCH)
========================================================= */
/* NEVER allow direct children of entry-content to auto-card */
.entry-content > .wp-block-group,
.entry-content > .wp-block-columns {
	background: transparent !important;
	box-shadow: none !important;
	padding: 0 !important;
	margin: 0 !important;
	max-width: none !important;
}

/* =========================================================
   9. BACK TO TOP / STICKY ELEMENTS (SAFE)
========================================================= */
#nycl-disclaimer,
.back-to-top,
.lux-top-btn {
	z-index: 2147483647;
}

/************************************************************
 END FIX – SITE IS NOW STABLE
************************************************************/
/* === Topic Grid Wrapper === */
.nycl-topic-grid {
	max-width: 1200px;
	margin: 4rem auto;
	padding: 0 1.25rem;
}

.nycl-topic-heading {
	text-align: center;
	font-size: 2rem;
	margin-bottom: .5rem;
}

.nycl-topic-subhead {
	text-align: center;
	max-width: 760px;
	margin: 0 auto 2.5rem;
	color: #555;
	line-height: 1.6;
}

/* === Grid Layout === */
.nycl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 1.5rem;
}

/* === Card Styling === */
.nycl-card {
	display: block;
	background: #f7f4ee;
/* soft ivory */
	padding: 1.75rem 1.75rem 2rem;
	border-radius: 14px;
	text-decoration: none;
	color: inherit;
	transition: transform .2s ease, box-shadow .2s ease;
	border: 1px solid rgba(0,0,0,0.06);
}

.nycl-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 10px 28px rgba(0,0,0,0.08);
}

/* Title */
.nycl-card h3 {
	margin: 0 0 .6rem;
	font-size: 1.15rem;
	line-height: 1.3;
}

/* Description */
.nycl-card p {
	margin: 0;
	font-size: .95rem;
	line-height: 1.55;
	color: #444;
}

/* Mobile spacing */
@media (max-width: 600px) {
	.nycl-topic-heading {
		font-size: 1.6rem;
	}
}

/* Force Merriweather inside topic cards */
.nycl-card,
.nycl-card h3,
.nycl-card p {
	font-family: "Merriweather", Georgia, serif !important;
}

/* Center single last card in grid */
.nycl-grid > .nycl-card:last-child {
	grid-column: 1 / -1;
	max-width: 360px;
	justify-self: center;
}

/* Match Explore Topics cards to post card style */
.nycl-card {
	background: #ffffff !important;
	border-radius: 18px;
	border: 1px solid rgba(0, 0, 0, 0.06);
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.08);
	transition: transform .2s ease, box-shadow .2s ease;
}

.nycl-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 36px rgba(0, 0, 0, 0.12);
}

.nycl-card h3 {
	margin-bottom: .5rem;
}

.nycl-card p {
	color: #555;
	line-height: 1.55;
}

/* ======================================================
   FORCE HUB INTRO INTO CENTERED CARD
   ====================================================== */
/* Outer container */
.nycl-hub {
	width: 100%;
	margin: 0 auto;
}

/* Inner intro card */
.nycl-hub .hub-intro-card {
	display: block;
	max-width: 1100px;
	margin: 3rem auto 3.5rem !important;
	padding: 2.5rem 3rem;
	background: #f7f4ee;
	border-radius: 22px;
	border: 1px solid rgba(0,0,0,0.08);
	box-shadow: 0 14px 36px rgba(0,0,0,0.10);
/* THIS forces it to stop behaving like inline content */
	position: relative;
}

/* Remove theme width constraints inside */
.nycl-hub .hub-intro-card > * {
	max-width: 100% !important;
}

/* Typography */
.nycl-hub .hub-intro-card h2,
.nycl-hub .hub-intro-card h3 {
	font-family: "Merriweather", Georgia, serif;
	margin-top: 0;
}

.nycl-hub .hub-intro-card p,
.nycl-hub .hub-intro-card li {
	font-family: "Merriweather", Georgia, serif;
	font-size: 1.05rem;
	line-height: 1.65;
	color: #222;
}

/* Remove thin divider line effect */
.nycl-hub .hub-intro-card hr {
	display: none;
}

/* =========================================================
   NYCL HUB — FINAL LAYOUT FIX
   ========================================================= */
/* Overall hub container */
.nycl-hub {
	width: 100%;
	margin: 0 auto;
	padding: 0 1.25rem;
}

/* ---------------------------------------------------------
   INTRO CARD (IVORY, CENTERED, NARROWER)
   --------------------------------------------------------- */
.nycl-hub .hub-intro-card {
	max-width: 900px;
/* NARROW like post cards */
	margin: 3rem auto 4rem;
/* space below before grid */
	padding: 2.5rem 3rem;
	background-color: #fbf8f2 !important;
	border-radius: 22px;
	border: 1px solid rgba(0,0,0,0.08);
	box-shadow: 0 14px 32px rgba(0,0,0,0.10);
	position: relative;
	display: block;
}

/* Remove theme width constraints inside */
.nycl-hub .hub-intro-card * {
	max-width: 100% !important;
}

/* Typography */
.nycl-hub .hub-intro-card p,
.nycl-hub .hub-intro-card li {
	font-family: "Merriweather", Georgia, serif;
	font-size: 1.05rem;
	line-height: 1.65;
	color: #1f2933;
}

.nycl-hub .hub-intro-card h2,
.nycl-hub .hub-intro-card h3 {
	font-family: "Merriweather", Georgia, serif;
	margin-top: 0;
}

/* Remove unwanted horizontal divider look */
.nycl-hub .hub-intro-card hr {
	display: none !important;
}

/* ---------------------------------------------------------
   POST GRID SPACING
   --------------------------------------------------------- */
.nycl-hub .wp-block-query {
	max-width: 1200px;
	margin: 0 auto 4rem;
}

/* Grid layout */
.nycl-hub .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(280px, 1fr));
	gap: 2rem;
	padding: 0;
	margin: 0;
	list-style: none;
}

/* ======================================
   IVORY INTRO CARD – FINAL TUNING
====================================== */
.hub-intro-card {
	max-width: 760px;
/* NARROWER – matches case summary card */
	margin: 3rem auto 5rem;
/* space above + MORE space below */
	padding: 3rem 3.5rem;
/* generous inner padding */
	background-color: #fbf8f2;
	border-radius: 24px;
	border: 1px solid rgba(0,0,0,0.08);
	box-shadow: 0 14px 32px rgba(0,0,0,0.12);
}

/* Ensure text never hugs edges */
.hub-intro-card p,
.hub-intro-card li {
	margin-left: 0;
	margin-right: 0;
}

/* Tighten heading spacing slightly */
.hub-intro-card h3 {
	margin-top: 2rem;
}

@media (max-width: 640px) {
	.hub-intro-card {
		max-width: 92%;
		padding: 2rem 1.75rem;
		margin-bottom: 3.5rem;
	}
}

/* ======================================
   SPACE BEFORE POST GRID
====================================== */
.hub-post-grid {
	margin-top: 0;
/* reset */
}

.hub-post-grid .wp-block-query {
	margin-top: 0;
	padding-top: 0;
}

/* Force visual separation between ivory and white cards */
.hub-post-grid {
	padding-top: 2rem;
}

/* ===============================
   POST GRID — SEPARATE SECTION
================================ */
.hub-post-grid {
	max-width: 1200px;
	margin: 0 auto 5rem;
}

.hub-post-grid .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(280px, 1fr));
	gap: 2rem;
	list-style: none;
	padding: 0;
	margin: 0;
}

.hub-post-grid .wp-block-post {
	background: #ffffff;
	border-radius: 22px;
	border: 1px solid rgba(0,0,0,0.08);
	box-shadow: 0 12px 32px rgba(0,0,0,0.10);
	overflow: hidden;
}

.hub-post-grid .wp-block-post-featured-image img {
	width: 100%;
	height: 220px;
	object-fit: cover;
	display: block;
}

.hub-post-grid .wp-block-post-title {
	padding: 1.4rem 1.4rem .5rem;
}

.hub-post-grid .wp-block-post-date {
	padding: 0 1.4rem 1.4rem;
	opacity: .75;
}

/* Responsive */
@media (max-width: 980px) {
	.hub-post-grid .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 640px) {
	.hub-post-grid .wp-block-post-template {
		grid-template-columns: 1fr;
	}
}

/* =========================================================
   HARD OVERRIDES — NARROW IVORY + SQUARE FRONT-PAGE CARDS
   ========================================================= */
/* 1) IVORY INTRO CARD: FORCE NARROW WIDTH */
.hub-intro-card {
	width: min(720px, 92%) !important;
/* NARROWER (matches post card feel) */
	max-width: 720px !important;
	margin: 3rem auto 4rem !important;
	padding: 2.75rem 3.25rem !important;
	background: #fbf8f2 !important;
	border-radius: 24px !important;
	border: 1px solid rgba(0,0,0,0.08) !important;
	box-shadow: 0 14px 32px rgba(0,0,0,0.12) !important;
}

/* Ensure inner blocks don't stretch weirdly */
.hub-intro-card > * {
	max-width: 100% !important;
}

/* 2) SPACE BETWEEN INTRO AND GRID */
.hub-post-grid {
	margin-top: 0 !important;
	padding-top: 2.5rem !important;
/* clear separation */
}

/* 3) GRID: FORCE 3-COLUMN LAYOUT LIKE FRONT PAGE */
.hub-post-grid .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(300px, 1fr)) !important;
	gap: 2rem !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* 4) POST CARD: SQUARE/CONSISTENT LIKE FRONT PAGE */
.hub-post-grid .wp-block-post {
	background: #ffffff !important;
	border-radius: 22px !important;
	border: 1px solid rgba(0,0,0,0.08) !important;
	box-shadow: 0 12px 32px rgba(0,0,0,0.10) !important;
	overflow: hidden !important;
/* this helps keep the “square-ish” feel */
	display: flex !important;
	flex-direction: column !important;
}

/* Featured image: lock to a consistent height */
.hub-post-grid .wp-block-post-featured-image {
	margin: 0 !important;
}

.hub-post-grid .wp-block-post-featured-image img {
	width: 100% !important;
	height: 230px !important;
/* adjust to match your front page */
	object-fit: cover !important;
	display: block !important;
	border-radius: 18px !important;
}

/* Title / meta spacing (front-page look) */
.hub-post-grid .wp-block-post-title {
	padding: 1.4rem 1.4rem .6rem !important;
	margin: 0 !important;
}

.hub-post-grid .wp-block-post-date {
	padding: 0 1.4rem 1.4rem !important;
	margin-top: auto !important;
/* pushes date toward bottom */
	opacity: .75 !important;
}

/* Responsive */
@media (max-width: 1000px) {
	.hub-post-grid .wp-block-post-template {
		grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
	}
}

@media (max-width: 640px) {
	.hub-intro-card {
		width: 94% !important;
		padding: 2rem 1.5rem !important;
	}
	
	.hub-post-grid .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
	
	.hub-post-grid .wp-block-post-featured-image img {
		height: 210px !important;
	}
}

/* NARROW IVORY CARD + BETTER INNER PADDING */
.hub-intro-card {
	max-width: 760px !important;
	margin: 2.5rem auto 4rem !important;
	padding: 44px 48px !important;
	background: #fbf8f2 !important;
	border-radius: 22px !important;
}

/* SPACE BETWEEN INTRO + POST GRID */
.hub-post-grid {
	margin-top: 2.5rem !important;
}

/* FRONT-PAGE STYLE GRID */
.hub-post-grid .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(280px, 1fr)) !important;
	gap: 2rem !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* SQUARE CARD BEHAVIOR */
.hub-post-grid .wp-block-post {
	background: #fff !important;
	border-radius: 22px !important;
	overflow: hidden !important;
}

/* FORCE FEATURED IMAGE TO BE SQUARE */
.hub-post-grid .wp-block-post-featured-image {
	margin: 0 !important;
}

.hub-post-grid .wp-block-post-featured-image img {
	width: 100% !important;
	aspect-ratio: 1 / 1 !important;
/* SQUARE */
	height: auto !important;
	object-fit: cover !important;
	display: block !important;
}

/* TITLE/DATA SPACING */
.hub-post-grid .wp-block-post-title {
	padding: 1.2rem 1.4rem .5rem !important;
	margin: 0 !important;
}

.hub-post-grid .wp-block-post-date {
	padding: 0 1.4rem 1.2rem !important;
	opacity: .75 !important;
}

/* Responsive */
@media (max-width: 980px) {
	.hub-post-grid .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 640px) {
	.hub-post-grid .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

/* =========================================
   FORCE A REAL CENTERED CONTENT COLUMN
   ========================================= */
.hub-page-wrapper {
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	width: 100% !important;
}

/* =========================================
   IVORY INTRO CARD (MATCH POST WIDTH)
   ========================================= */
.hub-intro-card {
	width: 100% !important;
	max-width: 760px !important;
/* NARROW LIKE POST CARD */
	background: #fbf8f2 !important;
	padding: 48px 52px !important;
/* TEXT NOT NEAR EDGE */
	border-radius: 22px !important;
	margin: 2.5rem auto 4rem !important;
	box-sizing: border-box !important;
}

/* =========================================
   SPACE BETWEEN INTRO + POSTS
   ========================================= */
.hub-post-grid {
	width: 100% !important;
	max-width: 1200px !important;
	margin-top: 3rem !important;
}

/* =========================================
   FRONT-PAGE STYLE CARD GRID
   ========================================= */
.hub-post-grid .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(300px, 1fr)) !important;
	gap: 2.25rem !important;
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* =========================================
   RESPONSIVE
   ========================================= */
@media (max-width: 980px) {
	.hub-post-grid .wp-block-post-template {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 640px) {
	.hub-post-grid .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

.wp-block-group.nycl-hub-intro-card,
.nycl-hub-intro-card.wp-block-group {
	background: #fdfaf6 !important;
	border: 0 !important;
	border-radius: 18px !important;
	padding: 56px !important;
	box-shadow: 0 14px 34px rgba(0,0,0,.08) !important;
}

/* Site footer template part */
.wp-block-template-part[data-area="footer"],
.wp-block-template-part[data-area="footer"] * {
	background-color: #002855 !important;
}

/* Common “sticky bar” patterns (Group set to position: sticky/fixed) */
.wp-block-group[style*="position:sticky"],
.wp-block-group[style*="position: sticky"],
.wp-block-group[style*="position:fixed"],
.wp-block-group[style*="position: fixed"] {
	background-color: #002855 !important;
	color: #fdfaf6 !important;
}

/* ======================================
   FRONT PAGE — PULL EXPLORE TOPICS DOWN
   ====================================== */
.nycl-frontpage-heading {
	margin-bottom: 8px !important;
}