/**
 * Solaris theme components and layout.
 *
 * @package Solaris
 */

/* -------------------------------------------------------------------------
   Site shell
   ------------------------------------------------------------------------- */

.solaris-site {
	display: flex;
	flex-direction: column;
	color: var(--theme-surface-on-surface);
	background: var(--theme-canvas-surface);
	font-family: var(--font-family-sans);
	font-size: var(--base-size);
	line-height: var(--base-line-height);
	font-weight: var(--font-weight-regular);
	font-optical-sizing: auto;
	font-synthesis: none;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	transition: background-color 0.2s ease, color 0.2s ease;
}

.solaris-site :where(ul, ol) {
	margin: 0;
	padding: 0;
	list-style: none;
}

.solaris-site :where(button) {
	font: inherit;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}

@media (prefers-color-scheme: dark) {
	.solaris-post__content img,
	.solaris-comment__content img,
	.solaris-blog-card__media img,
	.solaris-featured-media img,
	.solaris-author-box__avatar-image {
		opacity: 0.9;
		transition: opacity 0.3s ease;
	}

	.solaris-input::placeholder,
	.solaris-comment-form input::placeholder,
	.solaris-search-form input[type="search"]::placeholder,
	.post-password-form input[type="password"]::placeholder {
		color: var(--theme-on-surface-muted);
		opacity: 0.85;
	}
}

.solaris-site :is(h1, h2, h3, h4, h5, h6) {
	font-family: var(--font-family-sans);
	font-weight: var(--font-weight-medium);
}

.solaris-container {
	width: 100%;
	max-width: calc(var(--breakpoint-max) + var(--page-margin) * 2);
	margin-inline: auto;
	padding-inline: var(--page-margin);
}

.solaris-container--content {
	max-width: calc(var(--content-measure) + var(--page-margin) * 2);
}

.solaris-container--article-layout {
	max-width: calc(var(--breakpoint-max) + var(--page-margin) * 2);
}

.solaris-container--article {
	max-width: calc(var(--article-hero-measure) + var(--page-margin) * 2);
}

.solaris-container--article-featured {
	max-width: calc(var(--article-featured-measure) + var(--page-margin) * 2);
}

.solaris-container--service-feature {
	max-width: calc(68rem + var(--page-margin) * 2);
}

.solaris-container--narrow {
	max-width: calc(44rem + var(--page-margin) * 2);
}

.solaris-grid {
	display: grid;
	gap: var(--space-md);
}

.solaris-grid--posts {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 640px) {
	.solaris-grid--posts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 992px) {
	.solaris-grid--posts {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.solaris-grid--posts {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.solaris-grid--4col {
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

@media (min-width: 640px) {
	.solaris-grid--4col {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 992px) {
	.solaris-grid--4col {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--space-lg);
	}
}

@media (min-width: 1200px) {
	.solaris-grid--4col {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--space-lg);
	}
}

.solaris-surface,
.solaris-card {
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--shape-corner-md);
	background: var(--theme-card-surface);
}

/* Cards on elevated section bands sit one layer above the band. */
:is(.solaris-blog-section, .solaris-case-studies-section, .solaris-section--process, .solaris-related-posts) :is(.solaris-card, .solaris-process-card):not(.solaris-blog-card--no-image):not([class*="solaris-blog-card--accent-"]) {
	background: var(--theme-card-elevated-surface);
}

.solaris-card {
	position: relative;
	overflow: hidden;
}

/* Card Hover Shine Sweep */
.solaris-card::after {
	content: "";
	position: absolute;
	top: 0;
	left: -150%;
	width: 150%;
	height: 100%;
	background: var(--effect-shine-gradient);
	transform: skewX(-25deg);
	z-index: 5;
	pointer-events: none;
}

@media (hover: hover) {
	.solaris-card:is(:hover, :focus-within)::after {
		animation: solaris-shine 0.85s var(--ease-out-cubic) forwards;
	}
}

@keyframes solaris-shine {
	0% {
		left: -150%;
	}

	100% {
		left: 150%;
	}
}

/* Shine sweep on process cards marked .solaris-shine. */
.solaris-process-card.solaris-shine {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.solaris-process-card.solaris-shine::after {
	content: "";
	position: absolute;
	inset: 0;
	left: -150%;
	width: 150%;
	height: 100%;
	background: var(--effect-shine-gradient);
	transform: skewX(-25deg);
	z-index: 1;
	pointer-events: none;
}

@media (hover: hover) {
	.solaris-process-card.solaris-shine:hover::after {
		animation: solaris-shine 0.85s var(--ease-out-cubic) forwards;
	}
}

.solaris-featured-media {
	--media-tone-a: 50, 121, 249;
	--media-tone-b: 183, 191, 217;
	--media-tone-c: 230, 234, 240;

	position: relative;
	overflow: hidden;
	display: grid;
	place-items: center;
	aspect-ratio: 3 / 2;
	margin: 0;
	border-bottom: 1px solid var(--theme-outline-variant);
	background:
		radial-gradient(circle at 18% 20%, rgba(var(--media-tone-a), 0.28), transparent 34%),
		radial-gradient(circle at 82% 18%, rgba(var(--media-tone-b), 0.24), transparent 32%),
		linear-gradient(135deg, rgba(var(--media-tone-c), 0.72), rgba(var(--palette-grey-0-rgb), 0.78));
}

.solaris-featured-media::before {
	content: "";
	position: absolute;
	z-index: 0;
	inset: 12%;
	border: 1px solid rgba(var(--palette-grey-0-rgb), 0.52);
	border-radius: var(--shape-corner-md);
	background: linear-gradient(135deg, rgba(var(--palette-grey-0-rgb), 0.22), rgba(var(--palette-grey-0-rgb), 0.04));
	-webkit-backdrop-filter: blur(14px);
	backdrop-filter: blur(14px);
	box-shadow: inset 0 1px 0 rgba(var(--palette-grey-0-rgb), 0.34);
	pointer-events: none;
}

.solaris-featured-media::after {
	content: "";
	position: absolute;
	z-index: 0;
	inset: auto -12% -48% 28%;
	height: 82%;
	border-radius: var(--shape-corner-rounded);
	background: rgba(var(--media-tone-a), 0.18);
	filter: blur(24px);
	transform: rotate(-9deg);
	pointer-events: none;
}

.solaris-featured-media--image:not(.solaris-featured-media--card)::before,
.solaris-featured-media--image:not(.solaris-featured-media--card)::after {
	display: none;
}

.solaris-featured-media__image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.solaris-featured-media__label {
	position: relative;
	z-index: 1;
	display: inline-flex;
	align-items: center;
	min-height: var(--button-height-sm);
	padding-inline: var(--button-padding-x-md);
	border: 1px solid rgba(var(--palette-grey-1000-rgb), 0.1);
	border-radius: var(--control-radius);
	background: rgba(var(--palette-grey-0-rgb), 0.92);
	box-shadow: 0 8px 22px rgba(var(--palette-grey-1000-rgb), 0.08);
	color: var(--theme-surface-on-surface);
	font-size: var(--sm-size);
	line-height: var(--sm-line-height);
	font-weight: var(--font-weight-medium);
}

.solaris-featured-media__badge {
	position: relative;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.solaris-btn>* {
	position: relative;
	z-index: 2;
	pointer-events: none;
}

/* Shine sweep on all theme buttons. */
:is(
	.solaris-btn,
	.google-source-cta__button,
	.post-password-form input[type="submit"]
)::after {
	content: "";
	position: absolute;
	inset: 0;
	left: -150%;
	width: 150%;
	height: 100%;
	background: var(--effect-shine-gradient);
	transform: skewX(-25deg);
	z-index: 1;
	pointer-events: none;
}

@media (hover: hover) {
	:is(
		.solaris-btn,
		.google-source-cta__button,
		.post-password-form input[type="submit"]
	):is(:hover, :focus-visible)::after {
		animation: solaris-shine 0.85s var(--ease-out-cubic) forwards;
	}
}

.solaris-input,
.solaris-comment-form input[type="text"],
.solaris-comment-form input[type="email"],
.solaris-search-form input[type="search"],
.post-password-form input[type="password"] {
	width: 100%;
	min-height: var(--control-height-md);
	padding: var(--control-padding-y) var(--control-padding-x);
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--control-radius);
	background: var(--theme-surface-surface);
	color: var(--theme-surface-on-surface);
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
	box-shadow: none;
	transition: border-color 0.3s var(--ease-out-cubic), box-shadow 0.3s var(--ease-out-cubic);
}

.solaris-input::placeholder,
.solaris-comment-form input::placeholder,
.solaris-search-form input[type="search"]::placeholder,
.post-password-form input[type="password"]::placeholder {
	color: var(--theme-surface-on-surface-variant);
	opacity: 1;
}

.solaris-input:hover:not(:focus),
.solaris-comment-form input[type="text"]:hover:not(:focus),
.solaris-comment-form input[type="email"]:hover:not(:focus),
.solaris-search-form input[type="search"]:hover:not(:focus),
.post-password-form input[type="password"]:hover:not(:focus) {
	border-color: var(--theme-outline);
}

.solaris-input:focus,
.solaris-comment-form input[type="text"]:focus,
.solaris-comment-form input[type="email"]:focus,
.solaris-search-form input[type="search"]:focus,
.post-password-form input[type="password"]:focus {
	outline: none;
	border-color: var(--theme-interaction-accent-on-surface);
	box-shadow: 0 0 0 4px var(--theme-interaction-accent-focus-ring);
}

.solaris-input:-webkit-autofill,
.solaris-input:-webkit-autofill:hover,
.solaris-input:-webkit-autofill:focus,
.solaris-comment-form input:-webkit-autofill,
.solaris-comment-form input:-webkit-autofill:hover,
.solaris-comment-form input:-webkit-autofill:focus,
.solaris-search-form input[type="search"]:-webkit-autofill,
.solaris-search-form input[type="search"]:-webkit-autofill:hover,
.solaris-search-form input[type="search"]:-webkit-autofill:focus,
.post-password-form input[type="password"]:-webkit-autofill,
.post-password-form input[type="password"]:-webkit-autofill:hover,
.post-password-form input[type="password"]:-webkit-autofill:focus {
	-webkit-text-fill-color: var(--theme-surface-on-surface);
	box-shadow: 0 0 0 1000px var(--theme-surface-surface) inset;
	transition: background-color 9999s ease-out 0s;
}

.solaris-comment-form textarea {
	width: 100%;
	min-height: 9rem;
	padding: var(--control-padding-y) var(--control-padding-x);
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--control-radius-multiline);
	background: var(--theme-surface-surface);
	color: var(--theme-surface-on-surface);
	font: inherit;
	-webkit-appearance: none;
	appearance: none;
	resize: vertical;
	box-shadow: none;
	transition: border-color 0.3s var(--ease-out-cubic), box-shadow 0.3s var(--ease-out-cubic);
}

.solaris-comment-form textarea::placeholder {
	color: var(--theme-surface-on-surface-variant);
	opacity: 1;
}

.solaris-comment-form textarea:hover:not(:focus) {
	border-color: var(--theme-outline);
}

.solaris-comment-form textarea:focus {
	outline: none;
	border-color: var(--theme-interaction-accent-on-surface);
	box-shadow: 0 0 0 4px var(--theme-interaction-accent-focus-ring);
}

.solaris-main {
	display: flex;
	flex-direction: column;
}

/* Homepage stack spacing — uniform vertical padding for consistent gaps. */
.solaris-main>.solaris-section {
	padding-block: var(--section-space);
}

.solaris-main--padded {
	padding-block: var(--space-4xl);
}

/* -------------------------------------------------------------------------
   Header
   ------------------------------------------------------------------------- */

.solaris-site-header {
	border-bottom: 1px solid var(--theme-nav-outline);
	background: var(--theme-nav-surface);
	color: var(--theme-nav-on-surface);
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 50;
	transition: border-color 0.2s var(--ease-out-cubic);
}

.solaris-site-header.is-mega-open .solaris-reading-progress {
	display: none !important;
}

.solaris-site-header__shell {
	position: relative;
	padding: var(--space-sm) 0;
	z-index: 10;
}

.solaris-reading-progress {
	--reading-progress-size: 0%;

	position: absolute;
	z-index: 99;
	left: 0;
	right: 0;
	bottom: -1px;
	width: 100%;
	height: var(--reading-progress-height);
	background-color: var(--reading-progress-track);
	background-image: linear-gradient(90deg,
			rgba(var(--theme-interaction-accent-on-surface-rgb), 0.68) 0%,
			var(--reading-progress-fill-solid) 52%,
			var(--reading-progress-fill) 100%);
	background-repeat: no-repeat;
	background-position: left center;
	background-size: var(--reading-progress-size) 100%;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 200ms var(--ease-out-cubic),
		visibility 200ms var(--ease-out-cubic),
		background-size 120ms linear;
}

.solaris-reading-progress.is-visible {
	opacity: 1;
	visibility: visible;
}

@media (prefers-reduced-motion: reduce) {
	.solaris-reading-progress {
		background-image: linear-gradient(90deg,
				var(--reading-progress-fill-solid),
				var(--reading-progress-fill-solid));
		transition:
			opacity 200ms var(--ease-out-cubic),
			visibility 200ms var(--ease-out-cubic);
	}
}

body.admin-bar .solaris-site-header {
	top: 32px;
}

.solaris-site-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-lg);
	min-height: var(--nav-height);
	padding-block: 0;
}

.solaris-site-header__brand {
	flex: 0 0 auto;
	min-width: 0;
}

.solaris-site-header__brand-swap {
	display: contents;
}

.solaris-site-header__brand-cta {
	display: none;
}

.solaris-site-header__brand-subnav {
	display: none;
}

.solaris-mega-panels {
	position: absolute;
	top: 100%;
	right: 0;
	left: 0;
	z-index: 55;
	width: 100%;
	pointer-events: none;
}

.solaris-site-logo {
	display: inline-flex;
	align-items: center;
	gap: 0.62rem;
	color: var(--theme-surface-on-surface);
	text-decoration: none;
	font-size: var(--lg-size);
	line-height: var(--lg-line-height);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--lg-letter-spacing);
	white-space: nowrap;
	-webkit-font-smoothing: antialiased;
}

.solaris-site-logo__text {
	display: inline-block;
	padding-top: 1px;
}

.solaris-site-logo--reverse {
	color: var(--theme-surface-inverse-on-surface);
}

.solaris-nav-wrapper {
	display: contents;
}

.solaris-nav-arrow {
	display: none;
}

.solaris-primary-navigation {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.solaris-menu {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-xs);
	list-style: none;
	margin: 0;
	padding: 0;
}

.solaris-menu--primary>li {
	position: relative;
}

.solaris-menu a,
.solaris-mega-trigger {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 var(--space-md);
	border: 0;
	border-radius: var(--shape-corner-rounded);
	background: transparent;
	color: inherit;
	cursor: pointer;
	font: inherit;
	font-size: var(--cta-sm-size);
	line-height: var(--cta-sm-line-height);
	font-weight: var(--font-weight-medium);
	text-decoration: none;
	white-space: nowrap;
	transition: background-color 0.15s var(--ease-out-cubic), color 0.15s var(--ease-out-cubic);
}

.solaris-mega-trigger__chevron {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	margin-inline-start: 0.55em;
	font-size: 0.85em;
	line-height: 1;
	transition: transform 0.18s var(--ease-out-cubic);
}

.solaris-mega-trigger__chevron--mobile {
	display: none;
}

.solaris-mega-menu.is-open>.solaris-mega-trigger,
.solaris-mega-trigger[aria-expanded="true"] {
	background: transparent;
	color: inherit;
}

.solaris-mega-menu.is-open>.solaris-mega-trigger .solaris-mega-trigger__chevron--desktop,
.solaris-mega-trigger[aria-expanded="true"] .solaris-mega-trigger__chevron--desktop {
	transform: rotate(180deg);
}

.solaris-menu a:focus-visible,
.solaris-mega-trigger:focus-visible {
	background: var(--theme-nav-button-hover);
	color: var(--theme-nav-on-surface);
	outline: 2px solid var(--theme-interaction-accent-on-surface);
	outline-offset: 2px;
}

.solaris-mega-trigger[aria-expanded="true"]:focus-visible {
	background: transparent;
	color: inherit;
}

.solaris-menu .current-menu-item>a,
.solaris-menu .current_page_item>a,
.solaris-menu .current-menu-parent>a,
.solaris-menu .current-menu-ancestor>a,
.solaris-menu .current_page_parent>a,
.solaris-menu .current_page_ancestor>a {
	background: transparent;
	color: var(--theme-nav-on-surface);
}

.solaris-mega-trigger,
.solaris-menu-toggle {
	position: relative;
	overflow: hidden;
}

.solaris-mega-trigger>*,
.solaris-menu-toggle>* {
	pointer-events: none;
}

.solaris-menu--setup a,
.solaris-menu-setup__link {
	border: 1px dashed var(--theme-outline);
	background: var(--theme-surface-surface);
	color: var(--theme-interaction-accent-on-surface);
}

/* Mega menu panel */
.solaris-nav-backdrop {
	position: fixed;
	top: var(--header-shell-bottom, 68px);
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 5;
	background: rgba(var(--palette-grey-1200-rgb), 0);
	opacity: 0;
	pointer-events: none;
	transition:
		opacity 0.25s var(--ease-out-cubic),
		background-color 0.25s var(--ease-out-cubic);
}

.solaris-nav-backdrop.is-visible {
	opacity: 1;
	pointer-events: auto;
	background: var(--theme-frost-backdrop-fill);
	-webkit-backdrop-filter: blur(var(--effect-frost-blur));
	backdrop-filter: blur(var(--effect-frost-blur));
}

.solaris-mega-panel {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	padding: var(--space-xl) 0 var(--space-2xl);
	border: 0;
	border-top: 1px solid var(--theme-nav-outline);
	border-radius: 0;
	background: var(--theme-nav-surface);
	color: var(--theme-nav-on-surface);
	box-shadow: none;
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: none;
	transition:
		opacity 0.2s var(--ease-out-cubic),
		visibility 0.2s var(--ease-out-cubic);
}

.solaris-site-header.is-mega-open .solaris-mega-panel.is-open {
	background: var(--theme-nav-surface);
	box-shadow: none;
}

.solaris-mega-panel.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: none;
	z-index: 2;
}

.solaris-mega-panel__inner {
	display: grid;
	grid-template-columns: var(--mega-intro-width) minmax(0, 1fr);
	gap: var(--space-3xl);
	align-items: start;
	width: 100%;
	max-width: calc(var(--breakpoint-max) + (var(--page-margin) * 2));
	margin-inline: auto;
	padding-inline: var(--page-margin);
}

.solaris-mega-panel__intro {
	width: var(--mega-intro-width);
	max-width: 100%;
}

