/* ============================================================
   patterns.css — Editorial CSS for 8 home patterns
   Plan 02-03 deliverable. All colors via var(--color-*) /
   var(--wp--preset--color--*). Spacing via var(--space-*).
   Vanilla CSS only — no Sass, no @import, no JS dependencies.
   ============================================================ */

/* ============================================================
   0. ATOMS — eyebrow, gold dot, accent, generic h2, buttons, lede
   ============================================================ */

.lcc-eyebrow {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 13px;
	line-height: 1;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-primary);
	margin: 0 0 var(--space-4);
}
.lcc-eyebrow--on-dark {
	color: var(--color-accent);
}

.lcc-gold-dot {
	color: var(--color-accent);
}

.lcc-accent {
	color: var(--color-accent);
}

.lcc-section__h2 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(28px, 6vw, 64px);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: var(--color-primary-ink);
	margin: 0 0 var(--space-6);
	overflow-wrap: anywhere;
	hyphens: auto;
}

.lcc-lede {
	font-family: var(--font-body);
	font-weight: 400;
	font-size: clamp(16px, 1.4vw, 18px);
	line-height: 1.6;
	color: var(--color-ink-2);
	max-width: 60ch;
	margin: 0 0 var(--space-6);
}

.lcc-tagline {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.55;
	color: var(--color-ink-3);
	margin-top: var(--space-6);
	max-width: 70ch;
}

/* Button pill — primary / ghost variants */
.lcc-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 24px;
	min-height: 44px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: var(--radius-pill);
	border: 1px solid transparent;
	transition: background var(--t-base), color var(--t-base), border-color var(--t-base), transform var(--t-base);
	cursor: pointer;
	white-space: nowrap;
}
.lcc-btn--primary {
	background: var(--color-primary);
	color: #FFFFFF;
}
.lcc-btn--primary:hover,
.lcc-btn--primary:focus-visible {
	background: var(--color-primary-deep);
	transform: translateY(-1px);
}
.lcc-btn--ghost {
	background: transparent;
	border-color: var(--color-primary);
	color: var(--color-primary);
}
.lcc-btn--ghost:hover,
.lcc-btn--ghost:focus-visible {
	background: var(--color-primary-tint);
}

/* Stat row — shared across hero + pullquote */
.lcc-stat-row {
	display: flex;
	gap: 32px;
	align-items: baseline;
	padding: 24px 0;
	border-top: 1px solid var(--color-line);
	border-bottom: 1px solid var(--color-line);
	margin: var(--space-7) 0 var(--space-6);
}
.lcc-stat-row--accent {
	border-top-color: var(--color-accent-soft);
	border-bottom-color: var(--color-accent-soft);
	justify-content: space-between;
}
.lcc-stat {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
.lcc-stat__num {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--color-primary);
	white-space: nowrap;
}
.lcc-stat__sup {
	font-size: 0.55em;
	color: var(--color-accent);
	margin-left: 1px;
}
.lcc-stat__label {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-ink-3);
}
.lcc-stat-row__hr {
	display: inline-block;
	width: 1px;
	height: 100px;
	background: var(--color-accent);
	align-self: center;
	flex-shrink: 0;
}

/* ============================================================
   1. HERO — Sezione 1
   ============================================================ */

/* Hero usa padding logico: lati ereditano global padding via theme.json
   (clamp(20px,4vw,48px)). Solo top/bottom esplicito qui. */
.lcc-hero {
	padding-top: 56px;
	padding-bottom: 120px;
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
	background: var(--color-bg);
}
/* Override WP `is-layout-flex` class with stronger specificity:
 * WP block markup is rendered with `class="wp-block-group lcc-hero__grid is-layout-flex"`.
 * Plain `.lcc-hero__grid { display: grid }` loses to the WP `.is-layout-flex { display: flex }`
 * because WP injects its own `wp-container-...-is-layout-XXXX` class with higher specificity
 * via inline <style>. We override with a compound selector and grid override.
 */
.lcc-hero .lcc-hero__grid,
.wp-block-group.lcc-hero__grid.is-layout-flex {
	display: grid !important;
	grid-template-columns: 1.05fr 0.95fr;
	gap: 64px;
	align-items: center;
	width: 100%;
	max-width: var(--container-max, 1200px);
	margin-left: auto;
	margin-right: auto;
}
.lcc-hero__col-left {
	display: flex;
	flex-direction: column;
}
.lcc-hero__h1 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(48px, 9vw, 128px);
	line-height: 1.02;
	letter-spacing: -0.025em;
	color: var(--color-text);
	margin: 0 0 var(--space-4);
	overflow-wrap: anywhere;
	hyphens: auto;
}
.lcc-hero__role {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: clamp(18px, 1.6vw, 22px);
	line-height: 1.35;
	color: var(--color-primary);
	margin: 0 0 var(--space-6);
}
.lcc-hero__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: var(--space-6);
}

/* Hero portrait frame.
 * col-right is a grid item from the parent grid. We use block flow inside so the
 * figure (width:100% + aspect-ratio:4/5) takes the grid column's natural width.
 */
.lcc-hero__col-right {
	display: block;
	text-align: center;
	min-width: 0;
}
.lcc-hero__col-right .lcc-hero__portrait-frame {
	margin-left: auto;
	margin-right: auto;
}
.lcc-hero__portrait-frame {
	position: relative;
	aspect-ratio: 4 / 5;
	width: 100%;
	max-width: 480px;
	border-radius: 4px;
	overflow: hidden;
	background: var(--color-primary-tint);
	box-shadow: var(--shadow-3);
	margin: 0;
}
.lcc-hero__portrait-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
	display: block;
}
.lcc-hero__portrait-placeholder {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--color-primary-tint) 0%, var(--color-primary-soft) 100%);
}
.lcc-hero__portrait-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgba(15, 42, 68, 0) 0%, rgba(15, 42, 68, 0) 60%, rgba(15, 42, 68, 0.15) 100%);
	pointer-events: none;
}
.lcc-hero__portrait-stamp {
	position: absolute;
	left: 24px;
	bottom: 24px;
	background: rgba(15, 42, 68, 0.82);
	color: #FFFFFF;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	padding: 8px 14px;
	border-radius: 2px;
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
}

/* ============================================================
   2. PULL QUOTE + STATS — Sezione 2
   ============================================================ */

.lcc-pullquote {
	background: var(--color-bg-warm);
	padding-top: var(--space-section-lg);
	padding-bottom: var(--space-section-lg);
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
	text-align: center;
}
.lcc-pullquote__eyebrow {
	text-align: center;
}
.lcc-pullquote__mega {
	font-family: var(--font-heading);
	font-weight: 700;
	font-style: italic;
	font-size: clamp(28px, 6vw, 64px);
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: var(--color-primary-ink);
	margin: 0 auto;
	max-width: 22ch;
	padding: 0;
	border: 0;
	text-align: center;
	overflow-wrap: anywhere;
}
.lcc-pullquote__mega q {
	quotes: none;
}
.lcc-pullquote__mega q::before,
.lcc-pullquote__mega q::after {
	content: '';
}
.lcc-pullquote__sentence {
	display: block;
	margin: 0 0 8px;
}
.lcc-pullquote__italic {
	font-style: italic;
	color: var(--color-ink-2);
}
.lcc-pullquote__italic--gold {
	color: var(--color-accent);
}
.lcc-pullquote__attr {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	margin-top: var(--space-6);
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.06em;
	color: var(--color-ink-2);
	flex-wrap: wrap;
}
.lcc-pullquote__name {
	color: var(--color-primary-ink);
	font-weight: 700;
}
.lcc-pullquote__dot {
	color: var(--color-accent);
}
.lcc-pullquote__divider {
	width: 80px;
	height: 1px;
	background: var(--color-accent);
	margin: var(--space-6) auto;
}

/* ============================================================
   3. EXPERIENCE — Sezione 3 (navy/cream split + ticker)
   ============================================================ */

.lcc-experience {
	padding-top: var(--space-section-lg);
	padding-bottom: var(--space-section);
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
}
.lcc-experience__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto var(--space-section);
}
.lcc-experience__head .lcc-lede {
	margin-left: auto;
	margin-right: auto;
}

