/*
Theme Name: LaSalle St. (Astra Child)
Theme URI: https://www.lasallestcapital.com
Description: Brand design system for LaSalle St. Capital Management, built on Astra. Pages are edited in the standard WordPress block editor; this stylesheet supplies the look.
Author: LaSalle St. Capital Management
Template: astra
Version: 1.1.8
Text Domain: lasalle-astra-child
*/

/* ==========================================================================
   0. Fonts (self-hosted variable woff2 files from Google Fonts, latin + latin-ext)
   ========================================================================== */
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("assets/fonts/montserrat-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Montserrat";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url("assets/fonts/montserrat-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/source-sans-3-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Source Sans 3";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("assets/fonts/source-sans-3-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Source Sans 3";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/source-sans-3-italic-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
	font-family: "Source Sans 3";
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url("assets/fonts/source-sans-3-italic-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ==========================================================================
   1. Design tokens (from the design package: tokens/*.css)
   ========================================================================== */
:root {
	--navy-900: #0a0d24;
	--navy-800: #0e1235;
	--navy-700: #161a3c;
	--navy-600: #232a55;
	--navy-500: #36406f;
	--navy-400: #5b6494;
	--navy-100: #e7e9f1;
	--stone-700: #6e6253;
	--stone-500: #9b8e7c;
	--stone-300: #d2cabd;
	--stone-50: #f4f1ea;
	--paper: #ffffff;
	--fog-50: #f7f8fb;
	--fog-100: #eef1f6;
	--fog-200: #e1e5ee;
	--ink-900: #14171f;
	--ink-700: #2a2f3a;
	--slate-600: #4a505d;
	--slate-500: #6b7280;
	--slate-400: #99a0ad;
	--band-end: #eef1f8;
	--linkedin: #0a66c2;

	--font-display: "Montserrat", "Helvetica Neue", Arial, sans-serif;
	--font-sans: "Source Sans 3", system-ui, -apple-system, "Segoe UI", sans-serif;

	--content-max: 1240px;
	--gutter: clamp(20px, 3vw, 40px);
	--section-top: clamp(48px, 5vw, 86px);
	--section-bottom: clamp(52px, 5.4vw, 92px);
	--ease-out: cubic-bezier(.22, .61, .36, 1);

	--card-fill: linear-gradient(170deg, #ffffff 0%, #f4f6fb 55%, var(--navy-100) 100%);
	--card-shadow: 0 30px 70px -34px rgba(14, 18, 53, .5);
	--card-shadow-hover: 0 46px 96px -34px rgba(14, 18, 53, .6);
}

/* ==========================================================================
   2. Base
   ========================================================================== */
body,
.editor-styles-wrapper {
	font-family: var(--font-sans);
	color: var(--slate-600);
	-webkit-font-smoothing: antialiased;
}

:where(h1, h2, h3, h4, h5, h6),
.entry-content :where(h1, h2, h3, h4, h5, h6) {
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--ink-900);
	text-wrap: pretty;
}

a { color: var(--navy-700); }
a:hover, a:focus { color: var(--navy-600); }

:where(a, button):focus-visible {
	outline: 2px solid var(--navy-600);
	outline-offset: 3px;
}

/* Pages built with this system: remove Astra's spacing around full-width content. */
.page .entry-content > .alignfull:first-child { margin-top: 0; }
.page .entry-content > .alignfull { margin-bottom: 0; }

/* ==========================================================================
   3. Layout primitives
   ========================================================================== */
.lcap-section {
	margin: 0;
	padding: var(--section-top) 0 var(--section-bottom);
}

/* Astra pads full-width groups on small screens; .lcap-container already provides the gutter. */
.entry-content .wp-block-group.alignfull.lcap-section {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.lcap-container,
.lcap-section .wp-block-group.lcap-container {
	box-sizing: border-box;
	width: 100%;
	max-width: var(--content-max);
	margin-left: auto !important;
	margin-right: auto !important;
	padding-inline: var(--gutter);
}

/* Stacked content inside sections: flex column with gap instead of flow margins. */
:is(.lcap-section, .lcap-hero, .lcap-banner, .lcap-photo-band) :is(.wp-block-group.is-layout-flow, .wp-block-group.is-layout-constrained, .wp-block-column) {
	display: flex;
	flex-direction: column;
	gap: 16px;
}

:is(.lcap-section, .lcap-hero, .lcap-banner, .lcap-photo-band) :is(p, h1, h2, h3, h4, figure, ul, ol, .wp-block-buttons, .wp-block-columns, .wp-block-group) {
	margin: 0;
}

:is(.lcap-section, .lcap-hero, .lcap-banner, .lcap-photo-band) .wp-block-columns {
	gap: clamp(28px, 3.4vw, 64px);
	margin-bottom: 0;
}

.lcap-gap-sm { gap: 12px !important; }
.lcap-gap-lg { gap: clamp(20px, 2.2vw, 30px) !important; }
.lcap-gap-xl { gap: clamp(28px, 3.2vw, 52px) !important; }
.lcap-mt-group { margin-top: clamp(32px, 3.4vw, 52px) !important; }

/* Tighter gap between an intro line and the step tiles that follow it (Home: "Getting started..."). */
.lcap-band-tint .lcap-pillars.lcap-mt-group { margin-top: clamp(8px, 1.2vw, 16px) !important; }

/* Bands */
.lcap-band-paper { background: var(--paper); }
.lcap-band-tint { background: var(--navy-100); }
.lcap-band-fog { background: var(--fog-50); }
.lcap-band-light { background: linear-gradient(180deg, var(--fog-50) 0%, var(--band-end) 100%); }
.lcap-band-fade { background: linear-gradient(165deg, var(--navy-100) 0%, var(--paper) 62%); }

.lcap-section--tight-bottom { padding-bottom: clamp(40px, 4.2vw, 68px); }

/* ==========================================================================
   4. Typography
   ========================================================================== */
.lcap-section h2,
.lcap-photo-band h2 {
	font-size: clamp(27px, 2.9vw, 42px);
	line-height: 1.06;
	letter-spacing: -.028em;
	color: var(--ink-900);
	max-width: 26ch;
}

.lcap-section h2.lcap-h2--brand {
	font-size: clamp(29px, 3.1vw, 46px);
	line-height: 1.04;
	color: var(--navy-700);
}

.lcap-section h2.lcap-h2--sm,
.lcap-photo-band h2.lcap-h2--sm {
	font-size: clamp(24px, 2.5vw, 34px);
	line-height: 1.08;
}

.lcap-section h3 {
	font-size: clamp(19px, 1.8vw, 23px);
	line-height: 1.16;
	letter-spacing: -.018em;
	color: var(--ink-900);
}

.lcap-section p,
.lcap-photo-band p {
	font-size: 17px;
	line-height: 1.72;
	color: var(--slate-600);
}

.lcap-section p.lcap-lead {
	font-size: clamp(18px, 1.6vw, 21px);
	font-weight: 500;
	line-height: 1.68;
	max-width: 62ch;
}

.lcap-section p.lcap-body-lg {
	font-size: clamp(17px, 1.5vw, 19px);
	line-height: 1.74;
	max-width: 70ch;
}

p.lcap-eyebrow,
.lcap-section p.lcap-eyebrow {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 13px;
	line-height: 1.4;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--navy-700);
}

p.lcap-disclosure,
.lcap-section p.lcap-disclosure {
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--slate-400);
}

.lcap-disclosure a { color: var(--slate-600); }

/* Uppercase arrow link (design-system RuleLink) */
.lcap-link-arrow,
.lcap-section p.lcap-link-arrow,
.lcap-photo-band p.lcap-link-arrow {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.4;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--navy-700);
}

.lcap-link-arrow a,
span.lcap-link-arrow,
button.lcap-link-arrow {
	display: inline-block;
	padding-bottom: 6px;
	border-bottom: 1px solid currentColor;
	color: var(--navy-700);
	text-decoration: none;
	transition: color .18s var(--ease-out);
}

.lcap-link-arrow a:hover,
button.lcap-link-arrow:hover { color: var(--navy-600); }

/* Astra underlines content links; arrow links use only their own rule line. */
.entry-content .lcap-link-arrow a { text-decoration: none; }

/* "Learn more" inside cards: no line at all. */
.entry-content .lcap-card .lcap-link-arrow a {
	border-bottom: 0;
	padding-bottom: 0;
}

/* Card whose whole area is clickable via its one link. */
.lcap-stretched-link::after,
.lcap-card .lcap-link-arrow a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

/* ==========================================================================
   5. Buttons
   ========================================================================== */
.lcap-actions { gap: 16px; }

.wp-block-button.lcap-btn .wp-block-button__link {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	letter-spacing: .01em;
	padding: 16px 28px;
	border-radius: 0;
	border: 1px solid var(--navy-700);
	transition: background-color .2s var(--ease-out), color .2s var(--ease-out);
}

.wp-block-button.lcap-btn--primary .wp-block-button__link {
	background: var(--navy-700);
	color: #fff;
}

.wp-block-button.lcap-btn--primary .wp-block-button__link:hover {
	background: var(--navy-600);
	border-color: var(--navy-600);
	color: #fff;
}

.wp-block-button.lcap-btn--outline .wp-block-button__link {
	background: transparent;
	color: var(--navy-700);
}

.wp-block-button.lcap-btn--outline .wp-block-button__link:hover {
	background: var(--navy-100);
	color: var(--navy-700);
}

/* ==========================================================================
   6. Hero (Home) and page banners: Cover block
   ========================================================================== */
.wp-block-cover.lcap-hero,
.wp-block-cover.lcap-banner {
	margin: 0;
	padding: 0;
	overflow: hidden;
	color: #fff;
}

.wp-block-cover.lcap-hero {
	min-height: max(430px, calc(100vh - 196px)) !important;
	align-items: center;
}

.wp-block-cover.lcap-banner {
	min-height: 0 !important;
	padding: clamp(120px, 12vw, 190px) 0 var(--section-bottom);
	align-items: flex-end;
}

.wp-block-cover:is(.lcap-hero, .lcap-banner, .lcap-photo-band) > .wp-block-cover__inner-container {
	box-sizing: border-box;
	width: 100% !important;
	max-width: var(--content-max) !important;
	margin-inline: auto !important;
	padding-inline: var(--gutter);
}

.wp-block-cover:is(.lcap-hero, .lcap-banner) :is(h1, h2, p) { color: #fff !important; }
.wp-block-cover:is(.lcap-hero, .lcap-banner) p.lcap-eyebrow { color: rgba(255, 255, 255, .86) !important; }

.lcap-hero__copy { max-width: 640px; gap: clamp(22px, 2.4vw, 34px) !important; }
.lcap-banner__copy { max-width: 760px; gap: clamp(16px, 1.8vw, 22px) !important; }

:is(.lcap-hero, .lcap-banner) h1 {
	color: #fff;
	font-size: clamp(32px, 4.2vw, 62px);
	line-height: .98;
	letter-spacing: -.037em;
	text-shadow: 0 2px 18px rgba(22, 26, 60, .55);
}

.lcap-banner h1 {
	font-size: clamp(32px, 4.2vw, 60px);
	line-height: .99;
	max-width: 20ch;
}

:is(.lcap-hero, .lcap-banner) p {
	color: #fff;
	font-weight: 500;
	font-size: clamp(17px, 1.5vw, 20px);
	line-height: 1.68;
	max-width: 54ch;
	text-shadow: 0 1px 12px rgba(22, 26, 60, .6);
}

:is(.lcap-hero, .lcap-banner) p.lcap-eyebrow {
	color: rgba(255, 255, 255, .86);
	font-size: 13px;
	line-height: 1.4;
	text-shadow: none;
}

/* Slow zoom on the Home hero photo */
@keyframes lcapKenBurns {
	0% { transform: scale(1.04) translate3d(0, 0, 0); }
	100% { transform: scale(1.16) translate3d(-2%, -1.4%, 0); }
}

.lcap-hero--zoom .wp-block-cover__image-background {
	transform-origin: 50% 52%;
	animation: lcapKenBurns 14s ease-in-out infinite alternate;
	will-change: transform;
}

@media (max-width: 781px) {
	:is(.lcap-hero, .lcap-banner) .wp-block-cover__background {
		background: linear-gradient(180deg, rgba(22, 26, 60, .72) 0%, rgba(22, 26, 60, .88) 100%) !important;
		opacity: 1 !important;
	}
	.wp-block-cover.lcap-hero { min-height: 560px !important; }
}

/* ==========================================================================
   7. Photo band (Who We Serve / How we help): Cover block with fixed background
   ========================================================================== */
.wp-block-cover.lcap-photo-band {
	margin: 0;
	padding: clamp(60px, 6.6vw, 112px) 0 clamp(44px, 4.6vw, 78px);
	min-height: 0 !important;
	align-items: flex-start;
}

.wp-block-cover.lcap-photo-band > .wp-block-cover__inner-container {
	display: flex;
	flex-direction: column;
	gap: clamp(22px, 2.4vw, 34px);
}

/* Two photo bands in a row (Financial Professionals) read as one band: tighten the join. */
.wp-block-cover.lcap-photo-band + .wp-block-cover.lcap-photo-band {
	padding-top: clamp(8px, 1.4vw, 20px);
}

.lcap-photo-band h2 {
	color: #fff;
	/* Layered shadow keeps the white title legible wherever the fixed photo sits behind it. */
	text-shadow: 0 1px 3px rgba(10, 13, 36, .55), 0 3px 14px rgba(10, 13, 36, .6), 0 6px 34px rgba(10, 13, 36, .55);
}

/* ==========================================================================
   8. Cards
   ========================================================================== */
.lcap-cards { gap: clamp(20px, 2.2vw, 32px) !important; }

/* Three across on desktop and tablet, one on phones (overrides the block editor's auto-fill grid maths). */
.wp-block-group.is-layout-grid:is(.lcap-cards, .lcap-pillars) {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

@media (max-width: 781px) {
	.wp-block-group.is-layout-grid:is(.lcap-cards, .lcap-pillars) {
		grid-template-columns: minmax(0, 1fr) !important;
	}
}

/* Astra colours all text inside Cover blocks; cards sitting on a photo band keep the brand colours. */
body .wp-block-cover.lcap-photo-band .lcap-card p { color: var(--slate-600); }
body .wp-block-cover.lcap-photo-band .lcap-card h3 { color: var(--navy-800); }
body .wp-block-cover.lcap-photo-band .lcap-card p.lcap-link-arrow,
body .wp-block-cover.lcap-photo-band .lcap-card .lcap-link-arrow a { color: var(--navy-700); }

.lcap-card {
	position: relative;
	box-sizing: border-box;
	background: var(--card-fill);
	border-top: 3px solid var(--navy-700);
	border-radius: 14px;
	box-shadow: var(--card-shadow);
	transition: transform .3s var(--ease-out), box-shadow .3s var(--ease-out);
}

.lcap-card:hover {
	transform: translateY(-6px);
	box-shadow: var(--card-shadow-hover);
}

/* Audience cards (Home: Who We Serve) */
.lcap-card--audience {
	padding: clamp(34px, 3.4vw, 52px) clamp(30px, 3vw, 44px) clamp(36px, 3.6vw, 54px);
	min-height: clamp(400px, 34vw, 500px);
	gap: 18px !important;
}

.lcap-card--audience:hover { transform: translateY(-8px); }

.lcap-card--audience h3 {
	font-size: clamp(23px, 2.3vw, 30px);
	line-height: 1.12;
	letter-spacing: -.018em;
	color: var(--navy-800);
	min-height: 2.24em;
}

.lcap-card--audience p:not(.lcap-link-arrow) {
	flex-grow: 1;
	font-size: clamp(19px, 1.8vw, 23px);
	font-weight: 500;
	line-height: 1.58;
}

/* Service / benefit cards with an icon */
.lcap-card--service {
	padding: clamp(30px, 3vw, 44px) clamp(24px, 2.2vw, 30px) clamp(32px, 3.2vw, 46px);
}

.lcap-card__head {
	flex-wrap: nowrap !important;
	align-items: center !important;
	gap: 12px !important;
	min-height: 2.5em;
}

.lcap-card__icon,
.lcap-card__icon img {
	flex: none;
	width: 38px !important;
	height: 38px !important;
	margin: 0 !important;
}

.lcap-card--service h3 {
	font-size: clamp(19px, 1.6vw, 21px);
	line-height: 1.14;
	letter-spacing: -.02em;
	color: var(--navy-800);
}

.lcap-card--service p {
	font-size: clamp(16.5px, 1.5vw, 18.5px);
	line-height: 1.72;
}

/* Rule-topped pillars and numbered steps */
.lcap-pillars { gap: clamp(20px, 2.4vw, 44px) !important; }

.lcap-pillar {
	padding-top: clamp(20px, 2.2vw, 30px);
	border-top: 2px solid var(--navy-700);
	gap: 12px !important;
}

.lcap-pillar h3 { color: var(--navy-800); }
.lcap-pillars--muted .lcap-pillar { border-top-color: var(--navy-400); padding-top: clamp(18px, 2vw, 26px); }

/* Latest insights cards ([lcap_latest_insights]) */
.lcap-post-cards {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(20px, 2.4vw, 40px);
}

.lcap-card-post {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 12px;
	background: var(--fog-50);
	padding: clamp(24px, 2.6vw, 34px);
	border-top: 2px solid var(--navy-400);
	transition: transform .28s var(--ease-out), box-shadow .28s var(--ease-out);
}

.lcap-card-post:hover {
	transform: translateY(-6px);
	box-shadow: 0 30px 70px -34px rgba(14, 18, 53, .45);
}

.lcap-card-post p,
.lcap-card-post h3 { margin: 0; }

.lcap-card-post__meta {
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .06em;
	color: var(--slate-500);
}

.lcap-card-post__title {
	font-size: clamp(20px, 1.9vw, 24px);
	line-height: 1.14;
	letter-spacing: -.02em;
}

.lcap-card-post__title a { color: var(--ink-900); text-decoration: none !important; }

.lcap-card-post__excerpt {
	font-size: 16.5px;
	line-height: 1.7;
	color: var(--slate-600);
}

.lcap-card-post__more { margin-top: auto !important; padding-top: 12px; }

@media (max-width: 921px) {
	.lcap-post-cards { grid-template-columns: 1fr; }
}

/* ==========================================================================
   9. Section pieces
   ========================================================================== */
.lcap-section-header {
	justify-content: space-between !important;
	align-items: flex-end !important;
	gap: 24px !important;
	padding-bottom: clamp(20px, 2.2vw, 30px);
	border-bottom: 2px solid var(--ink-900);
}

.lcap-section-header .lcap-link-arrow { padding-bottom: 6px; }

.lcap-rule-top {
	padding-top: clamp(24px, 2.6vw, 36px);
	border-top: 2px solid var(--ink-900);
}

/* Images */
.lcap-img-feature img {
	display: block;
	width: 100%;
	height: clamp(260px, 28vw, 400px);
	object-fit: cover;
	border-radius: 14px;
	box-shadow: 0 30px 70px -34px rgba(14, 18, 53, .5);
}

.lcap-img-43 {
	position: relative;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 40px 90px -38px rgba(14, 18, 53, .5);
}

.lcap-img-43 img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

.lcap-img-43::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(200deg, rgba(22, 26, 60, 0) 40%, rgba(22, 26, 60, .42) 100%);
	pointer-events: none;
}

/* ==========================================================================
   10. Team ([lcap_team]) and bio pop-ups
   ========================================================================== */
.lcap-team {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(28px, 3.4vw, 64px);
}

.lcap-team__member {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.lcap-team__photo-button {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--navy-100);
	cursor: pointer;
	overflow: hidden;
	width: clamp(150px, 15vw, 196px);
	height: clamp(150px, 15vw, 196px);
	box-shadow: 0 24px 50px -26px rgba(14, 18, 53, .5);
}

/* One square headshot serves both places: zoomed toward the face in the grid, shown whole in the pop-up. */
.lcap-team__photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.28);
	transform-origin: 50% 8%;
	transition: transform .5s var(--ease-out);
}

.lcap-team__photo-button:hover .lcap-team__photo { transform: scale(1.38); }

.lcap-section .lcap-team__name {
	margin: 24px 0 0;
	font-size: clamp(19px, 1.8vw, 23px);
	line-height: 1.18;
	letter-spacing: 0;
	color: var(--navy-800);
	max-width: none;
}

.lcap-section p.lcap-team__role {
	margin: 8px 0 0;
	min-height: 1.5em;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.5;
	color: var(--slate-500);
}

.lcap-section p.lcap-team__summary {
	margin: 14px 0 0;
	max-width: 34ch;
	min-height: 4.1em;
	font-size: 16px;
	line-height: 1.7;
}

.lcap-team button.lcap-team__read,
.lcap-team button.lcap-team__read:hover,
.lcap-team button.lcap-team__read:focus {
	margin-top: 18px;
	background: none !important;
	color: var(--navy-700) !important;
	border-width: 0 0 1px;
	border-style: solid;
	border-color: currentColor;
	border-radius: 0;
	padding: 0 0 6px;
	box-shadow: none;
	cursor: pointer;
}

.lcap-team .lcap-team__photo-button,
.lcap-team .lcap-team__photo-button:hover,
.lcap-team .lcap-team__photo-button:focus { background: var(--navy-100) !important; padding: 0 !important; }

@media (max-width: 781px) {
	.lcap-team { grid-template-columns: 1fr; gap: 56px; }
	.lcap-section p.lcap-team__summary { min-height: 0; }
}

dialog.lcap-bio {
	width: min(1180px, calc(100vw - 32px));
	max-width: none;
	max-height: calc(100vh - 32px);
	padding: 0;
	border: 0;
	border-radius: 0;
	background: var(--paper);
	box-shadow: 0 40px 100px -30px rgba(10, 13, 36, .6);
	overflow: auto;
	color: var(--slate-600);
}

dialog.lcap-bio::backdrop {
	background: rgba(10, 13, 36, .62);
	-webkit-backdrop-filter: blur(3px);
	backdrop-filter: blur(3px);
}

html.lcap-modal-open { overflow: hidden; }

.lcap-bio__panel {
	display: grid;
	grid-template-columns: minmax(0, 31%) minmax(0, 1fr);
	min-height: min(740px, calc(100vh - 32px));
}

/* Whole headshot, centred on a light panel. */
.lcap-bio__media {
	display: flex;
	align-items: center;
	background: var(--fog-100);
}

.lcap-bio__photo {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.lcap-bio__body {
	position: relative;
	padding: clamp(32px, 4.6vw, 56px);
}

dialog.lcap-bio .lcap-bio__close,
dialog.lcap-bio .lcap-bio__close:hover,
dialog.lcap-bio .lcap-bio__close:focus {
	position: absolute;
	top: clamp(28px, 4.2vw, 50px);
	right: clamp(24px, 4.6vw, 56px);
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none !important;
	box-shadow: none;
	color: var(--slate-400) !important;
	font-family: var(--font-sans);
	font-size: 30px;
	font-weight: 400;
	line-height: 36px;
	cursor: pointer;
}

dialog.lcap-bio .lcap-bio__close:hover { color: var(--navy-700) !important; }

.lcap-bio__head {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-right: 52px;
}

.lcap-bio__name,
.lcap-section .lcap-bio__name {
	margin: 0;
	font-size: clamp(26px, 2.8vw, 36px);
	line-height: 1.1;
	letter-spacing: -.025em;
	color: var(--ink-900);
}

dialog.lcap-bio .lcap-bio__linkedin,
dialog.lcap-bio .lcap-bio__linkedin:hover {
	display: inline-flex;
	flex: none;
	color: var(--linkedin);
}

dialog.lcap-bio .lcap-bio__linkedin svg { width: 22px; height: 22px; }

/* Title, then a hairline divider before the bio. */
.lcap-bio__role,
.lcap-section p.lcap-bio__role {
	margin: 10px 0 0;
	padding-bottom: clamp(24px, 3vw, 36px);
	border-bottom: 1px solid var(--fog-200);
	font-weight: 600;
	font-size: 15px;
	color: var(--slate-400);
}

.lcap-bio__text { margin-top: clamp(24px, 3vw, 36px); }

.lcap-bio__text p,
.lcap-section .lcap-bio__text p {
	margin: 0 0 16px;
	font-size: 16.5px;
	line-height: 1.78;
	color: var(--slate-600);
}

.lcap-bio__disclosure,
.lcap-section p.lcap-bio__disclosure {
	margin: 18px 0 0;
	font-size: 13px;
	line-height: 1.6;
	color: var(--slate-400);
}

@media (max-width: 781px) {
	.lcap-bio__panel { grid-template-columns: 1fr; min-height: 0; }
	.lcap-bio__media { justify-content: center; padding: 24px 24px 0; background: var(--paper); }
	.lcap-bio__photo { width: min(260px, 70%); }
}

/* ==========================================================================
   11. Responsive
   ========================================================================== */
@media (max-width: 781px) {
	.lcap-card--audience { min-height: 0; }
	.lcap-card--audience h3 { min-height: 0; }
	.lcap-section-header { align-items: flex-start !important; }
}

@media (prefers-reduced-motion: reduce) {
	.lcap-hero--zoom .wp-block-cover__image-background { animation: none; transform: none; }
	.lcap-card, .lcap-card-post, .lcap-team__photo { transition: none; }
	.lcap-card:hover, .lcap-card-post:hover { transform: none; }
	.lcap-team__photo-button:hover .lcap-team__photo { transform: none; }
}


/* ==========================================================================
   12. Insights article page (single post template from the LaSalle St. Site plugin)
   ========================================================================== */
body.lcap-article-page .site-content > .ast-container {
	display: block;
	max-width: none !important;
	padding: 0 !important;
}

.lcap-article-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(120px, 12vw, 190px) 0 clamp(52px, 5.4vw, 88px);
	background: var(--navy-800);
	color: #fff;
}

.lcap-article-hero__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: 50% 45%;
}

.lcap-article-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(96deg, rgba(14, 18, 53, .92) 0%, rgba(14, 18, 53, .8) 40%, rgba(14, 18, 53, .44) 72%, rgba(14, 18, 53, .2) 100%);
}