/* Hide intro and expand columns when there are many groups */
.solaris-mega-panel[data-group-count="5"] .solaris-mega-panel__inner,
.solaris-mega-panel[data-group-count="6"] .solaris-mega-panel__inner,
.solaris-mega-panel[data-group-count="7"] .solaris-mega-panel__inner,
.solaris-mega-panel[data-group-count="8"] .solaris-mega-panel__inner,
.solaris-mega-panel[data-group-count="9"] .solaris-mega-panel__inner,
.solaris-mega-panel[data-group-count="10"] .solaris-mega-panel__inner,
.solaris-mega-panel[data-group-count="11"] .solaris-mega-panel__inner,
.solaris-mega-panel[data-group-count="12"] .solaris-mega-panel__inner {
	grid-template-columns: minmax(0, 1fr);
}

.solaris-mega-panel[data-group-count="5"] .solaris-mega-panel__intro,
.solaris-mega-panel[data-group-count="6"] .solaris-mega-panel__intro,
.solaris-mega-panel[data-group-count="7"] .solaris-mega-panel__intro,
.solaris-mega-panel[data-group-count="8"] .solaris-mega-panel__intro,
.solaris-mega-panel[data-group-count="9"] .solaris-mega-panel__intro,
.solaris-mega-panel[data-group-count="10"] .solaris-mega-panel__intro,
.solaris-mega-panel[data-group-count="11"] .solaris-mega-panel__intro,
.solaris-mega-panel[data-group-count="12"] .solaris-mega-panel__intro {
	display: none;
}

.solaris-mega-panel__title {
	margin: 0;
	font-size: var(--xl-size);
	line-height: var(--xl-line-height);
	font-weight: var(--font-weight-semibold);
	letter-spacing: var(--xl-letter-spacing);
	color: var(--theme-surface-on-surface);
}

.solaris-mega-panel__description {
	margin: var(--space-md) 0 0;
	font-size: var(--base-size);
	line-height: var(--base-line-height);
	color: var(--theme-surface-on-surface-variant);
}

.solaris-mega-panel__overview-link {
	display: inline-flex;
	align-items: center;
	gap: var(--space-sm);
	margin-top: var(--space-lg);
	color: var(--theme-surface-on-surface);
	text-decoration: none;
	font-size: var(--sm-size);
	line-height: var(--sm-line-height);
	font-weight: var(--font-weight-semibold);
	transition: color 0.15s var(--ease-out-cubic), gap 0.15s var(--ease-out-cubic);
}

.solaris-mega-panel__overview-link:hover,
.solaris-mega-panel__overview-link:focus-visible {
	color: var(--theme-on-surface-subtle);
	gap: var(--space-md);
}

.solaris-mega-panel__overview-link-icon {
	display: block;
	flex-shrink: 0;
	width: 1.125rem;
	height: 1.125rem;
}

.solaris-mega-panel__groups {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: minmax(188px, max-content);
	gap: var(--space-2xl);
	align-items: start;
	justify-content: start;
}

/* Dynamic Grouped Layout */
.solaris-mega-panel[data-mega-layout="grouped"] .solaris-mega-panel__groups {
	grid-auto-flow: row;
	grid-template-columns: repeat(var(--mega-cols, 4), minmax(0, 1fr));
	justify-content: stretch;
	width: 100%;
	gap: var(--space-3xl) var(--space-2xl);
}

.solaris-mega-panel[data-group-count="1"] .solaris-mega-panel__groups {
	--mega-cols: 1;
}

.solaris-mega-panel[data-group-count="2"] .solaris-mega-panel__groups {
	--mega-cols: 2;
}

.solaris-mega-panel[data-group-count="3"] .solaris-mega-panel__groups {
	--mega-cols: 3;
}

.solaris-mega-panel[data-group-count="4"] .solaris-mega-panel__groups {
	--mega-cols: 4;
}

.solaris-mega-panel[data-group-count="5"] .solaris-mega-panel__groups {
	--mega-cols: 5;
}

.solaris-mega-panel[data-group-count="6"] .solaris-mega-panel__groups {
	--mega-cols: 5;
}

.solaris-mega-panel[data-group-count="7"] .solaris-mega-panel__groups {
	--mega-cols: 5;
}

.solaris-mega-panel[data-group-count="8"] .solaris-mega-panel__groups {
	--mega-cols: 5;
}

.solaris-mega-panel[data-group-count="9"] .solaris-mega-panel__groups {
	--mega-cols: 5;
}

.solaris-mega-panel[data-group-count="10"] .solaris-mega-panel__groups {
	--mega-cols: 5;
}

.solaris-mega-panel[data-group-count="11"] .solaris-mega-panel__groups {
	--mega-cols: 5;
}

.solaris-mega-panel[data-group-count="12"] .solaris-mega-panel__groups {
	--mega-cols: 5;
}

.solaris-mega-panel[data-mega-layout="grouped"] .solaris-mega-group {
	max-width: none;
}

.solaris-mega-panel__groups--flat {
	grid-auto-flow: row;
	grid-auto-columns: auto;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-2xl);
	width: 100%;
	min-width: 0;
}

.solaris-mega-panel[data-mega-layout="flat"] .solaris-mega-group--flat .solaris-mega-group__list {
	display: block;
	column-gap: var(--space-2xl);
	max-height: none;
	overflow: visible;
}

.solaris-mega-panel[data-mega-layout="flat"][data-flat-columns="1"] .solaris-mega-group--flat .solaris-mega-group__list {
	column-count: 1;
}

.solaris-mega-panel[data-mega-layout="flat"][data-flat-columns="2"] .solaris-mega-group--flat .solaris-mega-group__list {
	column-count: 2;
}

.solaris-mega-panel[data-mega-layout="flat"][data-flat-columns="3"] .solaris-mega-group--flat .solaris-mega-group__list {
	column-count: 3;
}

.solaris-mega-group--flat .solaris-mega-group__list {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

.solaris-mega-group--flat .solaris-mega-group__list li {
	break-inside: avoid;
}

.solaris-mega-group {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	min-width: 0;
	max-width: 240px;
}

.solaris-mega-group.solaris-mega-group--flat {
	max-width: none;
	width: 100%;
}

.solaris-mega-group__title {
	display: block;
	margin: 0;
	padding: 0 var(--space-md);
	font-size: var(--base-size);
	line-height: var(--base-line-height);
	font-weight: var(--font-weight-semibold);
	letter-spacing: normal;
	text-transform: none;
	color: var(--theme-surface-on-surface);
}

.solaris-mega-group__title--link {
	text-decoration: none;
	transition: color 0.15s var(--ease-out-cubic);
}

.solaris-mega-group__title--link:hover,
.solaris-mega-group__title--link:focus-visible {
	color: var(--theme-on-surface-subtle);
	background: transparent;
}

.solaris-mega-group--solo {
	min-width: 188px;
	max-width: 280px;
}

.solaris-mega-group__list {
	display: grid;
	gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.solaris-mega-panel .solaris-mega-group__list a {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	width: fit-content;
	max-width: 100%;
	padding: var(--space-xs) var(--space-md);
	color: var(--theme-surface-on-surface-variant);
	text-decoration: none;
	font-size: var(--sm-size);
	line-height: var(--sm-line-height);
	font-weight: var(--font-weight-normal);
	white-space: normal;
	border-radius: 0;
	transition: color 0.15s var(--ease-out-cubic);
}

.solaris-mega-panel .solaris-mega-group__list a:focus-visible {
	background: transparent;
	color: var(--theme-surface-on-surface);
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

@media (hover: hover) {
	.solaris-mega-panel .solaris-mega-group__list a:hover {
		background: transparent;
		color: var(--theme-surface-on-surface);
		text-decoration: underline;
		text-underline-offset: 0.15em;
	}
}

/* Mega Menu Footer for solo items */
.solaris-mega-panel__footer {
	grid-column: 1 / -1;
	width: 100%;
	margin-inline: 0;
	padding: var(--space-xl) 0 0;
	border-top: 1px solid var(--theme-outline-variant);
}

.solaris-mega-panel__footer-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: var(--space-xl) var(--space-2xl);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 1199px) {
	.solaris-mega-panel__groups {
		gap: var(--space-lg);
	}

	.solaris-mega-panel[data-mega-layout="grouped"] .solaris-mega-panel__groups {
		gap: var(--space-2xl) var(--space-md);
	}

	.solaris-mega-panel__footer-list {
		gap: var(--space-md) var(--space-lg);
	}
}

.solaris-mega-panel__footer-list a {
	color: var(--theme-surface-on-surface);
	font-size: var(--base-size);
	line-height: var(--base-line-height);
	font-weight: var(--font-weight-semibold);
	text-decoration: none;
	transition: color 0.15s var(--ease-out-cubic);
}

.solaris-mega-panel__footer-list a:focus-visible {
	color: var(--theme-on-surface-subtle);
	text-decoration: none;
}

@media (hover: hover) {
	.solaris-mega-panel__footer-list a:hover {
		color: var(--theme-on-surface-subtle);
		text-decoration: none;
	}
}

.solaris-mega-panel[data-mega-layout="grouped"] .solaris-mega-group__list {
	overflow: visible;
}

.solaris-mega-panel .solaris-mega-group--flat .solaris-mega-group__list a {
	display: flex;
	align-items: flex-start;
	width: 100%;
	max-width: none;
	padding-block: var(--space-sm);
	color: var(--theme-surface-on-surface);
	font-weight: var(--font-weight-medium);
}

.solaris-primary-navigation__views,
.solaris-primary-navigation__view--root {
	display: contents;
}

.solaris-primary-navigation__view--sub,
.solaris-mobile-nav-subscroll {
	display: none;
}

.solaris-primary-navigation__scroll {
	display: contents;
}

.solaris-primary-navigation__cta {
	display: none;
}

.solaris-primary-navigation__cta--mobile {
	display: none;
}

.solaris-site-header__actions {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	min-width: 0;
	position: relative;
	z-index: 60;
}

/* Occasional header CTA attention pulse: shrink + Google color border flow. */
@property --solaris-cta-attention-angle {
	syntax: "<angle>";
	initial-value: 0deg;
	inherits: false;
}

.solaris-header-cta-attention {
	position: relative;
	display: inline-flex;
	border-radius: var(--shape-corner-rounded);
	isolation: isolate;
	transform-origin: center center;
}

.solaris-header-cta-attention::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 3px;
	--solaris-cta-attention-angle: 0deg;
	background: conic-gradient(
		from var(--solaris-cta-attention-angle),
		#4285f4 0deg,
		#ea4335 72deg,
		#fbbc04 144deg,
		#34a853 216deg,
		#4285f4 288deg,
		#4285f4 360deg
	);
	-webkit-mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	-webkit-mask-composite: xor;
	mask:
		linear-gradient(#fff 0 0) content-box,
		linear-gradient(#fff 0 0);
	mask-composite: exclude;
	opacity: 0;
	pointer-events: none;
	z-index: 2;
}

.solaris-header-cta-attention.is-attention-active {
	--cta-attention-duration: 4.3s;
	animation: solaris-header-cta-shrink var(--cta-attention-duration) var(--ease-out-cubic) forwards;
}

.solaris-header-cta-attention.is-attention-active::before {
	animation: solaris-header-cta-border var(--cta-attention-duration) var(--ease-out-cubic) forwards;
}

.solaris-header-cta-attention.is-attention-shown::before {
	opacity: 1;
	--solaris-cta-attention-angle: 540deg;
}

.solaris-header-cta-attention > .solaris-btn,
.solaris-header-cta-attention > .solaris-btn--header {
	position: relative;
	z-index: 1;
	background: var(--theme-primary-primary);
	border-color: var(--theme-primary-primary);
	color: var(--theme-primary-on-primary);
}

.solaris-header-cta-attention > .solaris-btn:hover,
.solaris-header-cta-attention > .solaris-btn:focus-visible,
.solaris-header-cta-attention > .solaris-btn--header:hover,
.solaris-header-cta-attention > .solaris-btn--header:focus-visible {
	background: var(--theme-primary-primary);
	border-color: var(--theme-primary-primary);
	color: var(--theme-primary-on-primary);
	box-shadow: none;
}

.solaris-site-header__brand-cta .solaris-header-cta-attention--brand {
	display: flex;
	min-width: 0;
	max-width: 100%;
}

.solaris-primary-navigation__cta--mobile .solaris-header-cta-attention {
	display: inline-flex;
	width: auto;
	max-width: 100%;
}

@keyframes solaris-header-cta-shrink {
	0% {
		transform: scale(1);
	}

	10% {
		transform: scale(0.96);
	}

	85% {
		transform: scale(0.96);
	}

	100% {
		transform: scale(1);
	}
}

@keyframes solaris-header-cta-border {
	0% {
		opacity: 1;
		--solaris-cta-attention-angle: 0deg;
	}

	100% {
		opacity: 1;
		--solaris-cta-attention-angle: 540deg;
	}
}

@media (prefers-reduced-motion: reduce) {
	.solaris-header-cta-attention.is-attention-active,
	.solaris-header-cta-attention::before {
		animation: none !important;
	}
}

.solaris-btn--header {
	font-size: var(--sm-size);
	font-weight: var(--font-weight-medium);
	letter-spacing: 0;
	white-space: nowrap;
}

.solaris-menu-toggle {
	display: none;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: var(--shape-corner-rounded);
	background: transparent;
	color: inherit;
	cursor: pointer;
	font: inherit;
	transition: background-color 0.15s var(--ease-out-cubic);
}

.solaris-menu-toggle:focus-visible {
	outline: 2px solid var(--theme-interaction-accent-on-surface);
	outline-offset: 2px;
}

.solaris-menu-toggle__icon,
.solaris-menu-toggle__icon::before,
.solaris-menu-toggle__icon::after {
	display: block;
	width: 20px;
	height: 2px;
	border-radius: var(--shape-corner-rounded);
	background: currentColor;
	transition:
		transform var(--mobile-nav-transition),
		opacity var(--mobile-nav-transition),
		top var(--mobile-nav-transition);
}

.solaris-menu-toggle__icon {
	position: relative;
}

.solaris-menu-toggle__icon::before,
.solaris-menu-toggle__icon::after {
	content: "";
	position: absolute;
	left: 0;
}

.solaris-menu-toggle__icon::before {
	top: -6px;
}

.solaris-menu-toggle__icon::after {
	top: 6px;
}

.solaris-menu-toggle[aria-expanded="true"] .solaris-menu-toggle__icon {
	background: transparent;
}

.solaris-menu-toggle[aria-expanded="true"] .solaris-menu-toggle__icon::before {
	top: 0;
	transform: rotate(45deg);
}

.solaris-menu-toggle[aria-expanded="true"] .solaris-menu-toggle__icon::after {
	top: 0;
	transform: rotate(-45deg);
}

@media (prefers-reduced-motion: reduce) {
	.solaris-menu-toggle__icon,
	.solaris-menu-toggle__icon::before,
	.solaris-menu-toggle__icon::after {
		transition: none;
	}
}

/* -------------------------------------------------------------------------
   Hero
   ------------------------------------------------------------------------- */

.solaris-hero {
	position: relative;
	overflow: hidden;
	display: grid;
	align-items: start;
	justify-items: center;
	padding-top: var(--hero-space-top);
	padding-bottom: var(--section-space);
	text-align: center;
	background:
		radial-gradient(circle at 50% 22%, var(--theme-interaction-accent-surface-strong), transparent 28%),
		radial-gradient(circle at 18% 38%, var(--theme-interaction-accent-focus-ring), transparent 22%),
		linear-gradient(180deg, var(--theme-canvas-surface) 0%, var(--theme-canvas-surface) 72%, var(--theme-section-surface) 100%);
	isolation: isolate;
}

.solaris-hero::after {
	content: "";
	position: absolute;
	z-index: -1;
	right: 12%;
	bottom: 16%;
	width: 180px;
	height: 180px;
	border-radius: var(--shape-corner-rounded);
	background: var(--theme-interaction-accent-surface-strong);
	filter: blur(56px);
	pointer-events: none;
	animation: solaris-hero-pulse 5s ease-in-out infinite;
}

.solaris-hero__inner {
	display: grid;
	justify-items: center;
	max-width: min(920px, 100%);
	margin-inline: auto;
	animation: solaris-hero-enter 0.4s var(--ease-out-cubic) both;
}

@media (prefers-reduced-motion: reduce) {
	.solaris-hero__inner {
		animation: none;
	}
}

.solaris-hero__title {
	display: block;
	margin: 0;
	max-width: min(920px, 100%);
	font-size: var(--display-size);
	line-height: var(--display-line-height);
	letter-spacing: var(--display-letter-spacing);
	font-weight: var(--font-weight-semibold);
	font-variation-settings: "opsz" 48;
	text-wrap: balance;
}

.solaris-hero__title-line {
	display: block;
}

.solaris-home-seo-title {
	position: absolute;
	clip: rect(0px, 0px, 0px, 0px);
	width: 1px;
	height: 1px;
	margin: -1px;
}

.solaris-hero__description {
	margin: var(--hero-title-to-lead) 0 0;
	max-width: var(--hero-lead-measure);
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--hero-lead-size);
	line-height: var(--hero-lead-line-height);
	font-weight: var(--font-weight-regular);
	text-wrap: pretty;
}

.solaris-hero__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--space-md);
	margin-top: var(--hero-lead-to-cta);
	margin-bottom: var(--hero-cta-to-bottom);
}

.solaris-hero__cta {
	min-height: var(--button-height-lg);
	padding-inline: var(--space-2xl);
	font-size: var(--base-size);
	font-weight: var(--font-weight-medium);
	letter-spacing: -0.008em;
}

@keyframes solaris-hero-enter {
	from {
		opacity: 0;
		transform: translateY(18px) scale(0.985);
	}

	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@keyframes solaris-hero-pulse {

	0%,
	100% {
		opacity: 0.45;
		transform: scale(0.92);
	}

	50% {
		opacity: 0.8;
		transform: scale(1.08);
	}
}

/* -------------------------------------------------------------------------
   Blog section + carousel
   ------------------------------------------------------------------------- */

.solaris-blog-section,
.solaris-case-studies-section {
	background: var(--theme-canvas-surface);
}

.solaris-related-posts {
	background: var(--theme-section-surface);
}

.solaris-blog-section__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	margin-bottom: var(--space-2xl);
}

.solaris-blog-section__carousel {
	display: grid;
	gap: var(--space-md);
	overflow: visible;
	min-width: 0;
}

.solaris-blog-section__carousel .solaris-carousel-nav {
	justify-self: end;
}

.solaris-blog-section__title {
	margin: 0;
	font-size: var(--2xl-size);
	line-height: var(--2xl-line-height);
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--2xl-letter-spacing);
	font-variation-settings: "opsz" 24;
}