.lcc-experience__split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	border-radius: var(--radius-md);
	overflow: hidden;
	margin-bottom: var(--space-section);
}
.lcc-experience__block {
	padding: 64px 56px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 360px;
}
.lcc-experience__block--navy {
	background: var(--color-primary);
	color: #FFFFFF;
}
.lcc-experience__block--cream {
	background: var(--color-bg-warm);
	color: var(--color-primary-ink);
}
.lcc-experience__block-top {
	display: flex;
	align-items: baseline;
	gap: 16px;
	margin-bottom: var(--space-7);
}
.lcc-experience__num {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 32px;
	line-height: 1;
	color: var(--color-accent);
}
.lcc-experience__block--cream .lcc-experience__num {
	color: var(--color-accent);
}
.lcc-experience__label {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	opacity: 0.85;
}
.lcc-experience__block-body {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
}
.lcc-experience__tagline {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	opacity: 0.75;
	margin: 0 0 var(--space-3);
	min-height: calc(12px * 1.4);
}
.lcc-experience__name {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: 0 0 var(--space-4);
}
.lcc-experience__desc {
	font-family: var(--font-body);
	font-size: 16px;
	line-height: 1.6;
	margin: 0 0 var(--space-6);
	opacity: 0.92;
}
.lcc-experience__link {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: inherit;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transition: gap var(--t-base);
	margin-top: auto;
	align-self: flex-start;
}
.lcc-experience__link:hover .lcc-experience__arrow,
.lcc-experience__link:focus-visible .lcc-experience__arrow {
	transform: translateX(4px);
}
.lcc-experience__arrow {
	transition: transform var(--t-base);
	display: inline-block;
}

/* Trust divider above ticker */
.lcc-trust-divider {
	display: flex;
	align-items: center;
	gap: 24px;
	max-width: 720px;
	margin: 0 auto var(--space-6);
}
.lcc-trust-divider__line {
	flex: 1;
	height: 1px;
	background: var(--color-line);
}
.lcc-trust-divider__label {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-ink-3);
}

/* Clienti — Tier 1 fissi (16 logos prominenti enterprise + governo + scale-up).
   Design system C&P pattern: grid hairline border, aspect-ratio cell, monochrome contain. */
.lcc-clients-tier1 {
	display: grid;
	grid-template-columns: repeat(8, 1fr);
	border-top: 1px solid var(--color-line);
	border-left: 1px solid var(--color-line);
	max-width: var(--container-max, 1200px);
	margin: 0 auto var(--space-7);
}
.lcc-clients-tier1__cell {
	border-right: 1px solid var(--color-line);
	border-bottom: 1px solid var(--color-line);
	padding: 16px 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 130px;
	background: #fff;
	transition: background var(--t-base);
}
.lcc-clients-tier1__cell:hover {
	background: var(--color-primary-tint, #E8EFF6);
}
.lcc-clients-tier1__logo {
	height: 64px;
	max-width: 88%;
	width: auto;
	object-fit: contain;
	display: block;
}
/* Per-logo optical alignment overrides — alcuni PNG hanno bounding box dell'asset
   maggiore (es. Deloitte 600x260, full-bleed) rispetto agli altri tier-1 (199x130
   con padding interno). Ridurre l'altezza renderizzata per parificare l'occhio. */
.lcc-clients-tier1__logo[alt="Deloitte"] {
	height: 38px;
	max-width: 65%;
}
.lcc-clients-tier1__logo[alt="IONOS"] {
	height: 32px;
	max-width: 72%;
}
/* J.P. Morgan: wordmark molto largo (400x86) — height bassa per evitare overflow. */
.lcc-clients-tier1__logo[alt="J.P. Morgan"] {
	height: 26px;
	max-width: 95%;
}
/* Emblema Presidenza tondo — height piena cell. */
.lcc-clients-tier1__logo[alt="Presidenza del Consiglio dei Ministri"] {
	height: 80px;
	max-width: 70%;
}
/* Dipartimento TD: simbolo verticale ad alta densità. */
.lcc-clients-tier1__logo[alt="Dipartimento per la Trasformazione Digitale"] {
	height: 70px;
	max-width: 65%;
}

@media (max-width: 1080px) {
	.lcc-clients-tier1 {
		grid-template-columns: repeat(4, 1fr);
	}
	.lcc-clients-tier1__cell {
		min-height: 120px;
	}
	.lcc-clients-tier1__logo {
		height: 60px;
	}
}
@media (max-width: 540px) {
	.lcc-clients-tier1 {
		grid-template-columns: repeat(2, 1fr);
	}
	.lcc-clients-tier1__cell {
		min-height: 100px;
		padding: 14px 16px;
	}
	.lcc-clients-tier1__logo {
		height: 48px;
		max-width: 90%;
	}
	.lcc-clients-tier1__logo[alt="Presidenza del Consiglio dei Ministri"] {
		height: 72px;
		max-width: 70%;
	}
	.lcc-clients-tier1__logo[alt="Dipartimento per la Trasformazione Digitale"] {
		height: 60px;
		max-width: 62%;
	}
	.lcc-clients-tier1__logo[alt="J.P. Morgan"] {
		height: 24px;
		max-width: 92%;
	}
	.lcc-clients-tier1__logo[alt="Deloitte"] {
		height: 30px;
		max-width: 80%;
	}
	.lcc-clients-tier1__logo[alt="IONOS"] {
		height: 28px;
		max-width: 75%;
	}
	.lcc-clients-tier1__logo[alt="Goldman Sachs"] {
		height: 54px;
		max-width: 70%;
	}
}

/* Ticker — pure CSS autoscroll 90s (lento, leggibile) */
.lcc-ticker {
	overflow: hidden;
	position: relative;
	width: 100%;
	mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
	-webkit-mask-image: linear-gradient(to right, transparent 0%, #000 8%, #000 92%, transparent 100%);
	padding: var(--space-6) 0;
}
.lcc-ticker__track {
	display: flex;
	gap: 80px;
	animation: lcc-scroll 90s linear infinite;
	width: max-content;
}
.lcc-ticker__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 200px;
	height: 110px;
	flex-shrink: 0;
}
.lcc-ticker__logo {
	max-height: 88px;
	max-width: 180px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(1);
	opacity: 0.65;
	transition: filter var(--t-base), opacity var(--t-base);
}
.lcc-ticker__logo:hover {
	filter: grayscale(0);
	opacity: 1;
}
.lcc-ticker__item--placeholder {
	background: var(--color-bg-subtle);
	border: 1px dashed var(--color-line);
	border-radius: var(--radius-sm);
}
.lcc-ticker__placeholder-text {
	font-family: var(--font-heading);
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-ink-3);
}
@media (max-width: 880px) {
	.lcc-ticker__track {
		gap: 48px;
		animation-duration: 70s;
	}
	.lcc-ticker__item {
		min-width: 140px;
		height: 80px;
	}
	.lcc-ticker__logo {
		max-height: 56px;
		max-width: 120px;
	}
}
@media (max-width: 540px) {
	.lcc-ticker {
		padding: var(--space-4) 0;
	}
	.lcc-ticker__track {
		gap: 28px;
		animation-duration: 55s;
	}
	.lcc-ticker__item {
		min-width: 90px;
		height: 56px;
	}
	.lcc-ticker__logo {
		max-height: 40px;
		max-width: 84px;
		opacity: 0.75;
	}
}
@keyframes lcc-scroll {
	0%   { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
	.lcc-ticker__track {
		animation: none;
	}
}

/* Notable names line */
.lcc-notable {
	text-align: center;
	margin-top: var(--space-7);
}
.lcc-notable__eyebrow {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-ink-3);
	margin: 0 0 var(--space-3);
}
.lcc-notable__names {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: 0.06em;
	color: var(--color-primary-ink);
	margin: 0;
}
.lcc-notable__sep {
	color: var(--color-accent);
	margin: 0 10px;
}

/* ============================================================
   4. ABOUT LONGREAD — Sezione 4 (drop cap)
   ============================================================ */