.lcap-article-hero__inner { position: relative; z-index: 1; }
.lcap-article-hero p.lcap-eyebrow { margin: 0; color: rgba(255, 255, 255, .86) !important; }

.lcap-article-hero h1 {
	margin: 18px 0 0;
	max-width: 24ch;
	font-size: clamp(30px, 3.7vw, 54px);
	line-height: 1.04;
	letter-spacing: -.035em;
	color: #fff !important;
	text-shadow: 0 1px 3px rgba(10, 13, 36, .55), 0 3px 14px rgba(10, 13, 36, .6);
}

.lcap-article-hero p.lcap-article-hero__meta {
	margin: clamp(20px, 2.2vw, 28px) 0 0;
	font-weight: 500;
	font-size: 15.5px;
	line-height: 1.6;
	color: rgba(255, 255, 255, .92) !important;
	text-shadow: 0 1px 12px rgba(10, 13, 36, .6);
}

.lcap-article-main { padding: clamp(44px, 4.6vw, 78px) 0 clamp(52px, 5.4vw, 90px); background: var(--paper); }

.lcap-article-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: clamp(32px, 4vw, 72px);
	align-items: start;
}

.lcap-article-body { max-width: 760px; }

p.lcap-article-dek {
	margin: 0 0 clamp(26px, 2.8vw, 38px);
	font-family: var(--font-display);
	font-weight: 600;
	font-size: clamp(19px, 1.8vw, 23px);
	line-height: 1.5;
	letter-spacing: -.012em;
	color: var(--navy-800);
}

