/* ==========================================================================
   Lantern Row Theme — Global Stylesheet
   ========================================================================== */



/* --------------------------------------------------------------------------
   1a. Root: kill block-gap between header/main/footer
   -------------------------------------------------------------------------- */

body > .wp-site-blocks > * {
	margin-block: 0 !important;
}

.lr-header,
.lr-main,
.lr-footer {
	margin-block: 0 !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

.lr-main > * {
	margin-block: 0 !important;
}


/* --------------------------------------------------------------------------
   1b. Header — site-wide chrome
   -------------------------------------------------------------------------- */

.lr-header {
	background: #FFFFFF;
	margin: 0 !important;
}

/* Top bar: deliberately a quiet strip — single visible line under it */
.lr-topbar {
	background-color: #F0F4F8;
	padding-block: 0.625rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	margin: 0 !important;
}

.lr-topbar__inner {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	gap: 1rem !important;
	align-items: center !important;
	width: 100%;
}

.lr-topbar__tagline,
.lr-topbar__contact {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.875rem !important;
	color: var(--wp--preset--color--ink-soft) !important;
	margin: 0 !important;
	line-height: 1.4 !important;
}

.lr-topbar__contact a {
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none !important;
}

.lr-topbar__contact a:hover {
	color: var(--wp--preset--color--accent-dark) !important;
}

/* Main nav row: fixed vertical rhythm, centered content, NO border-bottom
   so it flows directly into the page content beneath */
.lr-nav {
	background: #FFFFFF;
	padding-block: 0.75rem !important;
	margin: 0 !important;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.lr-nav__inner {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	gap: 2rem !important;
	min-height: 72px;          /* enforces consistent height regardless of logo intrinsic dims */
	align-items: center !important;
}

.lr-nav__logo img {
	max-height: 60px !important;
	width: auto !important;
	display: block;
}

.lr-nav__right {
	gap: 2rem !important;
	align-items: center !important;
}


/* --------------------------------------------------------------------------
   1c. Header navigation styling
   -------------------------------------------------------------------------- */

/* Strip default underline from nav links and lock to Outfit */
.lr-nav__menu a,
.lr-nav__menu .wp-block-navigation-item__content,
.lr-header .wp-block-navigation a {
	text-decoration: none !important;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-weight: 500;
	color: var(--wp--preset--color--ink) !important;
	transition: color 0.18s ease;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.875rem;
}

.lr-nav__menu a:hover,
.lr-header .wp-block-navigation a:hover {
	color: var(--wp--preset--color--accent-dark) !important;
}

/* Active page — current-menu-item gets an underline + accent color */
.lr-nav__menu .current-menu-item > a,
.lr-nav__menu .current-menu-ancestor > a,
.lr-nav__menu .current_page_item > a,
.lr-header .wp-block-navigation .current-menu-item > a,
.lr-header .wp-block-navigation .current-menu-ancestor > a {
	color: var(--wp--preset--color--accent-dark) !important;
	position: relative;
}

.lr-nav__menu .current-menu-item > a::after,
.lr-nav__menu .current-menu-ancestor > a::after,
.lr-nav__menu .current_page_item > a::after,
.lr-header .wp-block-navigation .current-menu-item > a::after,
.lr-header .wp-block-navigation .current-menu-ancestor > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -6px;
	height: 2px;
	background: var(--wp--preset--color--accent);
	border-radius: 1px;
}


/* --------------------------------------------------------------------------
   2a. Color helper classes (WP doesnt auto-emit these for custom slugs)
   These must exist so .has-primary-dark-color etc. actually apply.
   -------------------------------------------------------------------------- */

:root .has-primary-color { color: #1A7097 !important; }
:root .has-primary-dark-color { color: #0E4F6E !important; }
:root .has-primary-light-color { color: #3B95BD !important; }
:root .has-accent-color { color: #06B6D4 !important; }
:root .has-accent-dark-color { color: #0891B2 !important; }
:root .has-ink-color { color: #1E3A5F !important; }
:root .has-ink-soft-color { color: #4A5F7A !important; }
:root .has-muted-color { color: #6B7C93 !important; }
:root .has-base-color { color: #FFFFFF !important; }

:root .has-primary-background-color { background-color: #1A7097 !important; }
:root .has-primary-dark-background-color { background-color: #0E4F6E !important; }
:root .has-primary-light-background-color { background-color: #3B95BD !important; }
:root .has-accent-background-color { background-color: #06B6D4 !important; }
:root .has-accent-dark-background-color { background-color: #0891B2 !important; }
:root .has-ink-background-color { background-color: #1E3A5F !important; }
:root .has-surface-background-color { background-color: #F5F7F9 !important; }
:root .has-surface-soft-background-color { background-color: #FAFBFC !important; }
:root .has-base-background-color { background-color: #FFFFFF !important; }


/* --------------------------------------------------------------------------
   2b. Buttons — accent variant (header CTA, hero CTA, audit-band CTA)
   -------------------------------------------------------------------------- */

.wp-block-button.lr-btn--accent .wp-block-button__link,
.wp-block-button.lr-btn--accent .wp-element-button {
	background-color: var(--wp--preset--color--accent) !important;
	color: #FFFFFF !important;                    /* DEFAULT: white text on cyan */
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-weight: 600 !important;
	letter-spacing: 0.005em;
	padding: 0.75rem 1.4rem !important;
	border-radius: 6px !important;
	border: 1px solid transparent !important;
	text-decoration: none !important;
	transition: transform 0.15s ease, background-color 0.2s ease, box-shadow 0.2s ease !important;
	box-shadow: 0 4px 12px -3px rgba(6, 182, 212, 0.45);
}

.wp-block-button.lr-btn--accent .wp-block-button__link:hover,
.wp-block-button.lr-btn--accent .wp-element-button:hover {
	background-color: #22D3EE !important;         /* one step brighter cyan */
	color: #FFFFFF !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 18px -4px rgba(6, 182, 212, 0.55);
}

/* Make the header CTA button feel tight against the nav */
.lr-nav__cta {
	margin: 0 !important;
}


/* --------------------------------------------------------------------------
   2c. Eyebrow label (reused: hero, content sections)
   -------------------------------------------------------------------------- */

.lr-eyebrow {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.8125rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent-dark) !important;
	margin: 0 0 1.5rem 0 !important;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}

.lr-eyebrow::before {
	content: "";
	width: 28px;
	height: 1px;
	background: currentColor;
	display: inline-block;
}

.lr-eyebrow--on-dark {
	color: var(--wp--preset--color--accent) !important;
}


/* --------------------------------------------------------------------------
   2d. Hero — homepage
   -------------------------------------------------------------------------- */

.lr-hero {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	color: var(--wp--preset--color--base);
	padding-block: clamp(4rem, 11vh, 8rem);
	isolation: isolate;
	margin: 0 !important;
}

/* atmospheric light spots */
.lr-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 18% 25%, rgba(255,255,255,0.10) 0, transparent 38%),
		radial-gradient(circle at 82% 75%, rgba(6,182,212,0.20) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

/* subtle grid texture */
.lr-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 72px 72px;
	background-position: center;
	-webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
	        mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
	pointer-events: none;
	z-index: -1;
}

.lr-hero__container {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: clamp(2.5rem, 5vw, 6rem);
	align-items: center;
}

.lr-hero__copy { max-width: 36rem; }

.lr-hero__headline {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(2.25rem, 4.2vw + 1rem, 3.875rem);
	font-weight: 700;
	line-height: 1.05;
	letter-spacing: -0.025em;
	color: #FFFFFF !important;
	margin: 0 0 1.5rem 0;
}

.lr-hero__headline em {
	font-style: normal;
	color: var(--wp--preset--color--accent);
	position: relative;
}

.lr-hero__headline em::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -0.04em;
	height: 0.05em;
	background: var(--wp--preset--color--accent);
	opacity: 0.4;
}

.lr-hero__lead {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: clamp(1.0625rem, 0.4vw + 0.95rem, 1.1875rem) !important;
	line-height: 1.6 !important;
	color: rgba(255,255,255,0.88) !important;
	margin: 0 0 2.5rem 0 !important;
	max-width: 52ch;
}

/* hero actions */
.lr-hero__actions {
	display: flex !important;
	flex-wrap: wrap;
	gap: 1rem;
	align-items: center;
	margin-bottom: 1.5rem !important;
}

/* override accent button padding for the larger hero size */
.wp-block-button.lr-btn--lg .wp-block-button__link {
	padding: 0.95rem 1.75rem !important;
	font-size: 1rem;
}

/* ghost button variant (transparent + white text + thin border) */
.wp-block-button.lr-btn--ghost .wp-block-button__link {
	background: transparent !important;
	color: #FFFFFF !important;
	border: 1px solid rgba(255,255,255,0.32) !important;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-weight: 600 !important;
	padding: 0.95rem 1.75rem !important;
	border-radius: 6px !important;
	transition: background-color 0.18s ease, border-color 0.18s ease !important;
}

.wp-block-button.lr-btn--ghost .wp-block-button__link:hover {
	background: rgba(255,255,255,0.08) !important;
	border-color: rgba(255,255,255,0.55) !important;
	color: #FFFFFF !important;
}

/* hero trust line */
.lr-hero__trust {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.875rem;
	color: rgba(255,255,255,0.65);
	letter-spacing: 0.02em;
}

.lr-hero__trust-dot {
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: rgba(255,255,255,0.45);
}


/* --------------------------------------------------------------------------
   2e. Audit-preview card (hero right column)
   -------------------------------------------------------------------------- */

.lr-audit-card {
	background: #FFFFFF;
	color: var(--wp--preset--color--ink);
	border-radius: 12px;
	box-shadow: 0 30px 60px -20px rgba(8, 28, 60, 0.55), 0 12px 24px -8px rgba(8, 28, 60, 0.35);
	overflow: hidden;
	transform: translateY(0);
	transition: transform 0.4s cubic-bezier(0.22, 0.61, 0.36, 1);
	font-family: var(--wp--preset--font-family--outfit);
}

.lr-audit-card:hover { transform: translateY(-4px); }

.lr-audit-card__bar {
	background: var(--wp--preset--color--surface);
	padding: 0.6rem 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.lr-audit-card__dot {
	width: 11px; height: 11px; border-radius: 50%;
	background: #DDE2E8;
}
.lr-audit-card__dot--red { background: #FF6058; }
.lr-audit-card__dot--yellow { background: #FEBC2E; }
.lr-audit-card__dot--green { background: #2BC840; }

.lr-audit-card__filename {
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--wp--preset--color--muted);
	margin-left: 0.5rem;
	letter-spacing: 0.01em;
}

.lr-audit-card__body { padding: 1.5rem 1.75rem 1.75rem; }

.lr-audit-card__label {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.4rem;
}

.lr-audit-card__site {
	font-size: 1.2rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	letter-spacing: -0.01em;
	margin-bottom: 1.25rem;
}

.lr-audit-card__score-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 0.6rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.lr-audit-card__score-label {
	font-size: 0.85rem;
	font-weight: 500;
	color: var(--wp--preset--color--ink-soft);
}

.lr-audit-card__score {
	font-size: 2.5rem;
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	line-height: 1;
	letter-spacing: -0.02em;
}

.lr-audit-card__score-suffix {
	font-size: 1rem;
	color: var(--wp--preset--color--muted);
	font-weight: 500;
	margin-left: 0.15rem;
}

.lr-audit-card__metrics {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	margin-top: 1rem;
}

.lr-audit-card__metric-pair { display: contents; }

.lr-audit-card__metric {
	display: grid;
	grid-template-columns: 1fr auto;
	align-items: center;
	gap: 0.75rem;
	font-size: 0.82rem;
}

.lr-audit-card__metric-name {
	color: var(--wp--preset--color--ink-soft);
	font-weight: 500;
}

.lr-audit-card__metric-value {
	color: var(--wp--preset--color--ink);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.lr-audit-card__bar-track {
	height: 4px;
	background: var(--wp--preset--color--border);
	border-radius: 2px;
	overflow: hidden;
}

.lr-audit-card__bar-fill {
	height: 100%;
	border-radius: 2px;
}

.lr-audit-card__bar-fill--good { background: var(--wp--preset--color--success); }
.lr-audit-card__bar-fill--ok   { background: var(--wp--preset--color--primary); }
.lr-audit-card__bar-fill--warn { background: var(--wp--preset--color--warning); }
.lr-audit-card__bar-fill--bad  { background: var(--wp--preset--color--danger);  }

.lr-audit-card__footer {
	margin-top: 1.5rem;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--border);
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 0.78rem;
	color: var(--wp--preset--color--muted);
}

.lr-audit-card__footer strong {
	color: var(--wp--preset--color--primary-dark);
	font-weight: 600;
}


/* --------------------------------------------------------------------------
   2f. Hero responsive
   -------------------------------------------------------------------------- */

@media (max-width: 980px) {
	.lr-hero__grid { grid-template-columns: 1fr; gap: 3rem; }
	.lr-audit-card { max-width: 28rem; margin-inline: auto; }
}

@media (max-width: 640px) {
	.lr-hero { padding-block: 4rem; }
	.lr-hero__actions { flex-direction: column; align-items: stretch; width: 100%; }
	.lr-hero__actions .wp-block-button { width: 100%; }
	.lr-hero__actions .wp-block-button__link { width: 100%; justify-content: center; text-align: center; }
	.lr-hero__trust { flex-direction: column; align-items: flex-start; gap: 0.5rem; }
	.lr-hero__trust-dot { display: none; }
}


/* --------------------------------------------------------------------------
   2g. Editorial content section — "Most teams aren't short on effort"
   -------------------------------------------------------------------------- */

.lr-content-section {
	padding-block: clamp(4rem, 9vw, 7rem);
	background: var(--wp--preset--color--base);
	margin: 0 !important;
}

.lr-content-section__container {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-content-section__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: clamp(2.5rem, 4vw, 4rem);
	align-items: start;
}

.lr-content-section__anchor {
	position: sticky;
	top: 2.5rem;
}

.lr-content-section__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 !important;
}

.lr-content-section__body { min-width: 0; }

.lr-content-section__intro {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 1.25rem !important;
	line-height: 1.55 !important;
	color: var(--wp--preset--color--ink) !important;
	margin: 0 0 2.5rem 0 !important;
}

.lr-content-section__body p {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.5rem 0;
}

.lr-content-section__body p strong {
	color: var(--wp--preset--color--primary-dark);
	font-weight: 600;
}

.lr-content-section__body p em {
	font-style: italic;
	color: var(--wp--preset--color--ink-soft);
}

/* Quote block in editorial section */
.lr-quote {
	margin: 2.5rem 0 !important;
	padding: 0.5rem 0 0.5rem 1.5rem !important;
	border-left: 3px solid var(--wp--preset--color--accent) !important;
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 1.25rem !important;
	font-weight: 500 !important;
	font-style: normal !important;
	line-height: 1.5 !important;
	color: var(--wp--preset--color--primary-dark) !important;
	background: transparent !important;
}

.lr-quote p {
	margin: 0 !important;
	color: var(--wp--preset--color--primary-dark) !important;
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 1.25rem !important;
	font-weight: 500 !important;
}

.lr-quote cite { display: none; }


/* --------------------------------------------------------------------------
   2h. Methodology section — Three phases
   -------------------------------------------------------------------------- */

.lr-methodology {
	padding-block: clamp(4rem, 9vw, 7rem);
	background: var(--wp--preset--color--surface);   /* soft cool gray, separates from the white section above */
	margin: 0 !important;
	position: relative;
}

.lr-methodology__container {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-methodology__header {
	max-width: 38rem;
	margin: 0 0 clamp(2.5rem, 5vw, 4rem) 0;
}

.lr-methodology__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 1.25rem 0 !important;
	max-width: 22ch;
}

.lr-methodology__intro {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 1.125rem !important;
	line-height: 1.6 !important;
	color: var(--wp--preset--color--ink) !important;
	margin: 0 !important;
}

.lr-methodology__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 2.5vw, 2.5rem);
}

.lr-phase {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 2rem 1.75rem 2rem 1.75rem;
	position: relative;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.lr-phase:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px -10px rgba(8, 28, 60, 0.18);
	border-color: var(--wp--preset--color--accent);
}

.lr-phase__number {
	display: block;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	color: var(--wp--preset--color--accent-dark);
	margin-bottom: 1rem;
}

.lr-phase__title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.625rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 0.75rem 0 !important;
	letter-spacing: -0.01em;
}

.lr-phase__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
	margin: 0;
}


/* --------------------------------------------------------------------------
   2i. Body sections responsive
   -------------------------------------------------------------------------- */

@media (max-width: 980px) {
	.lr-content-section__grid { grid-template-columns: 1fr; gap: 1.5rem; }
	.lr-content-section__anchor { position: static; }
	.lr-methodology__grid { grid-template-columns: 1fr; gap: 1rem; }
}


/* --------------------------------------------------------------------------
   2j. Services overview — four-up service cards
   -------------------------------------------------------------------------- */

.lr-services {
	padding-block: clamp(4rem, 9vw, 7rem);
	background: var(--wp--preset--color--base);
	margin: 0 !important;
}

.lr-services__container {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-services__header {
	max-width: 40rem;
	margin: 0 0 clamp(2.5rem, 5vw, 4rem) 0;
}

.lr-services__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 1.25rem 0 !important;
	max-width: 22ch;
}

.lr-services__intro {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 1.125rem !important;
	line-height: 1.6 !important;
	color: var(--wp--preset--color--ink) !important;
	margin: 0 !important;
}

.lr-services__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1.25rem, 2vw, 2rem);
}

.lr-service {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 1.75rem 1.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.lr-service:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px -10px rgba(8, 28, 60, 0.18);
	border-color: var(--wp--preset--color--accent);
}

.lr-service--featured {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 4px 12px -4px rgba(6, 182, 212, 0.18);
}

.lr-service__badge {
	position: absolute;
	top: -10px;
	left: 1.25rem;
	background: var(--wp--preset--color--accent);
	color: #FFFFFF;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 0.35rem 0.65rem;
	border-radius: 4px;
	box-shadow: 0 3px 8px -2px rgba(6, 182, 212, 0.45);
}

.lr-service__name {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 0.85rem 0 !important;
	letter-spacing: -0.005em;
}

.lr-service__pricing {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin-bottom: 1rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.lr-service__price {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--wp--preset--color--ink);
	letter-spacing: -0.01em;
	line-height: 1;
}

.lr-service__price-suffix {
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--wp--preset--color--muted);
	margin-left: 0.1rem;
}

.lr-service__duration {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0.01em;
}

.lr-service__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.25rem 0;
	flex: 1;
}

.lr-service__link {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none !important;
	letter-spacing: 0.01em;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	transition: gap 0.2s ease, color 0.2s ease;
	margin-top: auto;
}

.lr-service__link:hover {
	color: var(--wp--preset--color--accent-dark) !important;
	gap: 0.6rem;
}


/* --------------------------------------------------------------------------
   2k. Final audit CTA band
   -------------------------------------------------------------------------- */

.lr-cta-band {
	position: relative;
	overflow: hidden;
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	color: #FFFFFF;
	padding-block: clamp(4rem, 9vw, 6.5rem);
	isolation: isolate;
	margin: 0 !important;
}

.lr-cta-band::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 75% 30%, rgba(255,255,255,0.10) 0, transparent 40%),
		radial-gradient(circle at 20% 80%, rgba(6,182,212,0.20) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

.lr-cta-band::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.03) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.03) 1px, transparent 1px);
	background-size: 64px 64px;
	background-position: center;
	-webkit-mask-image: radial-gradient(ellipse at center, black 35%, transparent 80%);
	        mask-image: radial-gradient(ellipse at center, black 35%, transparent 80%);
	pointer-events: none;
	z-index: -1;
}

.lr-cta-band__container {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-cta-band__inner {
	max-width: 50rem;
	margin-inline: auto;
	text-align: center;
}

.lr-cta-band__headline {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(2rem, 3.2vw + 0.85rem, 3.25rem);
	font-weight: 700;
	line-height: 1.1;
	letter-spacing: -0.02em;
	color: #FFFFFF !important;
	margin: 0 0 1.5rem 0;
}

.lr-cta-band__headline em {
	font-style: normal;
	color: var(--wp--preset--color--accent);
	position: relative;
}

.lr-cta-band__headline em::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -0.04em;
	height: 0.05em;
	background: var(--wp--preset--color--accent);
	opacity: 0.4;
}

.lr-cta-band__lead {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: clamp(1.0625rem, 0.4vw + 0.95rem, 1.1875rem) !important;
	line-height: 1.6 !important;
	color: rgba(255,255,255,0.85) !important;
	margin: 0 auto 2.5rem !important;
	max-width: 42rem;
}

.lr-cta-band__actions {
	display: flex !important;
	justify-content: center;
	margin-bottom: 1.5rem !important;
}

.lr-cta-band__fine {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.8125rem;
	color: rgba(255,255,255,0.6);
	margin: 0;
	letter-spacing: 0.02em;
}


/* --------------------------------------------------------------------------
   2l. Closing sections responsive
   -------------------------------------------------------------------------- */

@media (max-width: 980px) {
	.lr-services__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
	.lr-services__grid { grid-template-columns: 1fr; }
}


/* --------------------------------------------------------------------------
   2l-ii. Latest blog posts (homepage)
   -------------------------------------------------------------------------- */

.lr-latest {
	padding-block: clamp(4rem, 9vw, 7rem);
	background: var(--wp--preset--color--surface);   /* same soft cool gray as methodology */
	margin: 0 !important;
}

.lr-latest__container {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-latest__header {
	max-width: 40rem;
	margin: 0 0 clamp(2.5rem, 5vw, 3.5rem) 0;
}

.lr-latest__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 1.25rem 0 !important;
	max-width: 24ch;
}

.lr-latest__intro {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 1.125rem !important;
	line-height: 1.6 !important;
	color: var(--wp--preset--color--ink) !important;
	margin: 0 !important;
}

.lr-latest__grid {
	margin-bottom: clamp(2rem, 4vw, 3rem) !important;
}

.lr-latest__grid .wp-block-post-template,
.lr-latest__template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 2.5vw, 2rem);
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	align-items: stretch !important;
}

/* The <li> wrappers WordPress puts around each post — make them flex containers
   so the .lr-post-card inside fills 100% of their height */
.lr-latest__grid .wp-block-post {
	display: flex !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	height: 100%;
}

/* Post card */
.lr-post-card {
	background: var(--wp--preset--color--base) !important;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
	margin: 0 !important;
	width: 100%;
	height: 100%;
}

.lr-post-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px -10px rgba(8, 28, 60, 0.18);
	border-color: var(--wp--preset--color--accent);
}

/* Media area: featured image + category overlay */
.lr-post-card__media {
	position: relative;
	margin: 0 !important;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: var(--wp--preset--color--surface);
	flex-shrink: 0;
	width: 100%;
}

.lr-post-card__image,
.lr-post-card__image img,
.lr-post-card .wp-block-post-featured-image,
.lr-post-card .wp-block-post-featured-image img,
.lr-post-card .wp-block-post-featured-image a {
	width: 100% !important;
	height: 100% !important;
	display: block !important;
	margin: 0 !important;
}

.lr-post-card .wp-block-post-featured-image img {
	object-fit: cover;
	transition: transform 0.6s ease;
}

.lr-post-card:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}

/* Category badge over image */
.lr-post-card__category.wp-block-post-terms {
	position: absolute;
	top: 0.85rem;
	right: 0.85rem;
	background: rgba(14, 79, 110, 0.92);
	color: #FFFFFF !important;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.35rem 0.6rem;
	border-radius: 4px;
	backdrop-filter: blur(8px);
	margin: 0 !important;
	z-index: 2;
}

.lr-post-card__category a {
	color: #FFFFFF !important;
	text-decoration: none !important;
}

/* Body */
.lr-post-card__body {
	padding: 1.5rem 1.5rem 1.25rem !important;
	display: flex;
	flex-direction: column;
	flex: 1;
	margin: 0 !important;
}

.lr-post-card__title.wp-block-post-title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.1875rem !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	letter-spacing: -0.005em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 0.75rem 0 !important;
}

.lr-post-card__title a {
	color: var(--wp--preset--color--primary-dark) !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.lr-post-card__title a:hover {
	color: var(--wp--preset--color--accent-dark) !important;
}

.lr-post-card__excerpt.wp-block-post-excerpt {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 0.9375rem !important;
	line-height: 1.6 !important;
	color: var(--wp--preset--color--ink) !important;
	margin: 0 0 1.25rem 0 !important;
}

.lr-post-card__excerpt .wp-block-post-excerpt__more-link { display: none; }

.lr-post-card__footer {
	margin-top: auto !important;
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.lr-post-card__date.wp-block-post-date {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.8125rem !important;
	color: var(--wp--preset--color--muted) !important;
	margin: 0 !important;
	letter-spacing: 0.01em;
}

/* "Read all posts →" link */
.lr-latest__footer {
	text-align: center;
}

.lr-latest__view-all {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none !important;
	letter-spacing: 0.005em;
	transition: gap 0.25s ease, color 0.25s ease;
}

.lr-latest__view-all:hover {
	color: var(--wp--preset--color--accent-dark) !important;
	gap: 0.75rem;
}

@media (max-width: 980px) {
	.lr-latest__grid .wp-block-post-template { grid-template-columns: 1fr; gap: 1.5rem; }
}


/* --------------------------------------------------------------------------
   2l-iii. About page — editorial treatment
   -------------------------------------------------------------------------- */

/* About hero: title + portrait side by side */
.lr-about-hero {
	background: var(--wp--preset--color--base);
	padding-block: clamp(3rem, 7vw, 5rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
	margin: 0 !important;
}

.lr-about-hero__container {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-about-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: clamp(2rem, 5vw, 5rem);
	align-items: center;
}

.lr-about-hero__copy { min-width: 0; }

.lr-about-hero__title.wp-block-post-title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem) !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 1.25rem 0 !important;
	max-width: 18ch;
}

.lr-about-hero__excerpt.wp-block-post-excerpt {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 1.1875rem !important;
	line-height: 1.6 !important;
	color: var(--wp--preset--color--ink-soft) !important;
	margin: 0 !important;
	max-width: 50ch;
}

.lr-about-hero__excerpt .wp-block-post-excerpt__more-link { display: none; }

/* Portrait media */
.lr-about-hero__media {
	position: relative;
}

.lr-about-hero__image.wp-block-post-featured-image {
	margin: 0 !important;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border-radius: 12px;
	box-shadow: 0 20px 40px -16px rgba(8, 28, 60, 0.30);
}

.lr-about-hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Subtle cyan accent block behind/beside the portrait */
.lr-about-hero__media::before {
	content: "";
	position: absolute;
	inset: -1rem -1rem auto auto;
	width: 35%;
	height: 35%;
	background: var(--wp--preset--color--accent);
	border-radius: 12px;
	z-index: -1;
	opacity: 0.85;
}


/* About body container — no width constraint here, sections handle their own widths */
.lr-about-body {
	margin: 0 !important;
}


/* Intro paragraph block (before the numbered sections) */
.lr-about-intro {
	background: var(--wp--preset--color--base);
	padding-block: clamp(3rem, 7vw, 5rem);
	margin: 0 !important;
}

.lr-about-intro > p,
.lr-about-intro > .wp-block-paragraph {
	max-width: 720px;
	margin-inline: auto !important;
	padding-inline: clamp(1rem, 3vw, 2rem);
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.125rem;
	line-height: 1.75;
	color: var(--wp--preset--color--ink);
	margin-block: 0 1.5rem !important;
}

.lr-about-intro > p:last-child { margin-bottom: 0 !important; }

/* Drop cap on first paragraph */
.lr-about-intro .lr-dropcap::first-letter {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 4.5em;
	font-weight: 700;
	float: left;
	line-height: 0.85;
	margin-right: 0.15em;
	margin-top: 0.05em;
	color: var(--wp--preset--color--primary-dark);
	letter-spacing: -0.04em;
}


/* Numbered sections with alternating backgrounds */
.lr-about-section {
	padding-block: clamp(3rem, 7vw, 5rem);
	margin: 0 !important;
	position: relative;
}

.lr-about-section--01 {
	background: var(--wp--preset--color--surface);
}

.lr-about-section--02,
.lr-about-section--04 {
	background: var(--wp--preset--color--base);
}

/* Section 03 — gradient mid-page color break */
.lr-about-section--03 {
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	overflow: hidden;
	isolation: isolate;
}

.lr-about-section--03::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 18% 25%, rgba(255,255,255,0.10) 0, transparent 40%),
		radial-gradient(circle at 82% 75%, rgba(6,182,212,0.18) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

.lr-about-section--03 .lr-section-number {
	color: var(--wp--preset--color--accent) !important;
	opacity: 0.85;
}

.lr-about-section--03 h2,
.lr-about-section--03 > h2.wp-block-heading {
	color: #FFFFFF !important;
}

.lr-about-section--03 p,
.lr-about-section--03 > p.wp-block-paragraph {
	color: rgba(255, 255, 255, 0.88) !important;
}

.lr-about-section--03 p strong { color: #FFFFFF !important; }

.lr-about-section--03 .lr-pullquote {
	border-left-color: var(--wp--preset--color--accent) !important;
	color: #FFFFFF !important;
}

.lr-about-section > * {
	max-width: 720px;
	margin-inline: auto !important;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

/* Section number eyebrow */
.lr-section-number {
	display: block;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 2.75rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--wp--preset--color--accent);
	line-height: 1;
	margin-block: 0 0.75rem !important;
	opacity: 0.6;
}

/* H2 inside about sections */
.lr-about-section h2,
.lr-about-section > h2.wp-block-heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2vw + 0.85rem, 2.25rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin-block: 0 1.5rem !important;
}

.lr-about-section p,
.lr-about-section > p.wp-block-paragraph {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.125rem;
	line-height: 1.75;
	color: var(--wp--preset--color--ink);
	margin-block: 0 1.25rem !important;
}

.lr-about-section a {
	color: var(--wp--preset--color--primary) !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.lr-about-section a:hover {
	color: var(--wp--preset--color--accent-dark) !important;
}


/* Pull quote — magazine treatment */
.lr-pullquote {
	display: block;
	max-width: 720px !important;
	margin: 2.5rem auto !important;
	padding: 1.5rem 0 1.5rem 2rem !important;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.5rem, 1.5vw + 1rem, 2rem) !important;
	font-weight: 600;
	font-style: normal;
	line-height: 1.25;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark);
	border-left: 4px solid var(--wp--preset--color--accent);
	position: relative;
}

/* About hero responsive */
@media (max-width: 980px) {
	.lr-about-hero__grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
	.lr-about-hero__media { max-width: 22rem; margin-inline: 0; }
}


/* --------------------------------------------------------------------------
   2l-iv. Contact page (single-column flow)
   -------------------------------------------------------------------------- */

/* PRIMARY block — contained gradient card (matches site-wide rounded card pattern) */
.lr-contact-primary {
	background: var(--wp--preset--color--base);
	padding-block: clamp(2.5rem, 5vw, 4rem);
	padding-inline: clamp(1.25rem, 4vw, 2rem); /* gutter so the card never touches the screen edges */
	margin: 0 !important;
	position: relative;
}

/* The actual gradient card, contained and rounded */
.lr-contact-primary__inner {
	max-width: 1080px;
	margin-inline: auto;
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	color: #FFFFFF;
	border-radius: 16px;
	padding: clamp(2.5rem, 5.5vw, 4rem) clamp(1.5rem, 5vw, 3.5rem);
	text-align: center;
	overflow: hidden;
	position: relative;
	isolation: isolate;
	box-shadow: 0 12px 32px -10px rgba(8, 28, 60, 0.25);
}

.lr-contact-primary__inner > * {
	max-width: 720px;
	margin-inline: auto !important;
}

.lr-contact-primary__inner::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 18% 25%, rgba(255,255,255,0.10) 0, transparent 40%),
		radial-gradient(circle at 82% 75%, rgba(6,182,212,0.18) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

.lr-contact-primary__eyebrow {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
	display: inline-block;
	margin-bottom: 1rem;
}

.lr-contact-primary__title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(2rem, 3vw + 0.85rem, 2.75rem) !important;
	font-weight: 700 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.02em;
	color: #FFFFFF !important;
	margin: 0 0 1.25rem 0 !important;
	max-width: 22ch;
	margin-inline: auto !important;
}

