.ls-info-content-page {
	--lsi-ink: #143e46;
	--lsi-muted: #607c82;
	--lsi-teal: #07989b;
	--lsi-green: #0b5f4a;
	background: #f2fbfb;
	color: var(--lsi-ink);
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.ls-info-content-page #main-container,
.ls-info-content-page #main-container > main {
	background: linear-gradient(132deg, #f7fcfc 0%, #dcf7f7 47%, #dcf8eb 100%);
}

.ls-info-content-page #main-container {
	display: flex;
	flex: 1 0 auto;
	flex-direction: column;
	min-height: auto !important;
	position: relative;
}

.ls-info-content-page .site-main {
	flex-grow: 0;
}

.ls-info-content-page .ct-footer {
	margin-top: auto;
}

.ls-info-content-page #main-container::before {
	background: linear-gradient(90deg, rgba(19, 158, 165, 0.08), rgba(46, 187, 132, 0.08));
	content: "";
	height: 1px;
	left: 0;
	position: absolute;
	right: 0;
	top: 0;
}

.ls-info-content-page .hero-section {
	display: none;
}

.ls-info-content-page .ct-container-full[data-content="normal"] {
	max-width: none;
	padding: 0;
	width: 100%;
}

.ls-info-content-page .entry-content {
	box-sizing: border-box;
	max-width: none !important;
	width: 100% !important;
	padding: 22px 0 20px !important;
}

.ls-info-content-page .entry-content > .ls-info-page {
	margin-inline: 0 !important;
	max-width: none !important;
	width: 100% !important;
}

.ls-info-page {
	box-sizing: border-box;
	padding: 0;
}

/* Keep imported heading/card content aligned when its outer wrappers are absent. */
.ls-info-content-page .entry-content > .ls-info-heading,
.ls-info-content-page .entry-content > .ls-info-panel {
	box-sizing: border-box;
	margin: 0 auto !important;
	max-width: 1380px !important;
	width: calc(100% - 80px) !important;
}

.ls-info-content-page .entry-content > .ls-info-heading {
	margin-bottom: 18px !important;
}

.ls-info-shell {
 box-sizing: border-box;
 margin: 0 auto;
 /* Match lightsign-header .ls-nav-inner, including its desktop gutters. */
 max-width: 1380px;
 width: calc(100% - 80px);
}

.ls-info-heading { margin: 0 0 18px; }
.ls-info-heading h1 {
 color: var(--lsi-ink);
 font-size: 34px;
 font-weight: 760;
 letter-spacing: 0;
 line-height: 1.2;
 margin: 0;
}

.ls-info-panel {
 background: linear-gradient(145deg, rgba(255, 255, 255, 0.88), rgba(240, 253, 251, 0.72));
 border: 1px solid rgba(255, 255, 255, 0.95);
 border-radius: 8px;
 box-shadow: 0 22px 55px rgba(20, 103, 108, 0.13);
 box-sizing: border-box;
 padding: 32px;
 position: relative;
 overflow: hidden;
}
.ls-info-panel::before {
 background: linear-gradient(90deg, var(--lsi-teal), #28b983);
 content: "";
 height: 4px;
 left: 0;
 position: absolute;
 right: 0;
 top: 0;
}

.ls-info-prose {
 color: #365a62;
 font-size: 16px;
 line-height: 1.8;
 max-width: none;
 overflow-wrap: anywhere;
}
.ls-info-prose p, .ls-info-prose ul, .ls-info-prose ol { margin: 0 0 18px; }
.ls-info-prose p { font-size: inherit; line-height: inherit; }
.ls-info-prose > :last-child { margin-bottom: 0; }
.ls-info-prose h2 {
 color: var(--lsi-ink);
 font-size: 22px;
 line-height: 1.4;
 margin: 30px 0 12px;
}
.ls-info-prose h3 { color: var(--lsi-ink); font-size: 18px; margin: 24px 0 10px; }
.ls-info-prose li { margin: 6px 0; }
.ls-info-prose a, .ls-info-faq-list a {
 color: #086d59;
 text-decoration: underline;
 text-underline-offset: 3px;
}
.ls-info-panel img, .ls-info-panel video { max-width: 100%; height: auto; }
.ls-info-panel :focus-visible { outline: 2px solid var(--lsi-teal); outline-offset: 3px; }

.ls-info-faq-list { max-width: none; }
.ls-info-faq-item { border-bottom: 1px solid rgba(31, 122, 128, 0.16); padding: 24px 0; }
.ls-info-faq-item:first-child { padding-top: 2px; }
.ls-info-faq-item:last-child { border-bottom: 0; padding-bottom: 0; }
.ls-info-faq-item h2 {
 color: var(--lsi-ink);
 font-size: 19px;
 font-weight: 750;
 letter-spacing: 0;
 line-height: 1.5;
 margin: 0 0 10px;
}
.ls-info-faq-number { color: var(--lsi-green); margin-right: 5px; }
.ls-info-faq-item p { color: #496970; font-size: 16px; line-height: 1.8; margin: 0; max-width: none; overflow-wrap: anywhere; }

@media (max-width: 900px) {
 .ls-info-panel { padding: 28px; }
}
/* At this same breakpoint the navigation uses 14px inner gutters. */
@media (max-width: 860px) {
 .ls-info-shell { width: calc(100% - 28px); }
 .ls-info-content-page .entry-content > .ls-info-heading,
 .ls-info-content-page .entry-content > .ls-info-panel { width: calc(100% - 28px) !important; }
}
@media (max-width: 700px) {
 .ls-info-content-page .entry-content { padding: 18px 0 20px !important; }
 .ls-info-panel { padding: 24px 18px 20px; }
 .ls-info-heading { margin-bottom: 18px; }
 .ls-info-heading h1 { font-size: 30px; }
 .ls-info-prose { font-size: 16px; line-height: 1.75; }
 .ls-info-prose h2 { font-size: 20px; }
 .ls-info-faq-item { padding: 20px 0; }
 .ls-info-faq-item h2 { font-size: 18px; }
 .ls-info-faq-item p { font-size: 15px; line-height: 1.75; }
}
