:root {
	--ls-ink: #14524A;
	--ls-ink-deep: #0C3833;
	--ls-accent: #E07A3F;
	--ls-accent-deep: #C25F27;
	--ls-bg: #FAF8F3;
	--ls-bg-alt: #F1ECE1;
	--ls-text: #22302C;
	--ls-text-soft: #4E5C57;
	--ls-line: #E1DACB;
	--ls-white: #FFFFFF;
	--ls-font-head: "Space Grotesk", "Segoe UI", sans-serif;
	--ls-font-body: "Inter", "Segoe UI", sans-serif;
}

body {
	background: var(--ls-bg);
	color: var(--ls-text);
	font-family: var(--ls-font-body);
}

h1, h2, h3, h4,
.entry-title,
.main-title {
	font-family: var(--ls-font-head);
	color: var(--ls-ink-deep);
	letter-spacing: -0.01em;
}

a {
	color: var(--ls-ink);
}

a:hover {
	color: var(--ls-accent-deep);
}

/* Header / nav */
.main-title {
	display: none;
}

/* We always use our own .ls-hero block instead of GP's auto featured-image banner
   (the thumbnail is still set, for SEO/social share meta only). */
.featured-image.page-header-image {
	display: none;
}

.site-header .inside-header {
	padding-top: 14px;
	padding-bottom: 0;
	flex-wrap: wrap;
}

.site-branding-container {
	flex-wrap: wrap;
}

.site-branding-container .main-navigation {
	flex-basis: 100%;
	width: 100%;
	margin-top: 14px;
}

.site-branding-container .main-navigation .inside-navigation {
	width: 100%;
	justify-content: flex-end;
}

.site-logo img {
	max-width: 260px;
	height: auto;
}

@media (max-width: 768px) {
	.site-logo img {
		max-width: 180px;
	}

	.site-branding-container .main-navigation {
		margin-top: 0;
	}
}

.entry-header:has(+ .entry-content .ls-hero) {
	display: none;
}

.main-navigation,
#site-navigation {
	background: var(--ls-white);
	border-bottom: 1px solid var(--ls-line);
}

.main-navigation .main-nav ul li a {
	font-family: var(--ls-font-body);
	font-weight: 500;
	font-size: 14.5px;
	color: var(--ls-text);
	text-transform: none;
}

.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li.current-menu-item > a {
	color: var(--ls-ink);
	box-shadow: inset 0 -2px 0 var(--ls-accent);
}

.main-navigation .sub-menu {
	background: var(--ls-white);
	border: 1px solid var(--ls-line);
	border-radius: 8px;
	box-shadow: 0 8px 24px rgba(12, 56, 51, .08);
}

/* Hero */
.ls-hero {
	position: relative;
	background: linear-gradient(135deg, var(--ls-ink-deep), var(--ls-ink));
	color: var(--ls-white);
	padding: 72px 24px;
	text-align: center;
	background-size: cover;
	background-position: center;
}

.ls-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(12,56,51,.88), rgba(20,82,74,.82));
}

.ls-hero > * {
	position: relative;
	z-index: 1;
}

.ls-hero h1 {
	color: var(--ls-white);
	font-size: clamp(28px, 4vw, 44px);
	margin-bottom: 12px;
}

.ls-hero p {
	color: #E9F2EF;
	max-width: 640px;
	margin: 0 auto;
	font-size: 18px;
}

.ls-hero[data-credit]::after {
	content: attr(data-credit);
	position: absolute;
	right: 14px;
	bottom: 10px;
	z-index: 2;
	font-size: 11px;
	color: rgba(255, 255, 255, .6);
}

.ls-hero-badge {
	display: inline-block;
	background: rgba(224, 122, 63, .18);
	border: 1px solid var(--ls-accent);
	color: #FFD9BA;
	font-size: 13px;
	font-weight: 600;
	padding: 4px 12px;
	border-radius: 999px;
	margin-bottom: 16px;
}

/* Breadcrumbs */
.ls-breadcrumbs {
	font-size: 13px;
	color: var(--ls-text-soft);
	margin: 16px 0;
}

.ls-breadcrumbs a {
	color: var(--ls-text-soft);
}

.ls-crumb-sep {
	margin: 0 6px;
	opacity: .6;
}