.solaris-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-sm);
	min-height: var(--button-height-md);
	padding: 0 var(--button-padding-x-md);
	border-radius: var(--shape-corner-rounded);
	border: 1px solid var(--theme-outline-variant);
	background: var(--theme-secondary-button);
	color: inherit;
	cursor: pointer;
	text-decoration: none;
	font-size: var(--cta-sm-size);
	line-height: var(--cta-sm-line-height);
	font-weight: var(--font-weight-medium);
	box-shadow: none;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	transition: background 0.2s var(--ease-out-cubic), border-color 0.2s var(--ease-out-cubic), color 0.2s var(--ease-out-cubic);
}

.solaris-btn:hover,
.solaris-btn:focus {
	background: var(--theme-button-secondary-hover);
	color: inherit;
}

.solaris-btn:focus-visible {
	outline: 2px solid var(--theme-interaction-accent-on-surface);
	outline-offset: 2px;
}

.solaris-btn--sm {
	min-height: var(--button-height-sm);
	padding-inline: var(--button-padding-x-sm);
}

.solaris-btn--md {
	min-height: var(--button-height-md);
	padding-inline: var(--button-padding-x-md);
}

.solaris-btn--lg {
	min-height: var(--button-height-lg);
	padding-inline: var(--button-padding-x-lg);
}

.solaris-btn--with-arrow {
	gap: var(--space-sm);
}

.solaris-btn__arrow {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	margin-inline-start: 0;
	font-size: 0.9375em;
	line-height: 1;
	transition: transform 0.18s var(--ease-out-cubic);
}

.solaris-btn--with-arrow:hover .solaris-btn__arrow,
.solaris-btn--with-arrow:focus-visible .solaris-btn__arrow,
.solaris-btn--primary:not(.solaris-btn--no-arrow):hover .solaris-btn__arrow,
.solaris-btn--primary:not(.solaris-btn--no-arrow):focus-visible .solaris-btn__arrow {
	transform: translateX(4px);
}

.solaris-btn--primary {
	color: var(--theme-primary-on-primary);
	background: var(--theme-primary-primary);
}

.solaris-btn--primary:hover,
.solaris-btn--primary:focus {
	color: var(--theme-primary-on-primary);
	background: var(--theme-button-states-primary-hovered);
}

/* Filled buttons — auto right arrow when markup is absent (hero CTAs use explicit arrow). */
.solaris-btn--primary:not(.solaris-btn--no-arrow):not(.solaris-hero__cta):not([type="submit"]):not(:has(.solaris-btn__arrow))::before {
	content: "\F138";
	font-family: "bootstrap-icons";
	font-style: normal;
	font-weight: normal;
	font-variant: normal;
	line-height: 1;
	display: inline-flex;
	flex-shrink: 0;
	order: 1;
	font-size: 0.9375em;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transition: transform 0.18s var(--ease-out-cubic);
	pointer-events: none;
}

.solaris-btn--primary:not(.solaris-btn--no-arrow):not(.solaris-hero__cta):not([type="submit"]):not(:has(.solaris-btn__arrow)):hover::before,
.solaris-btn--primary:not(.solaris-btn--no-arrow):not(.solaris-hero__cta):not([type="submit"]):not(:has(.solaris-btn__arrow)):focus-visible::before {
	transform: translateX(4px);
}

.solaris-btn--secondary {
	color: var(--theme-surface-on-surface);
	background: var(--theme-secondary-button);
}

.solaris-btn--secondary:hover,
.solaris-btn--secondary:focus {
	color: var(--theme-surface-on-surface);
	background: var(--theme-button-secondary-hover);
}

.solaris-btn--inverse {
	border-color: var(--theme-button-inverse);
	color: var(--theme-button-inverse-on);
	background: var(--theme-button-inverse);
}

.solaris-btn--inverse:hover,
.solaris-btn--inverse:focus {
	color: var(--theme-button-inverse-on);
	background: var(--theme-button-inverse-hover);
}

.solaris-btn--ghost {
	background: var(--theme-ghost-button-surface);
	border-color: var(--theme-ghost-button-border);
	color: var(--theme-ghost-button-on);
}

.solaris-btn--ghost:hover,
.solaris-btn--ghost:focus-visible {
	background: var(--theme-ghost-button-surface);
	border-color: var(--theme-ghost-button-on);
	color: var(--theme-ghost-button-on);
	box-shadow: 0 0 var(--space-md) var(--theme-ghost-button-shadow);
}

.solaris-btn--icon-only {
	width: var(--button-height-md);
	min-width: var(--button-height-md);
	padding: 0;
}

.solaris-icon-link {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	text-decoration: none;
	color: var(--theme-on-surface-subtle);
	transition: color 0.2s var(--ease-out-cubic), transform 0.2s var(--ease-out-cubic);
}

.solaris-icon-link:hover,
.solaris-icon-link:focus {
	text-decoration: none;
}

.solaris-icon-link--linkedin:hover,
.solaris-icon-link--linkedin:focus {
	color: var(--brand-linkedin);
}

.solaris-icon-link--instagram:hover,
.solaris-icon-link--instagram:focus {
	color: var(--brand-instagram-hover);
}

.solaris-icon-link--threads:hover,
.solaris-icon-link--threads:focus {
	color: var(--theme-surface-on-surface);
}

.solaris-icon-link--tiktok:hover,
.solaris-icon-link--tiktok:focus {
	color: var(--brand-tiktok-hover);
}

.solaris-icon-link--x_twitter:hover,
.solaris-icon-link--x_twitter:focus {
	color: var(--theme-surface-on-surface);
}

.solaris-icon-link--youtube:hover,
.solaris-icon-link--youtube:focus {
	color: var(--brand-youtube);
}

.solaris-icon-link--facebook:hover,
.solaris-icon-link--facebook:focus {
	color: var(--brand-facebook);
}

.solaris-icon-link--reddit:hover,
.solaris-icon-link--reddit:focus {
	color: var(--brand-reddit);
}

.solaris-icon-link--pinterest:hover,
.solaris-icon-link--pinterest:focus {
	color: var(--brand-pinterest);
}

.solaris-icon-link--snapchat:hover,
.solaris-icon-link--snapchat:focus {
	color: var(--brand-snapchat);
}

.solaris-icon-link__icon {
	display: inline-block;
	font-size: var(--lg-size);
	line-height: 1;
}

.solaris-author-identity {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-md);
}

.solaris-author-socials {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	min-width: 0;
}

.solaris-author-header__identity .solaris-page-title {
	margin: 0;
}

.solaris-blog-carousel {
	--carousel-card-min: 260px;
	--carousel-card-max: 320px;
	--carousel-peek-hidden-ratio: 0.333;
	--carousel-peek-visible-ratio: 0.667;
	--carousel-preferred-full-cards: 5;
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: var(
		--carousel-column-width,
		minmax(var(--carousel-card-min), var(--carousel-card-max))
	);
	align-items: stretch;
	gap: var(--space-md);
	width: calc(100% + (var(--page-margin) * 2));
	margin-inline: calc(-1 * var(--page-margin));
	padding-inline-start: var(--page-margin);
	padding-inline-end: var(--page-margin);
	scroll-padding-inline-start: var(--page-margin);
	scroll-padding-inline-end: var(--page-margin);
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	padding-block-end: var(--space-md);
	-ms-overflow-style: none;
	scrollbar-width: none;
	touch-action: pan-y pinch-zoom;
	overscroll-behavior-x: contain;
	overscroll-behavior-y: auto;
	-webkit-overflow-scrolling: touch;
}

.solaris-blog-carousel::-webkit-scrollbar {
	display: none;
}

.solaris-blog-carousel .solaris-blog-card {
	width: 100%;
}

.solaris-carousel-nav {
	display: inline-flex;
	align-items: center;
	gap: var(--space-xs);
	padding: 4px;
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--shape-corner-rounded);
	background: var(--theme-nav-button);
}

.solaris-carousel-nav .solaris-carousel-nav__button {
	width: var(--button-height-sm);
	min-width: var(--button-height-sm);
	min-height: var(--button-height-sm);
	border-color: transparent;
	background: transparent;
	color: var(--theme-surface-on-surface);
}

.solaris-carousel-nav .solaris-carousel-nav__button:hover,
.solaris-carousel-nav .solaris-carousel-nav__button:focus {
	border-color: transparent;
	background: var(--theme-nav-button-hover);
	color: var(--theme-surface-on-surface);
}

.solaris-carousel-nav .solaris-carousel-nav__button.is-faded {
	opacity: 0.26;
	pointer-events: none;
	cursor: default;
}

.solaris-carousel-nav .solaris-carousel-nav__button.is-faded:hover,
.solaris-carousel-nav .solaris-carousel-nav__button.is-faded:focus {
	background: transparent;
	color: var(--theme-surface-on-surface);
}

.solaris-carousel-nav__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: var(--sm-size);
	line-height: 1;
}

/* -------------------------------------------------------------------------
   Blog card
   ------------------------------------------------------------------------- */

/* Service Icon Cards */
.solaris-service-icon-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	scroll-snap-align: start;
	transition:
		border-color 0.25s var(--ease-out-cubic),
		box-shadow 0.25s var(--ease-out-cubic);
}

@media (hover: hover) {

	.solaris-service-icon-card:is(:hover, :focus-within) {
		border-color: var(--theme-card-border-hover);
		box-shadow: 0 10px 28px -10px rgba(var(--theme-card-shadow-color-rgb), var(--theme-card-shadow-opacity));
	}

	.solaris-service-icon-card:is(:hover, :focus-within) .solaris-service-icon-card__icon-wrapper {
		background: var(--theme-primary-primary);
		color: var(--theme-primary-on-primary);
		transform: scale(1.08);
	}
}

.solaris-service-icon-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
	padding: var(--space-lg);
	pointer-events: auto;
}

.solaris-service-icon-card__icon-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: var(--shape-corner-rounded);
	background: var(--theme-primary-container);
	color: var(--theme-primary-on-container);
	font-size: var(--2xl-size);
	margin-bottom: var(--space-md);
	transition:
		background-color 0.25s var(--ease-out-cubic),
		color 0.25s var(--ease-out-cubic),
		transform 0.25s var(--ease-out-cubic);
}

@media (prefers-color-scheme: dark) {
	.solaris-service-icon-card__icon-wrapper {
		background: var(--theme-surface-surface-container-high);
		color: var(--theme-surface-on-surface);
	}
}

.solaris-service-icon-card__title {
	font-size: var(--base-size);
	font-weight: var(--font-weight-semibold);
	margin: 0 0 var(--space-xs);
	color: var(--theme-surface-on-surface);
	text-decoration: none;
}

.solaris-service-icon-card__excerpt {
	font-size: var(--sm-size);
	color: var(--theme-surface-on-surface-variant);
	line-height: 1.6;
	margin: 0;
	flex-grow: 1;
}

/* Blog Cards */
.solaris-blog-card {
	--blog-card-min-height: 22rem;
	--blog-card-body-min-height: 12rem;

	position: relative;
	scroll-snap-align: start;
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: var(--blog-card-min-height);
	border-radius: var(--shape-corner-lg);
	border: 1px solid var(--theme-outline-variant);
	isolation: isolate;
	transition:
		border-color 0.25s var(--ease-out-cubic),
		box-shadow 0.25s var(--ease-out-cubic);
}

@media (hover: hover) {
	.solaris-blog-card:is(:hover, :focus-within) {
		border-color: var(--theme-card-border-hover);
		box-shadow: 0 10px 28px -10px rgba(var(--theme-card-shadow-color-rgb), var(--theme-card-shadow-opacity));
	}

	[class*="solaris-blog-card--accent-"]:is(:hover, :focus-within) {
		border-color: rgba(var(--media-tone-a), 0.28);
		box-shadow:
			0 1px 2px rgba(var(--media-tone-a), 0.06),
			0 14px 32px -12px rgba(var(--media-tone-a), 0.2),
			0 6px 16px -8px rgba(var(--media-tone-b), 0.14);
	}

	.solaris-blog-card:is(:hover, :focus-within) .solaris-blog-card__read-more {
		color: var(--theme-surface-on-surface);
	}

	.solaris-blog-card:is(:hover, :focus-within) .solaris-blog-card__read-more span,
	.solaris-blog-card__read-more:is(:hover, :focus-visible) span {
		text-decoration: underline;
		text-underline-offset: 3px;
		text-decoration-thickness: 1.5px;
	}

	.solaris-blog-card:is(:hover, :focus-within) .solaris-blog-card__read-more i {
		transform: translateX(3px);
	}

	.solaris-blog-card:is(:hover, :focus-within) .solaris-featured-media__image {
		transform: scale(1.03);
	}
}

[class*="solaris-blog-card--accent-"] {
	--card-accent-gradient:
		linear-gradient(180deg, rgba(var(--media-tone-c), 0.72) 0%, rgba(var(--media-tone-c), 0.22) 42%, var(--theme-card-surface) 100%);
	border-color: rgba(var(--media-tone-a), 0.1);
	box-shadow:
		0 1px 2px rgba(var(--media-tone-a), 0.05),
		0 10px 26px -14px rgba(var(--media-tone-a), 0.14),
		0 4px 12px -8px rgba(var(--media-tone-b), 0.1);
}

.solaris-blog-card__media-link {
	display: block;
	flex-shrink: 0;
	overflow: hidden;
	color: inherit;
	text-decoration: none;
}

.solaris-blog-card__media-link:focus-visible {
	outline: 2px solid var(--theme-interaction-accent-on-surface);
	outline-offset: -2px;
}

.solaris-blog-card__media {
	aspect-ratio: 16 / 10;
	border-bottom: none;
	background: var(--theme-card-surface);
}

.solaris-blog-card__media.solaris-featured-media--image {
	display: block;
	margin: 0;
	background: var(--theme-card-surface);
}

.solaris-blog-card__media.solaris-featured-media--image::before,
.solaris-blog-card__media.solaris-featured-media--image::after {
	display: none;
}

.solaris-blog-card__media.solaris-featured-media--image .solaris-featured-media__image {
	position: static;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s var(--ease-out-cubic);
}

.solaris-blog-card__body {
	position: relative;
	z-index: 1;
	display: flex;
	flex: 1;
	flex-direction: column;
	align-items: stretch;
	gap: 0;
	min-height: var(--blog-card-body-min-height);
	padding-block: var(--space-lg);
	padding-inline: var(--panel-padding-inline);
	text-align: left;
}

.solaris-blog-card--has-image .solaris-blog-card__body {
	background: var(--theme-card-surface);
	border-top: 1px solid rgba(var(--media-tone-a), 0.2);
}

.solaris-blog-card--has-image[class*="solaris-blog-card--accent-"] {
	overflow: hidden;
	background: var(--card-accent-gradient);
}

.solaris-blog-card--has-image[class*="solaris-blog-card--accent-"] .solaris-blog-card__body {
	background: transparent;
}

.solaris-blog-card__head {
	flex: 0 0 auto;
	margin-bottom: var(--space-sm);
}

.solaris-blog-card__meta {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	gap: var(--space-sm);
}

.solaris-blog-card__category {
	display: inline-block;
	flex: 0 1 auto;
	min-width: 0;
	max-width: min(13em, 62%);
	padding: 4px 12px;
	overflow: hidden;
	font-size: var(--xxs-size);
	line-height: 1.35;
	font-weight: var(--font-weight-semibold);
	color: color-mix(in srgb, rgb(var(--media-tone-a)) 75%, var(--effect-mask-opaque));
	text-transform: uppercase;
	letter-spacing: 0.03em;
	text-overflow: ellipsis;
	white-space: nowrap;
	background: rgba(var(--media-tone-a), 0.12);
	border: 0;
	border-radius: var(--shape-corner-rounded);
}

@media (prefers-color-scheme: dark) {
	.solaris-blog-card__category {
		color: color-mix(in srgb, rgb(var(--media-tone-a)) 65%, var(--palette-grey-1200));
		background: rgba(var(--media-tone-a), 0.24);
	}
}

.solaris-blog-card__meta time {
	flex: 0 0 auto;
	margin-inline-start: auto;
	font-size: var(--xxs-size);
	line-height: var(--sm-line-height);
	color: var(--theme-surface-on-surface-variant);
	white-space: nowrap;
}

.solaris-blog-card__title-wrap {
	display: flex;
	flex: 1 1 auto;
	align-items: flex-start;
	width: 100%;
	padding-block: var(--space-sm);
}

.solaris-blog-card__title {
	width: 100%;
	margin: 0;
	font-size: clamp(1rem, 0.94rem + 0.25vw, 1.1875rem);
	line-height: 1.35;
	font-weight: var(--font-weight-semibold);
	letter-spacing: -0.016em;
	text-align: left;
}

.solaris-blog-card__title a {
	display: block;
	color: inherit;
	text-decoration: none;
}

.solaris-blog-card__read-more {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.35em;
	font-size: var(--sm-size);
	font-weight: var(--font-weight-medium);
	color: var(--theme-surface-on-surface-variant);
	text-decoration: none;
	transition: color 0.2s var(--ease-out-cubic);
}

.solaris-blog-card__read-more::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
}

.solaris-blog-card__read-more i {
	display: inline-flex;
	font-size: 0.92em;
	line-height: 1;
	transition: transform 0.2s var(--ease-out-cubic);
}

.solaris-blog-card__extras {
	flex: 0 0 auto;
	width: 100%;
	padding-bottom: var(--space-xs);
}

.solaris-blog-card__metrics,
.solaris-blog-card__tags {
	width: 100%;
	margin: 0;
}

.solaris-blog-card__metrics {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-sm);
	justify-items: start;
	text-align: left;
}

.solaris-blog-card__metric {
	display: flex;
	flex-direction: column;
	gap: 2px;
	min-width: 0;
}

.solaris-blog-card__metric-val {
	font-size: var(--lg-size);
	font-weight: var(--font-weight-bold);
	line-height: 1.2;
	color: rgb(var(--media-tone-a));
}

.solaris-blog-card__metric-lbl {
	overflow: hidden;
	font-size: var(--xs-size);
	color: var(--theme-surface-on-surface-variant);
	line-height: 1.3;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.solaris-blog-card__tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: var(--space-xs);
}

.solaris-blog-card__tag {
	max-width: 100%;
	overflow: hidden;
	padding: 4px 8px;
	font-size: var(--xs-size);
	font-weight: var(--font-weight-medium);
	color: rgb(var(--media-tone-a));
	text-overflow: ellipsis;
	white-space: nowrap;
	background: rgba(var(--media-tone-a), 0.1);
	border-radius: var(--control-radius);
}

.solaris-blog-card__footer {
	flex: 0 0 auto;
	width: 100%;
	margin-top: auto;
	padding-top: var(--space-md);
}

@media (prefers-reduced-motion: reduce) {

	.solaris-blog-card:is(:hover, :focus-within) .solaris-featured-media__image,
	.solaris-blog-card:is(:hover, :focus-within) .solaris-blog-card__read-more i {
		transform: none;
	}
}

/* No-image cards — soft top-to-bottom pastel wash */
.solaris-blog-card--no-image {
	overflow: hidden;
	background: var(--card-accent-gradient);
}