.lr-contact-primary__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.125rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.88);
	margin: 0 auto 2rem;
	max-width: 48ch;
}

.lr-contact-primary__cta {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.005em;
	color: #FFFFFF !important;
	background: var(--wp--preset--color--accent);
	padding: 0.95rem 1.75rem;
	border-radius: 6px;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	box-shadow: 0 6px 18px -4px rgba(6, 182, 212, 0.45);
	transition: gap 0.2s ease, background-color 0.2s ease, transform 0.15s ease;
}

.lr-contact-primary__cta:hover {
	background: #22D3EE;
	gap: 0.75rem;
	transform: translateY(-1px);
	color: #FFFFFF !important;
}


/* DIRECT contact section */
.lr-contact-direct {
	background: var(--wp--preset--color--base);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
}

.lr-contact-direct__inner {
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: center;
}

.lr-contact-direct__copy { min-width: 0; }

.lr-contact-direct__title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.5rem, 1.5vw + 0.85rem, 2rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 1rem 0 !important;
}

.lr-contact-direct__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
	margin: 0;
}

.lr-contact-direct__details {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.lr-contact-tile {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.85rem 1rem;
	border-radius: 8px;
	border: 1px solid var(--wp--preset--color--border);
	background: var(--wp--preset--color--surface);
	text-decoration: none !important;
	color: inherit;
	transition: background-color 0.18s ease, border-color 0.18s ease;
}

.lr-contact-tile:is(a):hover {
	background: var(--wp--preset--color--surface-soft);
	border-color: var(--wp--preset--color--accent);
}

.lr-contact-tile__label {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
}

.lr-contact-tile__value {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.0625rem;
	font-weight: 500;
	color: var(--wp--preset--color--primary-dark);
}


/* BLOG NOTE — gray rounded card inside white wrapper */
.lr-contact-note {
	background: var(--wp--preset--color--base);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
}

.lr-contact-note__inner {
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-contact-note__inner > p {
	background: var(--wp--preset--color--surface);
	border-radius: 12px;
	padding: clamp(2rem, 4vw, 3rem);
	margin: 0 !important;
	text-align: center;
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
}

.lr-contact-note__body em {
	color: var(--wp--preset--color--ink);
}

.lr-contact-note__body a {
	color: var(--wp--preset--color--primary) !important;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.lr-contact-note__body a:hover {
	color: var(--wp--preset--color--accent-dark) !important;
}

/* Contact responsive */
@media (max-width: 820px) {
	.lr-contact-direct__inner { grid-template-columns: 1fr; gap: 2rem; }
}


/* --------------------------------------------------------------------------
   2l-v. Free Tools hub page
   -------------------------------------------------------------------------- */

/* Intro */
.lr-tools-intro {
	background: var(--wp--preset--color--base);
	padding-block: clamp(2.5rem, 5vw, 4rem) 0 !important;
	margin: 0 !important;
}

.lr-tools-intro__inner {
	max-width: 760px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-tools-intro__inner p {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.25rem 0;
}

.lr-tools-intro__inner p:last-child { margin-bottom: 0; }


/* Grid section */
.lr-tools-grid-section {
	background: var(--wp--preset--color--base);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
}

.lr-tools-grid-section__inner {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-tools-grid-section__header {
	max-width: 40rem;
	margin: 0 0 clamp(2rem, 4vw, 3rem) 0;
}

.lr-tools-grid-section__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 !important;
	max-width: 22ch;
}


/* Tool cards grid */
.lr-tools-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.25rem, 2vw, 2rem);
	margin-bottom: clamp(2rem, 4vw, 3rem);
}

.lr-tool-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 1.75rem 1.5rem 1.5rem;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.lr-tool-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px -10px rgba(8, 28, 60, 0.18);
	border-color: var(--wp--preset--color--accent);
}

.lr-tool-card__badge {
	position: absolute;
	top: -10px;
	right: 1.25rem;
	background: var(--wp--preset--color--success);
	color: #FFFFFF;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 0.35rem 0.65rem;
	border-radius: 4px;
}

.lr-tool-card__name {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 0.85rem 0 !important;
	letter-spacing: -0.005em;
	line-height: 1.25;
}

.lr-tool-card__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 0.9375rem;
	line-height: 1.6;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.25rem 0;
}

