:root {

	--nag-accent:      var(--e-global-color-accent,  #4D89F9);
	--nag-link:        var(--e-global-color-8b9353f, #71A1FA);
	--nag-link-hover:  var(--e-global-color-8281ac6, #C6D9FF);
	--nag-btn:         var(--e-global-color-574fd4c, #0055F3);

	--nag-bg:          var(--e-global-color-afa25fb, #00061B);
	--nag-surface:     var(--e-global-color-98c4d03, #141A2D);
	--nag-surface-alt: var(--e-global-color-e5dc700, #070B12);

	--nag-text:        var(--e-global-color-text,    #D9E6FF);
	--nag-heading:     var(--e-global-color-primary, #F4F7FB);
	--nag-muted:       #8C99B3;

	--nag-rule:        var(--e-global-color-2491914, #38568F33);
	--nag-rule-soft:   var(--e-global-color-399608c, #4D89F930);
	--nag-tint:        var(--e-global-color-5d79a96, #9FBFF925);
	--nag-tint-strong: var(--e-global-color-399608c, #4D89F930);

	--nag-faq-bg:       rgba(159, 191, 249, .05);
	--nag-faq-bg-hover: rgba(159, 191, 249, .09);
	--nag-faq-border:   rgba(77, 137, 249, .16);

	--nag-border-strong: var(--e-global-color-primary, #F4F7FB);

	--nag-blue:        var(--nag-accent);
	--nag-blue-light:  var(--nag-link);
	--nag-blue-deep:   var(--nag-btn);
	--nag-blue-badge:  var(--nag-link);

	--nag-radius:      8px;
	--nag-radius-sm:   6px;
	--nag-sidebar-w:   240px;
	--nag-ease:        .2s ease;
}

@media (prefers-reduced-motion: reduce) {
	:root { --nag-ease: 0s; }
}

#solution-parent-container {
	display: flex;
	gap: 1rem;
	align-items: flex-start;
	transition: gap var(--nag-ease);
}

@media (min-width: 1061px) {
	body.solutions-nav-collapsed .solution-sticky,
	body.solutions-nav-collapsed #solution-collapse { display: none; }

	body.solutions-nav-collapsed #solution-parent-container { gap: 0; }

	body.solutions-nav-collapsed .solutions-nav {
		width: 0;
		min-width: 0;
		margin: 0;
		padding: 0;
		overflow: hidden;
	}

	body.solutions-nav-collapsed #solution-main-content {
		margin-left: 0;
		padding-left: 0;
	}
}

#solution-main-content {
	flex: 1;
	min-width: 0;
	max-width: 100%;
}

#solution-parent-container > * { min-width: 0; }

.table-of-contents {
	max-width: 240px;
	min-width: 0;
	overflow: hidden;
}

.table-of-contents .toc-link { max-width: 100%; }

.solution-sticky {
	position: sticky;
	top: 0;
	height: 100vh;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	scrollbar-gutter: stable;
	scrollbar-width: thin;
	scrollbar-color: #4a5568 var(--nag-bg);
}

.solution-sticky::-webkit-scrollbar        { width: 10px; }
.solution-sticky::-webkit-scrollbar-track  { background: var(--nag-bg); }
.solution-sticky::-webkit-scrollbar-thumb  {
	background: #4a5568;
	border-radius: 6px;
	border: 2px solid var(--nag-bg);
}
.solution-sticky::-webkit-scrollbar-thumb:hover { background: #5a6578; }

.content-section,
.faq-section,
.comparison-section,
.statistics-section,
.feature-list,
.video-block,
.testimonial,
.lead-magnet,
.cta-box { margin-bottom: 2rem; }

#solution-main-content > section:last-child { margin-bottom: 0; }

.solutions-nav {
	flex-shrink: 0;
	position: relative;
}

button.solutions-nav-toggle {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .5rem .625rem;
	background: none;
	border: 1px solid transparent;
	border-radius: var(--nag-radius-sm);
	color: var(--nag-muted);
	font: inherit;
	font-size: 14px;
	line-height: 1;
	cursor: pointer;
	transition: background-color var(--nag-ease), color var(--nag-ease);
}

button.solutions-nav-toggle:hover {
	background: var(--nag-tint-strong);
	color: var(--nag-text);
}

button.solutions-nav-toggle:focus-visible {
	outline: 2px solid var(--nag-blue);
	outline-offset: 2px;
}

.solutions-nav-toggle svg {
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	transition: transform var(--nag-ease);
}

.solutions-nav-toggle .toggle-label { display: none; }

.solution-breadcrumbs-row {
	display: flex;
	align-items: center;
	gap: .75rem;
	flex-wrap: wrap;
	margin-bottom: 1.25rem;
}

.solution-breadcrumbs-row .solution-breadcrumbs { margin-bottom: 0; }
.solution-breadcrumbs-row .solutions-nav-toggle { flex-shrink: 0; order: -1; }

.solutions-nav-panel {
	width: var(--nag-sidebar-w);
	overflow: hidden;
	transition: width var(--nag-ease), opacity var(--nag-ease);
}

body.solutions-nav-collapsed .solutions-nav-panel {
	width: 0;
	opacity: 0;
	pointer-events: none;
}

body.solutions-nav-collapsed .solutions-nav-toggle svg { transform: rotate(180deg); }

.solutions-nav-backdrop,
.solutions-nav-close { display: none !important; }

.solutions-sidebar {
	display: flex;
	flex-direction: column;
	gap: .2rem;
	padding-bottom: 4rem;
}

.category-dropdown { overflow: hidden; }

.category-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 6.5px;
	margin-bottom: 6.5px;
	font-weight: 400;
	font-size: 14px;
	line-height: 1;
	letter-spacing: -.01em;
	color: var(--nag-muted);
	background: transparent;
	cursor: pointer;
	user-select: none;
	list-style: none;
	transition: color .15s ease;
}

.category-title::marker,
.faq-question::marker,
.video-transcript summary::marker { content: none; }

.category-title::-webkit-details-marker,
.faq-question::-webkit-details-marker,
.video-transcript summary::-webkit-details-marker { display: none; }

.category-title:hover { color: var(--nag-text); }

.category-title::after {
	content: '›';
	margin-left: auto;
	font-size: 1.25rem;
	line-height: 1;
	color: var(--nag-muted);
	transition: transform var(--nag-ease);
}

.category-dropdown[open] .category-title::after { transform: rotate(90deg); }

.category-title:focus-visible {
	outline: 2px solid var(--nag-blue);
	outline-offset: -2px;
	border-radius: 4px;
}

.post-count {
	font-size: .75rem;
	color: var(--nag-muted);
	margin-left: .375rem;
}

.solutions-list {
	list-style: none;
	padding: 0;
	margin: 8px 0 8px 8px;
	border-left: 1px solid var(--nag-rule);

	content-visibility: auto;
	contain-intrinsic-size: auto 400px;
}

.category-dropdown[open] .solutions-list { content-visibility: visible; }

.solution-item {
	padding: 6.5px;
	margin-left: -9px;
}

a.solution-link {
	display: block;
	padding: 6.5px 6.5px 6.5px 16px;
	color: var(--nag-muted);
	font-size: .875rem;
	line-height: 1.3;
	letter-spacing: -.01em;
	text-decoration: none;
	border-left: 3px solid transparent;
	transition: color .15s ease, background-color .15s ease, border-color .15s ease;
}

a.solution-link:hover {
	color: var(--nag-text);
	border-left-color: var(--nag-blue);
}

a.solution-link.active {
	color: var(--nag-text);
	background: var(--nag-tint-strong);
	border-left-color: var(--nag-blue);
}

a.solution-link:focus-visible {
	outline: 2px solid var(--nag-blue);
	outline-offset: -2px;
	background: var(--nag-tint);
}

.solutions-sidebar .solution-item[hidden],
.solutions-sidebar .category-dropdown[hidden],
.solutions-sidebar .solution-item.filtered-hidden,
.solutions-sidebar .category-dropdown.filtered-hidden { display: none !important; }

.sidebar-search-wrapper {
	position: relative;
	width: 100%;
	margin-bottom: 1rem;
}

input.sidebar-search-input {
	width: 100%;
	box-sizing: border-box;
	padding: .75rem 2rem .75rem 2rem;
	border: 1px solid var(--nag-rule);
	border-radius: var(--nag-radius-sm);
	background: transparent;
	color: var(--nag-text);
	font: inherit;

	font-size: 16px;
	line-height: 1;
	letter-spacing: -.01em;
	transition: border-color .15s ease, background-color .15s ease;
}

input.sidebar-search-input::placeholder { color: var(--nag-muted); opacity: .7; }
input.sidebar-search-input:hover        { border-color: var(--nag-muted); }

input.sidebar-search-input::-webkit-search-cancel-button,
input.sidebar-search-input::-webkit-search-decoration,
input.sidebar-search-input::-webkit-search-results-button,
input.sidebar-search-input::-webkit-search-results-decoration {
	-webkit-appearance: none;
	appearance: none;
	display: none;
}

input.sidebar-search-input::-ms-clear,
input.sidebar-search-input::-ms-reveal { display: none; width: 0; height: 0; }

input.sidebar-search-input:focus,
input.sidebar-search-input:focus-visible {
	outline: none;
	border-color: var(--nag-blue-light);
	box-shadow: 0 0 0 3px rgba(77, 137, 249, .25);
	background: var(--nag-tint);
}

@media (forced-colors: active) {
	input.sidebar-search-input:focus,
	input.sidebar-search-input:focus-visible {
		outline: 2px solid Highlight;
		outline-offset: 1px;
	}
}

.search-icon {
	position: absolute;
	left: .8rem;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	color: var(--nag-muted);
	pointer-events: none;
}

.search-icon svg { width: 12px; height: 12px; display: block; }

button.search-clear {
	position: absolute;
	right: .75rem;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	padding: 0;
	background: none;
	border: none;
	color: var(--nag-muted);
	font-size: 20px;
	font-weight: 300;
	line-height: 1;
	cursor: pointer;
	transition: color .15s ease;
}

button.search-clear:hover { color: var(--nag-text); }
button.search-clear[hidden] { display: none; }

button.search-clear:focus-visible {
	outline: 2px solid var(--nag-blue-light);
	outline-offset: 2px;
	border-radius: 50%;
}

.no-results-message,
.no-categories,
.no-results {
	padding: 1.5rem 1rem;
	margin-top: 1rem;
	text-align: center;
	color: var(--nag-muted);
	font-size: 14px;
	border: 1px dashed var(--nag-rule);
	border-radius: var(--nag-radius-sm);
	background: transparent;
}

.no-results-message[hidden] { display: none; }
.no-results-message p, .no-results p { margin: 0; }

.solution-breadcrumbs {
	margin-bottom: 0;
	font-size: .875rem;
	line-height: 1;
}

.solution-breadcrumbs .breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.solution-breadcrumbs .breadcrumb-list > li {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

.solution-breadcrumbs .breadcrumb-list > li::marker,
.solution-breadcrumbs .breadcrumb-list > li::before { content: none; display: none; }

.solution-breadcrumbs a {
	color: var(--nag-blue-light);
	text-decoration: none;
}

.solution-breadcrumbs a:hover { color: var(--nag-blue); }

.solution-breadcrumbs a:focus-visible {
	outline: 2px solid var(--nag-blue);
	outline-offset: 3px;
	border-radius: 2px;
}

.solution-breadcrumbs .separator {
	color: rgba(238, 238, 238, .5);
	font-size: 16px;
	line-height: 1;
	user-select: none;
}

.solution-breadcrumbs .category-name,
.solution-breadcrumbs .crumb-text,
.solution-breadcrumbs .current-page { color: var(--nag-muted); }

.toc-list {
	list-style: none;
	margin: 0;
	padding: 0;
	border-left: 2px solid rgba(127, 171, 255, .2);
}

.toc-item { margin-bottom: 0; }

.table-of-contents .toc-title {
	margin: 0 0 .5rem;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--nag-muted);
}

.table-of-contents .toc-link {
	display: block;
	padding: .5rem .75rem;
	margin-left: -2px;
	border-left: 2px solid transparent;
	color: var(--nag-muted);
	font-size: 12px;
	line-height: 1.4;
	text-decoration: none;
	transition: color var(--nag-ease), border-color var(--nag-ease), background-color var(--nag-ease);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.table-of-contents .toc-link:hover {
	color: var(--nag-blue-light);
	border-left-color: rgba(127, 171, 255, .5);
}

.table-of-contents .toc-link.active {
	color: var(--nag-blue-light);
	background: rgba(127, 171, 255, .08);
	border-left-color: var(--nag-blue-light);
	font-weight: 500;
}

.table-of-contents .toc-link:focus-visible {
	outline: 2px solid var(--nag-blue);
	outline-offset: -2px;
}

.toc-number { color: var(--nag-muted); margin-right: .25rem; }

.solution-categories {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-bottom: 1rem;
}

.category-badge {
	display: inline-block;
	padding: .5rem .875rem;
	background: var(--nag-surface-alt);
	border: 1px solid transparent;
	border-radius: var(--nag-radius-sm);
	color: var(--nag-blue-badge);
	font-size: .875rem;
	font-weight: 500;
	line-height: 1;
	text-decoration: none;
}

.hero-section { margin-bottom: 2.5rem; }

h1.hero-headline {
	margin: 0 0 1rem;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: -.02em;
	color: var(--nag-heading);
	text-align: left;
}

.hero-subheadline {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--nag-muted);
	text-align: left;
}

.hero-subheadline p {
	margin: 0 0 .75rem;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.hero-subheadline p:last-child { margin-bottom: 0; }

.hero-subheadline a {
	color: var(--nag-blue-light);
	text-decoration: underline;
	transition: color var(--nag-ease);
}

.hero-subheadline a:hover { color: var(--nag-blue); }
.hero-subheadline strong  { color: var(--nag-text); font-weight: 600; }
.hero-subheadline em      { font-style: italic; }

.hero-subheadline ul,
.hero-subheadline ol { margin: .5rem 0 .75rem; padding-left: 1.25rem; }
.hero-subheadline li { margin-bottom: .25rem; }

.hero-media { margin: 2rem 0; width: 100%; }

.hero-media img,
.hero-media iframe {
	width: 100%;
	display: block;
	border-radius: var(--nag-radius);
}

.hero-media img    { height: auto; }
.hero-media iframe { aspect-ratio: 16 / 9; border: none; }
.hero-cta          { margin-top: 2rem; }

:root {
	--nag-h1: 32px;
	--nag-h2: 24px;
	--nag-h3: 20px;
	--nag-h4: 18px;
	--nag-h5: 16px;
	--nag-h6: 14px;
}

#solution-main-content h1,
.section-content h1,
h1.section-header { font-size: var(--nag-h1); font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }

#solution-main-content h2,
.section-content h2,
h2.section-header { font-size: var(--nag-h2); font-weight: 600; line-height: 1.25; }

#solution-main-content h3,
.section-content h3,
h3.section-header { font-size: var(--nag-h3); font-weight: 600; line-height: 1.3; }

#solution-main-content h4,
.section-content h4,
h4.section-header { font-size: var(--nag-h4); font-weight: 500; line-height: 1.35; }

#solution-main-content h5,
.section-content h5,
h5.section-header { font-size: var(--nag-h5); font-weight: 600; line-height: 1.4; }

#solution-main-content h6,
.section-content h6,
h6.section-header { font-size: var(--nag-h6); font-weight: 600; line-height: 1.4; letter-spacing: .02em; }

#solution-main-content :is(h1,h2,h3,h4,h5,h6),
.section-content :is(h1,h2,h3,h4,h5,h6) { color: var(--nag-heading); }

.section-content h2 { margin: 2rem 0 1.25rem; }
.section-content h3 { margin: 1.75rem 0 .625rem; }
.section-content h4 { margin: 1.5rem 0 .5rem; }
.section-content h5,
.section-content h6 { margin: 1.25rem 0 .5rem; }
.section-content :is(h1,h2,h3,h4,h5,h6):first-child { margin-top: 0; }

h2.section-header {
	padding-top: 32px;
	margin-top: 2rem;
	margin-bottom: 1.25rem;
	border-top: 1px solid var(--nag-rule);
}

h3.section-header,
h4.section-header { margin-top: 1.5rem; }

.section-content {
	color: var(--nag-muted);
	line-height: 1.7;
}

.section-content p,
.closing-text p { margin: 0 0 .75rem; }
.section-content p:last-child { margin-bottom: 0; }

.section-content ul,
.section-content ol { margin: .75rem 0; padding-left: 1.5rem; }
.section-content li { margin-bottom: .375rem; }
.section-content li:last-child { margin-bottom: 0; }

.section-content a,
.feature-list a {
	color: var(--nag-blue-light);
	text-decoration: underline;
	transition: color var(--nag-ease);
}

.section-content a:hover,
.feature-list a:hover { color: var(--nag-blue); }

.section-content strong,
.section-content ol strong { font-weight: 600; color: var(--nag-heading); }

.section-content img {
	max-width: 100%;
	height: auto;
	margin: .75rem 0;
	border: 1px solid var(--nag-rule);
	border-radius: var(--nag-radius);
}

.section-content code,
.feature-item code {
	padding: 2px 4px;
	background: rgba(127, 171, 255, .125);
	border: 1px solid var(--nag-rule-soft);
	border-radius: 3px;
	color: var(--nag-blue-light);
	font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .875em;
	line-height: 1;
	letter-spacing: -.02rem;
}

.faq-list { display: flex; flex-direction: column; gap: 1rem; }

.faq-item {
	background: var(--nag-faq-bg);
	border: 1px solid var(--nag-faq-border);
	border-radius: var(--nag-radius);
	overflow: hidden;
}

.faq-question {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 1rem;
	padding: 1.125rem 1.375rem;
	color: var(--nag-heading);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.4;
	cursor: pointer;
	user-select: none;
	list-style: none;
	transition: background-color var(--nag-ease);
}

.faq-question:hover { background: var(--nag-faq-bg-hover); }

.faq-question:focus-visible {
	outline: 2px solid var(--nag-blue);
	outline-offset: -2px;
}

.faq-question::after {
	content: '+';
	flex: 0 0 1.25rem;
	width: 1.25rem;
	height: 1.25rem;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: .0625rem;
	color: var(--nag-muted);
	font-size: 1.375rem;
	font-weight: 300;
	line-height: 1;
	transition: color var(--nag-ease);
}

.faq-question:hover::after { color: var(--nag-blue-light); }
.faq-item[open] .faq-question::after { content: '−'; color: var(--nag-blue-light); }

.faq-answer {
	padding: .25rem 1.375rem 1.25rem;
	color: var(--nag-muted);
	font-size: .9375rem;
	line-height: 1.65;
}

.faq-answer > *:first-child { margin-top: 0; }
.faq-answer > *:last-child  { margin-bottom: 0; }

.faq-answer p {
	margin: 0 0 .75rem;
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}

.faq-answer a {
	color: var(--nag-blue-light);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color var(--nag-ease);
}

.faq-answer a:hover { color: var(--nag-blue); }

.faq-answer strong { color: var(--nag-text); font-weight: 600; }

.faq-answer ul,
.faq-answer ol { margin: .5rem 0 .75rem; padding-left: 1.25rem; }
.faq-answer li { margin-bottom: .3125rem; }
.faq-answer li:last-child { margin-bottom: 0; }

.faq-answer code {
	padding: 2px 4px;
	background: rgba(127, 171, 255, .125);
	border: 1px solid var(--nag-rule-soft);
	border-radius: 3px;
	color: var(--nag-blue-light);
	font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .875em;
}

.table-wrapper {
	margin: 1.5rem 0;
	overflow-x: auto;
	border: 1px solid var(--nag-rule);
	border-radius: var(--nag-radius);
}

.comparison-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--nag-surface);
	color: var(--nag-muted);
}

.comparison-table th {
	padding: 1rem 1.25rem;
	background: var(--nag-surface-alt);
	border-bottom: 2px solid var(--nag-rule);
	color: var(--nag-heading);
	font-size: .9375rem;
	font-weight: 600;
	text-align: left;
}

.comparison-table td { padding: 1rem 1.25rem; border-bottom: 1px solid var(--nag-rule); }
.comparison-table tbody tr:last-child td { border-bottom: none; }
.comparison-table tbody tr:hover { background: var(--nag-tint); }

.table-caption {
	margin-top: .75rem;
	color: var(--nag-muted);
	font-size: .875rem;
	font-style: italic;
}

.persona-callout {
	padding: 1.5rem;
	margin-bottom: 2rem;
	background: var(--nag-tint);
	border-left: 4px solid var(--nag-blue);
	border-radius: var(--nag-radius);
}

.persona-icon { font-size: 2rem; margin-bottom: .75rem; }

.callout-title {
	margin: 0 0 .75rem;
	color: var(--nag-heading);
	font-size: 1.125rem;
	font-weight: 600;
}

.callout-content { color: var(--nag-muted); line-height: 1.7; }
.callout-content p { margin: 0 0 1rem; }
.callout-content p:last-child { margin-bottom: 0; }

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

.stat-item {
	padding: 2rem 1.5rem;
	background: var(--nag-surface);
	border: 1px solid var(--nag-rule-soft);
	border-radius: var(--nag-radius);
	text-align: center;
}

.stat-value {
	margin-bottom: .75rem;
	color: var(--nag-heading);
	font-size: 2.5rem;
	font-weight: 700;
	line-height: 1;
}

.stat-description { margin-bottom: .5rem; color: var(--nag-muted); line-height: 1.5; }
.stat-source      { color: var(--nag-muted); font-size: .875rem; font-style: italic; opacity: .8; }

.lead-magnet {
	padding: 3rem 2rem;
	background: var(--nag-surface);
	border: 1px solid var(--nag-rule-soft);
	border-radius: var(--nag-radius);
	text-align: center;
}

.magnet-icon  { font-size: 3rem; margin-bottom: 1rem; }
.magnet-title { margin: 0 0 1rem; color: var(--nag-heading); font-size: 1.5rem; font-weight: 600; }

.magnet-description {
	max-width: 36rem;
	margin: 0 auto 1.5rem;
	color: var(--nag-muted);
	font-size: 1.0625rem;
	line-height: 1.6;
}

.cta-box { padding: 2.5rem; border-radius: var(--nag-radius); }
.cta-card    { background: var(--nag-surface); }
.cta-banner  { background: var(--nag-surface-alt); border: 1px solid var(--nag-rule-soft); }
.cta-primary { background: var(--nag-tint-strong); border: 1px solid var(--nag-blue); }

.cta-image { margin-bottom: 1.5rem; border-radius: var(--nag-radius); overflow: hidden; }
.cta-image img { width: 100%; height: auto; display: block; }

h3.cta-headline { margin: 0 0 1rem; color: var(--nag-heading); font-size: 1.5rem; font-weight: 600; }

.cta-description {
	margin: 0 0 1.5rem;
	color: var(--nag-muted);
	font-size: 1.0625rem;
	line-height: 1.6;
}

.cta-buttons { display: flex; flex-wrap: wrap; gap: 1rem; }

.feature-list {
	padding: 24px;
	background: var(--nag-tint);
	border: 1px solid var(--nag-rule-soft);
	border-radius: var(--nag-radius);
}

.feature-intro p,
.features-list,
.features-list p,
.feature-item li { font-size: 1rem; line-height: 1.6; }

.features-list {
	list-style: disc outside;
	padding-left: 1rem;
	margin: 1rem 0 0;
	color: var(--nag-muted);
}

.features-list p,
.feature-item li { margin-bottom: 8px; }
.features-list > li:last-child { margin-bottom: 0; }

.features-list .feature-item {
	display: list-item;
	padding: 0;
	border: none;
	background: transparent;
}

.feature-list h4 { margin-top: 0; font-size: 16px; font-weight: 600; line-height: 1.3; }
.feature-list strong { color: var(--nag-heading); font-weight: 400; }

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

.features-grid .feature-item,
.features-cards .feature-item {
	padding: 1.5rem;
	background: var(--nag-surface);
	border: 1px solid var(--nag-rule-soft);
	border-radius: var(--nag-radius);
}

.features-grid .feature-item  { display: flex; gap: 1rem; }
.features-cards .feature-item { display: flex; flex-direction: column; align-items: center; text-align: center; }

.feature-icon    { flex-shrink: 0; font-size: 2rem; color: var(--nag-muted); }
.feature-content { flex: 1; }
.feature-title   { margin: 0 0 .5rem; color: var(--nag-heading); font-size: 1.125rem; font-weight: 600; }
.feature-description p { margin: 0; color: var(--nag-muted); font-size: 1rem; line-height: 1.6; }

.closing-text {
	margin-top: 1.5rem;
	padding: 16px;
	background: var(--nag-tint-strong);
	border: 1px solid var(--nag-rule-soft);
	border-radius: var(--nag-radius);
	color: var(--nag-muted);
	line-height: 1.7;
}

.closing-text p { margin-bottom: 0; font-size: 14px; }
.closing-text strong { color: var(--nag-text); }

.image-block { margin: 3rem 0; text-align: center; }

.image-block img {
	width: 100%;
	max-width: 100%;
	height: auto;
	display: block;
	border-radius: var(--nag-radius);
}

.image-block.align-left   { text-align: left; }
.image-block.align-right  { text-align: right; }
.image-block.align-center { text-align: center; }

.image-caption,
.video-caption {
	margin-top: .75rem;
	color: var(--nag-muted);
	font-size: .875rem;
	font-style: italic;
	text-align: center;
}

.video-block { margin: 3rem 0; }

.video-title {
	margin: 0 0 1.5rem;
	color: var(--nag-heading);
	font-size: 1.5rem;
	font-weight: 600;
	text-align: center;
}

.video-wrapper,
.video-container {
	position: relative;
	width: 100%;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
	border-radius: var(--nag-radius);
	background: #000;
}

.video-wrapper iframe,
.video-container iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: none;
}

.video-figure {
	margin: 0;
	background: var(--nag-surface);
	border-radius: var(--nag-radius);
	overflow: hidden;
}

.video-transcript {
	margin-top: 1.5rem;
	background: var(--nag-surface);
	border: 1px solid var(--nag-rule-soft);
	border-radius: var(--nag-radius);
	overflow: hidden;
}

.video-transcript summary {
	padding: 1rem 1.25rem;
	color: var(--nag-heading);
	font-weight: 600;
	cursor: pointer;
	user-select: none;
	list-style: none;
	transition: background-color var(--nag-ease);
}

.video-transcript summary:hover { background: var(--nag-tint-strong); }

.transcript-content {
	padding: 1rem 1.25rem;
	border-top: 1px solid var(--nag-rule-soft);
	color: var(--nag-muted);
	line-height: 1.7;
}

.testimonial {
	padding: 3rem 2rem;
	background: var(--nag-surface);
	border: 1px solid var(--nag-rule-soft);
	border-radius: var(--nag-radius);
	text-align: center;
}

.testimonial-quote {
	max-width: 48rem;
	margin: 0 auto 2rem;
	color: var(--nag-text);
	font-size: 1.25rem;
	font-style: italic;
	line-height: 1.6;
}

.testimonial-author { display: flex; align-items: center; justify-content: center; gap: 1rem; }

.author-photo {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid var(--nag-rule);
}

.author-info  { text-align: left; }
.author-name  { margin-bottom: .25rem; color: var(--nag-heading); font-size: 1rem; font-weight: 600; }
.author-title { color: var(--nag-muted); font-size: .875rem; }

.code-block {
	margin: 2rem 0;
	border: 1px solid var(--nag-rule);
	border-radius: var(--nag-radius);
	overflow: hidden;
}

.code-title {
	padding: .875rem 1.25rem;
	background: var(--nag-surface-alt);
	border-bottom: 1px solid var(--nag-rule);
	color: var(--nag-heading);
	font-size: .9375rem;
	font-weight: 600;
}

.code-pre {
	margin: 0;
	padding: 1.5rem;
	background: #0d1117;
	overflow-x: auto;
	color: var(--nag-muted);
	font-family: 'Roboto Mono', ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: .875rem;
	line-height: 1.6;
}

.spacer { display: block; }

.btn-primary,
.btn-secondary,
.btn-download,
.btn-text {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .875rem 1.75rem;
	border: none;
	border-radius: var(--nag-radius-sm);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
	transition: background-color var(--nag-ease), color var(--nag-ease), border-color var(--nag-ease);
}

a.btn-primary       { background: var(--nag-btn); color: #fff; }
a.btn-primary:hover { background: var(--nag-btn); color: #fff; filter: brightness(1.18); }

a.btn-secondary {
	background: transparent;
	border: 1px solid var(--nag-border-strong);
	color: var(--nag-border-strong);
}

a.btn-secondary:hover {
	background: var(--nag-border-strong);
	border-color: var(--nag-border-strong);
	color: var(--nag-bg);
}

.btn-download       { background: var(--nag-surface); color: #fff; }
.btn-download:hover { background: var(--nag-surface-alt); }

.btn-text {
	padding: 0;
	background: transparent;
	color: var(--nag-blue-light);
	text-decoration: underline;
}

.btn-text:hover { color: var(--nag-blue); }

.btn-primary:focus-visible,
.btn-secondary:focus-visible,
.btn-download:focus-visible,
.btn-text:focus-visible {
	outline: 2px solid var(--nag-blue-light);
	outline-offset: 2px;
}

@media (max-width: 1060px) {
	#solution-parent-container { display: block; }

	.solutions-nav { position: static; }

	button.solutions-nav-toggle {
		border-color: var(--nag-rule);
		padding: .625rem .875rem;
		min-height: 44px;
	}

	.solutions-nav-toggle .toggle-label { display: inline; }
	.solutions-nav-toggle svg { transform: none !important; }

	.solutions-nav-panel {
		position: fixed;
		inset: 0 auto 0 0;
		z-index: 10000;
		width: min(86vw, 340px);
		max-width: none;
		padding: 1rem;
		background: var(--nag-bg);
		border-right: 1px solid var(--nag-rule);
		opacity: 1;
		overflow-y: auto;
		overscroll-behavior: contain;
		transform: translateX(-100%);
		transition: transform var(--nag-ease);
		pointer-events: auto;
	}

	body.solutions-nav-open .solutions-nav-panel { transform: translateX(0); }

	body.solutions-nav-collapsed .solutions-nav-panel {
		width: min(86vw, 340px);
		opacity: 1;
		transform: translateX(-100%);
	}

	.solutions-nav-backdrop {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 9999;
		background: rgba(0, 0, 0, .6);
		opacity: 0;
		pointer-events: none;
		transition: opacity var(--nag-ease);
	}

	body.solutions-nav-open .solutions-nav-backdrop {
		opacity: 1;
		pointer-events: auto;
	}

	.solutions-nav-backdrop[hidden] { display: block; }

	button.solutions-nav-close {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		top: .75rem;
		right: .75rem;
		width: 44px;
		height: 44px;
		background: none;
		border: none;
		color: var(--nag-muted);
		font-size: 28px;
		line-height: 1;
		cursor: pointer;
	}

	button.solutions-nav-close:hover { color: var(--nag-text); }

	button.solutions-nav-close:focus-visible {
		outline: 2px solid var(--nag-blue);
		outline-offset: 2px;
		border-radius: 4px;
	}

	.solutions-sidebar { padding-top: 2.5rem; padding-bottom: 2rem; }

	body.solutions-nav-open { overflow: hidden; }

	.solution-sticky { position: static; height: auto; overflow: visible; display: block; }

	.category-title  { padding: .75rem .5rem; min-height: 44px; }
	a.solution-link  { padding: .625rem .5rem .625rem 16px; min-height: 40px; }

	.table-of-contents .toc-link {
		font-size: 14px;
		white-space: normal;
		max-width: 100%;
	}

	.cta-box     { padding: 1.75rem 1.25rem; }
	.cta-buttons { flex-direction: column; }
	.cta-buttons > a { width: 100%; }
}

@media (max-width: 785px) {
	:root {
		--nag-h1: 28px;
		--nag-h2: 21px;
		--nag-h3: 18px;
		--nag-h4: 17px;
	}

	h1.hero-headline  { font-size: var(--nag-h1); }
	h2.section-header { padding-top: 24px; margin-top: 1.5rem; }

	.lead-magnet,
	.testimonial  { padding: 2rem 1.25rem; }
	.testimonial-quote  { font-size: 1.125rem; }
	.testimonial-author { flex-direction: column; }
	.author-info        { text-align: center; }

	.stats-grid,
	.features-grid,
	.features-cards { grid-template-columns: 1fr; }
	.features-grid .feature-item { flex-direction: column; }

	.image-block,
	.video-block { margin: 2rem 0; }

	.feature-list { padding: 16px; }
	.faq-question { padding: 1rem 1.125rem; font-size: .9375rem; }
	.faq-answer   { padding: .25rem 1.125rem 1rem; font-size: .875rem; }
}

@media (max-width: 560px) {
	#solution-main-content { font-size: 15px; }

	:root {
		--nag-h1: 24px;
		--nag-h2: 20px;
		--nag-h3: 17px;
		--nag-h4: 16px;
	}

	h1.hero-headline { font-size: var(--nag-h1); }

	.btn-primary,
	.btn-secondary,
	.btn-download { padding: .75rem 1.25rem; font-size: .9375rem; }

	.stat-value { font-size: 2rem; }

	.comparison-table th,
	.comparison-table td { padding: .75rem 1rem; font-size: .875rem; }

	.cta-box { padding: 1.5rem 1rem; }
}

@media (prefers-contrast: more) {
	input.sidebar-search-input { border-width: 2px; }
	.faq-item,
	.feature-list,
	.cta-box { border-width: 2px; }
}

@media print {
	.solutions-nav,
	.solutions-nav-panel,
	.solutions-nav-toggle,
	.sidebar-search-wrapper,
	.no-results-message,
	.table-of-contents,
	.cta-box,
	.hero-cta,
	.lead-magnet,
	.btn-primary,
	.btn-secondary,
	.btn-download { display: none !important; }

	section,
	.comparison-table { page-break-inside: avoid; }
}

body a.solution-link,
.elementor a.solution-link {
	color: var(--nag-muted) !important;
	text-decoration: none !important;
	background: none !important;
}

body a.solution-link:hover,
body a.solution-link:focus-visible { color: var(--nag-text) !important; }

body a.solution-link.active { color: var(--nag-heading) !important; }

body .section-content a,
body .faq-answer a,
body .hero-subheadline a,
body .feature-list a,
body .callout-content a,
body .transcript-content a,
.elementor .section-content a,
.elementor .faq-answer a { color: var(--nag-link) !important; text-decoration: underline; }

body .section-content a:hover,
body .faq-answer a:hover,
body .hero-subheadline a:hover,
body .feature-list a:hover { color: var(--nag-link-hover) !important; }

body .solution-breadcrumbs a,
.elementor .solution-breadcrumbs a { color: var(--nag-link) !important; text-decoration: none !important; }
body .solution-breadcrumbs a:hover { color: var(--nag-link-hover) !important; }

body .table-of-contents .toc-link,
.elementor .table-of-contents .toc-link {
	color: var(--nag-muted) !important;
	text-decoration: none !important;
}
body .table-of-contents .toc-link:hover,
body .table-of-contents .toc-link.active { color: var(--nag-link) !important; }

body .category-badge { color: var(--nag-link) !important; text-decoration: none !important; }

body .cta-buttons a,
body a.btn-primary,
body a.btn-secondary,
body a.btn-download,
body .btn-primary,
body .btn-secondary,
body .btn-download,
.elementor a.btn-primary,
.elementor a.btn-secondary {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	padding: .875rem 1.75rem !important;
	border-radius: var(--nag-radius-sm) !important;
	font-size: 1rem;
	font-weight: 600;
	line-height: 1;
	text-decoration: none !important;
	text-transform: none;
	letter-spacing: normal;
	box-shadow: none;
}

body a.btn-primary,
.elementor a.btn-primary {
	background-color: var(--nag-btn) !important;
	color: #fff !important;
	border: none !important;
}
body a.btn-primary:hover { color: #fff !important; filter: brightness(1.18); }

body a.btn-secondary,
.elementor a.btn-secondary {
	background-color: transparent !important;
	border: 1px solid var(--nag-border-strong) !important;
	color: var(--nag-border-strong) !important;
}
body a.btn-secondary:hover {
	background-color: var(--nag-border-strong) !important;
	border-color: var(--nag-border-strong) !important;
	color: var(--nag-bg) !important;
}

body a.btn-download, body button.btn-download {
	background-color: var(--nag-surface) !important;
	color: var(--nag-heading) !important;
	border: 1px solid var(--nag-rule) !important;
}

body .btn-text, body a.btn-text {
	display: inline !important;
	padding: 0 !important;
	background: none !important;
	border: none !important;
	color: var(--nag-link) !important;
	text-decoration: underline !important;
}

body button.search-clear,
.elementor button.search-clear {
	position: absolute !important;
	right: .75rem !important;
	top: 50% !important;
	left: auto !important;
	transform: translateY(-50%) !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 24px !important;
	height: 24px !important;
	min-height: 0 !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--nag-muted) !important;
	font-size: 20px !important;
	font-weight: 300 !important;
	line-height: 1 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

body button.search-clear:hover { color: var(--nag-text) !important; background: none !important; }
body button.search-clear[hidden] { display: none !important; }

body button.solutions-nav-toggle,
.elementor button.solutions-nav-toggle {
	display: inline-flex !important;
	align-items: center;
	gap: .5rem;
	width: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: .5rem .625rem !important;
	background: none !important;
	background-color: transparent !important;
	border: 1px solid transparent !important;
	border-radius: var(--nag-radius-sm) !important;
	box-shadow: none !important;
	color: var(--nag-muted) !important;
	font-family: inherit !important;
	font-size: 14px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-transform: none !important;
	letter-spacing: normal !important;
}

body button.solutions-nav-toggle:hover {
	background-color: var(--nag-tint-strong) !important;
	color: var(--nag-text) !important;
}

body button.solutions-nav-close,
.elementor button.solutions-nav-close {
	display: none !important;
	width: 44px !important;
	height: 44px !important;
	min-height: 0 !important;
	padding: 0 !important;
	background: none !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	color: var(--nag-muted) !important;
	font-size: 28px !important;
	line-height: 1 !important;
}

body .faq-question, body .video-transcript summary, body .category-title {
	list-style: none !important;
	background-image: none !important;
}

body .sidebar-search-wrapper { position: relative !important; }

body input.sidebar-search-input,
.elementor input.sidebar-search-input {
	box-sizing: border-box !important;
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: .75rem 2.25rem .75rem 2.25rem !important;
	background-color: transparent !important;
	background-image: none !important;
	border: 1px solid var(--nag-rule) !important;
	border-radius: var(--nag-radius-sm) !important;
	color: var(--nag-text) !important;
	font-family: inherit !important;
	font-size: 16px !important;
	line-height: 1 !important;
	box-shadow: none !important;
}

body input.sidebar-search-input:focus,
.elementor input.sidebar-search-input:focus {
	outline: none !important;
	border-color: var(--nag-link) !important;
	box-shadow: 0 0 0 3px rgba(77, 137, 249, .25) !important;
}

body .search-icon {
	position: absolute !important;
	left: .8rem !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	pointer-events: none !important;
	color: var(--nag-muted) !important;
}

body .solution-breadcrumbs .breadcrumb-list,
.elementor .solution-breadcrumbs .breadcrumb-list {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body .solution-breadcrumbs .breadcrumb-list > li,
.elementor .solution-breadcrumbs .breadcrumb-list > li {
	display: inline-flex !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	background: none !important;
}

body .solutions-sidebar .solutions-list,
.elementor .solutions-sidebar .solutions-list {
	list-style: none !important;
	margin: 8px 0 8px 8px !important;
	padding: 0 !important;
}

body .solutions-sidebar .solution-item,
.elementor .solutions-sidebar .solution-item {
	list-style: none !important;
	margin-left: -9px !important;
	padding: 6.5px !important;
	background: none !important;
}

body .toc-list, .elementor .toc-list,
body .toc-item {
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body .solution-breadcrumbs .breadcrumb-list > li::before,
body .solution-breadcrumbs .breadcrumb-list > li::marker,
body .solutions-sidebar .solution-item::before,
body .solutions-sidebar .solution-item::marker,
body .toc-item::before,
body .toc-item::marker { content: none !important; display: none !important; }

body .solutions-sidebar .category-title,
.elementor .solutions-sidebar .category-title {
	display: flex !important;
	list-style: none !important;
	font-size: 14px;
	font-weight: 400;
	color: var(--nag-muted) !important;
}

body #solution-main-content h1, body .section-content h1, body h1.section-header { font-size: var(--nag-h1) !important; }
body #solution-main-content h2, body .section-content h2, body h2.section-header { font-size: var(--nag-h2) !important; }
body #solution-main-content h3, body .section-content h3, body h3.section-header { font-size: var(--nag-h3) !important; }
body #solution-main-content h4, body .section-content h4, body h4.section-header { font-size: var(--nag-h4) !important; }
body #solution-main-content h5, body .section-content h5, body h5.section-header { font-size: var(--nag-h5) !important; }
body #solution-main-content h6, body .section-content h6, body h6.section-header { font-size: var(--nag-h6) !important; }

body .hero-subheadline, .elementor .hero-subheadline { font-size: 1rem; color: var(--nag-muted); }
body .hero-subheadline p, .elementor .hero-subheadline p {
	font-size: inherit !important;
	line-height: inherit;
	color: inherit;
	margin: 0 0 .75rem;
}
body .hero-subheadline p:last-child { margin-bottom: 0; }

body .faq-item, .elementor .faq-item {
	background: var(--nag-faq-bg) !important;
	border-color: var(--nag-faq-border) !important;
}
body .faq-question:hover { background: var(--nag-faq-bg-hover) !important; }

body .faq-answer, .elementor .faq-answer { font-size: .9375rem; color: var(--nag-muted); }
body .faq-answer p, .elementor .faq-answer p {
	font-size: inherit !important;
	line-height: inherit;
	color: inherit;
	margin: 0 0 .75rem;
}
body .faq-answer > *:last-child, body .faq-answer p:last-child { margin-bottom: 0; }
body .faq-answer ul, body .faq-answer ol { list-style: revert; padding-left: 1.25rem; }

body .faq-question, .elementor .faq-question { font-size: 1rem !important; font-weight: 600; }

@media (min-width: 1061px) {
	body.solutions-nav-collapsed .solution-sticky,
	body.solutions-nav-collapsed #solution-collapse { display: none !important; }
	body.solutions-nav-collapsed #solution-parent-container { gap: 0 !important; }
	body.solutions-nav-collapsed .solutions-nav { width: 0 !important; padding: 0 !important; margin: 0 !important; }
	body.solutions-nav-collapsed #solution-main-content { margin-left: 0 !important; padding-left: 0 !important; }
}

@media (max-width: 1060px) {
	body .solutions-nav-panel { z-index: 100000 !important; }
	body .solutions-nav-backdrop { z-index: 99999 !important; }
	body button.solutions-nav-close,
	.elementor button.solutions-nav-close { display: flex !important; }
	body .solutions-nav-backdrop { display: block !important; }

	body.solutions-nav-collapsed .solution-sticky,
	body.solutions-nav-collapsed #solution-collapse { display: block !important; }
	body.solutions-nav-collapsed .solutions-nav { width: auto !important; }
}

body #solution-parent-container > * { min-width: 0 !important; }
body #solution-main-content { min-width: 0 !important; max-width: 100% !important; }

body .table-of-contents,
.elementor .table-of-contents { max-width: 240px !important; min-width: 0 !important; overflow: hidden !important; }
body .table-of-contents .toc-link { max-width: 100% !important; }

body .section-content code,
body .feature-item code,
body .faq-answer code,
.elementor .section-content code {
	display: inline !important;
	max-width: 100% !important;
	overflow-wrap: anywhere !important;
	word-break: break-word !important;
	white-space: normal !important;
}

body .section-content,
body .faq-answer,
body .feature-item {
	min-width: 0 !important;
	max-width: 100% !important;
	overflow-wrap: break-word !important;
}

body .section-content pre,
body .section-content table { max-width: 100% !important; overflow-x: auto !important; }

body h2.section-header,
.elementor h2.section-header { margin-bottom: 1.25rem !important; }
body .section-content h2,
.elementor .section-content h2 { margin-bottom: 1.25rem !important; }