.solaris-blog-card--no-image .solaris-blog-card__body {
	flex: 1;
	min-height: var(--blog-card-body-min-height);
	padding-top: var(--space-lg);
	background: transparent;
}

.solaris-blog-card--no-image .solaris-blog-card__title {
	font-size: clamp(1.0625rem, 0.96rem + 0.35vw, 1.25rem);
	line-height: 1.32;
}

/* -------------------------------------------------------------------------
   Blog grid (archive / home)
   ------------------------------------------------------------------------- */

.solaris-page-header {
	margin-bottom: var(--space-3xl);
}

.solaris-main--listing {
	padding-block: 0;
}

.solaris-listing-page {
	padding-bottom: var(--space-4xl);
}

.solaris-listing-hero {
	padding-block: var(--section-space) var(--space-2xl);
	margin-bottom: 0;
}

.solaris-listing-hero.solaris-page-header {
	margin-bottom: 0;
}

.solaris-listing-hero__inner {
	width: 100%;
}

.solaris-listing-hero .solaris-breadcrumbs {
	margin-bottom: var(--space-lg);
}

.solaris-listing-hero__search {
	width: 100%;
}

/* Archive / card listings — left-aligned header */
.solaris-listing-hero--archive {
	text-align: left;
}

.solaris-listing-hero--archive .solaris-breadcrumbs__list {
	justify-content: flex-start;
}

.solaris-listing-hero--archive .solaris-archive-description {
	max-width: none;
	margin: var(--space-md) 0 0;
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--base-size);
	line-height: var(--base-line-height);
}

.solaris-listing-hero--archive .solaris-listing-hero__profile {
	width: 100%;
	max-width: none;
	margin: var(--space-xl) 0 0;
}

/* Search — centered, no breadcrumb */
.solaris-listing-hero--search {
	text-align: center;
}

.solaris-listing-hero--search .solaris-listing-hero__inner {
	max-width: 34rem;
	margin-inline: auto;
}

.solaris-listing-hero--search .solaris-listing-hero__search {
	margin-top: var(--space-md);
}

/* 404 — centered utility */
.solaris-listing-hero--utility {
	text-align: center;
}

.solaris-listing-hero--utility .solaris-listing-hero__inner {
	max-width: 34rem;
	margin-inline: auto;
}

.solaris-listing-hero__lead {
	max-width: 30rem;
	margin: 0 auto;
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--lg-size);
	line-height: var(--lg-line-height);
}

.solaris-listing-page--search .solaris-listing-empty {
	max-width: 34rem;
	margin-inline: auto;
	text-align: center;
}

.solaris-listing-page--archive .solaris-listing-empty {
	max-width: 42rem;
	margin-inline: 0;
	padding-block: var(--space-xl) 0;
	text-align: left;
}

.solaris-listing-body> :is(.solaris-post-grid, .solaris-pagination, .solaris-listing-empty) {
	margin-top: 0;
}

.solaris-listing-body>.solaris-pagination {
	margin-top: var(--space-3xl);
}

.solaris-listing-empty {
	padding-block: var(--space-lg);
	color: var(--theme-surface-on-surface-variant);
}

.solaris-listing-empty p {
	margin: 0;
}

.solaris-listing-empty .solaris-listing-hero__search {
	margin-top: var(--space-md);
}

.solaris-utility-page .solaris-page-header {
	margin-bottom: var(--space-lg);
}

.solaris-error-404__hero {
	padding-block: var(--section-space);
}

.solaris-error-404__hero .solaris-listing-page {
	padding-bottom: 0;
}

.solaris-error-404__hero .solaris-listing-hero {
	padding-block: 0;
}

.solaris-listing-hero--utility .solaris-page-header {
	margin-bottom: var(--space-lg);
}

.solaris-listing-hero--utility .solaris-listing-hero__content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-md);
	width: 100%;
}

.solaris-listing-hero--utility .solaris-listing-hero__lead {
	margin: 0;
}

.solaris-listing-hero--utility .solaris-listing-hero__search {
	margin-top: var(--space-sm);
}

.solaris-search-form--prominent {
	display: flex;
	align-items: stretch;
	width: 100%;
	max-width: none;
	gap: var(--space-md);
}

.solaris-search-form--prominent .solaris-search-form__input {
	min-height: var(--button-height-lg);
	padding-inline: var(--button-padding-x-lg);
	font-size: var(--base-size);
}

.solaris-search-form--prominent .solaris-search-form__submit {
	min-height: var(--button-height-lg);
	padding-inline: var(--button-padding-x-lg);
}

.solaris-page-title {
	margin: 0;
	font-size: var(--4xl-size);
	line-height: var(--4xl-line-height);
	letter-spacing: var(--4xl-letter-spacing);
	font-weight: var(--font-weight-medium);
	font-variation-settings: "opsz" 32;
}

.solaris-archive-description {
	margin-top: var(--space-md);
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--base-size);
	line-height: var(--base-line-height);
}

.solaris-post-grid {
	align-items: stretch;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.solaris-post-grid > :is(.solaris-blog-card, .solaris-service-icon-card) {
	height: auto;
	align-self: stretch;
}

.solaris-post-grid .solaris-service-icon-card {
	--service-icon-card-min-height: 11rem;
	display: flex;
	flex-direction: column;
	min-height: var(--service-icon-card-min-height);
}

.solaris-post-grid .solaris-service-icon-card__link {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	height: auto;
	min-height: 100%;
}

.solaris-post-grid .solaris-service-icon-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	min-height: 0;
}

.solaris-post-grid .solaris-service-icon-card__excerpt {
	flex: 1 1 auto;
	min-height: calc(var(--sm-size) * 1.6 * 3);
}

.solaris-post-grid .solaris-blog-card {
	--blog-card-min-height: 24rem;
	--blog-card-body-min-height: 13.5rem;
	height: auto;
	display: flex;
	flex-direction: column;
}

.solaris-post-grid .solaris-blog-card--has-image {
	--blog-card-min-height: 26rem;
	--blog-card-body-min-height: 11rem;
}

@media (max-width: 639px) {
	.solaris-post-grid .solaris-service-icon-card {
		--service-icon-card-min-height: 12rem;
	}
}

@media (min-width: 1200px) {
	.solaris-post-grid .solaris-service-icon-card {
		--service-icon-card-min-height: 11.5rem;
	}
}

.solaris-post-grid--related {
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.solaris-breadcrumbs {
	margin-bottom: var(--space-lg);
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--sm-size);
	line-height: var(--sm-line-height);
}

.solaris-breadcrumbs__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-xs);
	list-style: none;
	margin: 0;
	padding: 0;
}

.solaris-breadcrumbs__item:not(:last-child)::after {
	content: ">";
	margin-inline: 0.35em;
	color: var(--palette-grey-300);
	font-size: 0.92em;
}

.solaris-breadcrumbs a {
	color: inherit;
	text-decoration: none;
}

.solaris-breadcrumbs a:hover,
.solaris-breadcrumbs a:focus {
	color: var(--theme-surface-on-surface);
}

.solaris-author-header {
	display: grid;
	grid-template-columns: auto 1fr;
	align-items: start;
	gap: var(--space-md);
	padding: var(--space-lg);
	border-radius: var(--shape-corner-lg);
	background: var(--theme-surface-surface-container);
	text-align: start;
}

.solaris-author-header .solaris-author-identity {
	justify-content: flex-start;
}

@media (min-width: 768px) {
	.solaris-author-header {
		gap: var(--space-xl);
	}
}

.solaris-author-header__avatar {
	flex-shrink: 0;
	display: flex;
	justify-content: flex-start;
}

.solaris-author-header__content {
	min-width: 0;
}

.solaris-author-header__main {
	min-width: 0;
}

.solaris-author-header__avatar-image {
	display: block;
	width: 64px;
	height: 64px;
	border-radius: var(--shape-corner-rounded);
	object-fit: cover;
	background: var(--theme-surface-surface-container-high);
}

@media (min-width: 768px) {
	.solaris-author-header__avatar-image {
		width: 96px;
		height: 96px;
	}
}

.solaris-author-header__bio {
	margin-top: var(--space-md);
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--base-size);
	line-height: var(--base-line-height);
	overflow-wrap: anywhere;
	hyphens: auto;
	-webkit-hyphens: auto;
}

/* -------------------------------------------------------------------------
   Footer
   ------------------------------------------------------------------------- */

.solaris-site-footer {
	background: var(--theme-footer-surface);
	color: var(--theme-footer-on-surface);
	border-top: 1px solid var(--theme-footer-outline);
}

.solaris-site-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-2xl);
	padding-block: var(--space-2xl);
}

.solaris-site-footer__brand {
	max-width: none;
	min-width: 0;
}

.solaris-footer-brand {
	display: grid;
	gap: var(--space-md);
}

.solaris-site-footer__columns {
	display: contents;
}

.solaris-footer__column {
	display: flex;
	flex-direction: column;
	gap: var(--space-sm);
	min-width: 0;
}

.solaris-site-footer__brand .solaris-site-logo {
	font-size: clamp(1.125rem, 1rem + 0.35vw, 1.375rem);
	line-height: 1.3;
	font-weight: var(--font-weight-semibold);
	letter-spacing: -0.014em;
	color: var(--theme-footer-on-surface);
	white-space: normal;
}

.solaris-footer-brand__tagline {
	margin: 0;
	max-width: 100%;
	font-size: var(--base-size);
	line-height: 1.55;
	font-weight: var(--font-weight-regular);
	color: var(--theme-footer-on-surface-variant);
	text-wrap: pretty;
}

.solaris-footer-brand__socials {
	margin-top: var(--space-md);
}

.solaris-footer-brand__contact {
	margin-top: var(--space-lg);
	font-size: var(--sm-size);
	color: var(--theme-footer-on-surface-variant);
	line-height: 1.6;
}

.solaris-footer-brand__contact-item {
	margin: 0 0 var(--space-md);
	display: flex;
	align-items: flex-start;
	gap: var(--space-md);
}

.solaris-footer-brand__contact-item:last-child {
	margin-bottom: 0;
}

.solaris-footer-brand__contact-item i {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--theme-footer-on-surface);
	font-size: var(--lg-plus-size);
	line-height: 1;
	flex-shrink: 0;
}

.solaris-footer-brand__contact-item a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s var(--ease-out-cubic);
}

.solaris-footer-brand__contact-item a:hover,
.solaris-footer-brand__contact-item a:focus {
	color: var(--theme-footer-on-surface);
}

.solaris-footer__column-title {
	display: block;
	margin: 0 0 var(--space-sm);
	color: var(--theme-footer-on-surface);
	font-size: var(--sm-size);
	line-height: var(--sm-line-height);
	font-weight: var(--font-weight-medium);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.solaris-footer-menu {
	display: grid;
	gap: var(--space-sm);
	list-style: none;
	margin: 0;
	padding: 0;
}

.solaris-footer-menu a {
	color: var(--theme-footer-on-surface-variant);
	text-decoration: none;
	font-size: var(--sm-size);
	line-height: var(--sm-line-height);
	font-weight: var(--font-weight-medium);
}

.solaris-footer-menu a:hover,
.solaris-footer-menu a:focus {
	color: var(--theme-footer-on-surface);
}

.solaris-menu-setup {
	margin: 0;
}

.solaris-site-footer .solaris-menu-setup__link {
	display: inline-flex;
	align-items: center;
	min-height: 36px;
	padding: 0 var(--space-md);
	border-color: var(--theme-footer-outline);
	background: var(--theme-footer-overlay-low);
	border-radius: var(--shape-corner-rounded);
	color: var(--theme-footer-on-surface);
	text-decoration: none;
	font-size: var(--sm-size);
}

.solaris-site-footer .solaris-menu-setup__link:hover,
.solaris-site-footer .solaris-menu-setup__link:focus {
	background: var(--theme-footer-overlay-high);
}

.solaris-site-footer__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: var(--space-lg);
	padding-block: var(--space-lg);
	padding-inline: 0;
	border-top: 1px solid var(--theme-footer-outline);
	text-align: center;
}

@media (min-width: 768px) {
	.solaris-site-footer__top {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: var(--space-2xl) var(--space-3xl);
		padding-block: var(--space-3xl);
	}
}

@media (min-width: 1025px) {
	.solaris-site-footer__top {
		grid-template-columns: 2fr repeat(3, minmax(0, 1fr));
		gap: var(--space-2xl);
	}
}

.solaris-menu--footer {
	gap: var(--space-lg);
}

.solaris-site-info {
	margin: 0;
	color: var(--theme-footer-on-surface-variant);
	font-size: var(--sm-size);
	line-height: 1.6;
	letter-spacing: 0.02em;
}

.solaris-site-info__rights {
	display: inline;
}

@media (max-width: 480px) {
	.solaris-site-info__rights {
		display: block;
		margin-top: var(--space-xs);
	}
}

.solaris-footer-socials {
	display: flex;
	gap: var(--space-sm);
	row-gap: var(--space-sm);
	align-items: center;
	flex-wrap: wrap;
}

.solaris-footer-social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: var(--shape-corner-rounded);
	background-color: var(--theme-footer-overlay-low);
	color: var(--theme-footer-on-surface);
	text-decoration: none;
	font-size: var(--base-size);
	transition: background-color 0.2s var(--ease-out-cubic), color 0.2s var(--ease-out-cubic), transform 0.2s var(--ease-out-cubic);
}

.solaris-footer-social-link:hover,
.solaris-footer-social-link:focus-visible {
	background-color: var(--theme-footer-social-hover);
	color: var(--theme-footer-social-on-hover);
}

.solaris-site-info a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s var(--ease-out-cubic);
}

.solaris-site-info a:hover,
.solaris-site-info a:focus {
	color: var(--theme-footer-on-surface);
}

/* -------------------------------------------------------------------------
   Pagination + misc
   ------------------------------------------------------------------------- */

.solaris-pagination,
.navigation.pagination {
	margin-top: var(--space-3xl);
}

.solaris-pagination .nav-links,
.navigation.pagination .nav-links,
.solaris-pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--space-sm);
}

.solaris-pagination ul.page-numbers {
	list-style: none;
	margin: 0;
	padding: 0;
}

.solaris-pagination a,
.solaris-pagination span,
.navigation.pagination a,
.navigation.pagination span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 40px;
	min-height: var(--button-height-md);
	padding: 0 var(--button-padding-x-md);
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--control-radius);
	background: var(--theme-secondary-button);
	text-decoration: none;
	color: inherit;
	font-size: var(--cta-sm-size);
	line-height: var(--cta-sm-line-height);
	font-weight: var(--font-weight-medium);
	transition: background 0.2s var(--ease-out-cubic), color 0.2s var(--ease-out-cubic);
}

.solaris-pagination span.current,
.navigation.pagination span.current {
	border-color: var(--theme-primary-primary);
	background: var(--theme-primary-primary);
	color: var(--theme-primary-on-primary);
}

.solaris-pagination span.dots,
.navigation.pagination span.dots {
	border-color: transparent;
	background: transparent;
	color: var(--theme-surface-on-surface-variant);
}

.solaris-search-form {
	display: flex;
	align-items: stretch;
	gap: var(--space-sm);
	margin-top: var(--space-lg);
	max-width: 36rem;
}

.solaris-error-404 .solaris-search-form,
.solaris-listing-hero .solaris-search-form,
.solaris-search-form--prominent {
	margin-top: 0;
}

.solaris-search-form input[type="search"] {
	flex: 1;
	-webkit-appearance: none;
	appearance: none;
}

.solaris-listing-hero .solaris-search-form {
	max-width: none;
}

.solaris-comments {
	max-width: none;
	margin: 0;
}

.solaris-comments__panel {
	display: grid;
	gap: var(--space-xl);
}

.solaris-comments__title {
	margin: 0;
	font-size: var(--2xl-size);
	line-height: var(--2xl-line-height);
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--2xl-letter-spacing);
}

.solaris-comments__form-title {
	margin: 0;
	font-size: var(--lg-size);
	line-height: var(--lg-line-height);
	font-weight: var(--font-weight-medium);
	letter-spacing: var(--lg-letter-spacing);
}

.solaris-comments__form {
	display: grid;
	gap: var(--space-xl);
	margin: 0;
	padding: 0;
	border: 0;
}

.solaris-comments__panel--has-list .solaris-comments__form {
	padding-top: var(--space-2xl);
	border-top: 1px solid var(--theme-outline-variant);
}

.solaris-comments__closed {
	margin: 0;
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--sm-size);
}

.solaris-comment-form__logged-in {
	padding: var(--space-sm) var(--space-md);
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--shape-corner-rounded);
	background: var(--theme-surface-surface);
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--sm-size);
	line-height: var(--sm-line-height);
}

.solaris-comment-form__logged-in a {
	color: var(--theme-interaction-accent-on-surface);
	text-decoration: none;
}

.solaris-comment-form__logged-in a:hover,
.solaris-comment-form__logged-in a:focus {
	color: var(--theme-surface-on-surface);
	text-decoration: underline;
}

.solaris-comment-form__logged-in strong {
	color: var(--theme-surface-on-surface);
	font-weight: var(--font-weight-medium);
}

.solaris-comment-list,
.solaris-comment-list .children {
	display: grid;
	gap: var(--space-md);
	list-style: none;
	margin: 0;
	padding: 0;
}

.solaris-comment-list .children {
	margin-top: var(--space-md);
	padding-inline-start: var(--list-indent);
	border-inline-start: 1px solid var(--theme-outline-variant);
}

.solaris-comment__card {
	padding: var(--space-lg);
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--shape-corner-lg);
	background: var(--theme-surface-surface);
}

.solaris-comment__header {
	display: flex;
	align-items: center;
	gap: var(--space-md);
	margin-bottom: var(--space-sm);
}

.solaris-comment__avatar-image {
	display: block;
	width: 48px;
	height: 48px;
	border-radius: var(--shape-corner-rounded);
	object-fit: cover;
}

.solaris-comment__author {
	margin: 0;
	font-size: var(--base-size);
	line-height: var(--base-line-height);
	font-weight: var(--font-weight-medium);
	color: var(--theme-surface-on-surface);
}

.solaris-comment__date {
	display: block;
	margin-top: 2px;
	color: var(--theme-on-surface-subtle);
	font-size: var(--xs-size);
	line-height: var(--xs-line-height);
}

.solaris-comment__moderation {
	margin: 0 0 var(--space-sm);
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--sm-size);
}

.solaris-comment__content {
	color: var(--theme-surface-on-surface);
	font-size: var(--content-size);
	line-height: var(--content-line-height);
	text-wrap: pretty;
}

.solaris-comment__content p {
	margin-inline: 0;
	margin-bottom: 0;
}

.solaris-comment__content>*+* {
	margin-top: 0.85em;
}