.lcc-about {
	background: var(--color-bg-warm);
	padding-top: var(--space-section-lg);
	padding-bottom: var(--space-section-lg);
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
}
.lcc-about__head {
	max-width: 720px;
	margin: 0 auto var(--space-section);
	text-align: center;
}
.lcc-about__longread {
	max-width: 720px;
	margin: 0 auto;
}
.lcc-about__p {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.7;
	color: var(--color-primary-ink);
	margin: 0 0 var(--space-6);
}
.lcc-about__p strong {
	color: var(--color-primary-ink);
	font-weight: 600;
}
.lcc-drop-cap .lcc-dropcap,
.lcc-about__p--lede .lcc-dropcap {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 96px;
	line-height: 0.85;
	color: var(--color-accent);
	float: left;
	margin: 8px 12px 0 0;
}
.lcc-about__portrait {
	margin: var(--space-section) auto;
	max-width: 480px;
	text-align: center;
}
.lcc-about__portrait-img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	border-radius: 4px;
	box-shadow: var(--shadow-3);
	display: block;
}
.lcc-about__portrait-placeholder {
	width: 100%;
	aspect-ratio: 4 / 5;
	background: linear-gradient(135deg, var(--color-primary-tint) 0%, var(--color-primary-soft) 100%);
	border-radius: 4px;
}
.lcc-about__portrait-caption {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-ink-3);
	margin-top: var(--space-3);
}

.lcc-credentials {
	margin: var(--space-section) 0;
	padding-top: var(--space-7);
	padding-bottom: var(--space-7);
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
	border-top: 1px solid var(--color-line);
	border-bottom: 1px solid var(--color-line);
}
.lcc-credentials__eyebrow {
	display: block;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent);
	margin-bottom: var(--space-4);
}
.lcc-credentials__row {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-ink-2);
	margin: 0 0 var(--space-3);
}
.lcc-credentials__kicker {
	font-family: var(--font-heading);
	font-weight: 700;
	color: var(--color-primary-ink);
}
.lcc-credentials__sep {
	color: var(--color-accent);
	margin: 0 6px;
	font-weight: 700;
}

.lcc-about__cta-wrap {
	text-align: center;
	margin: var(--space-7) 0 0;
}

/* ============================================================
   5. PUBBLICAZIONI — Sezione 5 (featured + lista)
   ============================================================ */

.lcc-pubblicazioni {
	padding-top: var(--space-section-lg);
	padding-bottom: var(--space-section-lg);
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
	background: var(--color-bg);
}
.lcc-pubblicazioni__head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 32px;
	align-items: end;
	margin-bottom: var(--space-section);
}
.lcc-pubblicazioni__head-right {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-ink-3);
}

.lcc-featured-book {
	display: grid;
	grid-template-columns: 0.4fr 0.6fr;
	gap: 0;
	background: var(--color-primary-deep);
	color: #FFFFFF;
	border-radius: var(--radius-md);
	overflow: hidden;
	min-height: 420px;
	margin-bottom: var(--space-section);
}
.lcc-featured-book__cover {
	background: linear-gradient(135deg, var(--color-primary-ink) 0%, var(--color-primary-deep) 100%);
	padding: 48px 32px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: var(--space-4);
	border-right: 1px solid rgba(255, 255, 255, 0.08);
	min-width: 0;
	overflow: hidden;
}
.lcc-featured-book__imprint {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent);
}
.lcc-featured-book__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(32px, 3.4vw, 48px);
	line-height: 1.05;
	letter-spacing: -0.02em;
	word-break: normal;
	overflow-wrap: anywhere;
	hyphens: auto;
	margin: 0;
}
.lcc-featured-book__byline {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.7);
}
.lcc-featured-book__details {
	padding: 48px 56px;
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}
.lcc-featured-book__kicker {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent);
}
.lcc-featured-book__h3 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: 0;
}
.lcc-featured-book__publisher {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.65);
}
.lcc-featured-book__blurb {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.65;
	color: rgba(255, 255, 255, 0.88);
	margin: var(--space-3) 0 var(--space-4);
}
.lcc-featured-book__link {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-accent);
	text-decoration: none;
	align-self: flex-start;
}

.lcc-book-list-eyebrow {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-ink-3);
	margin-bottom: var(--space-6);
}
.lcc-book-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 24px;
	margin-bottom: var(--space-7);
}
.lcc-book-card {
	display: grid;
	grid-template-columns: 80px minmax(0, 1fr) auto;
	gap: 16px;
	align-items: start;
	padding: 20px;
	background: var(--color-bg-subtle);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	transition: border-color var(--t-base), box-shadow var(--t-base);
}
.lcc-book-card:hover {
	border-color: var(--color-primary-tint);
	box-shadow: var(--shadow-1);
}
.lcc-book-card__mini-cover {
	box-sizing: border-box;
	aspect-ratio: 3/4;
	width: 80px;
	flex: 0 0 80px;
	padding: 10px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	color: #FFFFFF;
	border-radius: 2px;
	overflow: hidden;
}
.lcc-book-card__mini-cover--mgmt {
	background: var(--color-primary);
}
.lcc-book-card__mini-cover--tech {
	background: var(--color-primary-ink);
}
.lcc-book-card__mc-imprint {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 8px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-accent);
}
.lcc-book-card__mc-title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 13px;
	line-height: 1;
}
.lcc-book-card__mc-year {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 9px;
	letter-spacing: 0.1em;
	color: rgba(255, 255, 255, 0.6);
}
.lcc-book-card__text {
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 4px;
	padding-top: 4px;
}
.lcc-book-card__title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.3;
	color: var(--color-primary-ink);
	margin: 0;
	overflow-wrap: anywhere;
	hyphens: auto;
}
.lcc-book-card__publisher {
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--color-ink-3);
}
.lcc-book-card__tag {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 9px;
	letter-spacing: 0.18em;
	color: var(--color-accent);
	padding: 4px 8px;
	border: 1px solid var(--color-accent-soft);
	border-radius: 2px;
}

/* ============================================================
   6. ULTIMI ARTICOLI — Sezione 6 (NUOVO)
   ============================================================ */

.lcc-ultimi-articoli {
	padding-top: var(--space-section-lg);
	padding-bottom: var(--space-section-lg);
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
	background: var(--color-bg);
}
.lcc-ultimi-articoli__head {
	text-align: center;
	max-width: 720px;
	margin: 0 auto var(--space-section);
}
.lcc-ultimi-articoli__head .lcc-lede {
	margin-left: auto;
	margin-right: auto;
}

.lcc-ultimi-articoli__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	margin-bottom: var(--space-section);
}
.lcc-ultimi-articoli__card {
	display: flex;
	flex-direction: column;
	gap: 12px;
}
.lcc-ultimi-articoli__thumb {
	aspect-ratio: 16 / 10;
	width: 100%;
	object-fit: cover;
	border-radius: var(--radius-sm);
	background: var(--color-bg-subtle);
}
.lcc-ultimi-articoli__thumb--placeholder {
	background: linear-gradient(135deg, var(--color-primary-tint) 0%, var(--color-bg-subtle) 100%);
}
.lcc-ultimi-articoli__date {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-ink-3);
}
.lcc-ultimi-articoli__title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 20px;
	line-height: 1.3;
	color: var(--color-primary-ink);
	margin: 0;
}
.lcc-ultimi-articoli__title a {
	color: inherit;
	text-decoration: none;
	transition: color var(--t-base);
}
.lcc-ultimi-articoli__title a:hover {
	color: var(--color-primary);
}
.lcc-ultimi-articoli__excerpt {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.55;
	color: var(--color-ink-2);
	margin: 0;
}
.lcc-ultimi-articoli__readmore {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-primary);
	text-decoration: none;
	margin-top: 4px;
}

.lcc-ultimi-articoli__empty {
	text-align: center;
	padding: var(--space-section) 0;
	background: var(--color-bg-warm);
	border-radius: var(--radius-md);
	margin-bottom: var(--space-section);
}
.lcc-ultimi-articoli__empty-text {
	font-family: var(--font-heading);
	font-weight: 700;
	font-style: italic;
	font-size: clamp(24px, 3vw, 36px);
	color: var(--color-primary-ink);
	margin: 0 0 var(--space-3);
}
.lcc-ultimi-articoli__empty-sub {
	font-family: var(--font-body);
	font-size: 15px;
	color: var(--color-ink-3);
	margin: 0;
	max-width: 50ch;
	margin-left: auto;
	margin-right: auto;
}