/* Article body typography */
.lcap-article-content > *:first-child { margin-top: 0; }

.lcap-article-content p {
	margin: 0 0 18px;
	font-size: 17.5px;
	line-height: 1.8;
	color: var(--slate-600);
}

.lcap-article-content strong { color: var(--ink-900); }

.lcap-article-content h2 {
	margin: clamp(30px, 3.2vw, 44px) 0 14px;
	font-size: clamp(22px, 2.1vw, 29px);
	line-height: 1.14;
	letter-spacing: -.024em;
	color: var(--ink-900);
	scroll-margin-top: calc(var(--lcap-header-h) + 24px);
}

.lcap-article-content h3 {
	margin: 26px 0 10px;
	font-size: clamp(19px, 1.7vw, 22px);
	line-height: 1.2;
	color: var(--ink-900);
}

.lcap-article-content ul,
.lcap-article-content ol { margin: 0 0 22px; padding-left: 22px; }

.lcap-article-content li {
	margin: 0 0 10px;
	font-size: 17.5px;
	line-height: 1.75;
	color: var(--slate-600);
}

.lcap-article-content li::marker { color: var(--navy-700); }
.lcap-article-content a { color: var(--navy-700); }

/* Editor block styles (picked from a block's Styles panel) */
.lcap-article-content p.is-style-lcap-note,
p.is-style-lcap-note {
	margin: 0 0 10px;
	font-size: 13px;
	line-height: 1.65;
	color: var(--slate-500);
}