.solaris-comment__content :is(h1, h2, h3, h4, h5, h6) {
	margin: 1em 0 0.35em;
	font-size: 1.05em;
	line-height: 1.35;
	font-weight: var(--font-weight-medium);
	letter-spacing: -0.01em;
}

.solaris-comment__content :is(h1, h2, h3, h4, h5, h6):first-child {
	margin-top: 0;
}

.solaris-comment__content ul,
.solaris-comment__content ol {
	margin: 0.75em 0 0;
	padding-inline-start: var(--list-indent);
	list-style: revert;
}

.solaris-comment__content li {
	padding-inline-start: 0;
}

.solaris-comment__content li+li {
	margin-top: 0.35em;
}

.solaris-comment__content a {
	color: var(--theme-interaction-accent-on-surface);
	text-decoration: underline;
	text-underline-offset: 0.12em;
}

.solaris-comment__content a:hover,
.solaris-comment__content a:focus {
	color: var(--theme-surface-on-surface);
}

.solaris-comment__content :is(blockquote, .wp-block-quote) {
	margin: 0.75em 0 0;
	padding: var(--space-md);
	border: 0;
	border-radius: var(--shape-corner-sm);
	background: var(--theme-surface-surface-container);
	color: var(--theme-surface-on-surface-variant);
	font-size: 0.98em;
	line-height: 1.55;
}

.solaris-comment__content> :first-child {
	margin-top: 0;
}

.solaris-comment__content> :last-child {
	margin-bottom: 0;
}

.solaris-comment__footer {
	margin-top: var(--space-sm);
}

.solaris-comment__reply {
	min-height: var(--button-height-sm);
	padding-inline: var(--button-padding-x-sm);
	font-size: var(--sm-size);
}

.solaris-comment-form {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-lg);
}

.solaris-comment-form .comment-form-comment,
.solaris-comment-form .form-submit,
.solaris-comment-form .logged-in-as,
.solaris-comment-form .comment-notes,
.solaris-comment-form .comment-form-cookies-consent {
	grid-column: 1 / -1;
}

.solaris-comment-form p {
	margin: 0;
}

.solaris-comment-form__field {
	display: grid;
	gap: var(--space-xs);
}

.solaris-comment-form label {
	display: block;
	margin-bottom: var(--space-xs);
	font-size: var(--sm-size);
	line-height: var(--sm-line-height);
	font-weight: var(--font-weight-medium);
	color: var(--theme-surface-on-surface-variant);
}

.solaris-comment-form .comment-form-cookies-consent {
	--solaris-choice-visual-size: 1.125rem;
	--solaris-choice-align-offset: calc((var(--sm-size) * var(--sm-line-height) - var(--solaris-choice-visual-size)) / 2);
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: var(--space-md);
	align-items: start;
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--sm-size);
	line-height: var(--sm-line-height);
}

.solaris-comment-form .comment-form-cookies-consent label {
	grid-column: 2;
	grid-row: 1;
	margin: 0;
	font-weight: var(--font-weight-regular);
}

.solaris-comment-form label .required {
	color: var(--theme-surface-on-surface-variant);
}

.solaris-comment-form__submit {
	margin: 0;
}

.solaris-comment-form__submit .submit {
	width: 100%;
	margin-top: var(--space-xs);
	box-shadow: 0 4px 12px var(--theme-outline-variant);
	transition: background 0.3s var(--ease-out-cubic), color 0.3s var(--ease-out-cubic);
}

.comment-respond {
	display: grid;
	gap: var(--space-lg);
	margin: 0;
	padding: var(--space-xl);
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--shape-corner-lg);
	background: var(--theme-surface-surface-container);
}

.solaris-cancel-comment-reply-link {
	margin-inline-start: var(--space-sm);
	font-size: var(--sm-size);
	font-weight: var(--font-weight-regular);
	color: var(--theme-surface-on-surface-variant);
	text-decoration: none;
}

.solaris-cancel-comment-reply-link:hover,
.solaris-cancel-comment-reply-link:focus {
	color: var(--theme-surface-on-surface);
	text-decoration: underline;
}

.navigation.comment-navigation {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--space-md);
	margin-bottom: var(--space-xl);
	font-size: var(--sm-size);
}

.navigation.comment-navigation a {
	color: var(--theme-interaction-accent-on-surface);
	text-decoration: none;
}

.navigation.comment-navigation a:hover,
.navigation.comment-navigation a:focus {
	color: var(--theme-surface-on-surface);
	text-decoration: underline;
}

.solaris-attachment__caption {
	margin-top: var(--space-md);
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--sm-size);
	line-height: var(--sm-line-height);
}

.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	word-wrap: normal;
}

.screen-reader-text:focus {
	background-color: var(--palette-grey-20);
	border-radius: var(--shape-corner-xs);
	box-shadow: 0 0 2px 2px var(--effect-backdrop-soft);
	clip: auto;
	clip-path: none;
	color: var(--theme-interaction-accent-on-surface);
	display: block;
	font-size: var(--sm-size);
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* -------------------------------------------------------------------------
   Responsive
   ------------------------------------------------------------------------- */

/* --breakpoint-nav: 991px (foundations.css) */
@media (max-width: 991px) {
	.solaris-site-header__inner {
		position: relative;
	}

	.solaris-mega-panels {
		display: none;
	}

	.solaris-site-logo {
		max-width: min(64vw, 320px);
		font-size: var(--base-size);
	}

	.solaris-site-header__brand-subnav {
		display: none;
		align-items: center;
		gap: 0;
		min-width: 0;
		max-width: 100%;
		margin: 0;
		padding: 0;
		border: 0;
		background: transparent;
		color: inherit;
		font: inherit;
		text-align: left;
		cursor: pointer;
		min-height: 44px;
		border-radius: var(--shape-corner-rounded);
		transition: none;
	}

	.solaris-site-header.is-mobile-sub-open .solaris-site-header__brand {
		flex: 1 1 auto;
		min-width: 0;
		display: flex;
		align-items: center;
	}

	.solaris-site-header.is-mobile-sub-open .solaris-site-header__brand-swap {
		display: none;
	}

	.solaris-site-header.is-mobile-sub-open .solaris-site-header__brand-subnav {
		display: inline-flex;
		flex: 1 1 auto;
		min-width: 0;
		width: 100%;
	}

	.solaris-mobile-nav-back__icon {
		display: inline-flex;
		align-items: center;
		justify-content: flex-start;
		flex-shrink: 0;
		width: 44px;
		font-size: var(--lg-size);
		line-height: 1;
	}

	.solaris-site-header__brand-subnav {
		-webkit-tap-highlight-color: transparent !important;
	}

	.solaris-site-header__brand-subnav:focus-visible {
		outline: 2px solid var(--theme-interaction-accent-on-surface);
		outline-offset: 2px;
	}

	.solaris-site-header__brand-subnav:active {
		background: transparent;
	}

	.solaris-site-header__brand-subnav .solaris-mobile-nav-subheader__title {
		flex: 1 1 auto;
		min-width: 0;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
		font-size: clamp(1.0625rem, 0.98rem + 0.32vw, 1.25rem);
		line-height: 1.35;
		font-weight: var(--font-weight-semibold);
		letter-spacing: -0.018em;
		color: var(--theme-surface-on-surface);
	}

	.solaris-site-logo__text {
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.solaris-site-header__brand {
		display: flex;
		align-items: center;
		min-width: 0;
	}

	.solaris-site-header__brand-swap {
		display: grid;
		align-items: center;
		min-width: 0;
		flex: 0 1 auto;
	}

	.solaris-site-header__brand-swap > .solaris-site-logo,
	.solaris-site-header__brand-swap > .solaris-site-header__brand-cta {
		grid-area: 1 / 1;
		min-width: 0;
		transition:
			opacity 0.3s var(--ease-out-cubic),
			transform 0.3s var(--ease-out-cubic),
			visibility 0s linear 0.3s;
	}

	.solaris-site-header__brand-cta {
		display: flex;
		align-items: center;
		max-width: min(58vw, 220px);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		pointer-events: none;
	}

	.solaris-site-header__brand-swap > .solaris-site-logo {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		transition:
			opacity 0.3s var(--ease-out-cubic),
			transform 0.3s var(--ease-out-cubic),
			visibility 0s linear 0s;
	}

	.solaris-site-header.is-mobile-brand-cta .solaris-site-header__brand-swap > .solaris-site-logo {
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		pointer-events: none;
	}

	.solaris-site-header.is-mobile-brand-cta .solaris-site-header__brand-cta {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
		transition:
			opacity 0.3s var(--ease-out-cubic),
			transform 0.3s var(--ease-out-cubic),
			visibility 0s linear 0s;
	}

	.solaris-site-header.is-mobile-nav-open .solaris-site-header__brand-cta,
	.solaris-site-header.is-mobile-sub-open .solaris-site-header__brand-cta {
		opacity: 0;
		visibility: hidden;
		transform: translateY(-8px);
		pointer-events: none;
	}

	.solaris-site-header.is-mobile-nav-open:not(.is-mobile-sub-open) .solaris-site-header__brand-swap > .solaris-site-logo {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
		pointer-events: auto;
	}

	.solaris-btn--header-brand {
		width: 100%;
		max-width: 100%;
		min-height: var(--button-height-sm);
		padding-inline: var(--button-padding-x-sm);
		font-size: var(--sm-size);
		font-weight: var(--font-weight-medium);
		letter-spacing: 0;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	@media (prefers-reduced-motion: reduce) {
		.solaris-site-header__brand-swap > .solaris-site-logo,
		.solaris-site-header__brand-swap > .solaris-site-header__brand-cta {
			transition: none;
			transform: none;
		}
	}

	.solaris-menu-toggle {
		display: inline-flex;
		transition: none;
	}

	.solaris-menu-toggle__icon,
	.solaris-menu-toggle__icon::before,
	.solaris-menu-toggle__icon::after {
		transition: none;
	}

	.solaris-site-header__actions .solaris-header-cta-attention {
		display: none;
	}

	.solaris-site-header__actions .solaris-btn--header {
		display: none;
	}

	.solaris-primary-navigation {
		position: fixed;
		top: var(--header-shell-bottom, 68px);
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 55;
		display: none;
		flex-direction: column;
		align-items: stretch;
		width: 100%;
		max-width: none;
		padding: 0;
		border: 0;
		border-top: 1px solid var(--theme-outline-variant);
		border-radius: 0;
		background: var(--mobile-nav-section-bg);
		box-shadow: none;
		pointer-events: none;
		transform: none;
		transition: none;
	}

	.solaris-primary-navigation.is-open {
		display: flex;
		pointer-events: auto;
		height: calc(100dvh - var(--header-shell-bottom, 68px));
		max-height: calc(100dvh - var(--header-shell-bottom, 68px));
		overflow: hidden;
	}

	.solaris-primary-navigation.is-open .solaris-primary-navigation__views {
		min-height: 0;
	}

	.solaris-primary-navigation__views {
		display: flex;
		grid-row: 1;
		grid-column: 1;
		align-self: stretch;
		justify-self: stretch;
		position: relative;
		width: 100%;
		height: 100%;
		min-height: 0;
		overflow: hidden;
	}

	.solaris-primary-navigation__view {
		position: absolute;
		inset: 0;
		display: flex;
		flex-direction: column;
		width: 100%;
		height: 100%;
		min-height: 0;
		background: var(--mobile-nav-section-bg);
		transition: none;
	}

	.solaris-primary-navigation__view--root {
		transform: none;
		opacity: 1;
	}

	.solaris-primary-navigation.is-open .solaris-primary-navigation__view--root {
		visibility: visible;
	}

	.solaris-primary-navigation__view--sub {
		display: flex;
		transform: none;
		opacity: 1;
		visibility: hidden;
		pointer-events: none;
	}

	.solaris-primary-navigation.is-sub-open .solaris-primary-navigation__view--root {
		transform: none;
		opacity: 0;
		visibility: hidden;
		pointer-events: none;
	}

	.solaris-primary-navigation.is-sub-open .solaris-primary-navigation__view--sub {
		transform: none;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
	}

	.solaris-primary-navigation.is-sub-open {
		grid-template-rows: none;
	}

	.solaris-primary-navigation.is-sub-open .solaris-primary-navigation__cta--mobile,
	.solaris-primary-navigation__cta--desktop {
		display: none;
	}

	.solaris-primary-navigation__scroll {
		display: block;
		position: relative;
		flex: 1 1 auto;
		width: 100%;
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		touch-action: pan-y;
		padding-block: var(--space-md) max(var(--space-2xl), env(safe-area-inset-bottom));
		padding-inline: 0;
	}

	.solaris-mobile-nav-subscroll {
		display: block;
		flex: 1 1 auto;
		width: 100%;
		min-height: 0;
		overflow-x: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior: contain;
		touch-action: pan-y;
		padding: var(--space-md) 0 max(var(--space-2xl), env(safe-area-inset-bottom));
	}

	.solaris-primary-navigation .solaris-menu {
		display: flex;
		width: 100%;
		max-width: none;
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-xs);
		padding: 0;
		margin: 0;
		background: transparent;
	}

	.solaris-menu--primary > li {
		width: 100%;
		border-bottom: 0;
	}

	.solaris-menu--primary > li:last-child {
		border-bottom: 0;
	}

	.solaris-menu a,
	.solaris-mega-trigger {
		width: 100%;
		min-height: var(--mobile-nav-row-height);
		justify-content: space-between;
		gap: var(--space-md);
		padding-block: var(--space-sm);
		padding-inline: var(--page-margin);
		border-radius: 0;
		background: transparent;
		font-size: clamp(1.0625rem, 0.98rem + 0.32vw, 1.25rem);
		line-height: 1.35;
		font-weight: var(--font-weight-semibold);
		letter-spacing: -0.018em;
		white-space: normal;
		text-align: left;
		transition: none;
	}

	.solaris-menu a:focus-visible,
	.solaris-mega-trigger:focus-visible,
	.solaris-mega-panel .solaris-mega-group__list a:focus-visible,
	.solaris-mega-panel__footer-list a:focus-visible {
		outline: 2px solid var(--theme-interaction-accent-on-surface);
		outline-offset: 4px;
		background: transparent;
	}

	.solaris-menu .current-menu-item > a,
	.solaris-menu .current_page_item > a,
	.solaris-menu .current-menu-parent > a,
	.solaris-menu .current-menu-ancestor > a,
	.solaris-menu .current_page_parent > a,
	.solaris-menu .current_page_ancestor > a {
		background: transparent;
		box-shadow: none;
		color: inherit;
	}

	.solaris-mega-menu.is-open > .solaris-mega-trigger,
	.solaris-mega-trigger[aria-expanded="true"] {
		background: transparent;
		color: inherit;
	}

	.solaris-mega-menu.is-open {
		background: transparent;
		box-shadow: none;
	}

	.solaris-mega-trigger__chevron--desktop {
		display: none;
	}

	.solaris-mega-trigger__chevron--mobile {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex-shrink: 0;
		width: 44px;
		margin: 0;
		margin-inline-start: auto;
		color: var(--theme-surface-on-surface);
		font-size: 0.86em;
		opacity: 0.9;
		transition: none;
	}

	.solaris-mega-menu > .solaris-mega-panel {
		display: none;
	}

	.solaris-mobile-nav-subscroll .solaris-mega-panel,
	.solaris-mobile-nav-subscroll .solaris-mega-panel.is-open,
	.solaris-mobile-nav-subscroll .solaris-mega-panel[hidden] {
		display: block;
		position: static;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		color: var(--theme-nav-on-surface);
		box-shadow: none;
		opacity: 1;
		visibility: visible;
		pointer-events: auto;
		transform: none;
	}

	.solaris-mobile-nav-subscroll .solaris-mega-panel__inner {
		display: flex;
		flex-direction: column;
		gap: 0;
		width: 100%;
		max-width: none;
		margin: 0;
		padding: 0;
		border: 0;
		border-radius: 0;
		background: transparent;
		box-shadow: none;
	}

	.solaris-mobile-nav-subscroll .solaris-mega-panel__intro {
		display: none !important;
	}

	.solaris-mobile-nav-subscroll .solaris-mega-panel__title {
		max-width: 34rem;
		font-size: clamp(var(--xl-size), 1.15rem + 0.9vw, var(--3xl-size));
		line-height: 1.18;
		font-weight: var(--font-weight-semibold);
		letter-spacing: var(--2xl-letter-spacing);
		color: var(--theme-surface-on-surface);
	}

	.solaris-mobile-nav-subscroll .solaris-mega-panel__description {
		max-width: 30rem;
		margin-top: var(--space-sm);
		font-size: var(--base-size);
		line-height: var(--base-line-height);
		color: var(--theme-surface-on-surface-variant);
	}

	.solaris-mobile-nav-subscroll .solaris-mega-panel__overview-link {
		margin-top: var(--space-md);
		font-size: var(--sm-size);
		line-height: var(--sm-line-height);
	}

	.solaris-mobile-nav-subscroll .solaris-mega-panel__overview-link:focus-visible {
		outline: 2px solid var(--theme-interaction-accent-on-surface);
		outline-offset: 4px;
		border-radius: var(--shape-corner-sm);
	}

	.solaris-mega-panel__groups,
	.solaris-mega-panel__groups--flat,
	.solaris-mega-panel[data-mega-layout="grouped"] .solaris-mega-panel__groups {
		display: flex;
		flex-direction: column;
		grid-auto-flow: unset;
		grid-auto-columns: unset;
		grid-template-columns: unset;
		gap: 0;
		width: 100%;
		min-width: 0;
	}

	.solaris-mega-group,
	.solaris-mega-group.solaris-mega-group--flat,
	.solaris-mega-group--solo {
		width: 100%;
		min-width: 0;
		max-width: none;
		gap: 0;
		border: 0;
	}

	.solaris-mega-group + .solaris-mega-group {
		margin-top: var(--space-xl);
		border-top: 0;
	}

	.solaris-mega-group__title,
	.solaris-mega-group__title--link {
		display: flex;
		align-items: center;
		min-height: auto;
		margin: 0;
		padding: 0 var(--page-margin) var(--space-sm);
		font-size: clamp(1.0625rem, 0.98rem + 0.32vw, 1.25rem);
		line-height: 1.35;
		font-weight: var(--font-weight-semibold);
		letter-spacing: -0.018em;
		text-transform: none;
		color: var(--theme-surface-on-surface);
	}

	.solaris-mega-group__title--link {
		text-decoration: none;
	}

	.solaris-mega-group__list {
		display: flex;
		flex-direction: column;
		gap: 0;
		margin: 0;
		padding: 0;
	}

	.solaris-mega-panel .solaris-mega-group__list a,
	.solaris-mega-panel .solaris-mega-group--flat .solaris-mega-group__list a {
		display: flex;
		align-items: center;
		width: 100%;
		max-width: none;
		min-height: 46px;
		padding: 6px var(--page-margin);
		border-radius: 0;
		color: var(--theme-surface-on-surface);
		font-size: clamp(1.0625rem, 0.98rem + 0.32vw, 1.25rem);
		line-height: 1.35;
		font-weight: var(--font-weight-regular);
		text-decoration: none;
		white-space: normal;
		transition: none;
	}

	.solaris-mega-panel .solaris-mega-group__list a:active,
	.solaris-mega-panel .solaris-mega-group__list a:focus-visible {
		color: var(--theme-surface-on-surface);
	}

	.solaris-mega-panel .solaris-mega-group__list li {
		border: 0;
	}

	.solaris-mega-panel[data-mega-layout="flat"] .solaris-mega-group--flat .solaris-mega-group__list,
	.solaris-mega-panel[data-mega-layout="flat"][data-flat-columns="1"] .solaris-mega-group--flat .solaris-mega-group__list,
	.solaris-mega-panel[data-mega-layout="flat"][data-flat-columns="2"] .solaris-mega-group--flat .solaris-mega-group__list,
	.solaris-mega-panel[data-mega-layout="flat"][data-flat-columns="3"] .solaris-mega-group--flat .solaris-mega-group__list {
		display: flex;
		flex-direction: column;
		column-count: unset;
		max-height: none;
		overflow: visible;
	}

	.solaris-mega-group--solo .solaris-mega-group__list a {
		min-height: 46px;
		padding: 6px var(--page-margin);
		font-size: clamp(1.0625rem, 0.98rem + 0.32vw, 1.25rem);
		font-weight: var(--font-weight-regular);
	}

	.solaris-mega-panel__footer {
		margin: var(--space-xl) 0 0;
		padding: 0 0 var(--space-lg);
		border-top: 0;
		background: transparent;
	}

	.solaris-mega-panel__footer-list {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: var(--space-xs);
		margin: 0;
		padding: 0;
		list-style: none;
	}

	.solaris-mega-panel__footer-list li {
		border: 0;
	}

	.solaris-mega-panel__footer-list a {
		display: flex;
		align-items: center;
		justify-content: flex-start;
		width: 100%;
		min-height: 46px;
		padding: 6px var(--page-margin);
		font-size: clamp(1.0625rem, 0.98rem + 0.32vw, 1.25rem);
		line-height: 1.35;
		font-weight: var(--font-weight-medium);
		color: var(--theme-surface-on-surface);
		text-align: left;
		text-decoration: none;
	}

	body.solaris-nav-lock {
		overflow: hidden;
	}

	.solaris-primary-navigation__cta--mobile {
		display: flex;
		width: 100%;
		max-width: none;
		margin: var(--space-md) 0 0;
		padding: var(--space-sm) var(--page-margin) 0;
		border-top: 0;
		background: transparent;
		box-shadow: none;
	}

	.solaris-mega-panel .solaris-mega-group__list a:active,
	.solaris-mega-panel__footer-list a:active,
	.solaris-menu a:active,
	.solaris-mega-trigger:active {
		background: var(--theme-nav-button);
	}

	.solaris-primary-navigation__cta--mobile .solaris-btn {
		width: auto;
		max-width: 100%;
		margin-inline: 0;
		min-height: var(--button-height-lg);
		height: auto;
		justify-content: center;
		border-radius: var(--shape-corner-rounded);
		background: var(--theme-primary-primary);
		border-color: var(--theme-primary-primary);
		color: var(--theme-primary-on-primary);
		box-shadow: none;
		font-size: var(--sm-size);
		overflow: hidden;
		transition: none;
	}

	.solaris-primary-navigation.is-sub-open .solaris-primary-navigation__cta--mobile {
		display: none;
	}

	.solaris-primary-navigation__cta--mobile .solaris-btn:active {
		transform: none;
	}

	.solaris-mega-panel__footer-list a {
		transition: none;
	}

	.solaris-site-header.is-mobile-nav-open .solaris-site-header__shell {
		z-index: 56;
	}

	.solaris-site-header.is-mobile-nav-open .solaris-menu-toggle {
		background: transparent;
	}

	.solaris-site-header.is-mobile-nav-open .solaris-primary-navigation {
		z-index: 55;
	}

	.solaris-nav-backdrop.is-visible {
		display: none;
	}

	.solaris-hero__title {
		font-size: var(--display-size);
		line-height: var(--display-line-height);
		letter-spacing: var(--display-letter-spacing);
	}

	.solaris-hero__description {
		margin-top: var(--hero-title-to-lead);
	}

	.solaris-hero__actions {
		margin-top: var(--hero-lead-to-cta);
	}

	.solaris-hero__cta {
		width: min(100%, 320px);
	}

	.solaris-blog-section__carousel .solaris-carousel-nav {
		justify-self: end;
	}

	.solaris-author-header {
		grid-template-columns: auto minmax(0, 1fr);
	}

	.solaris-author-header__content {
		display: contents;
	}

	.solaris-author-header__main {
		grid-column: 2;
		align-self: center;
		min-width: 0;
	}

	.solaris-author-header__bio {
		grid-column: 1 / -1;
		margin-top: 0;
	}

	.solaris-author-header .solaris-author-identity {
		gap: var(--space-sm);
	}

	.solaris-author-header .solaris-author-socials {
		gap: var(--space-xs);
	}

	.solaris-single-hero__breadcrumb {
		margin-bottom: var(--space-md);
	}

	.solaris-single-hero__title {
		font-size: clamp(1.75rem, 6.5vw, 2.25rem);
		line-height: 1.24;
		letter-spacing: -0.018em;
		margin-top: 0;
		margin-bottom: var(--space-md);
	}

	.solaris-single-hero__meta {
		font-size: var(--xs-size);
		line-height: var(--xs-line-height);
	}

	.solaris-single-body {
		padding-top: var(--space-md);
	}

	.solaris-svc-hero-block,
	.solaris-cs-details-section {
		margin-top: var(--single-hero-addon-gap);
	}

	.solaris-svc-hero-block {
		gap: var(--space-lg);
	}

	.solaris-cs-details-section {
		padding-top: var(--space-md);
	}

	.solaris-listing-hero {
		padding-block: var(--space-lg);
	}

	.solaris-listing-hero .solaris-breadcrumbs {
		margin-bottom: var(--space-md);
	}

	.solaris-page-title {
		font-size: clamp(1.75rem, 6.5vw, 2.25rem);
		line-height: 1.24;
		letter-spacing: -0.018em;
	}

	.solaris-cs-summary-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--space-xs);
		margin-bottom: var(--space-md);
		padding-bottom: var(--space-md);
	}

	.solaris-cs-summary-item {
		flex-direction: column;
		align-items: center;
		justify-content: start;
		gap: 2px;
		min-width: 0;
		padding: 0 var(--space-xs);
		text-align: center;
	}

	.solaris-cs-summary-item:not(:last-child) {
		border-bottom: 0;
		border-right: 1px solid var(--theme-outline-variant);
	}

	.solaris-cs-summary-label {
		font-size: var(--xxs-size);
		letter-spacing: 0.08em;
	}

	.solaris-cs-summary-value {
		font-size: var(--sm-size);
		line-height: 1.3;
		text-align: center;
	}

	.solaris-cs-metrics-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		align-items: start;
		gap: var(--space-xs);
	}

	.solaris-cs-metric-card {
		gap: 2px;
		min-width: 0;
		padding-inline: var(--space-xs);
		padding-block: 0;
	}

	.solaris-cs-metric-val {
		font-size: clamp(1.75rem, 8vw, 2.35rem);
		letter-spacing: -0.05em;
	}

	.solaris-cs-metric-arrow {
		margin-top: 1px;
		transform: none;
	}

	.solaris-cs-metric-desc {
		max-width: 9rem;
		font-size: var(--xxs-size);
		line-height: 1.3;
	}

	.solaris-cs-metrics-blob--1 {
		width: 220px;
		height: 220px;
		top: 12%;
		left: -20%;
	}

	.solaris-cs-metrics-blob--2 {
		width: 260px;
		height: 260px;
		right: -24%;
		bottom: 0;
	}

	.solaris-author-box__inner {
		grid-template-columns: auto minmax(0, 1fr);
		text-align: start;
	}

	.solaris-author-box__content {
		display: contents;
		width: 100%;
	}

	.solaris-author-box__header {
		grid-column: 2;
		align-self: center;
		min-width: 0;
	}

	.solaris-author-box__bio {
		grid-column: 1 / -1;
		margin-top: 0;
	}

	.solaris-author-box .solaris-author-identity {
		gap: var(--space-sm);
		min-width: 0;
	}

	.solaris-author-box .solaris-author-socials {
		gap: var(--space-xs);
	}

	.solaris-author-box__avatar-image {
		width: 64px;
		height: 64px;
	}

	.solaris-comment-form {
		grid-template-columns: 1fr;
	}

	.solaris-comment-list .children {
		padding-inline-start: var(--space-md);
	}

	.solaris-search-form {
		flex-direction: column;
	}

	.solaris-search-form .solaris-btn,
	.solaris-search-form--prominent .solaris-search-form__submit {
		width: 100%;
	}

	.solaris-mega-panel .solaris-mega-group__list a,
	.solaris-mega-panel__footer-list a,
	.solaris-menu a,
	.solaris-mega-trigger {
		-webkit-tap-highlight-color: transparent !important;
	}

	@media (hover: none) {
		.solaris-mega-panel .solaris-mega-group__list a:active,
		.solaris-mega-panel__footer-list a:active,
		.solaris-menu a:active,
		.solaris-mega-trigger:active {
			background: transparent !important;
			color: var(--theme-surface-on-surface) !important;
			text-decoration: none !important;
		}
	}

	@media (hover: hover) {
		.solaris-mobile-nav-subscroll .solaris-mega-panel__overview-link:hover,
		.solaris-mobile-nav-subscroll .solaris-mega-group__title--link:hover {
			color: var(--theme-on-surface-subtle);
		}

		.solaris-mobile-nav-subscroll .solaris-mega-panel .solaris-mega-group__list a:hover {
			color: var(--theme-surface-on-surface);
			text-decoration: underline;
			text-underline-offset: 0.15em;
		}

		.solaris-mobile-nav-subscroll .solaris-mega-panel__footer-list a:hover {
			color: var(--theme-on-surface-subtle);
		}
	}
}