.lcc-ultimi-articoli__cta-wrap {
	text-align: center;
}

/* ============================================================
   7. PRESS BENTO — Sezione 7
   ============================================================ */

.lcc-press {
	padding-top: var(--space-section-lg);
	padding-bottom: var(--space-section-lg);
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
	background: var(--color-bg);
}
.lcc-press__head {
	max-width: 720px;
	margin: 0 auto var(--space-section);
}
.lcc-press__bento {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr;
	gap: 24px;
	align-items: start;
}
.lcc-press__bento-area {
	background: var(--color-bg-subtle);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-md);
	padding: var(--space-7);
}
.lcc-press__bento-area--press {
	background: var(--color-bg);
}
.lcc-press__area-head {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-bottom: var(--space-6);
}
.lcc-press__kicker {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent);
	white-space: nowrap;
}
.lcc-press__rule {
	flex: 1;
	height: 1px;
	background: var(--color-line);
}

/* Press list (left column) */
.lcc-press__list {
	display: flex;
	flex-direction: column;
	gap: 20px;
}
.lcc-press-card {
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 16px;
	padding: 16px;
	background: var(--color-bg-subtle);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	transition: border-color var(--t-base), box-shadow var(--t-base);
}
.lcc-press-card:hover {
	border-color: var(--color-primary-tint);
	box-shadow: var(--shadow-1);
}
.lcc-press-card__thumb {
	aspect-ratio: 4/3;
	width: 120px;
	overflow: hidden;
	border-radius: 2px;
	background: var(--color-bg);
}
.lcc-press-card__thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.lcc-press-card__thumb-placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--color-primary-tint) 0%, var(--color-bg-subtle) 100%);
}
.lcc-press-card__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 4px;
}
.lcc-press-card__date {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-ink-3);
}
.lcc-press-card__title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 14px;
	line-height: 1.35;
	color: var(--color-primary-ink);
}
.lcc-press-card__testata {
	font-family: var(--font-body);
	font-size: 12px;
	color: var(--color-primary);
}

/* Cert grid (middle column) */
.lcc-cert-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 8px;
}
.lcc-cert-badge {
	padding: 16px 12px;
	background: var(--color-bg);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
	text-align: center;
	transition: border-color var(--t-base);
}
.lcc-cert-badge:hover {
	border-color: var(--color-accent-soft);
}
.lcc-cert-badge__short {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 0.04em;
	color: var(--color-primary-ink);
	margin-bottom: 4px;
}
.lcc-cert-badge__full {
	font-family: var(--font-body);
	font-size: 11px;
	color: var(--color-ink-3);
	line-height: 1.3;
}

/* Accred grid (right column) */
.lcc-accred-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
.lcc-accred {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	padding: 16px 8px;
	background: var(--color-bg);
	border: 1px solid var(--color-line);
	border-radius: var(--radius-sm);
}
.lcc-accred__logo {
	max-height: 40px;
	max-width: 80px;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: grayscale(0.4);
}
.lcc-accred__logo-placeholder {
	width: 60px;
	height: 40px;
	background: linear-gradient(135deg, var(--color-primary-tint) 0%, var(--color-bg-subtle) 100%);
	border-radius: 2px;
}
.lcc-accred__name {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 10px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-ink-2);
	text-align: center;
}

/* ============================================================
   8. CONTACT — Sezione 8 (navy bg + SVG mailto anti-scraping)
   ============================================================ */

.lcc-contact {
	background: var(--color-primary-ink);
	color: #FFFFFF;
	padding-top: var(--space-section-lg);
	padding-bottom: var(--space-section-lg);
	padding-left: clamp(20px, 4vw, 48px);
	padding-right: clamp(20px, 4vw, 48px);
}
.lcc-contact .lcc-eyebrow {
	color: var(--color-accent);
}
.lcc-contact__grid {
	display: grid;
	grid-template-columns: 1fr 1.1fr;
	gap: 64px;
	align-items: start;
}
.lcc-contact__left {
	display: flex;
	flex-direction: column;
}
.lcc-contact__h2 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(28px, 6vw, 64px);
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #FFFFFF;
	margin: 0 0 var(--space-6);
	overflow-wrap: anywhere;
}
.lcc-contact__subclaim {
	font-family: var(--font-body);
	font-size: clamp(16px, 1.4vw, 18px);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.82);
	margin: 0 0 var(--space-7);
	max-width: 50ch;
	font-style: italic;
}
.lcc-contact__info {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
	padding-top: var(--space-6);
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}
.lcc-contact__info-row {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 16px;
	align-items: baseline;
}
.lcc-contact__info-lbl {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent);
}
.lcc-contact__info-val {
	font-family: var(--font-body);
	font-size: 14px;
	color: rgba(255, 255, 255, 0.92);
}

/* Mailto SVG block (right col) */
.lcc-contact__right {
	display: flex;
	flex-direction: column;
	gap: var(--space-7);
}
.lcc-mailto {
	padding: var(--space-7);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(212, 163, 58, 0.3);
	border-radius: var(--radius-md);
}
.lcc-mailto__label {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent);
	margin: 0 0 var(--space-4);
}
.lcc-contact__email-svg,
.lcc-mailto__svg {
	display: block;
	width: 100%;
	max-width: 520px;
	height: auto;
}
.lcc-mailto__hint {
	font-family: var(--font-body);
	font-size: 12px;
	font-style: italic;
	color: rgba(255, 255, 255, 0.55);
	margin: var(--space-4) 0 0;
}

.lcc-social {
	list-style: none;
	display: flex;
	gap: 24px;
	padding: 0;
	margin: 0;
}
.lcc-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #FFFFFF;
	text-decoration: none;
	padding: 12px 20px;
	min-height: 44px;
	box-sizing: border-box;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: var(--radius-pill);
	transition: background var(--t-base), border-color var(--t-base);
}
.lcc-social a:hover,
.lcc-social a:focus-visible {
	background: rgba(255, 255, 255, 0.08);
	border-color: var(--color-accent);
}

.lcc-contact__resp {
	font-family: var(--font-body);
	font-size: 13px;
	color: rgba(255, 255, 255, 0.6);
	margin: 0;
}
.lcc-contact__resp strong {
	color: var(--color-accent);
	font-weight: 700;
}

/* ============================================================
   9. RESPONSIVE — mobile collapse at 880px / 540px
   ============================================================ */

@media (max-width: 1100px) {
	.lcc-press__bento {
		grid-template-columns: 1fr 1fr;
	}
	.lcc-press__bento-area--press {
		grid-column: 1 / -1;
	}
	.lcc-press__list {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 16px;
	}
	.lcc-press-card {
		grid-template-columns: 1fr;
	}
	.lcc-press-card__thumb {
		width: 100%;
	}
}

@media (max-width: 880px) {
	.lcc-hero {
		padding-bottom: 80px;
	}
	/* Match specificity & !important from desktop rule to win the cascade. */
	.lcc-hero .lcc-hero__grid,
	.wp-block-group.lcc-hero__grid.is-layout-flex {
		grid-template-columns: 1fr !important;
		gap: 48px !important;
	}
	.lcc-stat-row {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 24px;
		padding: 24px 0;
		text-align: center;
	}
	.lcc-stat {
		align-items: center;
	}
	.lcc-stat-row__hr {
		display: none;
	}
	.lcc-hero__cta {
		justify-content: center;
	}
	.lcc-experience__split {
		grid-template-columns: 1fr;
	}
	.lcc-experience__block {
		padding: 48px 32px;
		min-height: auto;
	}
	.lcc-pubblicazioni__head {
		grid-template-columns: 1fr;
	}
	.lcc-featured-book {
		grid-template-columns: 1fr;
	}
	.lcc-featured-book__cover {
		min-height: 240px;
		border-right: 0;
		border-bottom: 1px solid rgba(255, 255, 255, 0.08);
	}
	.lcc-featured-book__details {
		padding: 32px;
	}
	.lcc-book-list {
		grid-template-columns: 1fr;
	}
	.lcc-ultimi-articoli__grid {
		grid-template-columns: 1fr;
	}
	.lcc-press__bento {
		grid-template-columns: 1fr;
	}
	.lcc-press__list {
		grid-template-columns: 1fr;
	}
	.lcc-press-card {
		grid-template-columns: 120px 1fr;
	}
	.lcc-press-card__thumb {
		width: 120px;
	}
	.lcc-contact__grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.lcc-contact__info-row {
		grid-template-columns: 1fr;
		gap: 4px;
	}
}