.lcap-article-content p.is-style-lcap-note-heading,
p.is-style-lcap-note-heading {
	margin: 28px 0 8px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--slate-500);
}

p.is-style-lcap-article-link { margin: 8px 0 22px; }

p.is-style-lcap-article-link a {
	font-weight: 600;
	font-size: 16px;
	color: var(--navy-700);
	text-decoration: none;
	border-bottom: 1px solid rgba(22, 26, 60, .3);
}

.wp-block-group.is-style-lcap-figure-placeholder {
	margin: clamp(24px, 2.6vw, 34px) 0;
	padding: clamp(32px, 3.6vw, 52px) 24px;
	border: 1.5px dashed var(--navy-400);
	border-radius: 12px;
	background: var(--fog-100);
	text-align: center;
}

.wp-block-group.is-style-lcap-figure-placeholder p {
	max-width: 60ch;
	margin: 0 auto;
	font-size: 15px;
	line-height: 1.5;
	color: var(--slate-600);
}

.wp-block-group.is-style-lcap-figure-placeholder p.lcap-figure-placeholder__label {
	margin-bottom: 8px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--navy-700);
}

.wp-block-image.is-style-lcap-figure { margin: clamp(24px, 2.6vw, 34px) 0; }

.wp-block-image.is-style-lcap-figure img {
	border-radius: 14px;
	box-shadow: 0 34px 70px -36px rgba(14, 18, 53, .45);
}

.wp-block-image.is-style-lcap-figure figcaption {
	margin-top: 12px;
	font-size: 14px;
	line-height: 1.6;
	color: var(--slate-400);
	text-align: left;
}

.wp-block-quote.is-style-lcap-pull-quote {
	margin: 0 0 clamp(28px, 3vw, 40px);
	padding: clamp(22px, 2.4vw, 32px) clamp(24px, 2.6vw, 36px);
	border: 0;
	border-left: 3px solid var(--navy-700);
	border-radius: 0 12px 12px 0;
	background: var(--card-fill);
	box-shadow: 0 26px 60px -34px rgba(14, 18, 53, .4);
}

.wp-block-quote.is-style-lcap-pull-quote p {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(19px, 1.8vw, 24px);
	line-height: 1.42;
	letter-spacing: -.016em;
	color: var(--navy-800);
}

.wp-block-quote.is-style-lcap-pull-quote cite {
	display: block;
	margin-top: 14px;
	font-style: normal;
	font-weight: 600;
	font-size: 14.5px;
	color: var(--slate-500);
}

/* Author byline */
a.lcap-article-author {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-top: clamp(30px, 3.2vw, 44px);
	padding-top: clamp(24px, 2.6vw, 34px);
	border-top: 2px solid var(--navy-700);
	text-decoration: none;
}

.lcap-article-author__photo {
	flex: none;
	width: 68px;
	height: 68px;
	border-radius: 50%;
	object-fit: cover;
	background: var(--fog-100);
}

.lcap-article-author__text { display: flex; flex-direction: column; gap: 2px; }

.lcap-article-author__name {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 19px;
	color: var(--navy-800);
}

.lcap-article-author__role { font-size: 15px; color: var(--slate-500); }

/* Sidebar */
.lcap-article-aside {
	position: sticky;
	top: calc(var(--lcap-adminbar-h) + var(--lcap-header-h) + 20px);
	max-height: calc(100vh - var(--lcap-adminbar-h) - var(--lcap-header-h) - 40px);
	overflow-y: auto;
	scrollbar-width: thin;
}

.lcap-article-aside__inner { display: flex; flex-direction: column; gap: 18px; }

a.lcap-article-back {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--navy-700);
	text-decoration: none;
}

a.lcap-article-back:hover { color: var(--navy-500); }

.lcap-article-toc {
	padding: 22px 24px;
	background: var(--fog-50);
	border-top: 2px solid var(--navy-400);
}

p.lcap-article-toc__title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--navy-700);
}

.lcap-article-toc ul { margin: 12px 0 0; padding: 0; list-style: none; }
.lcap-article-toc li { margin: 0; padding: 6px 0; border-top: 1px solid var(--fog-200); }
.lcap-article-toc li:first-child { border-top: 0; }