@media (max-width: 425px) {

	.solaris-cs-summary-grid,
	.solaris-cs-metrics-grid {
		gap: 0;
	}

	.solaris-cs-summary-item,
	.solaris-cs-metric-card {
		padding-inline: 2px;
	}

	.solaris-cs-metric-val {
		font-size: clamp(1.6rem, 7.6vw, 2rem);
	}

	.solaris-cs-metric-desc {
		font-size: var(--xxs-size);
		line-height: 1.25;
	}
}

@media (prefers-reduced-motion: reduce) {

	.solaris-btn--primary:not(.solaris-btn--no-arrow):not(.solaris-hero__cta):not([type="submit"]):not(:has(.solaris-btn__arrow))::before {
		transition: none;
	}

	.solaris-btn--primary:not(.solaris-btn--no-arrow):not(.solaris-hero__cta):not([type="submit"]):not(:has(.solaris-btn__arrow)):hover::before,
	.solaris-btn--primary:not(.solaris-btn--no-arrow):not(.solaris-hero__cta):not([type="submit"]):not(:has(.solaris-btn__arrow)):focus-visible::before {
		transform: none;
	}

	.solaris-mega-panel,
	.solaris-nav-backdrop,
	.solaris-mega-trigger__chevron {
		transition: none;
	}

	.solaris-hero::after,
	.solaris-hero__inner {
		animation: none;
	}

	:is(
		.solaris-btn,
		.google-source-cta__button,
		.post-password-form input[type="submit"]
	)::after {
		animation: none !important;
	}
}

@media (max-width: 782px) {
	body.admin-bar .solaris-site-header {
		top: 46px;
	}
}

@media (max-width: 600px) {
	body.admin-bar .solaris-site-header {
		top: 0;
	}
}

@media (min-width: 992px) {
	.solaris-site-header.is-mega-open .solaris-nav-wrapper {
		position: relative;
		z-index: 60;
	}

	.solaris-nav-wrapper {
		display: flex;
		align-items: center;
		flex: 1 1 auto;
		min-width: 0;
		position: relative;
	}

	.solaris-primary-navigation {
		overflow-x: auto;
		scrollbar-width: none;
		justify-content: safe center;
		scroll-behavior: smooth;
		width: 100%;
		padding-inline: var(--nav-scroll-gutter);
	}

	.solaris-primary-navigation::-webkit-scrollbar {
		display: none;
	}

	.solaris-menu {
		flex-wrap: nowrap;
		justify-content: safe center;
	}

	.solaris-nav-arrow {
		position: absolute;
		top: 0;
		bottom: 0;
		width: var(--nav-scroll-gutter);
		padding: 0;
		background: transparent;
		border: none;
		cursor: pointer;
		z-index: 10;
		display: flex;
		align-items: center;
		color: var(--theme-nav-on-surface);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.3s ease;
	}

	.solaris-nav-arrow i {
		font-size: 20px;
		display: inline-block;
	}

	.solaris-nav-arrow--left {
		left: 0;
		justify-content: flex-start;
		background: linear-gradient(to right, var(--theme-nav-surface) 60%, color-mix(in srgb, var(--theme-nav-surface) 0%, transparent));
	}

	.solaris-nav-arrow--right {
		right: 0;
		justify-content: flex-end;
		background: linear-gradient(to left, var(--theme-nav-surface) 60%, color-mix(in srgb, var(--theme-nav-surface) 0%, transparent));
	}

	.solaris-nav-wrapper.has-scroll-left .solaris-nav-arrow--left,
	.solaris-nav-wrapper.has-scroll-right .solaris-nav-arrow--right {
		opacity: 1;
		pointer-events: auto;
	}
}

@media (max-width: 1199px) {
	.solaris-post-grid,
	.solaris-post-grid--related {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* --breakpoint-nav: 991px (foundations.css) */
@media (max-width: 991px) {
	.solaris-post-grid,
	.solaris-post-grid--related {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.solaris-post-grid,
	.solaris-post-grid--related {
		grid-template-columns: 1fr;
	}
}


/* -------------------------------------------------------------------------
   Image Protection (Prevent right-click, select, and drag)
   ------------------------------------------------------------------------- */
img {
	/* Prevent dragging */
	-webkit-user-drag: none;
	-khtml-user-drag: none;
	-moz-user-drag: none;
	-o-user-drag: none;
	user-drag: none;

	/* Prevent selection */
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;

	/* Prevent click and right-click interactions */
	pointer-events: none;
}

/* -------------------------------------------------------------------------
   Section Header Styling
   ------------------------------------------------------------------------- */
.solaris-section-header {
	text-align: center;
	margin-bottom: var(--space-2xl);
	max-width: 48rem;
	margin-inline: auto;
}

.solaris-section-header__title {
	margin: 0;
	font-size: var(--3xl-size);
	line-height: var(--3xl-line-height);
	letter-spacing: var(--3xl-letter-spacing);
	font-weight: var(--font-weight-semibold);
	color: var(--theme-surface-on-surface);
}

.solaris-section-header__desc {
	margin-top: var(--space-sm);
	margin-bottom: 0;
	font-size: var(--lg-size);
	line-height: var(--lg-line-height);
	color: var(--theme-surface-on-surface-variant);
	text-wrap: balance;
}


/* -------------------------------------------------------------------------
   WordPress Password Protected Page Form
   ------------------------------------------------------------------------- */
.post-password-form {
	max-width: 480px;
	margin: var(--space-2xl) auto;
	padding: var(--space-xl);
	background: var(--theme-surface-surface-container);
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--shape-corner-md);
	box-shadow: 0 8px 32px rgba(var(--palette-grey-1000-rgb), 0.04);
	text-align: center;
}

.post-password-form p:first-of-type {
	margin-top: 0;
	margin-bottom: var(--space-lg);
	font-size: var(--base-size);
	line-height: 1.6;
	color: var(--theme-surface-on-surface-variant);
}

.post-password-form p:last-of-type {
	margin-bottom: 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
	align-items: stretch;
}

.post-password-form label {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-xs);
	font-weight: var(--font-weight-semibold);
	color: var(--theme-surface-on-surface);
	font-size: var(--sm-size);
	width: 100%;
}

.post-password-form input[type="password"] {
	width: 100%;
}

.post-password-form input[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	overflow: hidden;
	isolation: isolate;
	min-height: var(--control-height-md);
	padding: 0 var(--button-padding-x-lg);
	background: var(--theme-primary-primary);
	color: var(--theme-primary-on-primary);
	border: 1px solid transparent;
	border-radius: var(--control-radius);
	font-weight: var(--font-weight-medium);
	font-size: var(--sm-size);
	cursor: pointer;
	transition: background-color 0.2s ease, transform 0.1s ease;
}

.post-password-form input[type="submit"]:hover {
	background: var(--theme-button-states-primary-hovered);
}

.post-password-form input[type="submit"]:active {
	transform: scale(0.98);
}

/* Password error message */
.post-password-form p[id^="error-pwbox-"],
.post-password-form p[class^="error-pwbox-"],
.post-password-form [id^="error-pwbox-"],
.post-password-form [class^="error-pwbox-"],
p[id^="error-pwbox-"],
p[class^="error-pwbox-"],
[id^="error-pwbox-"],
[class^="error-pwbox-"] {
	color: var(--theme-status-error-on-surface) !important;
	font-weight: var(--font-weight-medium) !important;
	font-size: var(--sm-size) !important;
	margin-bottom: var(--space-md) !important;
	display: block !important;
	text-align: center !important;
}

.solaris-single-layout--password-required {
	display: block !important;
	max-width: var(--content-measure);
	margin-inline: auto;
}

/* -------------------------------------------------------------------------
   Google Source Preferences CTA Component
   ------------------------------------------------------------------------- */
.google-source-cta {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(180px, 220px);
	align-items: center;
	gap: clamp(var(--space-lg), 4vw, var(--space-3xl));
	padding: clamp(var(--space-lg), 4vw, var(--space-2xl));
	--google-cta-surface: var(--theme-google-cta-glass), var(--theme-card-surface);
	background: var(--google-cta-surface);
	backdrop-filter: blur(22px) saturate(150%);
	-webkit-backdrop-filter: blur(22px) saturate(150%);
	border: 1px solid var(--theme-google-cta-border);
	border-radius: var(--shape-corner-xl);
	margin-block: var(--space-2xl);
	position: relative;
	overflow: hidden;
	box-shadow:
		var(--theme-google-cta-shadow),
		0 1px 0 var(--theme-google-cta-inset) inset;
	isolation: isolate;
	transition:
		background 0.22s var(--ease-out-cubic),
		border-color 0.2s var(--ease-out-cubic),
		box-shadow 0.2s var(--ease-out-cubic);
}

.google-source-cta:is(:hover, :focus-within) {
	--google-cta-surface: var(--theme-google-cta-glass), var(--theme-surface-surface-container-low);
	background: var(--google-cta-surface);
	border-color: rgba(var(--brand-google-blue-rgb), 0.26);
	box-shadow:
		var(--theme-google-cta-shadow-hover),
		0 1px 0 var(--theme-google-cta-inset) inset;
}

/* Liquid Cam Blobs (Animate dynamically behind the glass) */
.google-source-cta__blob {
	position: absolute;
	border-radius: var(--shape-corner-rounded);
	filter: blur(48px);
	opacity: 0.14;
	z-index: -1;
	pointer-events: none;
}

.google-source-cta__blob--1 {
	width: 180px;
	height: 180px;
	background: var(--brand-google-blue);
	/* Google Blue */
	top: -64px;
	left: -52px;
	animation: liquidMove1 14s infinite ease-in-out;
}

.google-source-cta__blob--2 {
	width: 220px;
	height: 220px;
	background: var(--brand-google-red);
	/* Google Red */
	bottom: -86px;
	right: -58px;
	animation: liquidMove2 16s infinite ease-in-out;
}

/* Google Brand Accent Top Border */
.google-source-cta::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--brand-google-blue) 0%, var(--brand-google-blue) 25%, var(--brand-google-red) 25%, var(--brand-google-red) 50%, var(--brand-google-yellow) 50%, var(--brand-google-yellow) 75%, var(--brand-google-green) 75%, var(--brand-google-green) 100%);
	z-index: 10;
}