.lr-tool-card__checks {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	padding: 0.85rem 1rem;
	margin-bottom: 1.5rem;
	flex: 1;
}

.lr-tool-card__checks-label {
	display: block;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.6rem;
}

.lr-tool-card__checks-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 0.875rem;
	line-height: 1.55;
	color: var(--wp--preset--color--ink);
}

.lr-tool-card__checks-list li {
	padding-left: 1rem;
	position: relative;
	margin-bottom: 0.35rem;
}

.lr-tool-card__checks-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 8px;
	height: 1px;
	background: var(--wp--preset--color--accent);
}

.lr-tool-card__checks-list li:last-child { margin-bottom: 0; }

.lr-tool-card__cta {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.005em;
	color: #FFFFFF !important;
	background: var(--wp--preset--color--accent);
	padding: 0.75rem 1.25rem;
	border-radius: 6px;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	transition: gap 0.2s ease, background-color 0.2s ease;
	align-self: flex-start;
	margin-top: auto;
	box-shadow: 0 4px 12px -3px rgba(6, 182, 212, 0.35);
}

.lr-tool-card__cta:hover {
	background: #22D3EE;
	color: #FFFFFF !important;
	gap: 0.75rem;
}


/* Roadmap card — gradient mid-page color element */
.lr-tools-roadmap {
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	border: none;
	border-radius: 12px;
	padding: clamp(2rem, 4vw, 2.75rem);
	text-align: center;
	max-width: 880px;
	margin-inline: auto;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	box-shadow: 0 12px 32px -10px rgba(8, 28, 60, 0.25);
}