.lcap-article-toc a {
	font-size: 15px;
	line-height: 1.4;
	color: var(--slate-600);
	text-decoration: none;
}

.lcap-article-toc a:hover { color: var(--navy-700); }

.lcap-article-cta { padding: 26px 24px; background: var(--navy-800); }

p.lcap-article-cta__title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 19px;
	line-height: 1.25;
	color: #fff;
}

p.lcap-article-cta__text { margin: 8px 0 18px; font-size: 15px; line-height: 1.5; color: rgba(255, 255, 255, .8); }

a.lcap-article-cta__button {
	display: inline-block;
	padding: 12px 18px;
	background: #fff;
	color: var(--navy-800);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 14px;
	text-decoration: none;
	transition: background-color .2s var(--ease-out);
}

a.lcap-article-cta__button:hover { background: var(--navy-100); color: var(--navy-800); }

.lcap-article-related { display: flex; flex-direction: column; gap: clamp(24px, 2.6vw, 36px); }
.lcap-section .lcap-article-related h2 { max-width: none; margin: 0; }

.lcap-article-disclosure { padding: 28px 0 48px; background: var(--paper); }

.lcap-article-disclosure p {
	max-width: 100ch;
	margin: 0;
	font-size: 13.5px;
	line-height: 1.6;
	color: var(--slate-400);
}

@media (max-width: 921px) {
	.lcap-article-grid { grid-template-columns: minmax(0, 1fr); }
	.lcap-article-aside,
	.admin-bar .lcap-article-aside { position: static; max-height: none; overflow: visible; }
}

@media (max-width: 781px) {
	.lcap-article-hero::after { background: linear-gradient(180deg, rgba(14, 18, 53, .72) 0%, rgba(14, 18, 53, .9) 100%); }
}

/* ==========================================================================
   13. Insights & Newsroom page ([lcap_insights_archive])
   ========================================================================== */
.lcap-insights { display: flex; flex-direction: column; gap: clamp(28px, 3vw, 44px); width: 100%; }

.lcap-insights__controls {
	display: flex;
	flex-direction: column;
	gap: 18px;
	padding-bottom: 28px;
	border-bottom: 1px solid var(--fog-200);
}

.lcap-insights__search { display: flex; max-width: 620px; margin: 0; }

.lcap-insights__search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 50px;
	padding: 0 16px;
	border: 1px solid var(--fog-200);
	border-right: 0;
	border-radius: 0;
	background: #fff;
	font-family: var(--font-sans);
	font-size: 16px;
	color: var(--ink-900);
}

.lcap-insights__search input[type="search"]:focus { outline: 2px solid var(--navy-500); outline-offset: -1px; }

.lcap-insights__search button,
.lcap-insights__search button:focus {
	height: 50px;
	padding: 0 22px;
	border: 1px solid var(--navy-700);
	border-radius: 0;
	background: var(--navy-700) !important;
	color: #fff !important;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 14px;
	cursor: pointer;
}

.lcap-insights__search button:hover { background: var(--navy-600) !important; }

.lcap-insights__status { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.lcap-insights__status p { margin: 0 !important; font-size: 14px; color: var(--slate-500); }
.lcap-insights__status a { font-size: 14px; color: var(--navy-700); }

.lcap-chips { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }

.lcap-chips__label {
	margin-right: 6px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--slate-500);
}

a.lcap-chip {
	display: inline-flex;
	padding: 8px 16px;
	border: 1px solid var(--fog-200);
	background: #fff;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 13px;
	color: var(--navy-700);
	text-decoration: none;
	transition: border-color .18s var(--ease-out), background-color .18s var(--ease-out);
}

a.lcap-chip:hover { border-color: var(--navy-400); color: var(--navy-700); }
a.lcap-chip.is-active, a.lcap-chip.is-active:hover { background: var(--navy-700); border-color: var(--navy-700); color: #fff; }

.lcap-insights-featured {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	overflow: hidden;
	background: var(--card-fill);
	box-shadow: var(--card-shadow);
	transition: box-shadow .28s var(--ease-out);
}

.lcap-insights-featured:hover { box-shadow: var(--card-shadow-hover); }

.lcap-insights-featured__text {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: clamp(28px, 3.4vw, 52px);
}

.lcap-insights-featured__text > * { margin: 0 !important; }

.lcap-section .lcap-insights-featured h2 {
	max-width: none;
	font-size: clamp(26px, 2.6vw, 38px);
	line-height: 1.1;
	letter-spacing: -.024em;
}

.lcap-insights-featured h2 a { color: var(--ink-900); text-decoration: none !important; }
p.lcap-insights-featured__excerpt { font-size: 17.5px; line-height: 1.7; color: var(--slate-600); }

.lcap-insights-featured__media img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 300px;
	object-fit: cover;
}

.lcap-insights__empty {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	padding: clamp(40px, 5vw, 72px) 24px;
	background: var(--fog-50);
	text-align: center;
}

.lcap-insights__empty > * { margin: 0 !important; }
.lcap-section .lcap-insights__empty h2 { max-width: none; font-size: clamp(24px, 2.4vw, 32px); }

a.lcap-insights__clear {
	padding: 14px 24px;
	border: 1px solid var(--navy-700);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 15px;
	color: var(--navy-700);
	text-decoration: none;
}

a.lcap-insights__clear:hover { background: var(--navy-100); color: var(--navy-700); }

@media (max-width: 781px) {
	.lcap-insights-featured { grid-template-columns: minmax(0, 1fr); }
	.lcap-insights-featured__media { order: -1; }
	.lcap-insights-featured__media img { min-height: 0; height: 220px; }
}

/* ==========================================================================
   14. FAQ page (Details blocks inside a group with class "lcap-faq")
   ========================================================================== */
.lcap-section .wp-block-group.lcap-container.lcap-faq { max-width: 920px; gap: 0; }

.lcap-section p.lcap-faq-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0 0 12px;
}

.lcap-faq-nav a {
	padding: 9px 18px;
	border: 1px solid var(--navy-700);
	border-radius: 999px;
	font-family: var(--font-sans);
	font-weight: 600;
	font-size: 15px;
	line-height: 1.3;
	color: var(--navy-700);
	text-decoration: none !important;
	transition: background-color .18s var(--ease-out), color .18s var(--ease-out);
}

.lcap-faq-nav a:hover { background: var(--navy-700); color: #fff; }

.lcap-section .lcap-faq h2 {
	max-width: none;
	margin: 44px 0 18px;
	font-size: clamp(26px, 2.6vw, 36px);
	letter-spacing: -.025em;
	color: var(--ink-900);
	scroll-margin-top: calc(var(--lcap-header-h) + 24px);
}

.lcap-section .wp-block-group.lcap-faq__list {
	gap: 0;
	border-top: 1px solid rgba(20, 23, 31, .14);
}

.lcap-faq details.wp-block-details {
	margin: 0;
	border-bottom: 1px solid rgba(20, 23, 31, .14);
}

.lcap-faq details > summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 24px 0;
	cursor: pointer;
	list-style: none;
}

.lcap-faq details > summary::-webkit-details-marker { display: none; }

.lcap-faq details > summary::after {
	content: "+";
	flex: none;
	font-family: var(--font-display);
	font-size: 28px;
	line-height: 1;
	color: var(--navy-700);
}

.lcap-faq details[open] > summary::after { content: "\2212"; }

.lcap-faq details > summary:focus-visible { outline: 2px solid var(--navy-500); outline-offset: 4px; }

.lcap-faq summary .lcap-faq__q,
.lcap-faq details > summary {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(17px, 1.5vw, 20px);
	line-height: 1.35;
	letter-spacing: -.01em;
	color: var(--ink-900);
}

.lcap-section .lcap-faq details p {
	margin: 0 0 26px;
	padding-right: 52px;
	font-size: 17px;
	line-height: 1.75;
	color: var(--slate-600);
}

.lcap-section p.lcap-faq__more {
	margin: 48px 0 0;
	font-size: 17px;
	color: var(--slate-600);
}

.lcap-faq__more a { font-weight: 600; color: var(--navy-700); }

@media (max-width: 781px) {
	.lcap-section .lcap-faq details p { padding-right: 0; }
	.lcap-faq details > summary { padding: 20px 0; }
}

/* ==========================================================================
   15. Contact page
   ========================================================================== */
/* Wider than the standard container (matches the header width) so the scheduler has room. */
.lcap-section .wp-block-group.lcap-contact__grid {
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
	gap: clamp(30px, 4.4vw, 80px);
	align-items: start;
	max-width: calc(var(--content-max) + 140px);
}