.google-source-cta__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--space-sm);
	position: relative;
	z-index: 3;
}

.solaris-post__content .google-source-cta .google-source-cta__title {
	display: block;
	margin: 0;
	max-width: var(--google-cta-content-measure);
	font-size: var(--google-cta-title-size);
	line-height: 1.25;
	font-weight: var(--font-weight-semibold);
	letter-spacing: -0.018em;
	color: var(--theme-surface-on-surface);
	text-wrap: balance;
}

.solaris-post__content .google-source-cta .google-source-cta__description {
	margin: 0;
	font-size: var(--base-size);
	line-height: 1.6;
	color: var(--theme-surface-on-surface-variant);
	max-width: var(--google-cta-desc-measure);
	text-wrap: pretty;
}

.google-source-cta__button {
	display: flex;
	align-items: center;
	align-self: stretch;
	width: 100%;
	max-width: 100%;
	gap: var(--space-sm);
	min-height: var(--button-height-lg);
	margin-top: var(--space-sm);
	padding: var(--space-md) var(--button-padding-x-xl);
	background: transparent;
	border: 1px solid rgba(var(--brand-google-blue-rgb), 0.18);
	border-radius: var(--shape-corner-rounded);
	color: var(--theme-surface-on-surface);
	font-weight: var(--font-weight-medium);
	font-size: var(--sm-size);
	line-height: 1.3;
	text-decoration: none;
	box-shadow: none;
	cursor: pointer;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.solaris-post__content .google-source-cta .google-source-cta__button,
.solaris-post__content .google-source-cta .google-source-cta__button:hover,
.solaris-post__content .google-source-cta .google-source-cta__button:focus,
.solaris-post__content .google-source-cta .google-source-cta__button:focus-visible {
	text-decoration: none;
	color: var(--theme-surface-on-surface);
	background: transparent;
}

.google-source-cta__button>* {
	position: relative;
	z-index: 2;
	pointer-events: none;
}

.google-source-cta__button-text {
	flex: 1 1 auto;
	min-width: 0;
	text-align: center;
}

.google-source-cta__button-arrow {
	flex: 0 0 auto;
	font-size: var(--lg-plus-size);
	color: var(--theme-surface-on-surface-variant);
	display: inline-flex;
	align-items: center;
	transition: transform 0.2s var(--ease-out-cubic);
}

.google-source-cta__button:is(:hover, :focus-visible) .google-source-cta__button-arrow {
	transform: translateX(4px);
}

.google-source-cta__icon-wrapper {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	font-size: var(--lg-size);
}

.google-source-cta__icon-wrapper svg {
	display: block;
	width: var(--icon-size-md);
	height: var(--icon-size-md);
}

.google-source-cta__mockup {
	display: flex;
	flex-direction: column;
	gap: calc(var(--space-sm) + 2px);
	pointer-events: none;
	opacity: 0.9;
	-webkit-user-select: none;
	user-select: none;
	position: relative;
	z-index: 3;
	padding: var(--space-md);
	border: 1px solid rgba(var(--palette-grey-1000-rgb), 0.08);
	border-radius: var(--shape-corner-lg);
	background: var(--theme-google-cta-mockup-bg);
	box-shadow: var(--effect-elevation-shadow-sm);
}

.google-source-cta__mock-search-bar {
	display: flex;
	align-items: center;
	gap: var(--space-sm);
	padding: var(--space-sm) var(--space-md);
	background: var(--theme-card-surface);
	border: 1px solid rgba(var(--palette-grey-1000-rgb), 0.08);
	border-radius: var(--shape-corner-rounded);
	box-shadow: 0 8px 20px -18px rgba(var(--palette-grey-1000-rgb), 0.5);
}

.google-source-cta__mock-search-bar i {
	color: var(--theme-surface-on-surface-variant);
	font-size: var(--xs-size);
}

.google-source-cta__mock-search-line {
	height: 4px;
	width: 90px;
	background: var(--theme-surface-surface-container-highest);
	border-radius: var(--shape-corner-xs);
}

.google-source-cta__mock-card {
	padding: var(--space-md);
	background: var(--theme-card-surface);
	border: 1px solid rgba(var(--palette-grey-1000-rgb), 0.08);
	border-radius: var(--shape-corner-md);
	box-shadow: 0 8px 20px -18px rgba(var(--palette-grey-1000-rgb), 0.5);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.google-source-cta__mock-card--small {
	opacity: 0.4;
}

.google-source-cta__mock-card-line {
	height: 4px;
	background: var(--theme-surface-surface-container-high);
	border-radius: var(--shape-corner-xs);
}

.google-source-cta__mock-card-line--title {
	width: 70%;
	height: 6px;
	background: var(--theme-surface-surface-container-highest);
}

.google-source-cta__mock-card-line--text-1 {
	width: 90%;
}

.google-source-cta__mock-card-line--text-2 {
	width: 50%;
}

/* Liquid Glass animations */
@keyframes liquidMove1 {
	0% {
		transform: translate(0, 0) scale(1);
	}

	33% {
		transform: translate(30px, -40px) scale(1.15);
	}

	66% {
		transform: translate(-20px, 20px) scale(0.9);
	}

	100% {
		transform: translate(0, 0) scale(1);
	}
}

@keyframes liquidMove2 {
	0% {
		transform: translate(0, 0) scale(1);
	}

	33% {
		transform: translate(-40px, 30px) scale(0.85);
	}

	66% {
		transform: translate(25px, -15px) scale(1.2);
	}

	100% {
		transform: translate(0, 0) scale(1);
	}
}

@keyframes googleStripeLoop {
	0% {
		background-position-x: 0;
	}

	100% {
		background-position-x: 200px;
	}
}

@media (max-width: 768px) {
	.google-source-cta {
		grid-template-columns: 1fr;
		padding: var(--space-xl) var(--space-lg);
		border-radius: var(--shape-corner-lg);
		margin-block: var(--space-2xl);
	}

	.google-source-cta__content {
		align-items: stretch;
		gap: var(--space-md);
	}

	.google-source-cta__title,
	.google-source-cta__description {
		max-width: none;
	}

	.google-source-cta__button {
		width: 100%;
		margin-top: var(--space-sm);
		padding-inline: var(--space-md);
	}

	.google-source-cta__mockup {
		display: none;
	}
}

@media (max-width: 425px) {
	.google-source-cta {
		padding: var(--space-lg);
	}

	.google-source-cta__button {
		align-items: center;
		white-space: normal;
	}

	.google-source-cta__button-text {
		min-width: 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.google-source-cta,
	.google-source-cta__button-arrow {
		transition: none;
	}

	.google-source-cta__blob {
		animation: none;
	}

	.google-source-cta__button:is(:hover, :focus-visible) .google-source-cta__button-arrow {
		transform: none;
	}
}

/* -------------------------------------------------------------------------
   Manifesto & Process Sections
   ------------------------------------------------------------------------- */

.solaris-section--manifesto {
	padding-block: var(--section-space);
	background: var(--theme-canvas-surface);
}

.solaris-manifesto-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-2xl);
	align-items: center;
	container-type: inline-size;
}

.solaris-manifesto-content {
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
	text-align: center;
	align-items: center;
}

.solaris-manifesto-tag {
	display: inline-flex;
	align-self: center;
	padding: 0.35em 0.85em;
	font-size: var(--xs-plus-size);
	line-height: var(--xs-plus-line-height);
	font-weight: var(--font-weight-semibold);
	color: var(--theme-interaction-accent-on-surface);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	border-radius: var(--shape-corner-rounded);
	background: var(--theme-interaction-accent-focus-ring);
	border: 1px solid rgba(var(--theme-interaction-accent-on-surface-rgb), 0.14);
}

.solaris-manifesto-title {
	margin: 0 auto;
	max-width: min(100%, 34rem);
	font-size: clamp(2.125rem, 0.85rem + 2.8vw, 3rem);
	line-height: 1.15;
	letter-spacing: var(--3xl-letter-spacing);
	font-weight: var(--font-weight-bold);
	color: var(--theme-surface-on-surface);
	text-wrap: balance;
}

.solaris-manifesto-text {
	margin: 0 auto;
	font-size: var(--lg-plus-size);
	line-height: 1.6;
	color: var(--theme-surface-on-surface-variant);
	text-wrap: pretty;
	max-width: 36rem;
}

.solaris-manifesto-graphic {
	--manifesto-chart-primary: var(--theme-interaction-accent-on-surface);
	--manifesto-chart-surface: var(--theme-card-surface);
	--manifesto-chart-on-primary: var(--palette-grey-0);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	width: 100%;
}

.solaris-manifesto-graphic svg {
	width: 100%;
	max-width: 620px;
	height: auto;
}

@media (prefers-color-scheme: dark) {
	.solaris-manifesto-graphic {
		--manifesto-chart-on-primary: var(--palette-grey-1200);
	}
}

/* Desktop Overrides */
@media (min-width: 1024px) {
	.solaris-manifesto-grid {
		grid-template-columns: minmax(0, 0.85fr) minmax(0, 1.15fr);
		gap: var(--space-3xl);
		align-items: center;
	}

	.solaris-manifesto-content {
		padding-top: 0;
		text-align: left;
		align-items: flex-start;
	}

	.solaris-manifesto-tag {
		align-self: flex-start;
	}

	.solaris-manifesto-title {
		margin: 0;
	}

	.solaris-manifesto-text {
		margin: 0;
	}
}

/* --- Timed entrance — graphic only (left content stays static) --- */

/* Horizontal Grid Lines */
.manifesto-grid-line {
	opacity: 0;
	stroke-dasharray: 420;
	stroke-dashoffset: 420;
	transition: opacity 1.2s ease, stroke-dashoffset 1.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.solaris-manifesto-graphic.is-visible .manifesto-grid-line {
	opacity: 0.4;
	stroke-dashoffset: 0;
}

.manifesto-grid-line:first-of-type {
	transition-delay: 0.05s;
}

.solaris-manifesto-graphic.is-visible .manifesto-grid-line:first-of-type {
	opacity: 1;
	/* Solid bottom baseline */
}

.manifesto-grid-line:nth-of-type(2) {
	transition-delay: 0.1s;
}

.manifesto-grid-line:nth-of-type(3) {
	transition-delay: 0.15s;
}

.manifesto-grid-line:nth-of-type(4) {
	transition-delay: 0.2s;
}

.manifesto-grid-line:nth-of-type(5) {
	transition-delay: 0.25s;
}

.manifesto-grid-line:nth-of-type(6) {
	transition-delay: 0.3s;
}

/* Vertical dashed connectors */
.manifesto-connector-line {
	stroke-dasharray: 3 3;
	stroke-dashoffset: 120;
	opacity: 0;
	transition: stroke-dashoffset 0.8s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.5s ease;
}

.solaris-manifesto-graphic.is-visible .manifesto-connector-line {
	opacity: 0.7;
	stroke-dashoffset: 0;
}

.solaris-manifesto-graphic.is-visible .manifesto-connector-line--2 {
	transition-delay: 0.5s;
}

.solaris-manifesto-graphic.is-visible .manifesto-connector-line--3 {
	transition-delay: 1.0s;
}

.solaris-manifesto-graphic.is-visible .manifesto-connector-line--4 {
	transition-delay: 1.5s;
}

.solaris-manifesto-graphic.is-visible .manifesto-connector-line--5 {
	transition-delay: 2.0s;
}

/* X-axis labels */
.manifesto-axis-label {
	opacity: 0;
	transform: translateY(12px);
	transform-box: fill-box;
	transform-origin: center;
	transition: opacity 0.8s ease, transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.solaris-manifesto-graphic.is-visible .manifesto-axis-label {
	opacity: 0.6;
	transform: translateY(0);
}

.solaris-manifesto-graphic.is-visible .manifesto-axis-label--target {
	opacity: 1;
	/* Target text is fully visible */
}

.solaris-manifesto-graphic.is-visible .manifesto-axis-label:nth-of-type(1) {
	transition-delay: 0.1s;
}

.solaris-manifesto-graphic.is-visible .manifesto-axis-label:nth-of-type(2) {
	transition-delay: 0.2s;
}

.solaris-manifesto-graphic.is-visible .manifesto-axis-label:nth-of-type(3) {
	transition-delay: 0.3s;
}

.solaris-manifesto-graphic.is-visible .manifesto-axis-label:nth-of-type(4) {
	transition-delay: 0.4s;
}

.solaris-manifesto-graphic.is-visible .manifesto-axis-label--target {
	transition-delay: 0.5s;
}

/* Growth Curve Line drawing - clipped by the same mask as the area background */
.manifesto-growth-line {
	will-change: transform;
}

/* Area gradient fill clipping - triggers simultaneously with curve */
.manifesto-clip-rect {
	width: 0;
	transition: width 2s linear;
}

.solaris-manifesto-graphic.is-visible .manifesto-clip-rect {
	width: 100%;
}

/* Circular Data Points */
.manifesto-dot {
	transform: scale(0);
	transform-box: fill-box;
	transform-origin: center;
	opacity: 0;
	transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1), opacity 0.3s ease;
}

.solaris-manifesto-graphic.is-visible .manifesto-dot {
	transform: scale(1);
	opacity: 1;
}

.solaris-manifesto-graphic.is-visible .manifesto-dot--1 {
	transition-delay: 0.02s;
}

.solaris-manifesto-graphic.is-visible .manifesto-dot--2 {
	transition-delay: 0.4s;
}

.solaris-manifesto-graphic.is-visible .manifesto-dot--3 {
	transition-delay: 0.8s;
}

.solaris-manifesto-graphic.is-visible .manifesto-dot--4 {
	transition-delay: 1.2s;
}

/* main target Pt 5 & ROI badge group */
.manifesto-dot-target,
.manifesto-badge-group {
	transform: scale(0);
	transform-box: fill-box;
	transform-origin: center;
	opacity: 0;
	transition: transform 0.8s cubic-bezier(0.34, 1.62, 0.64, 1), opacity 0.4s ease;
}

.solaris-manifesto-graphic.is-visible .manifesto-dot-target,
.solaris-manifesto-graphic.is-visible .manifesto-badge-group {
	transform: scale(1);
	opacity: 1;
}

.solaris-manifesto-graphic.is-visible .manifesto-dot-target {
	transition-delay: 1.6s;
}

.solaris-manifesto-graphic.is-visible .manifesto-badge-group {
	transition-delay: 1.65s;
}

/* pops in slightly after target dot */

@media (prefers-reduced-motion: reduce) {

	.manifesto-grid-line,
	.manifesto-connector-line,
	.manifesto-axis-label,
	.manifesto-growth-line,
	.manifesto-clip-rect,
	.manifesto-dot,
	.manifesto-dot-target,
	.manifesto-badge-group {
		transition: none !important;
		opacity: 1 !important;
		transform: none !important;
		stroke-dashoffset: 0 !important;
		width: 100% !important;
	}
}

.solaris-section--process {
	padding-block: var(--section-space);
	background-color: var(--theme-section-surface);
}

.solaris-process-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: var(--space-lg);
	margin-top: 0;
	align-items: stretch;
}

@media (min-width: 600px) {
	.solaris-process-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 1025px) {
	.solaris-process-grid {
		grid-template-columns: repeat(4, 1fr);
		gap: var(--space-xl);
	}
}

.solaris-process-card {
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
	height: 100%;
	padding: var(--space-xl) var(--space-lg) var(--space-lg);
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--shape-corner-md);
}

.solaris-process-card__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: var(--shape-corner-rounded);
	background: rgba(var(--theme-interaction-accent-on-surface-rgb), 0.1);
	color: var(--theme-interaction-accent-on-surface);
	border: 1px solid rgba(var(--theme-interaction-accent-on-surface-rgb), 0.16);
	font-size: var(--lg-size);
	font-weight: var(--font-weight-bold);
	font-variant-numeric: tabular-nums;
	line-height: 1;
	-webkit-user-select: none;
	user-select: none;
}

.solaris-process-card__title {
	margin: 0;
	font-size: var(--lg-plus-size);
	line-height: var(--lg-plus-line-height);
	font-weight: var(--font-weight-bold);
	color: var(--theme-surface-on-surface);
	text-wrap: balance;
}

.solaris-process-card__desc {
	margin: 0;
	font-size: var(--sm-size);
	line-height: 1.55;
	color: var(--theme-surface-on-surface-variant);
	text-wrap: pretty;
}

/* -------------------------------------------------------------------------
   Newsletter Subscription Form
   ------------------------------------------------------------------------- */
.solaris-newsletter-section {
	margin-block-start: var(--space-xl);
	margin-block-end: var(--space-lg);
	width: 100%;
}

.solaris-newsletter {
	width: 100%;
	max-width: none;
	margin-inline: 0;
	position: relative;
}

.solaris-newsletter__inner {
	padding: var(--space-xl);
	background: var(--theme-surface-surface-container-low);
	border: 1px solid var(--theme-outline-variant);
	border-radius: var(--shape-corner-lg);
	box-shadow: none;
	position: relative;
	z-index: 2;
}

.solaris-newsletter__grid {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
	text-align: left;
}

@media (min-width: 768px) {
	.solaris-newsletter__inner {
		padding: var(--space-2xl) var(--space-xl);
	}

	.solaris-newsletter__grid {
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: var(--space-2xl);
	}

	.solaris-newsletter__col-left {
		flex: 1 1 32%;
	}

	.solaris-newsletter__col-right {
		flex: 1 1 68%;
	}
}