.lr-tools-roadmap::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 80% 30%, rgba(255,255,255,0.10) 0, transparent 40%),
		radial-gradient(circle at 20% 80%, rgba(6,182,212,0.20) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

.lr-tools-roadmap .lr-eyebrow { color: var(--wp--preset--color--accent) !important; }
.lr-tools-roadmap .lr-eyebrow::before { background: var(--wp--preset--color--accent) !important; }

.lr-tools-roadmap__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	color: #FFFFFF !important;
	margin: 0 0 0.75rem 0 !important;
}

.lr-tools-roadmap__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.85);
	margin: 0;
}

.lr-tools-roadmap__body a {
	color: var(--wp--preset--color--accent) !important;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.lr-tools-roadmap__body a:hover { color: #FFFFFF !important; }


/* Why we built section */
.lr-tools-why {
	background: var(--wp--preset--color--surface);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
}

.lr-tools-why__inner {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.lr-tools-why__header { position: sticky; top: 2.5rem; }

.lr-tools-why__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.5rem, 1.8vw + 0.85rem, 2rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 !important;
}

.lr-tools-why__body p {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.25rem 0;
}

.lr-tools-why__body p:last-child { margin-bottom: 0; }
.lr-tools-why__body p strong { color: var(--wp--preset--color--primary-dark); font-weight: 600; }


/* Free Tools responsive */
@media (max-width: 980px) {
	.lr-tools-grid { grid-template-columns: 1fr; }
	.lr-tools-why__inner { grid-template-columns: 1fr; gap: 1.5rem; }
	.lr-tools-why__header { position: static; }
}


/* --------------------------------------------------------------------------
   2l-vi. Growth Audit landing page
   -------------------------------------------------------------------------- */

/* (Gradient hero is now the global default — see .lr-interior-hero block in §2m) */



/* HERO LEAD with form */
.lr-audit-lead {
	background: var(--wp--preset--color--base);
	padding-block: clamp(2.5rem, 5vw, 4rem);
	margin: 0 !important;
}

.lr-audit-lead__inner {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.lr-audit-lead__copy { min-width: 0; }

.lr-audit-lead__intro {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: clamp(1.0625rem, 0.4vw + 0.95rem, 1.1875rem);
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.5rem 0;
}

.lr-audit-lead__bullets {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
}

.lr-audit-lead__bullets li {
	padding-left: 1.5rem;
	margin-bottom: 0.85rem;
	position: relative;
}

.lr-audit-lead__bullets li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.7em;
	width: 16px;
	height: 1px;
	background: var(--wp--preset--color--accent);
}

.lr-audit-lead__bullets strong {
	color: var(--wp--preset--color--primary-dark);
	font-weight: 600;
}

/* Form card on the right */
.lr-audit-lead__form {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	position: sticky;
	top: 2rem;
}

.lr-audit-lead__form-header {
	margin-bottom: 1.5rem;
}

.lr-audit-lead__form-title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.625rem !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.01em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 !important;
}

/* WPForms style normalization within the form card */
.lr-audit-lead__form-embed .wpforms-container input[type="text"],
.lr-audit-lead__form-embed .wpforms-container input[type="email"],
.lr-audit-lead__form-embed .wpforms-container input[type="url"],
.lr-audit-lead__form-embed .wpforms-container input[type="tel"],
.lr-audit-lead__form-embed .wpforms-container textarea,
.lr-audit-lead__form-embed .wpforms-container select {
	width: 100% !important;
	padding: 0.75rem 0.9rem !important;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: 6px !important;
	background: var(--wp--preset--color--base) !important;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.9375rem !important;
	color: var(--wp--preset--color--ink) !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.lr-audit-lead__form-embed .wpforms-container input:focus,
.lr-audit-lead__form-embed .wpforms-container textarea:focus,
.lr-audit-lead__form-embed .wpforms-container select:focus {
	border-color: var(--wp--preset--color--accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.15) !important;
}

.lr-audit-lead__form-embed .wpforms-container label {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.875rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--ink) !important;
	margin-bottom: 0.4rem !important;
}

.lr-audit-lead__form-embed .wpforms-container button[type="submit"],
.lr-audit-lead__form-embed .wpforms-container .wpforms-submit {
	background: var(--wp--preset--color--accent) !important;
	color: #FFFFFF !important;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.005em !important;
	padding: 0.875rem 1.75rem !important;
	border-radius: 6px !important;
	border: none !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease, transform 0.15s ease !important;
	box-shadow: 0 4px 12px -3px rgba(6, 182, 212, 0.45) !important;
	width: 100% !important;
}

.lr-audit-lead__form-embed .wpforms-container button[type="submit"]:hover {
	background: #22D3EE !important;
	transform: translateY(-1px) !important;
}


/* Capacity note strip */
.lr-audit-capacity {
	background: var(--wp--preset--color--surface);
	padding-block: clamp(1.25rem, 3vw, 1.75rem);
	margin: 0 !important;
	border-block: 1px solid var(--wp--preset--color--border);
}

.lr-audit-capacity__inner {
	max-width: 880px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	text-align: center;
}

.lr-audit-capacity__body {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--ink);
	margin: 0;
	letter-spacing: 0.01em;
}

.lr-audit-capacity__body strong { color: var(--wp--preset--color--primary-dark); }


/* Standard text sections (details, fit, why-free): editorial two-column pattern */
.lr-audit-details,
.lr-audit-fit,
.lr-audit-why-free {
	background: var(--wp--preset--color--base);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
}

.lr-audit-details__inner,
.lr-audit-fit__inner,
.lr-audit-why-free__inner {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

/* Make alternating sections use surface for rhythm */
.lr-audit-fit { background: var(--wp--preset--color--surface); }

.lr-audit-details__header,
.lr-audit-fit__header,
.lr-audit-why-free__header {
	position: sticky;
	top: 2rem;
}

.lr-audit-details__heading,
.lr-audit-fit__heading,
.lr-audit-why-free__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.5rem, 1.5vw + 0.85rem, 2rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 !important;
	max-width: 20ch;
}

.lr-audit-details__body p,
.lr-audit-fit__body p,
.lr-audit-why-free__body p {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.25rem 0;
}

.lr-audit-details__body p:last-child,
.lr-audit-fit__body p:last-child,
.lr-audit-why-free__body p:last-child { margin-bottom: 0; }

.lr-audit-details__body p strong,
.lr-audit-fit__body p strong,
.lr-audit-why-free__body p strong { color: var(--wp--preset--color--primary-dark); font-weight: 600; }


/* Free vs Paid compare cards — gradient mid-page color break */
.lr-audit-compare {
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	padding-block: clamp(3.5rem, 7vw, 5.5rem);
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.lr-audit-compare::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 80% 30%, rgba(255,255,255,0.10) 0, transparent 40%),
		radial-gradient(circle at 20% 80%, rgba(6,182,212,0.20) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

.lr-audit-compare::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 64px 64px;
	background-position: center;
	-webkit-mask-image: radial-gradient(ellipse at center, black 35%, transparent 80%);
	        mask-image: radial-gradient(ellipse at center, black 35%, transparent 80%);
	pointer-events: none;
	z-index: -1;
}

/* White text on dark gradient for the compare section header */
.lr-audit-compare .lr-eyebrow { color: var(--wp--preset--color--accent) !important; }
.lr-audit-compare .lr-eyebrow::before { background: var(--wp--preset--color--accent); }
.lr-audit-compare__heading { color: #FFFFFF !important; }
.lr-audit-compare__note { color: rgba(255,255,255,0.75) !important; }

.lr-audit-compare__inner {
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-audit-compare__header { text-align: center; margin-bottom: clamp(2rem, 4vw, 3rem); }

.lr-audit-compare__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.5rem, 1.5vw + 0.85rem, 2rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 auto !important;
	max-width: 24ch;
}

.lr-audit-compare__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 2vw, 2rem);
	margin-bottom: 2rem;
}

.lr-audit-compare__card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 2rem 1.75rem;
	display: flex;
	flex-direction: column;
}

.lr-audit-compare__card--paid {
	border-color: var(--wp--preset--color--primary-dark);
	background: linear-gradient(180deg, #FFFFFF 0%, #F5F7F9 100%);
}

.lr-audit-compare__price {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.25rem;
	font-weight: 600;
	letter-spacing: -0.01em;
	text-transform: none;
	color: var(--wp--preset--color--primary);
	margin-bottom: 0.5rem;
}

.lr-audit-compare__card-title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 1rem 0 !important;
	letter-spacing: -0.01em;
}

.lr-audit-compare__card-body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.25rem 0;
	flex: 1;
}

.lr-audit-compare__answers {
	display: block;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.875rem;
	color: var(--wp--preset--color--ink-soft);
	padding-top: 1rem;
	border-top: 1px solid var(--wp--preset--color--border);
}

.lr-audit-compare__answers em {
	color: var(--wp--preset--color--primary-dark);
	font-style: italic;
	font-weight: 500;
}

.lr-audit-compare__note {
	max-width: 60ch;
	margin: 0 auto;
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1rem;
	line-height: 1.6;
	color: var(--wp--preset--color--ink-soft);
	text-align: center;
}