.lcap-contact h1 {
	max-width: none;
	margin: 0;
	font-size: clamp(30px, 3.8vw, 56px);
	white-space: nowrap;
	line-height: 1;
	letter-spacing: -.036em;
	color: var(--ink-900);
}

.lcap-section .wp-block-group.lcap-contact__intro { gap: 16px; }
.lcap-section .lcap-contact__intro h1 + p { margin-top: clamp(6px, .8vw, 16px); }

.lcap-section .lcap-contact__intro p.lcap-lead {
	max-width: 58ch;
	margin: 0;
	font-size: clamp(17px, 1.5vw, 19px);
	line-height: 1.74;
	color: var(--slate-600);
}

.lcap-section p.lcap-contact__direct { margin: 0; font-size: 15.5px; color: var(--slate-500); }
.lcap-contact__direct a { color: var(--navy-700); font-weight: 600; }

/* Empty white card: the contact form goes here. */
.lcap-section .wp-block-group.lcap-contact__form {
	min-height: 240px;
	margin-top: clamp(12px, 1.6vw, 28px);
	padding: clamp(28px, 3vw, 44px) clamp(26px, 2.8vw, 40px) clamp(32px, 3.2vw, 48px);
	background: var(--paper);
	box-shadow: 0 30px 70px -40px rgba(14, 18, 53, .35);
}

/* WPForms "LCAP Contact Us Form" inside the card: brand it through WPForms' own variables. */
.lcap-contact__form .wpforms-container {
	--wpforms-field-border-radius: 0;
	--wpforms-field-border-color: var(--fog-200);
	--wpforms-field-text-color: var(--ink-900);
	--wpforms-field-size-input-height: 48px;
	--wpforms-label-color: var(--ink-900);
	--wpforms-label-sublabel-color: var(--slate-500);
	--wpforms-button-border-radius: 0;
	--wpforms-button-background-color: var(--navy-700);
	--wpforms-button-text-color: #fff;
	--wpforms-button-size-height: 52px;
	--wpforms-button-size-padding-h: 28px;
	--wpforms-button-size-font-size: 15px;
	margin: 0 !important;
}
.lcap-contact__form .wpforms-container .wpforms-field { padding: 0 0 20px; }
.lcap-contact__form .wpforms-container .wpforms-field input:not([type="checkbox"]),
.lcap-contact__form .wpforms-container .wpforms-field select {
	max-width: 100% !important;
	font-family: var(--font-sans);
	font-size: 16px;
}
.lcap-contact__form .wpforms-container .wpforms-field input:focus,
.lcap-contact__form .wpforms-container .wpforms-field select:focus {
	border-color: var(--navy-700) !important;
	box-shadow: 0 0 0 1px var(--navy-700) !important;
}
.lcap-contact__form .wpforms-container .wpforms-field-label {
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 14px;
	letter-spacing: .01em;
}
.lcap-contact__form .wpforms-container .wpforms-required-label { color: var(--stone-500); }
.lcap-contact__form .wpforms-container .wpforms-field-gdpr-checkbox label {
	font-size: 14px;
	line-height: 1.5;
	color: var(--slate-600);
}
.lcap-contact__form .wpforms-container .wpforms-field-gdpr-checkbox a { color: var(--navy-700); }
.lcap-contact__form .wpforms-container .wpforms-submit-container { padding-top: 6px; }
.lcap-contact__form .wpforms-container button.wpforms-submit {
	font-family: var(--font-display) !important;
	font-weight: 700 !important;
	letter-spacing: .01em;
	border: 1px solid var(--navy-700) !important;
}
.lcap-contact__form .wpforms-container button.wpforms-submit:hover {
	background: var(--navy-600) !important;
	border-color: var(--navy-600) !important;
}
.lcap-contact__form .wpforms-confirmation-container-full {
	background: var(--fog-50) !important;
	border: 1px solid var(--fog-200) !important;
	color: var(--ink-900);
}

.lcap-section .wp-block-group.lcap-contact__scheduler {
	position: sticky;
	top: calc(var(--lcap-adminbar-h) + var(--lcap-header-h) + 20px);
	gap: 0;
	background: var(--paper);
	box-shadow: var(--card-shadow);
}


.lcap-section .wp-block-group.lcap-contact__host {
	flex-direction: row;
	align-items: center;
	gap: 18px;
	padding: clamp(24px, 2.6vw, 36px) clamp(24px, 2.6vw, 36px) clamp(20px, 2.2vw, 28px);
	border-bottom: 1px solid rgba(20, 23, 31, .14);
}

.lcap-contact__photo.wp-block-image {
	flex: none;
	width: 66px;
	height: 66px;
	margin: 0;
	overflow: hidden;
	border-radius: 50%;
	background: var(--fog-200);
}

.lcap-contact__photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transform: scale(1.28);
	transform-origin: 50% 8%;
}

.lcap-section .wp-block-group.lcap-contact__host-text { gap: 0; }

.lcap-section p.lcap-contact__host-name { margin: 0; font-weight: 600; font-size: 14px; color: var(--slate-500); }

.lcap-section .lcap-contact__host h2 {
	max-width: none;
	margin: 6px 0 0;
	font-size: clamp(21px, 2.1vw, 27px);
	line-height: 1.14;
	letter-spacing: -.022em;
	color: var(--ink-900);
}

.lcap-section p.lcap-contact__host-meta { margin: 8px 0 0; font-size: 14.5px; color: var(--slate-600); }

iframe.lcap-contact__calendly {
	display: block;
	width: 100%;
	height: 700px;
	margin: 0 !important;
	border: 0;
}

@media (max-width: 921px) {
	.lcap-section .wp-block-group.lcap-contact__grid { grid-template-columns: minmax(0, 1fr); }
	.lcap-section .wp-block-group.lcap-contact__scheduler { position: static; }
}

/* ==========================================================================
   16. Disclosures page
   ========================================================================== */
.lcap-disclosures h1 {
	margin: 0;
	font-weight: 600;
	font-size: clamp(32px, 3.6vw, 50px);
	line-height: 1.05;
	letter-spacing: -.02em;
	color: var(--ink-900);
}

.lcap-section p.lcap-disclosures__intro {
	max-width: 86ch;
	margin: 4px 0 0;
	font-size: 17px;
	line-height: 1.7;
	color: var(--slate-600);
}

.lcap-section .wp-block-group.lcap-disclosures__list {
	gap: 0;
	max-width: 92ch;
	margin-top: clamp(20px, 2vw, 40px);
	border-bottom: 1px solid rgba(20, 23, 31, .14);
}

.lcap-section .wp-block-group.lcap-disclosures__item {
	gap: 12px;
	padding: 28px 0;
	border-top: 1px solid rgba(20, 23, 31, .14);
}

.lcap-section .lcap-disclosures__item h2 {
	max-width: none;
	margin: 0;
	font-size: 13px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--navy-700);
}

.lcap-section .lcap-disclosures__item p {
	margin: 0;
	font-size: 16px;
	line-height: 1.7;
	color: var(--slate-600);
}

.lcap-disclosures__item a { color: inherit; }

/* ==========================================================================
   17. Site header (inc/site-chrome.php + assets/site-header.js)
   ========================================================================== */
:root { --lcap-header-h: 90px; --lcap-adminbar-h: 0px; }
.admin-bar { --lcap-adminbar-h: 32px; }

.lcap-header {
	position: fixed;
	top: var(--lcap-adminbar-h);
	left: 0;
	right: 0;
	z-index: 100;
	background: rgba(255, 255, 255, .72);
	border-bottom: 1px solid rgba(20, 23, 31, .12);
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	transition: transform .34s var(--ease-out), background-color .28s var(--ease-out), border-color .28s var(--ease-out);
}

.lcap-header.is-clear {
	background: transparent;
	border-color: transparent;
	-webkit-backdrop-filter: none;
	backdrop-filter: none;
}

.lcap-header.is-hidden { transform: translateY(calc(-100% - var(--lcap-adminbar-h))); }

/* Solid-header pages: push content below the fixed header. */
body.lcap-header-solid .site-content { padding-top: var(--lcap-header-h); }

/* See-through pages: banners leave room for the header, as in the design. */
.lcap-header-overlay .wp-block-cover.lcap-hero { padding-top: var(--lcap-header-h); }
.lcap-header-overlay .wp-block-cover.lcap-banner { padding-top: clamp(150px, 15vw, 220px); }