@media (max-width: 540px) {
	.lcc-hero {
		padding-top: 32px;
		padding-bottom: 56px;
	}
	.lcc-hero__h1 {
		font-size: clamp(40px, 11vw, 64px);
		line-height: 1.02;
	}
	.lcc-stat__num {
		font-size: clamp(32px, 9vw, 40px);
		line-height: 1.05;
	}
	.lcc-stat-row {
		grid-template-columns: 1fr;
		gap: 16px;
		text-align: center;
	}
	.lcc-stat {
		align-items: center;
	}
	.lcc-experience__block {
		padding: 32px 24px;
	}
	.lcc-pullquote,
	.lcc-about,
	.lcc-pubblicazioni,
	.lcc-ultimi-articoli,
	.lcc-press,
	.lcc-contact {
		padding-top: var(--space-section);
		padding-bottom: var(--space-section);
	}
	.lcc-cert-grid,
	.lcc-accred-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.lcc-mailto {
		padding: var(--space-6);
	}
	.lcc-social {
		flex-direction: column;
		gap: 12px;
	}
	.lcc-social a {
		text-align: center;
	}
	.lcc-pullquote__mega {
		max-width: 100%;
		line-height: 1.15;
	}
	.lcc-drop-cap .lcc-dropcap,
	.lcc-about__p--lede .lcc-dropcap {
		font-size: 72px;
	}
	body {
		font-size: max(16px, 1rem);
	}
	.lcc-featured-book__title,
	.lcc-book-card__title {
		overflow-wrap: anywhere;
		hyphens: auto;
	}
	/* Press card thumb shrink: 120 -> 88 a 540, riduce sproporzione vs testo card */
	.lcc-press-card {
		grid-template-columns: 88px 1fr;
	}
	.lcc-press-card__thumb {
		width: 88px;
	}
}

/* ============================================================
   EXTRA-NARROW (<=414) — pubblicazioni book card stack
   A 320/375 il grid 80+text+tag (gap 16) lascia ~200px al testo
   che si sovrappone al mini-cover. Stack 1-col + cover 80->64 risolve.
   ============================================================ */

@media (max-width: 414px) {
	.lcc-book-card {
		grid-template-columns: 1fr;
		gap: 12px;
	}
	.lcc-book-card__mini-cover {
		width: 64px;
		flex: 0 0 64px;
	}
	.lcc-book-card__tag {
		align-self: start;
		justify-self: start;
	}
}

/* ============================================================
   BLOG — Variant C "Hero + Two-Lane Asymmetric"
   index.html (blog home) + archive.html (category)
   Driven by patterns/blog-index.php + patterns/blog-archive.php
   ============================================================ */

.lcc-blog-c {
	background: var(--color-bg);
	color: var(--color-text);
}

.lcc-blog-c__container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 48px);
}

/* ---------- LEAD ---------- */
.lcc-blog-c__lead {
	padding: 88px 0;
	border-bottom: 1px solid var(--color-line, #E5E7EB);
}

.lcc-blog-c__lead-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 80px;
	align-items: end;
}

.lcc-blog-c__lead-grid--archive {
	grid-template-columns: 1fr;
	max-width: var(--container-max, 1200px);
}

.lcc-blog-c__lead-eyebrow {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-primary, #1B4F7E);
	margin: 0 0 24px;
}

.lcc-blog-c__lead-eyebrow span {
	color: var(--color-accent, #D4A33A);
}

.lcc-blog-c__lead-h1 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(64px, 8vw, 112px);
	line-height: 0.95;
	letter-spacing: -0.025em;
	color: var(--color-text);
	margin: 0 0 32px;
}