/* Color overrides on the dark gradient — placed AFTER base rules so cascade wins */
.lr-audit-compare .lr-eyebrow { color: var(--wp--preset--color--accent) !important; }
.lr-audit-compare .lr-eyebrow::before { background: var(--wp--preset--color--accent) !important; }
.lr-audit-compare__heading { color: #FFFFFF !important; }
.lr-audit-compare__note { color: rgba(255, 255, 255, 0.78) !important; }


/* Growth Audit responsive */
@media (max-width: 980px) {
	.lr-audit-lead__inner,
	.lr-audit-details__inner,
	.lr-audit-fit__inner,
	.lr-audit-why-free__inner { grid-template-columns: 1fr; }
	.lr-audit-lead__form { position: static; }
	.lr-audit-details__header,
	.lr-audit-fit__header,
	.lr-audit-why-free__header { position: static; }
	.lr-audit-compare__grid { grid-template-columns: 1fr; }
}


/* --------------------------------------------------------------------------
   2l-vii. Services hub page
   -------------------------------------------------------------------------- */

/* Intro / methodology — editorial two-column */
.lr-services-page-intro {
	background: var(--wp--preset--color--base);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
}

.lr-services-page-intro__inner {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.lr-services-page-intro__copy { position: sticky; top: 2rem; }

.lr-services-page-intro__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2vw + 0.85rem, 2.25rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 !important;
}

.lr-services-page-intro__body p {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.25rem 0;
}

.lr-services-page-intro__body p:last-child { margin-bottom: 0; }
.lr-services-page-intro__body p strong { color: var(--wp--preset--color--primary-dark); }


/* Service detail cards in 2x2 grid — deep navy mid-page color anchor */
.lr-services-page-grid-section {
	background: #0E4F6E;
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.lr-services-page-grid-section::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 85% 25%, rgba(6,182,212,0.18) 0, transparent 45%),
		radial-gradient(circle at 15% 80%, rgba(255,255,255,0.06) 0, transparent 40%);
	pointer-events: none;
	z-index: -1;
}

.lr-services-page-grid-section__inner {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-services-page-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 2.5vw, 2rem);
}

.lr-service-detail {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 2.25rem 2rem 2rem;
	display: flex;
	flex-direction: column;
	position: relative;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.lr-service-detail:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px -10px rgba(8, 28, 60, 0.18);
	border-color: var(--wp--preset--color--accent);
}

.lr-service-detail--featured {
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 4px 16px -6px rgba(6, 182, 212, 0.25);
}

.lr-service-detail__badge {
	position: absolute;
	top: -12px;
	left: 1.5rem;
	background: var(--wp--preset--color--accent);
	color: #FFFFFF;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 0.4rem 0.75rem;
	border-radius: 4px;
	box-shadow: 0 3px 8px -2px rgba(6, 182, 212, 0.45);
}

.lr-service-detail__header {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: baseline;
	gap: 1rem;
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.lr-service-detail__name {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.5rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 !important;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.lr-service-detail__pricing {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.15rem;
}

.lr-service-detail__price {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.375rem;
	font-weight: 700;
	color: var(--wp--preset--color--ink);
	letter-spacing: -0.01em;
	line-height: 1;
}

.lr-service-detail__price-suffix {
	font-size: 0.9rem;
	font-weight: 500;
	color: var(--wp--preset--color--muted);
	margin-left: 0.1rem;
}

.lr-service-detail__duration {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0.01em;
}

.lr-service-detail__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.5rem 0;
}

.lr-service-detail__includes {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	padding: 1rem 1.15rem;
	margin-bottom: 1.5rem;
	flex: 1;
}

.lr-service-detail__includes-label {
	display: block;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--muted);
	margin-bottom: 0.6rem;
}

.lr-service-detail__includes-list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 0.9375rem;
	line-height: 1.55;
	color: var(--wp--preset--color--ink);
}

.lr-service-detail__includes-list li {
	padding-left: 1.1rem;
	position: relative;
	margin-bottom: 0.4rem;
}

.lr-service-detail__includes-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 8px;
	height: 1px;
	background: var(--wp--preset--color--accent);
}

.lr-service-detail__includes-list li:last-child { margin-bottom: 0; }

.lr-service-detail__cta {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.005em;
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	transition: gap 0.2s ease, color 0.2s ease;
	margin-top: auto;
	align-self: flex-start;
}

.lr-service-detail__cta:hover {
	color: var(--wp--preset--color--accent-dark) !important;
	gap: 0.6rem;
}


/* "Not sure where to start" — gradient mid-page strip */
.lr-services-page-guide {
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.lr-services-page-guide::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 18% 25%, rgba(255,255,255,0.10) 0, transparent 40%),
		radial-gradient(circle at 82% 75%, rgba(6,182,212,0.20) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

.lr-services-page-guide::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 64px 64px;
	background-position: center;
	-webkit-mask-image: radial-gradient(ellipse at center, black 35%, transparent 80%);
	        mask-image: radial-gradient(ellipse at center, black 35%, transparent 80%);
	pointer-events: none;
	z-index: -1;
}

.lr-services-page-guide__inner {
	max-width: 880px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	text-align: center;
}

.lr-services-page-guide .lr-eyebrow { color: var(--wp--preset--color--accent) !important; }
.lr-services-page-guide .lr-eyebrow::before { background: var(--wp--preset--color--accent) !important; }

.lr-services-page-guide__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em;
	color: #FFFFFF !important;
	margin: 0 auto 1.5rem !important;
	max-width: 24ch;
}

.lr-services-page-guide__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.125rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.88);
	margin: 0 auto 2rem;
	max-width: 60ch;
}

.lr-services-page-guide__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.005em;
	color: #FFFFFF !important;
	background: var(--wp--preset--color--accent);
	padding: 0.95rem 1.75rem;
	border-radius: 6px;
	text-decoration: none !important;
	margin-bottom: 1.5rem;
	transition: gap 0.2s ease, background-color 0.2s ease, transform 0.15s ease;
	box-shadow: 0 6px 18px -4px rgba(6, 182, 212, 0.45);
}

.lr-services-page-guide__cta:hover {
	background: #22D3EE;
	gap: 0.75rem;
	transform: translateY(-1px);
	color: #FFFFFF !important;
}

.lr-services-page-guide__fine {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.8125rem;
	color: rgba(255,255,255,0.65);
	margin: 0;
	letter-spacing: 0.01em;
	max-width: 56ch;
	margin-inline: auto;
}


/* Services page responsive */
@media (max-width: 980px) {
	.lr-services-page-intro__inner { grid-template-columns: 1fr; gap: 1.5rem; }
	.lr-services-page-intro__copy { position: static; }
	.lr-services-page-grid { grid-template-columns: 1fr; }
}


/* --------------------------------------------------------------------------
   2l-viii. Service detail pages (long-form $X service pages)
   -------------------------------------------------------------------------- */

/* SUMMARY card — sits right under the gradient hero, anchors the price */
.lr-svc-summary {
	background: var(--wp--preset--color--base);
	padding-block: clamp(2.5rem, 5vw, 4rem);
	margin: 0 !important;
}

.lr-svc-summary__inner {
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.lr-svc-summary__pricing {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: clamp(1.75rem, 3vw, 2.25rem);
	position: sticky;
	top: 2rem;
	text-align: center;
}

.lr-svc-summary__price {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: clamp(2.25rem, 2.5vw + 0.85rem, 3rem);
	font-weight: 700;
	color: var(--wp--preset--color--primary-dark);
	letter-spacing: -0.02em;
	line-height: 1;
	margin-bottom: 0.4rem;
}

.lr-svc-summary__price-suffix {
	font-size: 0.5em;
	font-weight: 500;
	color: var(--wp--preset--color--muted);
	letter-spacing: 0;
}

.lr-svc-summary__terms {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.875rem;
	color: var(--wp--preset--color--ink-soft);
	letter-spacing: 0.005em;
	margin: 0 auto 1.25rem;
	padding: 0;
	border: none;
	max-width: 26ch;
	line-height: 1.5;
}

.lr-svc-summary__terms strong {
	color: var(--wp--preset--color--primary-dark);
	font-weight: 600;
	display: inline-block;
}

.lr-svc-summary__cta {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.9375rem;
	font-weight: 600;
	letter-spacing: 0.005em;
	color: #FFFFFF !important;
	background: var(--wp--preset--color--accent);
	padding: 0.75rem 1.5rem;
	border-radius: 6px;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	width: auto;
	transition: gap 0.2s ease, background-color 0.2s ease, transform 0.15s ease;
	box-shadow: 0 4px 12px -3px rgba(6, 182, 212, 0.4);
}

.lr-svc-summary__cta:hover {
	background: #22D3EE;
	gap: 0.75rem;
	transform: translateY(-1px);
	color: #FFFFFF !important;
}

.lr-svc-summary__lead p {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: clamp(1.0625rem, 0.4vw + 0.95rem, 1.1875rem);
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.25rem 0;
}

.lr-svc-summary__lead p:last-child { margin-bottom: 0; }
.lr-svc-summary__lead p strong { color: var(--wp--preset--color--primary-dark); font-weight: 600; }


/* Standard editorial section used across detail pages */
.lr-svc-section {
	background: var(--wp--preset--color--base);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
}

.lr-svc-section--surface { background: var(--wp--preset--color--surface); }

.lr-svc-section__inner {
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.8fr);
	gap: clamp(2rem, 4vw, 4rem);
	align-items: start;
}

.lr-svc-section__header { position: sticky; top: 2rem; }

.lr-svc-section__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.5rem, 1.5vw + 0.85rem, 2rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 !important;
	max-width: 22ch;
}

.lr-svc-section__body p {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.0625rem;
	line-height: 1.7;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.25rem 0;
}

.lr-svc-section__body p:last-child { margin-bottom: 0; }
.lr-svc-section__body p strong { color: var(--wp--preset--color--primary-dark); font-weight: 600; }
.lr-svc-section__body p em { color: var(--wp--preset--color--ink-soft); font-style: italic; }
.lr-svc-section__body p a {
	color: var(--wp--preset--color--primary) !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}
.lr-svc-section__body p a:hover { color: var(--wp--preset--color--accent-dark) !important; }


/* Deliverables grid — "What you get" cards — deep navy mid-page color anchor */
.lr-svc-deliverables {
	background: #0E4F6E;
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.lr-svc-deliverables::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 85% 25%, rgba(6,182,212,0.18) 0, transparent 45%),
		radial-gradient(circle at 15% 80%, rgba(255,255,255,0.06) 0, transparent 40%);
	pointer-events: none;
	z-index: -1;
}

.lr-svc-deliverables__inner {
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-svc-deliverables__header {
	max-width: 40rem;
	margin: 0 0 clamp(2rem, 4vw, 3rem) 0;
}

.lr-svc-deliverables__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
	color: #FFFFFF !important;
	margin: 0 0 0.75rem 0 !important;
	max-width: 24ch;
}

.lr-svc-deliverables__intro {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.0625rem;
	line-height: 1.65;
	color: rgba(255,255,255,0.85);
	margin: 0;
}

/* Eyebrow inside the dark deliverables section */
.lr-svc-deliverables .lr-eyebrow { color: var(--wp--preset--color--accent) !important; }
.lr-svc-deliverables .lr-eyebrow::before { background: var(--wp--preset--color--accent) !important; }

.lr-svc-deliverables__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.25rem, 2.5vw, 2rem);
}

.lr-svc-deliverable {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 1.75rem;
	position: relative;
	transition: transform 0.25s ease, border-color 0.25s ease, box-shadow 0.25s ease;
}

.lr-svc-deliverable:hover {
	transform: translateY(-2px);
	border-color: var(--wp--preset--color--accent);
	box-shadow: 0 10px 24px -10px rgba(8, 28, 60, 0.15);
}

.lr-svc-deliverable__title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.25rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 0.85rem 0 !important;
	letter-spacing: -0.005em;
}

.lr-svc-deliverable__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 0.9375rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
	margin: 0;
}


/* Process steps */
.lr-svc-process {
	background: var(--wp--preset--color--base);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
}

.lr-svc-process__inner {
	max-width: 880px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-svc-process__header { margin-bottom: clamp(2rem, 4vw, 3rem); }

.lr-svc-process__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 !important;
}

.lr-svc-steps { display: flex; flex-direction: column; gap: 1.5rem; }

.lr-svc-step {
	display: grid;
	grid-template-columns: 3.5rem 1fr;
	gap: 1.5rem;
	align-items: start;
}

.lr-svc-step__number {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--wp--preset--color--accent);
	line-height: 1.2;
	letter-spacing: -0.01em;
	padding-top: 0.1rem;
}

.lr-svc-step__title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.1875rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 0 0.5rem 0 !important;
}

.lr-svc-step__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1rem;
	line-height: 1.65;
	color: var(--wp--preset--color--ink);
	margin: 0;
}