.lcap-header__inner {
	box-sizing: border-box;
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: clamp(10px, 1.4vw, 24px);
	max-width: calc(var(--content-max) + 140px);
	margin: 0 auto;
	padding: 14px clamp(12px, 1.4vw, 20px) 14px clamp(20px, 3vw, 40px);
}

.lcap-header__logo { display: flex; justify-self: start; line-height: 0; }
.lcap-header__logo img { display: block; width: auto; height: clamp(38px, 4.2vw, 62px); }
.lcap-header__logo-white,
.lcap-header.is-clear .lcap-header__logo-navy { display: none !important; }
.lcap-header.is-clear .lcap-header__logo-white { display: block !important; }

.lcap-nav { justify-self: center; min-width: 0; }

.lcap-nav__list {
	display: flex;
	align-items: center;
	justify-content: center;
	column-gap: clamp(8px, 1.5vw, 30px);
	margin: 0;
	padding: 0;
	list-style: none;
}

.lcap-nav__list > li { position: relative; display: flex; align-items: center; margin: 0; }

.lcap-nav__list > li > a {
	display: flex;
	align-items: center;
	gap: 7px;
	padding: 10px 0;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(11.5px, 1.02vw, 14px);
	letter-spacing: .01em;
	white-space: nowrap;
	color: var(--ink-900);
	text-decoration: none;
	transition: color .2s var(--ease-out);
}

.lcap-nav__list > li > a:hover,
.lcap-nav__list > li.current-menu-item > a,
.lcap-nav__list > li.current-menu-ancestor > a { color: var(--navy-600); }

.lcap-header.is-clear .lcap-nav__list > li > a { color: #fff; text-shadow: 0 1px 14px rgba(10, 13, 36, .55); }

.lcap-nav__list > .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 7px;
	height: 7px;
	border-right: 1.6px solid currentColor;
	border-bottom: 1.6px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
}

.lcap-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 2;
	display: none;
	flex-direction: column;
	min-width: 246px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: var(--paper);
	border: 1px solid rgba(20, 23, 31, .1);
	box-shadow: 0 26px 60px -26px rgba(14, 18, 53, .5);
	transform: translateX(-50%);
}

.lcap-nav .menu-item-has-children:hover > .sub-menu,
.lcap-nav .menu-item-has-children:focus-within > .sub-menu,
.lcap-nav .menu-item-has-children.is-open > .sub-menu { display: flex; }

.lcap-nav .sub-menu li { margin: 0; }

.lcap-nav .sub-menu a {
	display: block;
	padding: 12px 22px;
	font-family: var(--font-sans);
	font-weight: 500;
	font-size: 15.5px;
	color: var(--ink-900);
	text-decoration: none;
	white-space: nowrap;
}

.lcap-nav .sub-menu a:hover,
.lcap-nav .sub-menu .current-menu-item > a { background: var(--fog-50); color: var(--navy-700); }

.lcap-header__actions--desktop {
	display: flex;
	justify-self: end;
	align-items: center;
	gap: clamp(6px, .8vw, 12px);
	min-width: 0;
}

a.lcap-header__btn {
	font-family: var(--font-display);
	font-weight: 700;
	font-size: clamp(11px, .95vw, 13.5px);
	letter-spacing: .01em;
	white-space: nowrap;
	text-decoration: none;
	transition: background-color .2s var(--ease-out), border-color .2s var(--ease-out);
}

a.lcap-header__btn--outline {
	padding: 9px clamp(9px, 1.1vw, 20px);
	border: 1px solid rgba(20, 23, 31, .3);
	color: var(--ink-900);
}

a.lcap-header__btn--outline:hover { background: rgba(20, 23, 31, .06); color: var(--ink-900); }

.lcap-header.is-clear a.lcap-header__btn--outline {
	border-color: rgba(255, 255, 255, .7);
	color: #fff;
	text-shadow: 0 1px 14px rgba(10, 13, 36, .55);
}

.lcap-header.is-clear a.lcap-header__btn--outline:hover { background: rgba(255, 255, 255, .16); }

a.lcap-header__btn--solid {
	padding: 10px clamp(10px, 1.2vw, 22px);
	border: 1px solid var(--navy-800);
	background: var(--navy-800);
	color: #fff;
}