/* Card grid (license types / states) */
.ls-card-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 16px;
	margin: 28px 0;
}

.ls-card {
	display: flex;
	flex-direction: column;
	gap: 6px;
	background: var(--ls-white);
	border: 1px solid var(--ls-line);
	border-radius: 12px;
	padding: 20px;
	text-decoration: none;
	transition: transform .15s ease, box-shadow .15s ease, border-color .15s ease;
}

.ls-card:hover {
	transform: translateY(-2px);
	border-color: var(--ls-accent);
	box-shadow: 0 10px 24px rgba(12, 56, 51, .1);
}

.ls-card-title {
	font-family: var(--ls-font-head);
	font-weight: 600;
	font-size: 17px;
	color: var(--ls-ink-deep);
}

.ls-card-desc {
	font-size: 14px;
	color: var(--ls-text-soft);
	line-height: 1.45;
}

/* Verified data table */
.ls-data-table-wrap {
	overflow-x: auto;
	margin: 24px 0;
	border: 1px solid var(--ls-line);
	border-radius: 10px;
}

table.ls-data-table {
	width: 100%;
	border-collapse: collapse;
	background: var(--ls-white);
	font-size: 15px;
}

table.ls-data-table th,
table.ls-data-table td {
	text-align: left;
	padding: 12px 16px;
	border-bottom: 1px solid var(--ls-line);
}

table.ls-data-table th {
	background: var(--ls-bg-alt);
	font-family: var(--ls-font-head);
	font-weight: 600;
	color: var(--ls-ink-deep);
	white-space: nowrap;
}

table.ls-data-table tr:last-child td {
	border-bottom: none;
}

.ls-source-note {
	font-size: 13px;
	color: var(--ls-text-soft);
	margin-top: 8px;
	padding: 10px 14px;
	background: var(--ls-bg-alt);
	border-left: 3px solid var(--ls-accent);
	border-radius: 0 6px 6px 0;
}

.ls-source-note a {
	color: var(--ls-ink);
	font-weight: 600;
}

/* FAQ accordion */
details.ls-faq {
	border: 1px solid var(--ls-line);
	border-radius: 10px;
	padding: 14px 18px;
	margin-bottom: 10px;
	background: var(--ls-white);
}

details.ls-faq summary {
	font-family: var(--ls-font-head);
	font-weight: 600;
	cursor: pointer;
	color: var(--ls-ink-deep);
}

details.ls-faq[open] summary {
	color: var(--ls-accent-deep);
}

/* Disclaimer / trust box */
.ls-disclaimer {
	background: var(--ls-bg-alt);
	border: 1px solid var(--ls-line);
	border-radius: 10px;
	padding: 14px 18px;
	font-size: 14px;
	color: var(--ls-text-soft);
	margin: 20px 0;
}

/* Toc / quick nav */
.ls-toc {
	background: var(--ls-white);
	border: 1px solid var(--ls-line);
	border-radius: 10px;
	padding: 16px 20px;
	margin: 20px 0;
}

.ls-toc-title {
	font-family: var(--ls-font-head);
	font-weight: 600;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--ls-text-soft);
	margin-bottom: 8px;
}

.ls-toc ol {
	margin: 0;
	padding-left: 20px;
}

/* Buttons */
.ls-btn {
	display: inline-block;
	background: var(--ls-accent);
	color: var(--ls-white) !important;
	font-weight: 600;
	padding: 10px 20px;
	border-radius: 8px;
	text-decoration: none;
	transition: background .15s ease;
}

.ls-btn:hover {
	background: var(--ls-accent-deep);
}

/* Footer widgets */
#footer-widgets {
	background: var(--ls-bg-alt);
	border-top: 1px solid var(--ls-line);
}

#footer-widgets .widget-title {
	font-family: var(--ls-font-head);
	color: var(--ls-ink-deep);
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: .05em;
}

.site-info {
	background: var(--ls-ink-deep);
	color: #D6E6E1;
	font-size: 13px;
}

.site-info a {
	color: #FFD9BA;
}

/* Sidebar trust card */
.ls-trust-card {
	background: var(--ls-white);
	border: 1px solid var(--ls-line);
	border-radius: 12px;
	padding: 18px;
	margin-bottom: 20px;
}

.ls-trust-card img {
	border-radius: 8px;
	margin-bottom: 12px;
}