/* Audit-first banner — gradient mid-page strip */
.lr-svc-audit-banner {
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.lr-svc-audit-banner::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 18% 25%, rgba(255,255,255,0.10) 0, transparent 40%),
		radial-gradient(circle at 82% 75%, rgba(6,182,212,0.20) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

.lr-svc-audit-banner__inner {
	max-width: 880px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	text-align: center;
}

.lr-svc-audit-banner .lr-eyebrow { color: var(--wp--preset--color--accent) !important; }
.lr-svc-audit-banner .lr-eyebrow::before { background: var(--wp--preset--color--accent) !important; }

.lr-svc-audit-banner__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.2 !important;
	letter-spacing: -0.015em;
	color: #FFFFFF !important;
	margin: 0 auto 1.25rem !important;
	max-width: 24ch;
}

.lr-svc-audit-banner__body {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.0625rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.85);
	margin: 0 auto 2rem;
	max-width: 56ch;
}

.lr-svc-audit-banner__body a {
	color: var(--wp--preset--color--accent) !important;
	font-weight: 600;
}

.lr-svc-audit-banner__actions {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.lr-svc-audit-banner__cta {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.005em;
	color: #FFFFFF !important;
	background: var(--wp--preset--color--accent);
	padding: 0.95rem 1.75rem;
	border-radius: 6px;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	transition: gap 0.2s ease, background-color 0.2s ease, transform 0.15s ease;
	box-shadow: 0 6px 16px -4px rgba(6, 182, 212, 0.45);
}

.lr-svc-audit-banner__cta:hover {
	background: #22D3EE;
	gap: 0.75rem;
	transform: translateY(-1px);
	color: #FFFFFF !important;
}

.lr-svc-audit-banner__cta--ghost {
	background: transparent;
	border: 1px solid rgba(255,255,255,0.3);
	box-shadow: none;
}

.lr-svc-audit-banner__cta--ghost:hover {
	background: rgba(255,255,255,0.08);
	border-color: rgba(255,255,255,0.55);
	box-shadow: none;
}


/* FAQ — native <details> accordion */
.lr-svc-faq {
	background: var(--wp--preset--color--base);
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
}

.lr-svc-faq__inner {
	max-width: 880px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-svc-faq__header { margin-bottom: clamp(2rem, 4vw, 3rem); }

.lr-svc-faq__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
	color: var(--wp--preset--color--primary-dark) !important;
	margin: 0 !important;
}

.lr-svc-faq__list { display: flex; flex-direction: column; gap: 0.85rem; }

.lr-svc-faq__item {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	transition: border-color 0.2s ease;
}

.lr-svc-faq__item[open] {
	border-color: var(--wp--preset--color--accent);
	background: var(--wp--preset--color--base);
}

.lr-svc-faq__item summary {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.0625rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark);
	padding: 1.25rem 1.5rem;
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 3rem;
	letter-spacing: -0.005em;
	line-height: 1.35;
}

.lr-svc-faq__item summary::-webkit-details-marker { display: none; }
.lr-svc-faq__item summary::marker { display: none; }

.lr-svc-faq__item summary::after {
	content: "";
	position: absolute;
	right: 1.5rem;
	top: 50%;
	width: 12px;
	height: 12px;
	border-right: 2px solid var(--wp--preset--color--accent-dark);
	border-bottom: 2px solid var(--wp--preset--color--accent-dark);
	transform: translateY(-65%) rotate(45deg);
	transition: transform 0.2s ease;
}

.lr-svc-faq__item[open] summary::after {
	transform: translateY(-35%) rotate(-135deg);
}

.lr-svc-faq__answer {
	padding: 0 1.5rem 1.5rem 1.5rem;
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1rem;
	line-height: 1.7;
	color: var(--wp--preset--color--ink);
}

.lr-svc-faq__answer p { margin: 0 0 1rem 0; }
.lr-svc-faq__answer p:last-child { margin: 0; }
.lr-svc-faq__answer a {
	color: var(--wp--preset--color--primary) !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}


/* Service page responsive */
@media (max-width: 980px) {
	.lr-svc-summary__inner { grid-template-columns: 1fr; gap: 2rem; }
	.lr-svc-summary__pricing { position: static; }
	.lr-svc-section__inner { grid-template-columns: 1fr; gap: 1.5rem; }
	.lr-svc-section__header { position: static; }
	.lr-svc-deliverables__grid { grid-template-columns: 1fr; }
	.lr-svc-audit-banner__actions { flex-direction: column; width: 100%; }
	.lr-svc-audit-banner__cta { width: 100%; justify-content: center; }
}


/* --------------------------------------------------------------------------
   2l-ix. Book Marketing Audit — intake form section
   -------------------------------------------------------------------------- */

.lr-book-form {
	background: #0E4F6E;
	padding-block: clamp(3rem, 6vw, 5rem);
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	scroll-margin-top: 2rem;
}

.lr-book-form::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 85% 20%, rgba(6,182,212,0.18) 0, transparent 45%),
		radial-gradient(circle at 12% 85%, rgba(255,255,255,0.05) 0, transparent 40%);
	pointer-events: none;
	z-index: -1;
}

.lr-book-form__inner {
	max-width: 720px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-book-form__header {
	text-align: center;
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

.lr-book-form__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(1.75rem, 2.2vw + 0.85rem, 2.5rem) !important;
	font-weight: 600 !important;
	line-height: 1.15 !important;
	letter-spacing: -0.015em;
	color: #FFFFFF !important;
	margin: 0 auto 0.75rem !important;
	max-width: 22ch;
}

.lr-book-form__sub {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.0625rem;
	line-height: 1.6;
	color: rgba(255,255,255,0.82);
	margin: 0;
}

/* The form sits on a white card so the inputs read clearly against the navy */
.lr-book-form__embed {
	background: #FFFFFF;
	border-radius: 12px;
	padding: clamp(1.75rem, 3vw, 2.5rem);
	box-shadow: 0 24px 48px -16px rgba(8, 28, 60, 0.45);
}

/* WPForms restyle inside the booking card */
.lr-book-form__embed .wpforms-field-label {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.9375rem !important;
	font-weight: 600 !important;
	color: var(--wp--preset--color--ink) !important;
	margin-bottom: 0.4rem !important;
}

.lr-book-form__embed .wpforms-field-description {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 0.85rem !important;
	color: var(--wp--preset--color--muted) !important;
}

.lr-book-form__embed input[type="text"],
.lr-book-form__embed input[type="email"],
.lr-book-form__embed input[type="url"],
.lr-book-form__embed textarea,
.lr-book-form__embed select {
	width: 100% !important;
	padding: 0.75rem 0.9rem !important;
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: 6px !important;
	background: var(--wp--preset--color--base) !important;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.9375rem !important;
	color: var(--wp--preset--color--ink) !important;
	transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.lr-book-form__embed input:focus,
.lr-book-form__embed textarea:focus,
.lr-book-form__embed select:focus {
	border-color: var(--wp--preset--color--accent) !important;
	outline: none !important;
	box-shadow: 0 0 0 3px rgba(6, 182, 212, 0.15) !important;
}

.lr-book-form__embed .wpforms-submit {
	background: var(--wp--preset--color--accent) !important;
	color: #FFFFFF !important;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.005em !important;
	padding: 0.95rem 2rem !important;
	border-radius: 6px !important;
	border: none !important;
	cursor: pointer !important;
	transition: background-color 0.2s ease, transform 0.15s ease !important;
	box-shadow: 0 6px 16px -4px rgba(6, 182, 212, 0.45) !important;
	width: 100% !important;
}

.lr-book-form__embed .wpforms-submit:hover {
	background: #22D3EE !important;
	transform: translateY(-1px) !important;
}

/* Confirmation message styling */
.lr-book-form__embed .wpforms-confirmation-container-full {
	background: var(--wp--preset--color--success-surface) !important;
	border: 1px solid var(--wp--preset--color--success) !important;
	border-radius: 8px !important;
	padding: 1.5rem !important;
	font-family: var(--wp--preset--font-family--source-serif) !important;
	color: var(--wp--preset--color--ink) !important;
}


/* --------------------------------------------------------------------------
   2m. Interior hero — page title block (About / Contact / Service pages / etc.)
   -------------------------------------------------------------------------- */

.lr-interior-hero {
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	padding-block: clamp(3.5rem, 8vw, 6rem);
	border-bottom: none;
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.lr-interior-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 18% 25%, rgba(255,255,255,0.10) 0, transparent 40%),
		radial-gradient(circle at 82% 75%, rgba(6,182,212,0.20) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

.lr-interior-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 72px 72px;
	background-position: center;
	-webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
	        mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
	pointer-events: none;
	z-index: -1;
}

/* (Old left-edge accent line removed — gradient bg replaces it) */

.lr-interior-hero__container {
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	text-align: center;
	position: relative;
	z-index: 1;
}

.lr-interior-hero__title.wp-block-post-title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(2.25rem, 4vw + 1rem, 3.75rem) !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.025em;
	color: #FFFFFF !important;
	margin: 0 auto 1rem !important;
	max-width: 22ch;
}

.lr-interior-hero__excerpt.wp-block-post-excerpt {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: clamp(1.0625rem, 0.4vw + 0.95rem, 1.25rem) !important;
	line-height: 1.6 !important;
	color: rgba(255, 255, 255, 0.85) !important;
	margin: 0 auto !important;
	max-width: 52ch;
}

/* hide the excerpt's "Read more" link */
.lr-interior-hero__excerpt .wp-block-post-excerpt__more-link { display: none; }


/* --------------------------------------------------------------------------
   2n. Generic page body container
   -------------------------------------------------------------------------- */

.lr-page-content {
	padding-block: clamp(3rem, 7vw, 5rem);
	background: var(--wp--preset--color--base);
	margin: 0 !important;
}

.lr-page-content__container {
	width: 100%;
	margin-inline: auto;
	padding-inline: 0;
}

/* Default narrow column for paragraph-only pages (each section can override
   with its own max-width on .__inner if it wants to break out wider) */
.lr-page-content__container > p,
.lr-page-content__container > .wp-block-paragraph,
.lr-page-content__container > h2,
.lr-page-content__container > h2.wp-block-heading,
.lr-page-content__container > h3,
.lr-page-content__container > h3.wp-block-heading,
.lr-page-content__container > ul,
.lr-page-content__container > ol,
.lr-page-content__container > blockquote {
	max-width: 760px;
	margin-inline: auto !important;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

/* Default typography inside page content */
.lr-page-content__container > p,
.lr-page-content__container > .wp-block-paragraph {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.5rem 0;
}

.lr-page-content__container > h2,
.lr-page-content__container > .wp-block-heading.is-style-h2,
.lr-page-content__container > h2.wp-block-heading {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark);
	margin: 2.5rem 0 1rem 0;
	letter-spacing: -0.01em;
	line-height: 1.2;
}

.lr-page-content__container > h3,
.lr-page-content__container > h3.wp-block-heading {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.375rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	margin: 2rem 0 0.85rem 0;
}

/* Page content allows full-width and wide blocks to break out */
.lr-page-content__container .alignwide {
	max-width: 1080px;
	margin-inline: auto;
	width: calc(100vw - 4rem);
	max-width: min(1080px, calc(100vw - 4rem));
}

.lr-page-content__container .alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-inline: calc(50% - 50vw);
}


/* --------------------------------------------------------------------------
   2o. Single blog post
   -------------------------------------------------------------------------- */

.lr-post {
	margin: 0 !important;
}

/* Article header (category, title, meta) — gradient hero */
.lr-post__header {
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	padding-block: clamp(2rem, 4vw, 3.25rem);
	border-bottom: none;
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

/* Top row: back link left, category pill right */
.lr-post__topline {
	margin-bottom: 1.5rem !important;
	gap: 1rem !important;
}

.lr-post__header::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 18% 25%, rgba(255,255,255,0.10) 0, transparent 40%),
		radial-gradient(circle at 82% 75%, rgba(6,182,212,0.20) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

.lr-post__header::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 72px 72px;
	background-position: center;
	-webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
	        mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
	pointer-events: none;
	z-index: -1;
}

.lr-post__header-inner { position: relative; z-index: 1; }

.lr-post__header-inner {
	max-width: 880px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	position: relative;
	z-index: 1;
}