@media (max-width: 767px) {

	.solaris-newsletter__col-left,
	.solaris-newsletter__col-right {
		width: 100%;
	}

	/* Align with .solaris-single-panel / author box */
	.solaris-newsletter__inner {
		padding: var(--space-lg);
	}

	.solaris-newsletter__grid {
		gap: var(--space-lg);
	}
}

.solaris-newsletter__title {
	font-size: var(--xl-size);
	line-height: 1.35;
	margin: 0;
	font-weight: 700;
	color: var(--theme-surface-on-surface);
	letter-spacing: -0.025em;
}

@media (min-width: 768px) {
	.solaris-newsletter__title {
		font-size: var(--2xl-size);
	}
}

.solaris-newsletter__form {
	position: relative;
	width: 100%;
	transition: opacity 0.4s ease, transform 0.4s ease;
}

.solaris-newsletter__form.is-leaving {
	opacity: 0;
	transform: translateY(-6px);
	pointer-events: none;
}

.solaris-newsletter__form.is-loading .solaris-newsletter__input-field {
	opacity: 0.72;
}

.solaris-newsletter__panel {
	position: relative;
	width: 100%;
}

.solaris-newsletter__input-row {
	display: flex;
	align-items: stretch;
	gap: var(--space-sm);
	width: 100%;
}

.solaris-newsletter__input-row .solaris-input {
	flex: 1;
	min-width: 0;
	min-height: var(--button-height-lg);
}

.solaris-newsletter__input-row .solaris-newsletter__submit-btn.solaris-btn--lg {
	flex-shrink: 0;
	min-height: var(--button-height-lg);
	padding-inline: var(--space-xl);
	white-space: nowrap;
	border: none;
}

.solaris-newsletter__disclaimer {
	margin: var(--space-sm) 0 0;
	font-size: var(--xs-size);
	line-height: 1.4;
	color: var(--theme-surface-on-surface-variant);
}

.solaris-newsletter__disclaimer a {
	color: inherit;
	text-decoration: underline;
	transition: color 0.2s;
}

.solaris-newsletter__disclaimer a:hover {
	color: var(--theme-primary-primary);
}

.solaris-newsletter__feedback {
	margin-top: var(--space-sm);
	font-size: var(--sm-size);
	font-weight: 500;
	line-height: 1.4;
}

.solaris-newsletter__feedback[hidden] {
	display: none;
}

.solaris-newsletter__feedback .error {
	color: var(--theme-status-error-on-surface);
}

.solaris-newsletter__col-right {
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.solaris-newsletter__success {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	text-align: left;
	width: 100%;
	gap: var(--space-sm);
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 0.45s ease, transform 0.45s ease;
}

.solaris-newsletter__success[hidden] {
	display: none;
}

.solaris-newsletter__success.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.solaris-newsletter__success-title {
	margin: 0;
	font-size: var(--xl-size);
	line-height: 1.3;
	font-weight: 700;
	color: var(--theme-surface-on-surface);
	letter-spacing: -0.02em;
}

.solaris-newsletter__success-text {
	margin: 0;
	font-size: var(--sm-size);
	line-height: 1.45;
	font-weight: 400;
	color: var(--theme-surface-on-surface-variant);
	max-width: 36ch;
}

@media (min-width: 768px) {
	.solaris-newsletter__success-title {
		font-size: var(--2xl-size);
	}
}

/* Successfully Subscribed Layout Override */
.solaris-newsletter.is-subscribed .solaris-newsletter__col-left {
	display: none;
}

.solaris-newsletter.is-subscribed .solaris-newsletter__col-right {
	flex: 1 1 100%;
	width: 100%;
}

.solaris-newsletter.is-subscribed .solaris-newsletter__success {
	align-items: center;
	text-align: center;
	padding-block: var(--space-xs);
}

.solaris-newsletter.is-subscribed .solaris-newsletter__success-title {
	font-size: var(--2xl-size);
	margin-bottom: var(--space-xs);
}

.solaris-newsletter.is-subscribed .solaris-newsletter__success-text {
	font-size: var(--lg-size);
	max-width: 50ch;
}

@media (max-width: 480px) {
	.solaris-newsletter__input-row {
		flex-direction: column;
		gap: var(--space-sm);
	}

	.solaris-newsletter__submit-btn {
		width: 100%;
	}
}

@media (prefers-color-scheme: dark) {
	/* Soft dark mode shine override */
	.solaris-card::after,
	:is(
		.solaris-btn,
		.google-source-cta__button,
		.post-password-form input[type="submit"]
	)::after {
		background: var(--effect-shine-gradient-dark);
	}

	/* Gutenberg inline dark text in post content — scoped to prose to avoid card accent conflicts */
	.solaris-post__content [style*="color:#000000" i],
	.solaris-post__content [style*="color: #000000" i],
	.solaris-post__content [style*="color:#000" i],
	.solaris-post__content [style*="color: #000" i],
	.solaris-post__content [style*="color:#010101" i],
	.solaris-post__content [style*="color: #010101" i],
	.solaris-post__content [style*="color:#020202" i],
	.solaris-post__content [style*="color: #020202" i],
	.solaris-post__content [style*="color:#030303" i],
	.solaris-post__content [style*="color: #030303" i],
	.solaris-post__content [style*="color:#040404" i],
	.solaris-post__content [style*="color: #040404" i],
	.solaris-post__content [style*="color:#050505" i],
	.solaris-post__content [style*="color: #050505" i],
	.solaris-post__content [style*="color:#080808" i],
	.solaris-post__content [style*="color: #080808" i],
	.solaris-post__content [style*="color:#0a0a0a" i],
	.solaris-post__content [style*="color: #0a0a0a" i],
	.solaris-post__content [style*="color:#0d0d0d" i],
	.solaris-post__content [style*="color: #0d0d0d" i],
	.solaris-post__content [style*="color:#0f0f0f" i],
	.solaris-post__content [style*="color: #0f0f0f" i],
	.solaris-post__content [style*="rgb(0," i],
	.solaris-post__content [style*="rgb( 0," i],
	.solaris-post__content [style*="rgb(1," i],
	.solaris-post__content [style*="rgb( 1," i],
	.solaris-post__content [style*="rgb(2," i],
	.solaris-post__content [style*="rgb( 2," i],
	.solaris-post__content [style*="rgb(3," i],
	.solaris-post__content [style*="rgb( 3," i],
	.solaris-post__content [style*="rgb(4," i],
	.solaris-post__content [style*="rgb( 4," i],
	.solaris-post__content [style*="rgb(5," i],
	.solaris-post__content [style*="rgb( 5," i],
	.solaris-post__content [style*="rgb(8," i],
	.solaris-post__content [style*="rgb( 8," i],
	.solaris-post__content [style*="rgb(10," i],
	.solaris-post__content [style*="rgb( 10," i] {
		color: var(--theme-surface-on-surface) !important;
	}

	.solaris-post__content [style*="color:#111111" i],
	.solaris-post__content [style*="color: #111111" i],
	.solaris-post__content [style*="color:#111" i],
	.solaris-post__content [style*="color: #111" i],
	.solaris-post__content [style*="color:#1a1a1a" i],
	.solaris-post__content [style*="color: #1a1a1a" i],
	.solaris-post__content [style*="color:#222222" i],
	.solaris-post__content [style*="color: #222222" i],
	.solaris-post__content [style*="color:#222" i],
	.solaris-post__content [style*="color: #222" i],
	.solaris-post__content [style*="color:#2b2b2b" i],
	.solaris-post__content [style*="color: #2b2b2b" i],
	.solaris-post__content [style*="color:#2d2d2d" i],
	.solaris-post__content [style*="color: #2d2d2d" i],
	.solaris-post__content [style*="color:#333333" i],
	.solaris-post__content [style*="color: #333333" i],
	.solaris-post__content [style*="color:#333" i],
	.solaris-post__content [style*="color: #333" i],
	.solaris-post__content [style*="color:#3d3d3d" i],
	.solaris-post__content [style*="color: #3d3d3d" i],
	.solaris-post__content [style*="rgb(17," i],
	.solaris-post__content [style*="rgb( 17," i],
	.solaris-post__content [style*="rgb(26," i],
	.solaris-post__content [style*="rgb( 26," i],
	.solaris-post__content [style*="rgb(34," i],
	.solaris-post__content [style*="rgb( 34," i],
	.solaris-post__content [style*="rgb(43," i],
	.solaris-post__content [style*="rgb( 43," i],
	.solaris-post__content [style*="rgb(51," i],
	.solaris-post__content [style*="rgb( 51," i] {
		color: var(--theme-surface-on-surface-variant) !important;
	}

	/* Case study metric inline color vars — scoped away from accent cards */
	.solaris-post__content [style*="--m-color-start:#000000" i],
	.solaris-post__content [style*="--m-color-start: #000000" i],
	.solaris-post__content [style*="--m-color-start:#000" i],
	.solaris-post__content [style*="--m-color-start: #000" i],
	.solaris-post__content [style*="--m-color-start:#010101" i],
	.solaris-post__content [style*="--m-color-start: #010101" i],
	.solaris-post__content [style*="--m-color-start:#020202" i],
	.solaris-post__content [style*="--m-color-start: #020202" i],
	.solaris-post__content [style*="--m-color-start:#030303" i],
	.solaris-post__content [style*="--m-color-start: #030303" i],
	.solaris-post__content [style*="--m-color-start:#040404" i],
	.solaris-post__content [style*="--m-color-start: #040404" i],
	.solaris-post__content [style*="--m-color-start:#050505" i],
	.solaris-post__content [style*="--m-color-start: #050505" i],
	.solaris-post__content [style*="--m-color-start:#080808" i],
	.solaris-post__content [style*="--m-color-start: #080808" i],
	.solaris-post__content [style*="--m-color-start:#0a0a0a" i],
	.solaris-post__content [style*="--m-color-start: #0a0a0a" i],
	.solaris-post__content [style*="--m-color-start:#0d0d0d" i],
	.solaris-post__content [style*="--m-color-start: #0d0d0d" i],
	.solaris-post__content [style*="--m-color-start:#0f0f0f" i],
	.solaris-post__content [style*="--m-color-start: #0f0f0f" i],
	.solaris-post__content [style*="--m-color-start:#111111" i],
	.solaris-post__content [style*="--m-color-start: #111111" i],
	.solaris-post__content [style*="--m-color-start:#111" i],
	.solaris-post__content [style*="--m-color-start: #111" i],
	.solaris-post__content [style*="--m-color-start:#1a1a1a" i],
	.solaris-post__content [style*="--m-color-start: #1a1a1a" i],
	.solaris-post__content [style*="--m-color-start:#222222" i],
	.solaris-post__content [style*="--m-color-start: #222222" i],
	.solaris-post__content [style*="--m-color-start:#222" i],
	.solaris-post__content [style*="--m-color-start: #222" i],
	.solaris-post__content [style*="--m-color-start:#2b2b2b" i],
	.solaris-post__content [style*="--m-color-start: #2b2b2b" i],
	.solaris-post__content [style*="--m-color-start:#2d2d2d" i],
	.solaris-post__content [style*="--m-color-start: #2d2d2d" i],
	.solaris-post__content [style*="--m-color-start:#333333" i],
	.solaris-post__content [style*="--m-color-start: #333333" i],
	.solaris-post__content [style*="--m-color-start:#333" i],
	.solaris-post__content [style*="--m-color-start: #333" i],
	.solaris-post__content [style*="--m-color-start:#3d3d3d" i],
	.solaris-post__content [style*="--m-color-start: #3d3d3d" i],
	.solaris-post__content [style*="--m-color-start:rgb(0," i],
	.solaris-post__content [style*="--m-color-start: rgb(0," i],
	.solaris-post__content [style*="--m-color-start:rgb( 0," i],
	.solaris-post__content [style*="--m-color-start: rgb( 0," i],
	.solaris-post__content [style*="--m-color-start:rgb(1," i],
	.solaris-post__content [style*="--m-color-start: rgb(1," i],
	.solaris-post__content [style*="--m-color-start:rgb(2," i],
	.solaris-post__content [style*="--m-color-start: rgb(2," i],
	.solaris-post__content [style*="--m-color-start:rgb(3," i],
	.solaris-post__content [style*="--m-color-start: rgb(3," i],
	.solaris-post__content [style*="--m-color-start:rgb(4," i],
	.solaris-post__content [style*="--m-color-start: rgb(4," i],
	.solaris-post__content [style*="--m-color-start:rgb(5," i],
	.solaris-post__content [style*="--m-color-start: rgb(5," i],
	.solaris-post__content [style*="--m-color-start:rgb(8," i],
	.solaris-post__content [style*="--m-color-start: rgb(8," i],
	.solaris-post__content [style*="--m-color-start:rgb(10," i],
	.solaris-post__content [style*="--m-color-start: rgb(10," i] {
		--m-color-start: var(--theme-surface-on-surface) !important;
		--m-color-end: var(--theme-surface-on-surface) !important;
	}

	/* Force case study metric labels/descriptions to be highly readable in dark mode */
	.solaris-cs-proof-card__metric-label,
	.solaris-cs-metric-desc {
		color: var(--theme-surface-on-surface-variant) !important;
	}

	/* Gutenberg editor default dark text color classes */
	.has-black-color,
	.has-dark-gray-color {
		color: var(--theme-surface-on-surface) !important;
	}

	/* Ghost style for header CTAs and Vaka Analizini İncele (proof card) in dark mode */
	.solaris-btn--ghost,
	.solaris-btn--header,
	.solaris-btn--header-brand,
	.solaris-primary-navigation__cta--mobile .solaris-btn,
	.solaris-cs-proof-card__cta {
		background: var(--theme-ghost-button-surface) !important;
		background-color: var(--theme-ghost-button-surface) !important;
		color: var(--theme-ghost-button-on) !important;
		border: 1px solid var(--theme-ghost-button-border) !important;
	}

	.solaris-btn--ghost:is(:hover, :focus),
	.solaris-btn--header:is(:hover, :focus),
	.solaris-btn--header-brand:is(:hover, :focus),
	.solaris-primary-navigation__cta--mobile .solaris-btn:is(:hover, :focus),
	.solaris-cs-proof-card__cta:is(:hover, :focus) {
		background: var(--theme-ghost-button-surface) !important;
		background-color: var(--theme-ghost-button-surface) !important;
		color: var(--theme-ghost-button-on) !important;
		border-color: var(--theme-ghost-button-on) !important;
		box-shadow: 0 0 var(--space-md) var(--theme-ghost-button-shadow) !important;
	}

	/* Rotating hero text: swap to dark accent via variable only (never reset background shorthand — it kills background-clip:text) */
	.solaris-svc-hero-block__item.is-visible,
	.solaris-svc-hero-block__item.is-only {
		--hero-c1: var(--hero-c1-dark) !important;
		filter: saturate(1.15);
	}

	/* Preset palette fallback when inline --hero-c1 is very dark */
	.solaris-svc-hero-block__item[data-color="1"].is-visible,
	.solaris-svc-hero-block__item[data-color="1"].is-only {
		--hero-c1-dark: var(--hero-accent-dark-1);
	}

	.solaris-svc-hero-block__item[data-color="2"].is-visible,
	.solaris-svc-hero-block__item[data-color="2"].is-only {
		--hero-c1-dark: var(--hero-accent-dark-2);
	}

	.solaris-svc-hero-block__item[data-color="3"].is-visible,
	.solaris-svc-hero-block__item[data-color="3"].is-only {
		--hero-c1-dark: var(--hero-accent-dark-3);
	}

	.solaris-svc-hero-block__item[data-color="4"].is-visible,
	.solaris-svc-hero-block__item[data-color="4"].is-only {
		--hero-c1-dark: var(--hero-accent-dark-4);
	}

	.solaris-svc-hero-block__item[data-color="5"].is-visible,
	.solaris-svc-hero-block__item[data-color="5"].is-only {
		--hero-c1-dark: var(--hero-accent-dark-5);
	}

	.solaris-svc-hero-block__item[data-color="6"].is-visible,
	.solaris-svc-hero-block__item[data-color="6"].is-only {
		--hero-c1-dark: var(--hero-accent-dark-6);
	}

	.solaris-svc-hero-block__item[data-color="7"].is-visible,
	.solaris-svc-hero-block__item[data-color="7"].is-only {
		--hero-c1-dark: var(--hero-accent-dark-7);
	}
}

/* Print Optimization */
@media print {
	@page {
		size: A4;
		margin: 2.5cm;
	}

	.solaris-print-unavailable {
		display: none !important;
	}

	body.solaris-print-blocked .solaris-site,
	body:not(.single-post):not(.single-case_study) .solaris-site {
		display: none !important;
	}

	body.solaris-print-blocked .solaris-print-unavailable,
	body:not(.single-post):not(.single-case_study) .solaris-print-unavailable {
		display: block !important;
		max-width: 16cm !important;
		margin: 0 auto !important;
		padding: 0 !important;
		font-family: var(--print-font-serif) !important;
		color: var(--print-on-surface) !important;
		text-align: center !important;
	}

	body.solaris-print-blocked .solaris-print-unavailable__title,
	body:not(.single-post):not(.single-case_study) .solaris-print-unavailable__title {
		font-family: var(--print-font-serif) !important;
		font-size: 18pt !important;
		line-height: 1.3 !important;
		margin: 0 0 14pt !important;
		color: var(--print-on-surface) !important;
	}

	body.solaris-print-blocked .solaris-print-unavailable p,
	body:not(.single-post):not(.single-case_study) .solaris-print-unavailable p {
		font-family: var(--print-font-serif) !important;
		font-size: 12pt !important;
		line-height: 1.6 !important;
		margin: 0 !important;
		color: var(--print-on-surface) !important;
		text-align: center !important;
	}
}

.solaris-print-unavailable {
	display: none;
}

/* UX Accessibility & Custom Scrollbars */
.solaris-share__action-btn:focus-visible,
.solaris-share__dropdown-item:focus-visible {
	outline: 2px solid var(--theme-interaction-accent-on-surface);
	outline-offset: 2px;
}

/* -------------------------------------------------------------------------
   Content safeguards (formerly typography.css)
   ------------------------------------------------------------------------- */

.solaris-site {
	overflow-wrap: break-word;
	word-break: normal;
}

.solaris-site :where(img, video, iframe, embed, object, svg, table, pre, figure) {
	max-width: 100%;
}

.solaris-site :where(pre, code) {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* WordPress prose: allow synthetic italic (site shell disables synthesis globally) */
:is(.entry-content, .solaris-post__content, .solaris-comment__content) :is(em, i, cite, dfn, var) {
	font-synthesis: style;
}

/* Gutenberg / classic editor justified blocks */
:is(.entry-content, .solaris-post__content, .solaris-comment__content) :is(
	.has-text-align-justify,
	.alignjustify,
	[style*="text-align: justify"],
	[style*="text-align:justify"]
) {
	text-align: start !important;
	text-align-last: start !important;
}