.lcc-blog-c__lead-h1 small {
	display: block;
	font-size: 0.4em;
	font-weight: 500;
	letter-spacing: 0;
	color: var(--color-ink-3, #6B7280);
	margin-top: 16px;
	font-style: italic;
}

.lcc-blog-c__lead-lede {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.6;
	color: var(--color-ink-2, #3B414B);
	margin: 0 0 40px;
	max-width: 50ch;
}

.lcc-blog-c__lead-index {
	display: flex;
	gap: 24px;
	padding-top: 24px;
	border-top: 1px solid var(--color-accent, #D4A33A);
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-ink-3, #6B7280);
}

.lcc-blog-c__lead-index strong {
	display: block;
	font-size: 28px;
	font-weight: 800;
	color: var(--color-primary, #1B4F7E);
	letter-spacing: -0.02em;
	margin-bottom: 4px;
	font-style: normal;
}

.lcc-blog-c__lead-index > div {
	flex: 0 0 auto;
}

.lcc-blog-c__lead-index > div + div {
	padding-left: 24px;
	border-left: 1px solid var(--color-line, #E5E7EB);
}

.lcc-blog-c__lead-index a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid var(--color-accent, #D4A33A);
	padding-bottom: 2px;
}

.lcc-blog-c__lead-index a:hover {
	color: var(--color-primary, #1B4F7E);
}

/* ---------- FLAGSHIP CARD ---------- */
.lcc-blog-c__flagship {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 4px;
	background: var(--color-primary-ink, #0F2A44);
	box-shadow: 0 20px 50px rgba(15, 42, 68, 0.2);
	text-decoration: none;
	color: #fff;
	isolation: isolate;
}

.lcc-blog-c__flagship img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.45;
	transition: opacity 320ms ease, transform 320ms ease;
}

.lcc-blog-c__flagship:hover img {
	opacity: 0.55;
	transform: scale(1.03);
}

.lcc-blog-c__flagship-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(15, 42, 68, 0.95) 0%, rgba(15, 42, 68, 0.4) 60%, transparent 100%);
}

.lcc-blog-c__flagship-content {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	padding: 48px 40px;
	color: #fff;
}

.lcc-blog-c__flagship-kicker {
	display: inline-block;
	padding: 6px 10px;
	background: var(--color-accent, #D4A33A);
	color: var(--color-primary-ink, #0F2A44);
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	border-radius: 2px;
	margin-bottom: 24px;
}

.lcc-blog-c__flagship-cat {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent-soft, #F5E5B8);
	margin: 0 0 16px;
}

.lcc-blog-c__flagship-title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.1;
	letter-spacing: -0.015em;
	margin: 0 0 20px;
	color: #fff;
}

.lcc-blog-c__flagship-meta {
	font-family: var(--font-heading);
	font-size: 12px;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

/* ---------- GRID SECTION ---------- */
.lcc-blog-c__grid-section {
	padding: 96px 0;
}

.lcc-blog-c__grid-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 56px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--color-line, #E5E7EB);
	gap: 32px;
	flex-wrap: wrap;
}

.lcc-blog-c__grid-title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 14px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-primary, #1B4F7E);
	margin: 0;
}

.lcc-blog-c__grid-nav {
	display: flex;
	gap: 24px;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-ink-3, #6B7280);
	flex-wrap: wrap;
}

.lcc-blog-c__grid-nav a {
	color: inherit;
	text-decoration: none;
	transition: color 200ms ease;
}

.lcc-blog-c__grid-nav a:hover {
	color: var(--color-primary, #1B4F7E);
}

.lcc-blog-c__grid-nav a.active {
	color: var(--color-primary, #1B4F7E);
	border-bottom: 1px solid var(--color-accent, #D4A33A);
	padding-bottom: 4px;
}

/* ---------- LANE: asymmetric 1.4 / 1 ---------- */
.lcc-blog-c__lane {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	gap: 64px 48px;
}

.lcc-blog-c__lane-primary {
	display: flex;
	flex-direction: column;
	gap: 48px;
}

.lcc-blog-c__lane-sidebar {
	display: flex;
	flex-direction: column;
	gap: 32px;
	padding-left: 32px;
	border-left: 1px solid var(--color-line, #E5E7EB);
}

/* ---------- POST LARGE (primary lane) ---------- */
.lcc-blog-c__post-large {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	align-items: start;
}

.lcc-blog-c__post-large-media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 4px;
	background: var(--color-primary-tint, #E8EFF6);
	text-decoration: none;
}

.lcc-blog-c__post-large-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 320ms ease;
	display: block;
}

.lcc-blog-c__post-large:hover .lcc-blog-c__post-large-media img {
	transform: scale(1.04);
}

.lcc-blog-c__post-placeholder {
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, var(--color-primary-tint) 0%, var(--color-primary-soft) 100%);
}

.lcc-blog-c__post-large-cat {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--color-accent, #D4A33A);
	margin: 0 0 12px;
}

.lcc-blog-c__post-large-title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 26px;
	line-height: 1.25;
	letter-spacing: -0.01em;
	margin: 0 0 16px;
	color: var(--color-text);
}

.lcc-blog-c__post-large-title a {
	color: inherit;
	text-decoration: none;
	transition: color 200ms ease;
}

.lcc-blog-c__post-large-title a:hover {
	color: var(--color-primary, #1B4F7E);
}

.lcc-blog-c__post-large-excerpt {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-ink-2, #3B414B);
	margin: 0 0 16px;
}

.lcc-blog-c__post-large-meta {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--color-ink-3, #6B7280);
	margin: 0;
}

/* ---------- POST SMALL (sidebar) ---------- */
.lcc-blog-c__sidebar-heading {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-primary, #1B4F7E);
	margin: 0 0 8px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--color-accent, #D4A33A);
}

.lcc-blog-c__post-small {
	padding-bottom: 32px;
	border-bottom: 1px solid var(--color-line, #E5E7EB);
}

.lcc-blog-c__post-small:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.lcc-blog-c__post-small-date {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-ink-3, #6B7280);
	margin: 0 0 12px;
}

.lcc-blog-c__post-small-date span {
	color: var(--color-primary, #1B4F7E);
}

.lcc-blog-c__post-small-date span + * {
	margin-left: 8px;
	position: relative;
}

.lcc-blog-c__post-small-date span::after {
	content: " ·";
	color: var(--color-accent, #D4A33A);
	margin-left: 4px;
}

.lcc-blog-c__post-small-title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 17px;
	line-height: 1.35;
	letter-spacing: -0.005em;
	margin: 0;
	color: var(--color-text);
}

.lcc-blog-c__post-small-title a {
	color: inherit;
	text-decoration: none;
	transition: color 200ms ease;
}

.lcc-blog-c__post-small-title a:hover {
	color: var(--color-primary, #1B4F7E);
}

/* ---------- PAGINATION ---------- */
.lcc-blog-c__pag {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: 80px;
	padding-top: 56px;
	border-top: 1px solid var(--color-line, #E5E7EB);
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 13px;
	max-width: 100%;
}
.lcc-blog-c__pag .next,
.lcc-blog-c__pag .prev {
	white-space: nowrap;
}
@media (max-width: 540px) {
	.lcc-blog-c__pag {
		gap: 6px;
		font-size: 12px;
	}
	.lcc-blog-c__pag a,
	.lcc-blog-c__pag span {
		min-width: 40px;
		height: 40px;
		padding: 0 10px;
	}
}

.lcc-blog-c__pag a,
.lcc-blog-c__pag span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 14px;
	border: 1px solid var(--color-line, #E5E7EB);
	color: var(--color-text);
	text-decoration: none;
	border-radius: 2px;
	transition: all 200ms ease;
}

.lcc-blog-c__pag .current {
	background: var(--color-primary, #1B4F7E);
	border-color: var(--color-primary, #1B4F7E);
	color: #fff;
}

.lcc-blog-c__pag a:hover {
	border-color: var(--color-primary, #1B4F7E);
	color: var(--color-primary, #1B4F7E);
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 960px) {
	.lcc-blog-c__lead-grid {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.lcc-blog-c__lane {
		grid-template-columns: 1fr;
		gap: 48px;
	}
	.lcc-blog-c__lane-sidebar {
		padding-left: 0;
		border-left: 0;
		padding-top: 32px;
		border-top: 1px solid var(--color-line, #E5E7EB);
	}
	.lcc-blog-c__post-large {
		grid-template-columns: 1fr;
	}
	.lcc-blog-c__flagship {
		aspect-ratio: 4 / 3;
	}
	.lcc-blog-c__lead {
		padding: 56px 0;
	}
	.lcc-blog-c__grid-section {
		padding: 64px 0;
	}
}

@media (max-width: 600px) {
	.lcc-blog-c__lead-h1 {
		font-size: clamp(40px, 12vw, 64px);
	}
	.lcc-blog-c__lead-index {
		flex-wrap: wrap;
		gap: 16px;
	}
	.lcc-blog-c__lead-index > div + div {
		padding-left: 16px;
	}
	.lcc-blog-c__post-large-title {
		font-size: 22px;
	}
}

/* ============================================================
   SINGLE ARTICLE — editorial reading template
   patterns/single-article.php · used by templates/single.html
   Coerent with .lcc-blog-c (variant C "Hero + Two-Lane")
   ============================================================ */

.lcc-single {
	background: var(--color-bg);
	color: var(--color-text);
}

.lcc-single__container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 clamp(20px, 4vw, 48px);
}

.lcc-single__container--narrow {
	max-width: 760px;
}

/* ---------- HEAD ---------- */
.lcc-single__head {
	padding: 64px 0 56px;
}

.lcc-single__breadcrumbs {
	margin-bottom: 32px;
}

.lcc-single__breadcrumbs-inner,
.lcc-single__breadcrumbs-inner p {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-ink-3, #6B7280);
	margin: 0;
}

.lcc-single__breadcrumbs-inner a {
	color: var(--color-ink-3, #6B7280);
	text-decoration: none;
	transition: color 200ms ease;
}

.lcc-single__breadcrumbs-inner a:hover {
	color: var(--color-primary, #1B4F7E);
}

.lcc-single__breadcrumbs-inner span,
.lcc-single__breadcrumbs-inner .breadcrumb_last {
	color: var(--color-primary-ink, #0F2A44);
	font-weight: 600;
}

.lcc-single__cat {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent, #D4A33A);
	margin: 0 0 24px;
}

.lcc-single__cat a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid transparent;
	transition: border-color 200ms ease;
}

.lcc-single__cat a:hover {
	border-bottom-color: var(--color-accent, #D4A33A);
}

.lcc-single__title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.05;
	letter-spacing: -0.022em;
	color: var(--color-primary-ink, #0F2A44);
	margin: 0 0 24px;
}

.lcc-single__deck {
	font-family: var(--font-body);
	font-size: clamp(18px, 1.6vw, 22px);
	font-weight: 400;
	line-height: 1.5;
	color: var(--color-ink-2, #3B414B);
	margin: 0 0 40px;
	max-width: 56ch;
}

.lcc-single__meta {
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
	padding: 20px 0;
	border-top: 1px solid var(--color-line, #E5E7EB);
	border-bottom: 1px solid var(--color-line, #E5E7EB);
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--color-ink-3, #6B7280);
}

.lcc-single__meta-author strong {
	color: var(--color-primary-ink, #0F2A44);
	font-weight: 700;
	margin-left: 6px;
}

.lcc-single__meta-byline {
	font-weight: 400;
	color: var(--color-ink-3, #6B7280);
	font-style: italic;
	text-transform: none;
	letter-spacing: 0;
}

.lcc-single__meta-sep {
	width: 24px;
	height: 1px;
	background: var(--color-accent, #D4A33A);
}

.lcc-single__meta-date {
	color: var(--color-ink-2, #3B414B);
}

.lcc-single__meta-read {
	color: var(--color-ink-3, #6B7280);
}

/* ---------- FEATURED IMAGE ---------- */
.lcc-single__featured {
	margin: 56px 0 0;
	max-width: 1200px;
	border-radius: 4px;
	overflow: hidden;
	background: var(--color-primary-tint, #E8EFF6);
	box-shadow: 0 20px 50px rgba(15, 42, 68, 0.15);
}

.lcc-single__featured img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* ---------- BODY: long-form editorial column ---------- */
.lcc-single__body-wrap {
	padding: 64px 0 96px;
}

.lcc-single__body {
	font-family: var(--font-body);
	font-size: 18px;
	line-height: 1.75;
	color: var(--color-text);
}

.lcc-single__body > * {
	margin-top: 0;
	margin-bottom: 1.4em;
}

.lcc-single__body h2 {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(26px, 2.4vw, 36px);
	line-height: 1.2;
	letter-spacing: -0.015em;
	color: var(--color-primary-ink, #0F2A44);
	margin-top: 2.2em;
	margin-bottom: 0.5em;
}

.lcc-single__body h3 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: clamp(20px, 1.8vw, 26px);
	line-height: 1.3;
	letter-spacing: -0.01em;
	color: var(--color-primary-ink, #0F2A44);
	margin-top: 1.8em;
	margin-bottom: 0.4em;
}

.lcc-single__body h4 {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 18px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--color-primary, #1B4F7E);
	margin-top: 1.5em;
	margin-bottom: 0.4em;
}

.lcc-single__body p {
	margin: 0 0 1.4em;
}

.lcc-single__body strong {
	font-weight: 700;
	color: var(--color-primary-ink, #0F2A44);
}

.lcc-single__body em {
	font-style: italic;
	color: var(--color-ink-2, #3B414B);
}

.lcc-single__body a {
	color: var(--color-primary, #1B4F7E);
	text-decoration: underline;
	text-decoration-color: var(--color-accent, #D4A33A);
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
	transition: color 200ms ease;
}

.lcc-single__body a:hover {
	color: var(--color-primary-deep, #143A5C);
}

.lcc-single__body ul,
.lcc-single__body ol {
	padding-left: 1.5em;
	margin: 0 0 1.4em;
}

.lcc-single__body li {
	margin: 0 0 0.5em;
}

.lcc-single__body li::marker {
	color: var(--color-accent, #D4A33A);
}

.lcc-single__body blockquote {
	margin: 2em 0;
	padding: 0 0 0 32px;
	border-left: 3px solid var(--color-accent, #D4A33A);
	font-family: var(--font-heading);
	font-weight: 600;
	font-style: italic;
	font-size: clamp(20px, 2vw, 26px);
	line-height: 1.4;
	color: var(--color-primary-ink, #0F2A44);
}

.lcc-single__body blockquote p {
	margin: 0 0 0.5em;
}

.lcc-single__body code,
.lcc-single__body pre {
	font-family: ui-monospace, "SF Mono", Menlo, monospace;
	font-size: 0.92em;
	background: var(--color-bg-warm, #FAF7F1);
	border: 1px solid var(--color-line, #E5E7EB);
	border-radius: 3px;
}

.lcc-single__body code {
	padding: 2px 6px;
}

.lcc-single__body pre {
	padding: 20px 24px;
	overflow-x: auto;
	line-height: 1.5;
}

.lcc-single__body pre code {
	background: transparent;
	border: 0;
	padding: 0;
}

.lcc-single__body img,
.lcc-single__body figure,
.lcc-single__body .wp-block-image {
	max-width: 100%;
	height: auto;
	margin: 2em 0;
	border-radius: 4px;
	box-shadow: 0 8px 24px rgba(15, 42, 68, 0.1);
}

.lcc-single__body figure img {
	margin: 0;
	box-shadow: none;
	border-radius: 4px;
}

.lcc-single__body figcaption {
	margin-top: 12px;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 13px;
	letter-spacing: 0.04em;
	color: var(--color-ink-3, #6B7280);
	text-align: center;
	box-shadow: none;
}

.lcc-single__body hr {
	margin: 3em auto;
	max-width: 80px;
	border: 0;
	height: 1px;
	background: var(--color-accent, #D4A33A);
}

/* Drop-cap on first letter of first paragraph */
.lcc-single__body > p:first-of-type::first-letter {
	float: left;
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 5em;
	line-height: 0.9;
	margin: 0.05em 14px 0 -2px;
	color: var(--color-primary, #1B4F7E);
}

/* ---------- TAGS ---------- */
.lcc-single__tags {
	margin: 56px 0 0;
	padding: 24px 0;
	border-top: 1px solid var(--color-line, #E5E7EB);
	border-bottom: 1px solid var(--color-line, #E5E7EB);
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.lcc-single__tags-label {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-primary, #1B4F7E);
}

.lcc-single__tags-list {
	display: flex;
	gap: 8px;
	flex-wrap: wrap;
	margin: 0;
	padding: 0;
	list-style: none;
}

.lcc-single__tags-list a {
	display: inline-block;
	padding: 6px 14px;
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: 0.04em;
	color: var(--color-ink-2, #3B414B);
	background: var(--color-bg-warm, #FAF7F1);
	border: 1px solid var(--color-line, #E5E7EB);
	border-radius: 2px;
	text-decoration: none;
	transition: all 200ms ease;
}

.lcc-single__tags-list a:hover {
	color: var(--color-primary, #1B4F7E);
	border-color: var(--color-primary, #1B4F7E);
	background: var(--color-primary-tint, #E8EFF6);
}

/* ---------- AUTHOR CARD ---------- */
.lcc-single__author-card {
	margin: 64px 0 0;
	padding: 40px;
	background: var(--color-bg-warm, #FAF7F1);
	border: 1px solid var(--color-line, #E5E7EB);
	border-radius: 4px;
	display: grid;
	grid-template-columns: 120px 1fr;
	gap: 32px;
	align-items: start;
}

.lcc-single__author-portrait {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--color-primary-tint, #E8EFF6);
	box-shadow: 0 8px 24px rgba(15, 42, 68, 0.12);
}

.lcc-single__author-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 25%;
}

.lcc-single__author-eyebrow {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 10px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent, #D4A33A);
	margin: 0 0 6px;
}

.lcc-single__author-name {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 22px;
	letter-spacing: -0.01em;
	color: var(--color-primary-ink, #0F2A44);
	margin: 0 0 12px;
}

.lcc-single__author-bio {
	font-family: var(--font-body);
	font-size: 15px;
	line-height: 1.6;
	color: var(--color-ink-2, #3B414B);
	margin: 0 0 16px;
}

.lcc-single__author-links {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
}

.lcc-single__author-links a {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-primary, #1B4F7E);
	text-decoration: none;
	border-bottom: 1px solid var(--color-accent, #D4A33A);
	padding-bottom: 3px;
	transition: color 200ms ease;
}

.lcc-single__author-links a:hover {
	color: var(--color-primary-deep, #143A5C);
}

/* ---------- RELATED ---------- */
.lcc-single__related {
	background: var(--color-bg-warm, #FAF7F1);
	padding: 96px 0;
	border-top: 1px solid var(--color-line, #E5E7EB);
}

.lcc-single__related-head {
	margin-bottom: 56px;
	text-align: center;
}

.lcc-single__related-eyebrow {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-primary, #1B4F7E);
	margin: 0 0 16px;
}

.lcc-single__related-title {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: clamp(28px, 3vw, 40px);
	line-height: 1.1;
	letter-spacing: -0.015em;
	color: var(--color-primary-ink, #0F2A44);
	margin: 0;
}

.lcc-single__related-title span {
	color: var(--color-accent, #D4A33A);
	font-weight: 500;
	font-style: italic;
}

.lcc-single__related-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
}

.lcc-single__related-card {
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.lcc-single__related-media {
	display: block;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 4px;
	background: var(--color-primary-tint, #E8EFF6);
	text-decoration: none;
}

.lcc-single__related-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 320ms ease;
	display: block;
}

.lcc-single__related-card:hover .lcc-single__related-media img {
	transform: scale(1.04);
}

.lcc-single__related-cat {
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 11px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-accent, #D4A33A);
	margin: 8px 0 4px;
}

.lcc-single__related-card-title {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.3;
	letter-spacing: -0.005em;
	margin: 0;
	color: var(--color-text);
}

.lcc-single__related-card-title a {
	color: inherit;
	text-decoration: none;
	transition: color 200ms ease;
}

.lcc-single__related-card:hover .lcc-single__related-card-title a,
.lcc-single__related-card-title a:focus-visible {
	color: var(--color-primary, #1B4F7E);
}

.lcc-single__related-meta {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--color-ink-3, #6B7280);
	margin: 0;
}

.lcc-single__related-cta {
	margin-top: 56px;
	text-align: center;
}

.lcc-single__related-all {
	display: inline-block;
	padding: 14px 28px;
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--color-primary, #1B4F7E);
	border: 1px solid var(--color-primary, #1B4F7E);
	border-radius: 2px;
	text-decoration: none;
	transition: all 200ms ease;
}

.lcc-single__related-all:hover {
	background: var(--color-primary, #1B4F7E);
	color: #fff;
}

/* ---------- RESPONSIVE ---------- */
@media (max-width: 880px) {
	.lcc-single__head {
		padding: 40px 0 32px;
	}
	.lcc-single__title {
		font-size: clamp(28px, 8vw, 44px);
	}
	.lcc-single__deck {
		font-size: 17px;
	}
	.lcc-single__meta {
		gap: 12px;
	}
	.lcc-single__meta-sep {
		width: 16px;
	}
	.lcc-single__featured {
		margin-top: 32px;
	}
	.lcc-single__body-wrap {
		padding: 40px 0 64px;
	}
	.lcc-single__body {
		font-size: 17px;
	}
	.lcc-single__author-card {
		grid-template-columns: 1fr;
		gap: 20px;
		padding: 32px 24px;
		text-align: center;
	}
	.lcc-single__author-portrait {
		margin: 0 auto;
	}
	.lcc-single__author-links {
		justify-content: center;
	}
	.lcc-single__related {
		padding: 64px 0;
	}
	.lcc-single__related-grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
	.lcc-single__body > p:first-of-type::first-letter {
		font-size: 4em;
	}
}

/* ============================================================
   FOOTER — theme/parts/footer.html
   Dark navy-ink background, light text, gold accents on links.
   ============================================================ */

.lcc-footer {
	color: #FFFFFF;
	border-top: 1px solid var(--color-accent, #D4A33A);
	box-shadow: inset 0 1px 0 rgba(212, 163, 58, 0.18);
}

.lcc-footer * {
	color: inherit;
}

.lcc-footer a {
	color: rgba(255, 255, 255, 0.86);
	text-decoration: none;
	transition: color 200ms ease;
}

.lcc-footer a:hover,
.lcc-footer a:focus-visible {
	color: var(--color-accent, #D4A33A);
}

.lcc-footer__grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr 1fr;
	gap: 64px;
	max-width: var(--container-max, 1200px);
	margin: 0 auto;
	padding-top: 0;
	padding-bottom: 0;
	align-items: start;
}

.lcc-footer__col {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

/* COL 1: brand */
.lcc-footer__wordmark {
	font-family: var(--font-heading);
	font-weight: 800;
	font-size: 22px;
	letter-spacing: -0.01em;
	color: #FFFFFF;
	margin-bottom: 4px;
}

.lcc-footer__wordmark .lcc-footer__dot {
	color: var(--color-accent, #D4A33A);
}

.lcc-footer__tagline {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.7);
	margin: 0 0 8px;
	max-width: 36ch;
}

.lcc-footer__legal {
	font-family: var(--font-heading);
	font-weight: 500;
	font-size: 11px;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.55);
	margin-top: auto;
	padding-top: 24px;
}

.lcc-footer__legal a {
	color: rgba(255, 255, 255, 0.75);
	border-bottom: 1px solid rgba(212, 163, 58, 0.5);
	padding-bottom: 1px;
}

.lcc-footer__legal a:hover {
	color: var(--color-accent, #D4A33A);
	border-bottom-color: var(--color-accent, #D4A33A);
}

/* COL 2 + 3: naviga / contatti */
.lcc-footer__heading {
	font-family: var(--font-heading);
	font-weight: 700;
	font-size: 11px;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--color-accent, #D4A33A);
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.lcc-footer__subgroup {
	margin-bottom: 24px;
}

.lcc-footer__subgroup:last-child {
	margin-bottom: 0;
}

.lcc-footer__subeyebrow {
	font-family: var(--font-heading);
	font-weight: 500;
	font-style: italic;
	font-size: 11px;
	letter-spacing: 0.06em;
	color: rgba(255, 255, 255, 0.45);
	margin: 0 0 10px;
	text-transform: none;
}

.lcc-footer__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.lcc-footer__list li {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.4;
}

.lcc-footer__list a {
	display: inline-block;
	padding: 2px 0;
}

.lcc-footer__intro {
	font-family: var(--font-body);
	font-size: 14px;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.75);
	margin: 0 0 16px;
}

.lcc-footer__intro a {
	color: var(--color-accent, #D4A33A);
	border-bottom: 1px solid rgba(212, 163, 58, 0.4);
	padding-bottom: 1px;
}

.lcc-footer__intro a:hover {
	border-bottom-color: var(--color-accent, #D4A33A);
}

/* Responsive */
@media (max-width: 880px) {
	.lcc-footer__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
	.lcc-footer__legal {
		padding-top: 16px;
	}
}

/* ============================================================
   PAGINATION — WP query-pagination (blog/archive/search)
   Defensive mobile rules per evitare overflow del "Successivi ->" link
   ============================================================ */

.wp-block-query-pagination {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 8px;
	margin-top: var(--space-7, 48px);
	max-width: 100%;
}
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination a.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 44px;
	min-width: 44px;
	padding: 8px 12px;
	font-family: var(--font-heading);
	font-weight: 600;
	font-size: 14px;
	color: var(--color-text);
	background: var(--color-bg-subtle, transparent);
	border: 1px solid var(--color-line, transparent);
	border-radius: 4px;
	text-decoration: none;
	transition: background var(--t-base), color var(--t-base);
}
.wp-block-query-pagination .page-numbers.current,
.wp-block-query-pagination a.page-numbers:hover {
	background: var(--color-primary);
	color: #fff;
	border-color: var(--color-primary);
}
.wp-block-query-pagination .page-numbers.dots {
	border: none;
	background: transparent;
}

@media (max-width: 540px) {
	.wp-block-query-pagination .page-numbers,
	.wp-block-query-pagination a.page-numbers {
		font-size: 13px;
		padding: 6px 10px;
	}
	/* Su mobile mostro solo le freccia + corrente + adiacenti.
	   Le pagine "lontane" potrebbero fluire male; con flex-wrap si vanno a capo correttamente. */
}

/* ============================================================
   TABLET INTERMEDIATE (600-879) — evita 3-col→1-col crash a 880
   ============================================================ */

@media (max-width: 879px) and (min-width: 600px) {
	.lcc-ultimi-articoli__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
	.lcc-press__bento {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px;
	}
	.lcc-footer__grid {
		grid-template-columns: 1.2fr 1fr;
		gap: 40px;
	}
	/* Stats row resta 2-col come già definito al break 880; nessun override extra */

	.lcc-pubblicazioni,
	.lcc-ultimi-articoli,
	.lcc-press,
	.lcc-contact {
		padding: 80px 0;
	}
	.lcc-pullquote {
		padding: 80px 0;
	}
	.lcc-experience__block {
		padding: 56px 40px;
	}
}

/* ============================================================
   MOBILE DEFENSIVE — protezione contro overflow orizzontale globale.
   Uso `overflow-x: clip` (non breaks position:sticky come overflow:hidden).
   Fallback hidden per browser senza supporto clip (~5% globalmente, ok).
   ============================================================ */

html, body {
	max-width: 100%;
	overflow-x: clip;
}
img, svg, video, iframe {
	max-width: 100%;
	height: auto;
}
.lcc-contact__email-svg {
	max-width: 100%;
	height: auto;
}