/* Category as a bordered pill (distinct from the back link) */
.lr-post__category.wp-block-post-terms {
	display: inline-flex;
	align-items: center;
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.6875rem !important;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #FFFFFF !important;
	margin: 0 !important;
	padding: 0.35rem 0.7rem;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 4px;
	background: rgba(255, 255, 255, 0.08);
	backdrop-filter: blur(6px);
}

.lr-post__category a {
	color: #FFFFFF !important;
	text-decoration: none !important;
	transition: color 0.2s ease;
}

.lr-post__category a:hover { color: var(--wp--preset--color--accent) !important; }

.lr-post__title.wp-block-post-title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(2rem, 3.5vw + 1rem, 3.25rem) !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em;
	color: #FFFFFF !important;
	margin: 0 0 1.5rem 0 !important;
}

/* Horizontal meta line: Published <date> · Updated <date> · Author */
.lr-post__meta {
	font-family: var(--wp--preset--font-family--outfit) !important;
	margin: 0 !important;
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.3rem 0.45rem !important;
}

/* Each label+date pair stays on one line; the group wraps as a whole */
.lr-post__meta-item {
	display: inline-flex !important;
	flex-wrap: nowrap !important;
	align-items: baseline;
	gap: 0.4rem !important;
	margin: 0 !important;
	white-space: nowrap;
}

.lr-post__meta-label {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.6875rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent);
}

.lr-post__meta-value,
.lr-post__meta-value.wp-block-post-date,
.lr-post__meta-value.wp-block-post-author-name {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.9375rem !important;
	font-weight: 500;
	color: #FFFFFF !important;
	margin: 0 !important;
	letter-spacing: 0.005em;
}

.lr-post__meta-sep {
	color: rgba(255, 255, 255, 0.4);
	margin-inline: 0.35rem;
	font-size: 0.9375rem;
}

.lr-post__meta a {
	color: #FFFFFF !important;
	text-decoration: none;
}

/* Featured image — full-bleed but contained */
.lr-post__featured-wrap {
	background: var(--wp--preset--color--base);
	padding-block: 2.5rem 0;
	margin: 0 !important;
}

.lr-post__featured-inner {
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-post__featured.wp-block-post-featured-image {
	margin: 0 !important;
	border-radius: 10px;
	overflow: hidden;
}

.lr-post__featured img {
	display: block;
	width: 100%;
	height: auto;
	max-height: 540px;
	object-fit: cover;
	border-radius: 10px;
}

/* Post content — narrow reading column */
.lr-post__content-wrap {
	padding-block: clamp(2.5rem, 6vw, 4rem);
	background: var(--wp--preset--color--base);
	margin: 0 !important;
}

.lr-post__content-inner {
	max-width: 800px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

/* Inline images inside post content can break out of the reading column */
.lr-post__content-inner .wp-block-image {
	margin-block: 2.5rem;
}

.lr-post__content-inner .wp-block-image:not(.alignwide):not(.alignfull) {
	max-width: 1080px;
	width: calc(100% + clamp(0px, 8vw, 280px));
	margin-inline: calc(clamp(0px, -4vw, -140px));
}

.lr-post__content-inner .wp-block-image img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	display: block;
}

.lr-post__content-inner figcaption {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted);
	text-align: center;
	margin-top: 0.65rem;
	letter-spacing: 0.01em;
}

/* Typography inside post content */
.lr-post__content-inner p,
.lr-post__content-inner > .wp-block-paragraph {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.125rem;
	line-height: 1.75;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.5rem 0;
}

.lr-post__content-inner h2,
.lr-post__content-inner > h2.wp-block-heading {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.875rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark);
	margin: 3rem 0 1rem 0;
	letter-spacing: -0.015em;
	line-height: 1.2;
}

.lr-post__content-inner h3,
.lr-post__content-inner > h3.wp-block-heading {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.4375rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	margin: 2.25rem 0 0.85rem 0;
	letter-spacing: -0.005em;
	line-height: 1.3;
}

.lr-post__content-inner h4,
.lr-post__content-inner > h4.wp-block-heading {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 1.1875rem;
	font-weight: 600;
	color: var(--wp--preset--color--ink);
	margin: 2rem 0 0.75rem 0;
}

.lr-post__content-inner ul,
.lr-post__content-inner ol {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 1.125rem;
	line-height: 1.75;
	color: var(--wp--preset--color--ink);
	margin: 0 0 1.5rem 0;
	padding-left: 1.5rem;
}

.lr-post__content-inner li { margin-bottom: 0.5rem; }
.lr-post__content-inner li::marker { color: var(--wp--preset--color--accent); }

.lr-post__content-inner blockquote,
.lr-post__content-inner .wp-block-quote {
	margin: 2rem 0 !important;
	padding: 0.5rem 0 0.5rem 1.5rem !important;
	border-left: 3px solid var(--wp--preset--color--accent) !important;
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 1.25rem !important;
	font-weight: 500 !important;
	line-height: 1.5 !important;
	font-style: normal !important;
	color: var(--wp--preset--color--primary-dark) !important;
	background: transparent !important;
}

.lr-post__content-inner blockquote p,
.lr-post__content-inner .wp-block-quote p {
	color: var(--wp--preset--color--primary-dark) !important;
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: 1.25rem !important;
	font-weight: 500 !important;
	margin: 0 !important;
}

.lr-post__content-inner a {
	color: var(--wp--preset--color--primary) !important;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.lr-post__content-inner a:hover {
	color: var(--wp--preset--color--accent-dark) !important;
}

.lr-post__content-inner img,
.lr-post__content-inner .wp-block-image img {
	max-width: 100%;
	height: auto;
	border-radius: 6px;
	margin-block: 1.5rem;
}

.lr-post__content-inner figcaption {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.8125rem;
	color: var(--wp--preset--color--muted);
	text-align: center;
	margin-top: 0.5rem;
}

.lr-post__content-inner code {
	font-family: 'SF Mono', Monaco, Consolas, monospace;
	font-size: 0.92em;
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 4px;
	padding: 1px 6px;
	color: var(--wp--preset--color--primary-dark);
}

.lr-post__content-inner pre {
	background: var(--wp--preset--color--ink);
	color: #E2E8F0;
	padding: 1.5rem;
	border-radius: 8px;
	overflow-x: auto;
	font-family: 'SF Mono', Monaco, Consolas, monospace;
	font-size: 0.875rem;
	line-height: 1.6;
	margin: 2rem 0;
}

.lr-post__content-inner hr {
	border: none;
	border-top: 1px solid var(--wp--preset--color--border);
	margin: 2.5rem 0;
}

/* Post footer */
.lr-post__footer {
	background: var(--wp--preset--color--base);
	border-top: 1px solid var(--wp--preset--color--border);
	padding-block: 2.5rem;
	margin: 0 !important;
}

.lr-post__footer-inner {
	max-width: 800px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-post__back {
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary) !important;
	text-decoration: none !important;
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	transition: gap 0.25s ease, color 0.25s ease;
}

.lr-post__back:hover {
	color: var(--wp--preset--color--accent-dark) !important;
	gap: 0.75rem;
}

/* Top "back to all articles" — appears inside the gradient hero topline */
.lr-post__back--hero {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-family: var(--wp--preset--font-family--outfit);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent) !important;
	text-decoration: none !important;
	margin: 0;
	transition: gap 0.25s ease, color 0.25s ease;
}

.lr-post__back--hero:hover {
	color: #FFFFFF !important;
	gap: 0.75rem;
}


/* --------------------------------------------------------------------------
   2p. Blog archive (and category/tag archives)
   -------------------------------------------------------------------------- */

.lr-archive-header {
	background: linear-gradient(135deg, #0E4F6E 0%, #1A7097 60%, #06B6D4 100%);
	padding-block: clamp(3rem, 7vw, 5.5rem);
	border-bottom: none;
	margin: 0 !important;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.lr-archive-header::before {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		radial-gradient(circle at 18% 25%, rgba(255,255,255,0.10) 0, transparent 40%),
		radial-gradient(circle at 82% 75%, rgba(6,182,212,0.20) 0, transparent 45%);
	pointer-events: none;
	z-index: -1;
}

.lr-archive-header::after {
	content: "";
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.035) 1px, transparent 1px);
	background-size: 72px 72px;
	background-position: center;
	-webkit-mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
	        mask-image: radial-gradient(ellipse at center, black 30%, transparent 75%);
	pointer-events: none;
	z-index: -1;
}

.lr-archive-header__container { position: relative; z-index: 1; text-align: center; }

.lr-archive-header__container {
	max-width: 1080px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-archive-header__title,
.lr-archive-header__title.wp-block-heading,
.lr-archive-header__title.wp-block-query-title {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: clamp(2.25rem, 4vw + 1rem, 3.75rem) !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	letter-spacing: -0.025em;
	color: #FFFFFF !important;
	margin: 0 auto 1rem !important;
	max-width: 22ch;
}

.lr-archive-header__description,
.lr-archive-header__description.wp-block-term-description {
	font-family: var(--wp--preset--font-family--source-serif) !important;
	font-size: clamp(1.0625rem, 0.4vw + 0.95rem, 1.25rem) !important;
	line-height: 1.6 !important;
	color: rgba(255,255,255,0.85) !important;
	margin: 0 auto !important;
	max-width: 52ch;
}

.lr-archive-header__description p { margin: 0; }

/* Archive grid */
.lr-archive {
	padding-block: clamp(3rem, 7vw, 5rem);
	background: var(--wp--preset--color--base);
	margin: 0 !important;
}

.lr-archive__container {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
}

.lr-archive__grid .wp-block-post-template {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.5rem, 2.5vw, 2rem);
	list-style: none !important;
	padding: 0 !important;
	margin: 0 0 clamp(2.5rem, 5vw, 3.5rem) 0 !important;
	align-items: stretch;
}

.lr-archive__grid .wp-block-post {
	display: flex !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	height: 100%;
}

/* Pagination */
.lr-archive__pagination.wp-block-query-pagination {
	display: flex !important;
	justify-content: center !important;
	align-items: center;
	gap: 0.5rem;
	margin-top: 1rem;
	font-family: var(--wp--preset--font-family--outfit);
}

/* Top (mirrored) pagination — spacing goes below it, sits under the header */
.lr-archive__pagination--top.wp-block-query-pagination {
	margin-top: 0;
	margin-bottom: clamp(2rem, 4vw, 3rem);
	padding-bottom: clamp(1.5rem, 3vw, 2rem);
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.lr-archive__pagination a,
.lr-archive__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	padding: 0.5rem 0.9rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--ink) !important;
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none !important;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.lr-archive__pagination a:hover,
.lr-archive__pagination .page-numbers:hover {
	border-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--accent-dark) !important;
}

.lr-archive__pagination .page-numbers.current {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: #FFFFFF !important;
}