a.lcap-header__btn--solid:hover { background: var(--navy-900); border-color: var(--navy-900); color: #fff; }

/* Mobile menu */
.lcap-header__toggle,
.lcap-header__toggle:hover,
.lcap-header__toggle:focus {
	display: none;
	justify-self: end;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 10px;
	border: 0;
	border-radius: 0;
	background: none !important;
	cursor: pointer;
}

.lcap-header__toggle span {
	display: block;
	height: 2px;
	background: var(--ink-900);
	transition: transform .2s var(--ease-out), opacity .2s var(--ease-out);
}

.lcap-header.is-clear .lcap-header__toggle span { background: #fff; }
.is-menu-open .lcap-header__toggle span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.is-menu-open .lcap-header__toggle span:nth-child(2) { opacity: 0; }
.is-menu-open .lcap-header__toggle span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

.lcap-header.is-menu-open { background: var(--paper); }

.lcap-mobile-nav {
	max-height: calc(100vh - var(--lcap-header-h) - var(--lcap-adminbar-h));
	overflow-y: auto;
	padding: 8px clamp(20px, 3vw, 40px) 28px;
	border-top: 1px solid rgba(20, 23, 31, .1);
	background: var(--paper);
}

.lcap-mobile-nav[hidden] { display: none; }

.lcap-mobile-nav__list,
.lcap-mobile-nav__list .sub-menu { margin: 0; padding: 0; list-style: none; }

.lcap-mobile-nav__list a {
	display: block;
	padding: 14px 0;
	border-bottom: 1px solid rgba(20, 23, 31, .08);
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 17px;
	color: var(--ink-900);
	text-decoration: none;
}

.lcap-mobile-nav__list .menu-item-has-children > a[href="#"] {
	padding-bottom: 6px;
	border-bottom: 0;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--slate-500);
	cursor: default;
}

.lcap-mobile-nav__list .sub-menu a { padding-left: 14px; font-family: var(--font-sans); font-weight: 500; }

.lcap-header__actions--mobile { display: flex; flex-direction: column; gap: 10px; margin-top: 22px; }
.lcap-header__actions--mobile a.lcap-header__btn { padding: 14px 18px; font-size: 15px; text-align: center; }
.lcap-header__actions--mobile a.lcap-header__btn--outline { border-color: rgba(20, 23, 31, .3); color: var(--ink-900); text-shadow: none; }

@media (max-width: 921px) {
	.lcap-header__inner { grid-template-columns: minmax(0, 1fr) auto; }
	.lcap-nav,
	.lcap-header__actions--desktop { display: none; }
	.lcap-header__toggle,
	.lcap-header__toggle:hover,
	.lcap-header__toggle:focus { display: flex; }
}

@media (max-width: 782px) {
	.admin-bar { --lcap-adminbar-h: 46px; }
}


/* ==========================================================================
   18. Site footer
   ========================================================================== */
.lcap-footer {
	padding: clamp(48px, 4.8vw, 72px) 0 38px;
	background:
		linear-gradient(180deg, rgba(16, 20, 52, .62) 0%, rgba(16, 20, 52, .78) 100%),
		var(--lcap-footer-image, none) center 60% / cover no-repeat,
		var(--navy-800);
	color: #fff;
}

.lcap-footer__inner {
	box-sizing: border-box;
	max-width: calc(var(--content-max) + 140px);
	margin: 0 auto;
	padding: 0 clamp(20px, 3vw, 40px);
}

.lcap-footer__grid {
	display: grid;
	grid-template-columns: 1.35fr 1fr 1fr 1fr;
	gap: clamp(24px, 3vw, 56px);
	padding-top: clamp(30px, 3vw, 44px);
	border-top: 2px solid rgba(255, 255, 255, .5);
}

.lcap-footer__brand img { display: block; width: auto; height: 54px; }

.lcap-footer address {
	margin: 14px 0 0;
	font-family: var(--font-display);
	font-weight: 500;
	font-style: normal;
	font-size: clamp(16px, 1.4vw, 19px);
	line-height: 1.5;
	color: #fff;
}

.lcap-footer__brand p { margin: 8px 0 0; }

a.lcap-footer__email {
	padding-bottom: 2px;
	border-bottom: 1px solid rgba(255, 255, 255, .4);
	font-size: 16px;
	color: rgba(255, 255, 255, .82);
	text-decoration: none;
}

a.lcap-footer__email:hover { color: #fff; }

.lcap-footer__buttons { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 14px; }

a.lcap-footer__btn {
	padding: 11px 20px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .01em;
	text-decoration: none;
	transition: background-color .2s var(--ease-out);
}

a.lcap-footer__btn--solid { background: #fff; color: var(--navy-800); }
a.lcap-footer__btn--solid:hover { background: var(--navy-100); color: var(--navy-800); }
a.lcap-footer__btn--outline { border: 1px solid rgba(255, 255, 255, .6); color: #fff; }
a.lcap-footer__btn--outline:hover { background: rgba(255, 255, 255, .12); color: #fff; }

p.lcap-footer__heading {
	margin: 0 0 12px;
	font-weight: 600;
	font-size: 14px;
	color: rgba(255, 255, 255, .68);
}

.lcap-footer__col ul { display: flex; flex-direction: column; gap: 11px; margin: 0; padding: 0; list-style: none; }
.lcap-footer__col li { margin: 0; }
.lcap-footer__col a { font-size: 16px; color: #fff; text-decoration: none; }
.lcap-footer__col a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }

p.lcap-footer__disclosure {
	max-width: 160ch;
	margin: clamp(34px, 3.4vw, 50px) 0 0;
	font-size: 12.5px;
	line-height: 1.68;
	color: rgba(255, 255, 255, .68);
}

.lcap-footer__disclosure a { color: inherit; text-decoration: underline; }

.lcap-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 12px;
	padding-top: 26px;
	font-size: 13px;
	color: rgba(255, 255, 255, .68);
}

.lcap-footer__bottom a { color: rgba(255, 255, 255, .68); text-decoration: none; }
.lcap-footer__bottom a:hover { color: #fff; }

@media (max-width: 921px) {
	.lcap-footer__grid { grid-template-columns: 1fr 1fr; }
	.lcap-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 544px) {
	.lcap-footer__grid { grid-template-columns: 1fr; }
}

/* Astra's back-to-top button in brand colours. */
#ast-scroll-top { background-color: var(--navy-700); }

/* Lists and links in legal pages (Disclosures, Privacy Policy) */
.lcap-section .lcap-disclosures__item ul.wp-block-list { margin: 0; padding-left: 22px; }
.lcap-section .lcap-disclosures__item li { margin: 0 0 8px; font-size: 16px; line-height: 1.7; color: var(--slate-600); }
.lcap-section .lcap-disclosures__item li::marker { color: var(--navy-700); }
.lcap-section .lcap-disclosures__item p a { color: var(--navy-700); }

/* Footer bottom row: copyright only (the "Full disclosures" link is removed in theme 1.1.2). */
.lcap-footer__bottom a { display: none; }

/* ==========================================================================
   19. Pillar page (internal Outlook)
   ========================================================================== */
.lcap-section .wp-block-group.lcap-guide__container { max-width: 940px; gap: 0; }
.lcap-guide p.lcap-eyebrow { margin: 0; color: var(--navy-700); }
.lcap-section p.lcap-guide__kicker { margin: 22px 0 0; font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--slate-600); }

.lcap-guide h1 {
	margin: 8px 0 0;
	font-size: clamp(36px, 5vw, 64px);
	line-height: 1.04;
	letter-spacing: -.03em;
	color: var(--ink-900);
}

.lcap-section p.lcap-guide__byline { margin: 22px 0 0; font-size: 15px; color: var(--slate-600); }

.lcap-section .wp-block-group:is(.lcap-guide__toc, .lcap-guide__author) {
	gap: 0;
	margin-top: 40px;
	padding: 28px 32px;
	background: #fff;
	border-radius: 16px;
}

.lcap-section .wp-block-group.lcap-guide__author { margin-top: 72px; padding: 32px 36px; }

.lcap-section p.lcap-guide__toc-title {
	margin: 0;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--navy-700);
}

.lcap-guide__toc ol { margin: 10px 0 0; padding-left: 22px; }
.lcap-guide__toc li { padding: 6px 0; font-size: 16px; line-height: 1.5; color: var(--slate-600); }
.lcap-guide__toc a { color: var(--slate-600); text-decoration: none !important; }
.lcap-guide__toc a:hover { color: var(--navy-700); text-decoration: underline !important; }

.lcap-section .wp-block-group.lcap-guide__body { gap: 0; margin-top: 64px; }

.lcap-guide__body h2 {
	max-width: none;
	margin: 64px 0 0;
	font-size: clamp(26px, 2.8vw, 36px);
	line-height: 1.12;
	letter-spacing: -.02em;
	color: var(--ink-900);
	scroll-margin-top: calc(var(--lcap-header-h) + 24px);
}

.lcap-guide__body h2:first-child { margin-top: 0; }
.lcap-guide__num { margin-right: 14px; font-size: .6em; letter-spacing: .1em; color: var(--navy-700); }
.lcap-guide__body h3 { margin: 40px 0 0; font-size: 22px; letter-spacing: -.02em; color: var(--ink-900); }

.lcap-section .lcap-guide__body p,
.lcap-section .lcap-guide__author p:not(.lcap-guide__toc-title) {
	margin: 18px 0 0;
	font-size: 18px;
	line-height: 1.75;
	color: var(--slate-600);
}

.lcap-section .lcap-guide__author p:not(.lcap-guide__toc-title) { margin-top: 12px; font-size: 16px; }
.lcap-guide__body strong, .lcap-guide__author strong { color: var(--ink-900); }

.lcap-guide__body ul,
.lcap-guide__body ol { margin: 18px 0 0; padding-left: 22px; }
.lcap-guide__body li { margin: 0 0 10px; font-size: 18px; line-height: 1.75; color: var(--slate-600); }
.lcap-guide__body li::marker { color: var(--navy-700); }
.lcap-section .lcap-guide__body p.lcap-guide__signoff { font-style: italic; }
.lcap-section .lcap-guide__body .is-style-lcap-figure-placeholder { margin: 28px 0 0; }
.lcap-section .lcap-guide__body .is-style-lcap-figure-placeholder p { margin: 0 auto; font-size: 15px; }
.lcap-section .lcap-guide__body .is-style-lcap-figure-placeholder p.lcap-figure-placeholder__label { margin-bottom: 8px; font-size: 13px; }
.lcap-section .lcap-guide__body p.is-style-lcap-note { margin-top: 14px; font-size: 14px; }

.lcap-section .wp-block-group.lcap-guide__disclosures { gap: 10px; margin-top: 40px; }
.lcap-section .lcap-guide__disclosures p.is-style-lcap-note-heading { margin: 18px 0 2px; }
.lcap-section .lcap-guide__disclosures p.is-style-lcap-note { margin: 0; }

/* ==========================================================================
   20. Page not found (404.php shows the "page-not-found" draft page)
   ========================================================================== */
.lcap-404 .lcap-section { padding-top: clamp(64px, 7vw, 120px); padding-bottom: clamp(72px, 8vw, 140px); }
.lcap-section .wp-block-group.lcap-404__inner { gap: 20px; }
.lcap-404 h1 { max-width: 20ch; font-size: clamp(34px, 4.2vw, 58px); line-height: 1.02; letter-spacing: -.035em; color: var(--ink-900); }
.lcap-section .lcap-404__inner p.lcap-lead { max-width: 56ch; }
.lcap-404 .wp-block-buttons { gap: 12px; margin-top: 8px; }

.lcap-section .wp-block-group.lcap-404__links {
	gap: 0;
	max-width: 760px;
	margin-top: clamp(24px, 3vw, 44px);
	padding-top: 24px;
	border-top: 1px solid rgba(20, 23, 31, .14);
}

.lcap-section p.lcap-404__links-title {
	margin: 0 0 12px;
	font-family: var(--font-display);
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--navy-700);
}

.lcap-404__links ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 32px; margin: 0; padding: 0; list-style: none; }
.lcap-404__links li { margin: 0; }

.lcap-404__links a {
	display: inline-block;
	padding: 8px 0;
	font-family: var(--font-display);
	font-weight: 600;
	font-size: 16px;
	color: var(--navy-700);
	text-decoration: none !important;
}

.lcap-404__links a::after { content: " \2192"; }
.lcap-404__links a:hover { color: var(--navy-500); }

@media (max-width: 544px) {
	.lcap-404__links ul { grid-template-columns: minmax(0, 1fr); }
}