@media (max-width: 980px) {
	.lr-archive__grid .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

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


/* --------------------------------------------------------------------------
   2z. Free-tool insulation — keep the theme's global element styles from
   bleeding into the self-contained tool UIs (.jst-wrap / .sh-wrap / .cssc-wrap).
   The tools ship their own complete CSS; the theme should not touch their
   internals. This neutralizes theme.json's global link/heading/button rules
   inside those scopes so the tools look identical pre- and post-cutover.
   -------------------------------------------------------------------------- */

/* Don't force theme link underlines inside the tools */
.jst-wrap a,
.sh-wrap a,
.cssc-wrap a {
	text-decoration: none;
}

/* Let tool headings use their own font/size/color, not the theme's heading rules.
   (Tools set their own where they need to; this just stops inheritance surprises.) */
.jst-wrap :where(h1, h2, h3, h4, h5, h6),
.sh-wrap :where(h1, h2, h3, h4, h5, h6),
.cssc-wrap :where(h1, h2, h3, h4, h5, h6) {
	letter-spacing: normal;
}

/* The theme gives all <button>/.wp-element-button a primary background.
   Tool buttons carry their own classes; make sure a bare <button> inside a
   tool doesn't inherit the theme's button skin. */
.jst-wrap button:not([class*="wp-"]),
.sh-wrap button:not([class*="wp-"]),
.cssc-wrap button:not([class*="wp-"]) {
	font-family: inherit;
}

/* The block theme adds root padding-aware alignment; tool wraps manage their
   own width, so neutralize any inherited block-gap on their immediate children. */
.jst-wrap > *,
.sh-wrap > *,
.cssc-wrap > * {
	margin-block: revert;
}


/* --------------------------------------------------------------------------
   3. Footer
   -------------------------------------------------------------------------- */

.lr-footer {
	background: #0A2D44;          /* a step deeper than primary-dark, keeps brand identity */
	color: rgba(255, 255, 255, 0.78);
	margin: 0 !important;         /* sections above provide their own padding-block */
	font-family: var(--wp--preset--font-family--outfit);
}

/* Main footer block */
.lr-footer__main {
	padding-block: clamp(3rem, 7vw, 5rem);
}

.lr-footer__grid {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	gap: clamp(2rem, 4vw, 3.5rem) !important;
	align-items: flex-start;
}

/* Columns */
.lr-footer__col {
	flex: 1 1 180px;
	min-width: 160px;
}

.lr-footer__col--brand {
	flex: 1 1 280px;
	max-width: 360px;
}

/* Brand block */
.lr-footer__brand {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 1.5rem !important;
	font-weight: 600;
	color: var(--wp--preset--color--base) !important;
	margin: 0 0 0.75rem 0 !important;
	letter-spacing: -0.01em;
}

.lr-footer__tagline {
	font-family: var(--wp--preset--font-family--source-serif);
	font-size: 0.9375rem;
	line-height: 1.55;
	color: rgba(255, 255, 255, 0.7);
	margin: 0 0 1.25rem 0;
}

.lr-footer__contact {
	font-size: 0.9rem;
	line-height: 1.7;
	margin: 0;
}

.lr-footer__contact a {
	color: rgba(255, 255, 255, 0.85);
	text-decoration: none;
	transition: color 0.2s ease;
}

.lr-footer__contact a:hover {
	color: var(--wp--preset--color--accent);
}

/* Column headings */
.lr-footer__heading {
	font-family: var(--wp--preset--font-family--outfit) !important;
	font-size: 0.75rem !important;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--accent) !important;
	margin: 0 0 1rem 0 !important;
}

/* Column link lists */
.lr-footer__list {
	list-style: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.lr-footer__list li {
	margin-bottom: 0.5rem;
	font-size: 0.9rem;
	line-height: 1.6;
}

.lr-footer__list a {
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
	transition: color 0.18s ease, transform 0.18s ease;
	display: inline-block;
}

.lr-footer__list a:hover {
	color: var(--wp--preset--color--base);
	transform: translateX(2px);
}

.lr-footer__view-all {
	color: var(--wp--preset--color--accent) !important;
	font-weight: 500;
}

/* Bottom bar */
.lr-footer__bottom {
	background: rgba(0, 0, 0, 0.18);
	padding-block: 1.25rem;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.lr-footer__bottom-inner {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(1rem, 3vw, 2rem);
	align-items: center;
	gap: 1rem;
}

.lr-footer__copyright,
.lr-footer__legal {
	font-size: 0.8125rem;
	color: rgba(255, 255, 255, 0.55);
	margin: 0;
}

.lr-footer__legal a {
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
	transition: color 0.2s ease;
}

.lr-footer__legal a:hover {
	color: var(--wp--preset--color--accent);
}

/* Footer responsive */
@media (max-width: 640px) {
	.lr-footer__grid { gap: 2rem !important; }
	.lr-footer__col,
	.lr-footer__col--brand { flex: 1 1 100% !important; max-width: 100%; }
	.lr-footer__bottom-inner { justify-content: center !important; text-align: center; }
}


/* --------------------------------------------------------------------------
   4. Body baseline
   -------------------------------------------------------------------------- */

body {
	font-family: var(--wp--preset--font-family--source-serif);
}


/* ==========================================================================
   5. MOBILE HARDENING — consolidated responsive safety net
   ========================================================================== */

/* 5a. Prevent horizontal scroll from full-bleed sections / image breakouts.
   overflow-x only (never overflow-y, which would break position:sticky etc). */
html, body {
	overflow-x: clip;
	max-width: 100%;
}

/* 5b. Top bar on small screens — stack tagline + email, center them */
@media (max-width: 600px) {
	.lr-topbar__inner {
		justify-content: center !important;
		gap: 0.15rem !important;
		flex-direction: column;
		text-align: center;
	}
	.lr-topbar__tagline,
	.lr-topbar__contact {
		font-size: 0.8125rem !important;
	}
}

/* 5c. Blog inline-image breakout — neutralize on mobile so it never overflows */
@media (max-width: 900px) {
	.lr-post__content-inner .wp-block-image:not(.alignwide):not(.alignfull) {
		width: 100% !important;
		margin-inline: 0 !important;
	}
}

/* 5d. Full-bleed (alignfull) inside post content — keep within viewport */
@media (max-width: 600px) {
	.lr-post__content-inner .alignfull {
		width: 100% !important;
		max-width: 100% !important;
		margin-inline: 0 !important;
	}
}

/* 5e. Mobile navigation (WP core provides the hamburger + overlay JS; this
   themes it so it matches the site and stays legible) */

/* Hamburger toggle button — dark on the white nav */
.lr-nav .wp-block-navigation__responsive-container-open {
	color: var(--wp--preset--color--primary-dark) !important;
	padding: 0.25rem;
}

.lr-nav .wp-block-navigation__responsive-container-open svg,
.lr-nav .wp-block-navigation__responsive-container-close svg {
	width: 28px;
	height: 28px;
	fill: currentColor;
}

/* The open overlay panel — tight top padding so the first link aligns
   with the close (X) button instead of floating far below it */
.lr-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: #FFFFFF !important;
	padding: 1.25rem clamp(1.25rem, 5vw, 2.5rem) clamp(2rem, 6vw, 3rem) !important;
}

.lr-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
	color: var(--wp--preset--color--primary-dark) !important;
	top: 1.25rem;
	right: 1.25rem;
}

/* Drop the default top margin WP puts on the menu container in the overlay */
.lr-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 0 !important;
}
.lr-nav .is-menu-open .wp-block-navigation__container {
	margin-top: 0 !important;
}

/* Menu items in the overlay — larger tap targets, left aligned, dark text */
.lr-nav .is-menu-open .wp-block-navigation__container {
	gap: 0.25rem !important;
}

.lr-nav .is-menu-open .wp-block-navigation-item {
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--border);
}

.lr-nav .is-menu-open .wp-block-navigation-item__content {
	display: block !important;
	width: 100%;
	padding: 0.85rem 0 !important;
	font-size: 1.0625rem !important;
	color: var(--wp--preset--color--ink) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-weight: 600 !important;
}

/* Submenus (Services, Free Tools) inside the overlay — indent + lighter.
   Always expanded, so the dropdown toggle arrow is hidden and all of WP's
   default container padding/margin is zeroed to remove the big gap. */
.lr-nav .is-menu-open .wp-block-navigation__submenu-container {
	position: static !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	border: none !important;
	box-shadow: none !important;
	background: transparent !important;
	padding: 0 0 0.35rem 1rem !important;
	margin: 0 !important;
	min-width: 0 !important;
	width: 100% !important;
}

/* The redundant submenu open/close arrow — hidden since submenus stay open */
.lr-nav .is-menu-open .wp-block-navigation-submenu__toggle,
.lr-nav .is-menu-open .wp-block-navigation__submenu-icon {
	display: none !important;
}

.lr-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	font-size: 0.9375rem !important;
	font-weight: 500 !important;
	color: var(--wp--preset--color--ink-soft) !important;
	padding: 0.5rem 0 !important;
}

.lr-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
	border-bottom: none;
}

/* Parent submenu label (Services / Free Tools) sits flush above its children */
.lr-nav .is-menu-open .wp-block-navigation-submenu > .wp-block-navigation-item__content {
	padding-bottom: 0.4rem !important;
}

/* 5e-ii. Box-flex safety net — stop grid/flex children from refusing to
   shrink below their content (the classic min-width:auto overflow). Applies
   to every card-style container so they flex to the viewport on mobile. */
.lr-svc-summary__inner > *,
.lr-svc-section__inner > *,
.lr-svc-deliverables__grid > *,
.lr-contact-direct__inner > *,
.lr-audit-lead__inner > *,
.lr-audit-compare__grid > *,
.lr-services-page-grid > *,
.lr-services-page-intro__inner > *,
.lr-tools-why__inner > *,
.lr-hero__grid > *,
.lr-content-section__grid > *,
.lr-about-hero__grid > *,
.lr-methodology__grid > *,
.lr-services__grid > *,
.lr-tools-grid > * {
	min-width: 0;
	max-width: 100%;
}

/* Cards themselves: border-box + word-wrap so long strings never push width */
.lr-svc-summary__pricing,
.lr-svc-deliverable,
.lr-service,
.lr-service-detail,
.lr-tool-card,
.lr-phase,
.lr-contact-path,
.lr-contact-tile,
.lr-audit-compare__card,
.lr-post-card,
.lr-audit-card,
.lr-book-form__embed {
	box-sizing: border-box;
	max-width: 100%;
	overflow-wrap: break-word;
}

/* Long buttons/CTAs wrap their label instead of forcing the card wider.
   border-box is the key: with width:100% set elsewhere, content-box would add
   the horizontal padding on top of 100% and overflow the container. */
.lr-svc-summary__cta,
.lr-svc-audit-banner__cta,
.lr-services-page-guide__cta,
.lr-contact-primary__cta,
.lr-contact-path__cta,
.lr-tool-card__cta,
.lr-hero__actions .wp-block-button__link,
.lr-cta-band .wp-block-button__link,
.lr-svc-summary .wp-block-button__link {
	box-sizing: border-box;
	max-width: 100%;
	white-space: normal;
	text-align: center;
}


/* 5e-iii. Blog post hero — tighter + smaller on mobile */
@media (max-width: 600px) {
	.lr-post__header {
		padding-block: 1.75rem !important;
	}
	.lr-post__title.wp-block-post-title {
		font-size: 1.5rem !important;
		line-height: 1.2 !important;
	}

	/* Top row: keep back-link (left) + category pill (right) on ONE line */
	.lr-post__topline {
		flex-wrap: nowrap !important;
		gap: 0.75rem !important;
		margin-bottom: 1rem !important;
		align-items: center !important;
	}
	/* Back link shrinks first if space is tight */
	.lr-post__back--hero {
		font-size: 0.6875rem !important;
		letter-spacing: 0.04em !important;
		flex-shrink: 1;
		min-width: 0;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}
	/* Category pill stays put on the right, never shrinks, smaller to fit */
	.lr-post__category.wp-block-post-terms {
		font-size: 0.625rem !important;
		padding: 0.3rem 0.55rem !important;
		letter-spacing: 0.1em !important;
		flex-shrink: 0;
		white-space: nowrap;
	}

	.lr-post__meta {
		font-size: 0.8125rem !important;
		gap: 0.25rem 0.4rem !important;
	}
	.lr-post__meta-value,
	.lr-post__meta-value.wp-block-post-date,
	.lr-post__meta-value.wp-block-post-author-name {
		font-size: 0.8125rem !important;
	}
	.lr-post__meta-label {
		font-size: 0.625rem !important;
	}
}


/* 5f. General mobile tightening for very small screens */
@media (max-width: 480px) {
	/* Pull oversized hero/section padding down a notch on tiny screens */
	.lr-hero,
	.lr-cta-band,
	.lr-svc-audit-banner,
	.lr-services-page-guide,
	.lr-book-form {
		padding-block: 3rem !important;
	}
	/* Service-page price card: full width, comfortable */
	.lr-svc-summary__pricing { width: 100%; }
	/* Audit-compare cards stack with breathing room */
	.lr-audit-compare__grid { gap: 1rem; }
	/* Free-tools / methodology / service cards never feel cramped */
	.lr-tool-card,
	.lr-phase,
	.lr-service,
	.lr-service-detail,
	.lr-svc-deliverable {
		padding: 1.5rem 1.35rem;
	}
}
