/* ==========================================================================
   Sol Digital Widgets
   Headings: Montserrat · Body: Inter
   Breakpoints follow Elementor defaults: tablet ≤ 1024px, mobile ≤ 767px.
   Every value here is a default; the widget controls override it per device.
   ========================================================================== */

[class*="sol-"], [class*="sol-"]::before, [class*="sol-"]::after { box-sizing: border-box; }

:root {
	--sol-font-head: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--sol-font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
}
.sol-back-wrap,
.sol-section,
.sol-heading,
.sol-cards,
.sol-gboxes,
.sol-scards,
.sol-ftabs,
.sol-sa {
	--sol-pink: #FF1493;
	--sol-orange: #FE5103;
	--sol-yellow: #FFB400;
	--sol-ink: #1A0E1A;
	--sol-font-head: 'Montserrat', system-ui, -apple-system, 'Segoe UI', sans-serif;
	--sol-font-body: 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
	font-family: var(--sol-font-body);
}

/* ---------- Heading block ------------------------------------------------ */
.sol-head { --sol-head-ml: 0; --sol-head-mr: auto; }
.sol-eyebrow-wrap { margin-bottom: 18px; }
.sol-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: var(--sol-ey-gap, 14px);
	max-width: 100%;
	margin: 0;
	padding: 0;
	vertical-align: middle;
	color: var(--sol-ey-color, var(--sol-pink));
	font-family: var(--sol-font-body);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.sol-eyebrow__text { display: block; font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; }
.sol-eyebrow__line {
	display: block;
	flex: 0 0 var(--sol-ey-line-w, 40px);
	width: var(--sol-ey-line-w, 40px);
	height: var(--sol-ey-line-h, 2px);
	background: var(--sol-ey-line, #F0353F);
	border-radius: 2px;
}
.sol-eyebrow--full { display: flex; width: 100%; }
.sol-eyebrow__line--fill {
	flex: 1 1 auto;
	width: auto;
	min-width: 24px;
	height: var(--sol-ey-fill-h, 1px);
	background: var(--sol-ey-fill, #E7E4E8);
}
.sol-eyebrow--pill { --sol-ey-color: #fff; }
.sol-eyebrow--pill .sol-eyebrow__text {
	flex: 0 0 auto;
	padding: 8px 24px;
	border-radius: 999px;
	background: linear-gradient(90deg, var(--sol-ey-pill-1, #FF1F7A), var(--sol-ey-pill-2, #FFA600));
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.2;
	white-space: nowrap;
}

.sol-title {
	margin: 0 var(--sol-head-mr) 20px var(--sol-head-ml);
	padding: 0;
	color: var(--sol-ink);
	font-family: var(--sol-font-head);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: -.015em;
}
.sol-title__main { display: block; font-size: clamp(32px, 4.2vw, 54px); }
.sol-pretitle {
	display: block;
	margin-bottom: .12em;
	color: #F5A623;
	font-family: var(--sol-font-head);
	font-size: clamp(26px, 3vw, 40px);
	font-weight: 400;
	line-height: 1.2;
}
.sol-accent {
	padding-right: .06em;
	background-image: linear-gradient(var(--sol-acc-angle, 90deg), var(--sol-acc-1, #FE5103), var(--sol-acc-2, #FF1493));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
.sol-acc-solid .sol-accent {
	background-image: none;
	color: var(--sol-acc-1, var(--sol-pink));
	-webkit-text-fill-color: currentColor;
}
.sol-heading .sol-accent { font-style: italic; font-weight: 700; }

.sol-desc {
	max-width: 640px;
	margin: 0 var(--sol-head-mr) 0 var(--sol-head-ml);
	font-family: var(--sol-font-body);
	font-size: 16px;
	line-height: 1.65;
}
.sol-desc p { margin: 0 0 1em; }
.sol-desc p:last-child { margin-bottom: 0; }

/* ---------- Section + split layout --------------------------------------- */
.sol-section { position: relative; width: 100%; padding: 88px 24px; }
.sol-hero { overflow: hidden; background: #2A0F25; color: #fff; }
.sol-hero .sol-title { color: #fff; }
.sol-hero .sol-desc { color: rgba(255, 255, 255, .78); font-size: 15px; }
.sol-about { background: #fff; color: var(--sol-ink); }
.sol-about .sol-eyebrow { --sol-ey-color: var(--sol-ink); }

.sol-split {
	--sol-cw: var(--sol-cw-row, 52%);
	position: relative;
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 64px;
	max-width: 1280px;
	margin: 0 auto;
}
.sol-split__content { position: relative; z-index: 2; flex: 0 0 auto; width: var(--sol-cw); max-width: 100%; min-width: 0; }
.sol-split__media {
	position: relative;
	z-index: 1;
	display: flex;
	flex: var(--sol-mflex, 1 1 0%);
	align-items: center;
	justify-content: center;
	width: var(--sol-mw, auto);
	min-width: 0;
}
@media (max-width: 1024px) {
	.sol-split { flex-direction: column; gap: 48px; --sol-cw: 100%; --sol-mflex: 0 0 auto; --sol-mw: 100%; }
	.sol-section { padding: 72px 24px; }
}
@media (max-width: 767px) {
	.sol-split { gap: 36px; }
	.sol-section { padding: 56px 16px; }
}

/* ---------- Media: image / blob ------------------------------------------ */
.sol-media {
	position: relative;
	width: 100%;
	max-width: 560px;
	transform: translate(var(--sol-media-x, 0), var(--sol-media-y, 0));
}
.sol-media__img { display: block; width: 100%; height: auto; }
.sol-media--rounded .sol-media__img { border-radius: 28px; }
.sol-media--circle .sol-media__img { aspect-ratio: 1 / 1; object-fit: cover; border-radius: 50%; }

.sol-blob { display: block; width: 100%; height: auto; overflow: visible; }
.sol-blob__a { fill: var(--sol-blob-a, #FF1493); transform: translate(var(--sol-blob-off, 16px), calc(var(--sol-blob-off, 16px) * -.8)); }
.sol-blob__b { fill: var(--sol-blob-b, #FFB400); transform: translate(calc(var(--sol-blob-off, 16px) * -1), calc(var(--sol-blob-off, 16px) * .8)); }
.sol-blob--flip .sol-blob__a { transform: translate(calc(var(--sol-blob-off, 16px) * -1), calc(var(--sol-blob-off, 16px) * -.8)); }
.sol-blob--flip .sol-blob__b { transform: translate(var(--sol-blob-off, 16px), calc(var(--sol-blob-off, 16px) * .8)); }
.sol-blob__ph { fill: #4B2343; }
.sol-about .sol-blob__ph { fill: #EFE9EE; }

/* ---------- Media: vertical marquee -------------------------------------- */
.sol-mq {
	--sol-mq-h: 600px;
	--sol-mq-col-w: 170px;
	--sol-mq-item-h: 340px;
	--sol-mq-gap: 22px;
	--sol-mq-col-gap: 22px;
	--sol-mq-radius: 999px;
	--sol-mq-rot: 35deg;
	--sol-mq-scale: 1;
	--sol-mq-fade: 12%;
	--sol-mq-shift-x: 0px;
	position: relative;
	width: 100%;
	max-width: none;
	height: var(--sol-mq-h);
	overflow: hidden;
}
.sol-mq-bleed-yes .sol-mq { overflow: visible; }
.sol-mq--fade {
	-webkit-mask-image: linear-gradient(to bottom, transparent 0, #000 var(--sol-mq-fade), #000 calc(100% - var(--sol-mq-fade)), transparent 100%);
	mask-image: linear-gradient(to bottom, transparent 0, #000 var(--sol-mq-fade), #000 calc(100% - var(--sol-mq-fade)), transparent 100%);
}
.sol-mq__stage {
	position: absolute;
	top: 50%;
	left: 50%;
	display: flex;
	align-items: flex-start;
	gap: var(--sol-mq-col-gap);
	height: calc(var(--sol-mq-h) * 1.9);
	transform: translate(-50%, -50%) translateX(var(--sol-mq-shift-x)) rotate(var(--sol-mq-rot)) scale(var(--sol-mq-scale));
	transform-origin: center center;
}
.sol-mq__col { flex: 0 0 var(--sol-mq-col-w); width: var(--sol-mq-col-w); height: 100%; }
.sol-mq__track {
	display: flex;
	flex-direction: column;
	will-change: transform;
	animation: sol-mq-up var(--sol-mq-dur, 40s) linear infinite;
}
.sol-mq__col--down .sol-mq__track { animation-name: sol-mq-down; }
.sol-mq__group { display: flex; flex-direction: column; gap: var(--sol-mq-gap); padding-bottom: var(--sol-mq-gap); }
.sol-mq__item {
	flex: 0 0 auto;
	height: var(--sol-mq-item-h);
	overflow: hidden;
	border-radius: var(--sol-mq-radius);
	background: rgba(255, 255, 255, .06);
}
.sol-mq__item img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sol-mq__ph0 { background: linear-gradient(160deg, #5A2450, #FF1493); }
.sol-mq__ph1 { background: linear-gradient(160deg, #3A1736, #8E3BA8); }
.sol-mq__ph2 { background: linear-gradient(160deg, #4A2340, #FFB400); }
.sol-mq--pause:hover .sol-mq__track { animation-play-state: paused; }
@keyframes sol-mq-up { from { transform: translate3d(0, 0, 0); } to { transform: translate3d(0, -50%, 0); } }
@keyframes sol-mq-down { from { transform: translate3d(0, -50%, 0); } to { transform: translate3d(0, 0, 0); } }
@media (max-width: 1024px) {
	.sol-mq { --sol-mq-h: 520px; --sol-mq-col-w: 160px; --sol-mq-item-h: 250px; }
}
@media (max-width: 767px) {
	.sol-mq { --sol-mq-h: 380px; --sol-mq-col-w: 120px; --sol-mq-item-h: 190px; --sol-mq-gap: 14px; --sol-mq-col-gap: 14px; }
}

/* ---------- Counters ----------------------------------------------------- */
.sol-counters {
	--sol-cnt-cols: 3;
	display: grid;
	grid-template-columns: repeat(var(--sol-cnt-cols), minmax(0, 1fr));
	gap: 24px;
	margin-top: 28px;
}
.sol-cnt-divider-yes .sol-counters { padding-top: 28px; border-top: 1px solid var(--sol-cnt-divider, rgba(140, 130, 140, .3)); }
.sol-counter { min-width: 0; }
.sol-counter__num {
	display: inline-flex;
	align-items: baseline;
	gap: var(--sol-cnt-affix-gap, .14em);
	color: var(--sol-cnum-1, currentColor);
	font-family: var(--sol-font-head);
	font-size: 38px;
	font-weight: 600;
	line-height: 1.1;
	font-variant-numeric: tabular-nums;
}
.sol-counter__affix { font-size: var(--sol-cnt-affix-size, 1em); }
.sol-cnum-gradient .sol-counter__num {
	background-image: linear-gradient(90deg, var(--sol-cnum-1, #FF2E8A), var(--sol-cnum-2, #FF6B3D));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.sol-counter__label { margin-top: 14px; color: inherit; font-size: 13px; font-weight: 500; line-height: 1.4; }

.sol-cnt-boxed .sol-counter {
	padding: 28px 26px 30px;
	background: var(--sol-cnt-bg, #fff);
	border: 1px solid var(--sol-cnt-border, #EFECEF);
	border-top: var(--sol-cnt-accent-w, 2px) solid var(--sol-cnt-accent, var(--sol-pink));
	border-radius: var(--sol-cnt-radius, 14px);
}
.sol-cnt-boxed .sol-counter:where(:nth-child(3n+2)) { --sol-cnt-accent: #FFB400; }
.sol-cnt-boxed .sol-counter:where(:nth-child(3n+3)) { --sol-cnt-accent: #A855F7; }
.sol-cnt-boxed .sol-counter__num { --sol-cnum-1: var(--sol-ink); font-size: 40px; font-weight: 500; }
.sol-cnt-boxed .sol-counter__label { margin-top: 18px; font-size: 12px; letter-spacing: .1em; text-transform: uppercase; line-height: 1.6; }
@media (max-width: 767px) {
	.sol-counter__num { font-size: 30px; }
	.sol-counter__label { font-size: 12px; }
}

/* ---------- Buttons ------------------------------------------------------ */
.sol-btns { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 32px; }
.sol-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 14px 28px;
	border: 1.5px solid transparent;
	border-radius: 999px;
	font-family: var(--sol-font-head);
	font-size: 14px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: .04em;
	text-decoration: none;
	transition: transform .2s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease;
}
.sol-btn--primary { color: #fff; background: linear-gradient(90deg, var(--sol-btn-1, #FF1493), var(--sol-btn-2, #FE5103)); }
.sol-btn--primary:hover { transform: translateY(-2px); box-shadow: 0 10px 24px rgba(255, 20, 147, .3); color: #fff; }
.sol-btn--secondary { color: inherit; border-color: currentColor; background: transparent; }
.sol-btn:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }

/* ---------- Feature list (About) ----------------------------------------- */
.sol-flist {
	--sol-flist-cols: 1;
	display: grid;
	grid-template-columns: repeat(var(--sol-flist-cols), minmax(0, 1fr));
	column-gap: 40px;
	margin: 28px 0 0;
	padding: 0;
	list-style: none;
}
.sol-flist__item { display: flex; gap: var(--sol-flist-gap, 16px); margin: 0; padding: var(--sol-flist-pad, 18px) 0; text-align: left; }
.sol-list-div-yes .sol-flist__item { border-bottom: 1px solid var(--sol-flist-div, #EEECEE); }
.sol-list-div-yes .sol-flist__item:last-child { border-bottom: 0; }
.sol-flist__marker { flex: 0 0 auto; color: var(--sol-flist-marker, var(--sol-pink)); line-height: 1; }
.sol-list-dash .sol-flist__marker { width: var(--sol-flist-marker-size, 20px); height: 2px; margin-top: .62em; background: currentColor; }
.sol-list-dot .sol-flist__marker { width: var(--sol-flist-marker-size, 8px); height: var(--sol-flist-marker-size, 8px); margin-top: .45em; border-radius: 50%; background: currentColor; }
.sol-list-number .sol-flist__marker { min-width: 1.6em; font-family: var(--sol-font-head); font-size: var(--sol-flist-marker-size, 22px); font-weight: 800; }
.sol-list-icon .sol-flist__marker { font-size: var(--sol-flist-marker-size, 18px); margin-top: .1em; }
.sol-list-icon .sol-flist__marker svg { width: 1em; height: 1em; fill: currentColor; }
.sol-list-none .sol-flist__marker { display: none; }
.sol-flist__body { min-width: 0; }
.sol-flist__title { margin: 0 0 6px; color: var(--sol-ink); font-family: var(--sol-font-head); font-size: 16px; font-weight: 600; line-height: 1.3; }
.sol-flist__text { margin: 0; color: #6B6670; font-size: 14px; line-height: 1.75; }

/* ---------- Pills -------------------------------------------------------- */
.sol-pills { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.sol-split__content .sol-pills { margin-top: 24px; }
.sol-pill {
	display: inline-flex;
	align-items: center;
	margin: 0;
	padding: 6px 12px;
	border: 1px solid transparent;
	border-radius: 999px;
	font-family: var(--sol-font-body);
	font-size: 11px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
}
.sol-pill--c1 { background: #F1EEFF; border-color: #D9D2FF; color: #2E2468; }
.sol-pill--c2 { background: #E7F7F1; border-color: #BFE7D8; color: #0F4A3A; }
.sol-pill--c3 { background: #FFF3E1; border-color: #FFD7A3; color: #5C3A05; }
.sol-pill--c4 { background: #FFEBF3; border-color: #FFC4DA; color: #6E1239; }
.sol-pill--c5 { background: #FFB400; border-color: #FFB400; color: #2B1F05; }
.sol-pill--c6 { background: #FF1493; border-color: #FF1493; color: #fff; }

/* ---------- Shared grid -------------------------------------------------- */
.sol-cards,
.sol-gboxes,
.sol-scards {
	display: grid;
	grid-template-columns: repeat(var(--sol-cols, 3), minmax(0, 1fr));
	gap: 24px;
}
.sol-cards { --sol-cols: 4; gap: 20px; }
.sol-gboxes { --sol-cols: 3; gap: 28px; }
.sol-scards { --sol-cols: 2; gap: 22px; }
@media (max-width: 1024px) { .sol-cards, .sol-gboxes, .sol-scards { --sol-cols: 2; } }
@media (max-width: 767px) { .sol-cards, .sol-gboxes, .sol-scards { --sol-cols: 1; } }

/* gradient-border helper (mask ring) */
.sol-card__gborder,
.sol-gbox__border,
.sol-scard__gborder {
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	-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 exclude, linear-gradient(#fff 0 0);
}

/* ---------- Cards -------------------------------------------------------- */
.sol-card {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 2rem 1.5rem 1.75rem;
	overflow: hidden;
	color: var(--sol-ink);
	background: var(--sol-card-bg, #fff);
	border: 1px solid var(--sol-card-border, transparent);
	border-radius: 20px;
	transition: transform var(--sol-card-t, 300ms) ease, box-shadow var(--sol-card-t, 300ms) ease, border-color var(--sol-card-t, 300ms) ease, background-color var(--sol-card-t, 300ms) ease;
}
.sol-card:hover { border-color: var(--sol-card-border-h, rgba(255, 20, 147, .25)); box-shadow: 0 24px 60px rgba(255, 20, 147, .1); }
.sol-hover--lift .sol-card:hover { transform: translateY(calc(var(--sol-card-lift, 6px) * -1)); }
.sol-hover--scale .sol-card:hover { transform: scale(var(--sol-card-scale, 1.03)); }
.sol-hover--tilt .sol-card { transform-style: preserve-3d; will-change: transform; }
.sol-hover--none .sol-card:hover { transform: none; }

.sol-card__fx { position: absolute; pointer-events: none; }
.sol-card__strip {
	top: 0; left: 0; right: 0;
	z-index: 3;
	height: var(--sol-strip-h, 2px);
	background: linear-gradient(90deg, var(--sol-strip-1, #FF1493), var(--sol-strip-2, #FE5103));
	opacity: 0;
	transition: opacity .3s;
}
.sol-strip-yes .sol-card:hover .sol-card__strip { opacity: 1; }
.sol-card__iglow {
	inset: 0;
	z-index: 0;
	border-radius: inherit;
	background: linear-gradient(135deg, var(--sol-iglow-1, rgba(255, 20, 147, .04)), var(--sol-iglow-2, rgba(254, 81, 3, .03)));
	opacity: 0;
	transition: opacity .3s;
}
.sol-iglow-yes .sol-card:hover .sol-card__iglow { opacity: 1; }
.sol-card__gborder {
	z-index: 2;
	padding: var(--sol-gb-w, 1.5px);
	background: linear-gradient(var(--sol-gb-angle, 135deg), var(--sol-gb-1, #FF1493), var(--sol-gb-2, #FE5103), var(--sol-gb-3, #FFB400));
	opacity: 0;
	transition: opacity .3s;
}
.sol-gb-always .sol-card__gborder,
.sol-gb-preset .sol-cards--timeline .sol-card__gborder,
.sol-gb-hover .sol-card:hover .sol-card__gborder { opacity: 1; }
.sol-gb-off .sol-card__gborder { display: none; }
.sol-gb-always .sol-card { border-color: transparent; }

.sol-card__inner { position: relative; z-index: 1; display: flex; flex-direction: column; gap: var(--sol-badge-space, 22px); height: 100%; }
.sol-badge-pos--left .sol-card__inner { flex-direction: row; align-items: flex-start; gap: var(--sol-badge-space, 16px); }
.sol-card__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: var(--sol-card-gap, 8px); min-width: 0; }
.sol-card__label {
	color: #C3C1CC;
	font-family: var(--sol-font-head);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.sol-card__title { margin: 0; color: var(--sol-ink); font-family: var(--sol-font-head); font-size: 20px; font-weight: 500; line-height: 1.35; }
.sol-card__title a { color: inherit; text-decoration: none; }
.sol-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 4; }
.sol-card__text { margin: 0; color: #2B2730; font-size: 14px; line-height: 1.6; }
.sol-card__link {
	align-self: var(--sol-card-justify, flex-start);
	margin-top: auto;
	padding-top: 6px;
	color: var(--sol-pink);
	font-family: var(--sol-font-head);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
}

.sol-card__badge { flex: 0 0 auto; align-self: var(--sol-card-justify, flex-start); }
.sol-badge--circle,
.sol-badge--icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--sol-badge-size, 42px);
	height: var(--sol-badge-size, 42px);
	border: 1px solid var(--sol-badge-border, rgba(255, 20, 147, .3));
	border-radius: 50%;
	color: var(--sol-badge-color, #FF1493);
	background: var(--sol-badge-bg, rgba(255, 255, 255, .7));
	font-family: var(--sol-font-head);
	font-size: 15px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .04em;
	transition: all .3s;
}
.sol-badge--icon { font-size: calc(var(--sol-badge-size, 42px) * .45); }
.sol-badge--icon svg { width: 1em; height: 1em; fill: currentColor; }
.sol-bfill-yes .sol-card:hover .sol-badge--circle,
.sol-bfill-yes .sol-card:hover .sol-badge--icon {
	color: var(--sol-badge-hcolor, #fff);
	background: linear-gradient(135deg, var(--sol-badge-h1, #FF1493), var(--sol-badge-h2, #FE5103));
	border-color: transparent;
}
.sol-badge--big {
	padding-right: .05em;
	font-family: var(--sol-font-head);
	font-size: 32px;
	font-weight: 800;
	line-height: 1;
	background-image: linear-gradient(90deg, var(--sol-badge-color, #FE5103), var(--sol-badge-color-2, #FF3F2E));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	color: transparent;
}
.sol-badge--year { color: var(--sol-badge-color, #FF2E7E); font-family: var(--sol-font-head); font-size: 22px; font-weight: 400; line-height: 1.2; }

/* Preset: glass */
.sol-cards--glass {
	--sol-card-bg: rgba(255, 255, 255, .55);
	--sol-card-border: rgba(255, 255, 255, .9);
}
.sol-cards--glass .sol-card {
	-webkit-backdrop-filter: blur(var(--sol-card-blur, 16px));
	backdrop-filter: blur(var(--sol-card-blur, 16px));
}
.sol-cards--glass .sol-card__inner { gap: var(--sol-badge-space, 14px); }

/* Preset: steps */
.sol-cards--steps .sol-card { border-radius: 24px; padding: 32px 24px 36px; }
.sol-cards--steps .sol-card__label { margin-bottom: -2px; }

/* Preset: timeline */
.sol-cards--timeline .sol-card { border-width: 0; border-radius: 14px; padding: 42px 20px 40px; }
.sol-cards--timeline .sol-card__inner { gap: var(--sol-badge-space, 22px); }
.sol-cards--timeline .sol-card__body { gap: var(--sol-card-gap, 14px); }

/* Preset: numbered */
.sol-cards--numbered { --sol-cols: 2; --sol-card-bg: transparent; --sol-card-lift: 0px; column-gap: 24px; row-gap: 32px; }
.sol-cards--numbered .sol-card { padding: 0 0 30px; border-width: 0; border-radius: 0; overflow: visible; }
.sol-cards--numbered .sol-card:hover { box-shadow: none; }
.sol-cards--numbered .sol-card__strip,
.sol-cards--numbered .sol-card__iglow { display: none; }
.sol-cards--numbered .sol-card__title { font-size: 20px; }
.sol-cards--numbered .sol-card__body { gap: var(--sol-card-gap, 14px); padding-top: 2px; }
.sol-cdiv-on .sol-card,
.sol-cdiv-preset .sol-cards--numbered .sol-card { border-bottom: 1px solid var(--sol-cdiv, #ECEAEC); }
.sol-cdiv-off .sol-card { border-bottom-width: 0; }
@media (max-width: 1024px) { .sol-cards--numbered { --sol-cols: 2; } }
@media (max-width: 767px)  { .sol-cards--numbered { --sol-cols: 1; } }

/* ---------- Glow boxes --------------------------------------------------- */
.sol-gbox {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	min-width: 0;
	padding: 24px 24px 36px;
	overflow: hidden;
	color: var(--sol-ink);
	text-align: center;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, .06);
	border-radius: var(--sol-gbx-radius, 18px);
	transition: transform .3s ease, box-shadow .3s ease;
}
.sol-gbox:hover { transform: translateY(calc(var(--sol-gbx-lift, 4px) * -1)); box-shadow: 0 10px 30px rgba(0, 0, 0, .08); }
.sol-gbox__border {
	z-index: 3;
	padding: var(--sol-gbx-bw, 2px);
	background: linear-gradient(var(--sol-gbx-angle, 135deg), var(--sol-gbx-b1, #FE5103), var(--sol-gbx-b2, #FF1493));
	opacity: var(--sol-gbx-bop, .8);
	transition: opacity .3s ease, filter .3s ease;
}
.sol-gbox:hover .sol-gbox__border {
	opacity: var(--sol-gbx-bop-h, 1);
	filter: drop-shadow(0 0 var(--sol-gbx-bglow-size, 10px) var(--sol-gbx-bglow, rgba(255, 20, 147, .35)));
}
.sol-gbx-border-hover .sol-gbox__border { opacity: 0; }
.sol-gbx-border-hover .sol-gbox:hover .sol-gbox__border { opacity: var(--sol-gbx-bop-h, 1); }
.sol-gbx-border-off .sol-gbox__border { display: none; }

.sol-gbox { --sol-gx: 50%; --sol-gy: 50%; }
.sol-gboxes--rest-top .sol-gbox { --sol-gy: 0%; }
.sol-gboxes--rest-bottom .sol-gbox { --sol-gy: 100%; }
.sol-gbox__aura {
	position: absolute;
	top: var(--sol-gy);
	left: var(--sol-gx);
	z-index: 1;
	width: var(--sol-aura-size, 300px);
	height: var(--sol-aura-size, 300px);
	background: radial-gradient(circle, var(--sol-aura-1, rgba(254, 81, 3, .35)), var(--sol-aura-2, rgba(255, 20, 147, .25)), transparent 65%);
	filter: blur(var(--sol-aura-blur, 45px));
	opacity: 0;
	transform: translate(-50%, -50%);
	transition: opacity .25s ease;
	pointer-events: none;
}
.sol-gbx-idle-yes .sol-gbox__aura { opacity: var(--sol-aura-op-idle, .6); }
.sol-gbox:hover .sol-gbox__aura { opacity: var(--sol-aura-op, 1); }
.sol-gbox > :not(.sol-gbox__aura):not(.sol-gbox__border):not(.sol-gbox__overlay) { position: relative; z-index: 2; }
.sol-gbox__overlay { position: absolute; inset: 0; z-index: 4; }

.sol-gbox__media { display: flex; justify-content: var(--sol-gbox-justify, center); margin-bottom: 22px; overflow: hidden; border-radius: 12px; }
.sol-gbox__img {
	display: block;
	width: 100%;
	height: 190px;
	object-fit: cover;
	border-radius: 12px;
	transition: transform .6s ease;
}
.sol-gbox:hover .sol-gbox__img { transform: scale(var(--sol-gbx-zoom, 1.04)); }
.sol-gbox__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--sol-gbx-icon-box, 72px);
	height: var(--sol-gbx-icon-box, 72px);
	border-radius: 50%;
	color: var(--sol-pink);
	background: linear-gradient(135deg, #FFE4F1, #FFF0E3);
	font-size: var(--sol-gbx-icon, 28px);
}
.sol-gbox__media:has(.sol-gbox__icon) { border-radius: 0; overflow: visible; }
.sol-gbox__icon svg { width: 1em; height: 1em; fill: currentColor; }
.sol-gbox__title { margin: 0 0 14px; color: var(--sol-ink); font-family: var(--sol-font-head); font-size: 24px; font-weight: 500; line-height: 1.25; }
.sol-gbox__text { margin: 0; color: #222; font-size: 15px; line-height: 1.6; }
.sol-gbox__btn {
	align-self: var(--sol-gbox-justify, center);
	margin-top: auto;
	padding-top: 18px;
	color: var(--sol-pink);
	font-family: var(--sol-font-head);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: none;
}
@media (max-width: 767px) { .sol-gbox__title { font-size: 21px; } }

/* ---------- Service / industry cards ------------------------------------ */
/*
 * Image sizing chain (closest wins):
 *   left/right layout  -> --sol-sc-side-h / --sol-sc-side-r   (set on .sol-scard by "Image position")
 *   per-card override  -> --sol-sc-img-hh / --sol-sc-ratio-eff (set on the card by its Image tab)
 *   all cards          -> --sol-sc-img-hh / --sol-sc-ratio-eff (set on .sol-scards by "Size by")
 */
.sol-scards { --sol-sc-img-h: 280px; --sol-sc-ratio: 16/9; }
@media (max-width: 1024px) { .sol-scards { --sol-sc-img-h: 250px; } }
@media (max-width: 767px)  { .sol-scards { --sol-sc-img-h: 210px; } }

.sol-scard {
	position: relative;
	isolation: isolate;
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border-radius: var(--sol-sc-radius, 18px);
	transition: transform .3s ease, box-shadow .3s ease, background-color .3s ease;
}
.sol-scard:hover { transform: translateY(calc(var(--sol-sc-lift, 4px) * -1)); box-shadow: 0 18px 40px rgba(28, 10, 30, .08); }
.sol-scard__gborder {
	display: none;
	z-index: 3;
	padding: var(--sol-sc-bw, 1.5px);
	background: linear-gradient(135deg, var(--sol-sc-b1, #FF1493), var(--sol-sc-b2, #FF7A00));
}
.sol-scb-yes .sol-scard__gborder { display: block; }

.sol-scard__media {
	position: relative;
	flex: 0 0 auto;
	align-self: stretch;
	width: var(--sol-sc-side-w, 100%);
	max-width: 100%;
	overflow: hidden;
	min-height: 0;
}
.sol-scard__media img {
	display: block;
	width: 100%;
	max-width: none;
	height: var(--sol-sc-side-h, var(--sol-sc-img-hh, var(--sol-sc-img-h, 280px)));
	min-height: var(--sol-sc-side-min-eff, 0px);
	aspect-ratio: var(--sol-sc-side-r, var(--sol-sc-ratio-eff, auto));
	object-fit: var(--sol-sc-fit, cover);
	object-position: var(--sol-sc-op, center center);
	transform: scale(var(--sol-sc-scale, 1));
	transition: transform .6s ease, filter .45s ease;
}
.sol-scard__media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: var(--sol-sc-ov, transparent);
	pointer-events: none;
	transition: background-color .35s ease;
}
.sol-scard:hover .sol-scard__media::after { background: var(--sol-sc-ov-h, var(--sol-sc-ov, transparent)); }
.sol-scard:hover .sol-scard__media img { transform: scale(calc(var(--sol-sc-scale, 1) * var(--sol-sc-zoom, 1.04))); }
.sol-scgray-yes .sol-scard__media img { filter: grayscale(1); }
.sol-scgray-yes .sol-scard:hover .sol-scard__media img { filter: grayscale(0); }

.sol-scard__media.sol-scard__media--icon { width: auto; align-self: var(--sol-sc-jc, flex-start); padding: 28px 22px 0; overflow: visible; }
.sol-scard__media--icon::after { content: none; }
.sol-scard__iconbox {
	display: flex;
	align-items: center;
	justify-content: center;
	width: var(--sol-sc-iconbox, 72px);
	height: var(--sol-sc-iconbox, 72px);
	border-radius: 18px;
	color: var(--sol-pink);
	background: linear-gradient(135deg, #FFE4F1, #FFF0E0);
	font-size: var(--sol-sc-icon, 30px);
}
.sol-scard__iconbox svg { width: 1em; height: 1em; fill: currentColor; }

.sol-scard__body { display: flex; flex: 1 1 auto; flex-direction: column; gap: var(--sol-sc-gap, 18px); min-width: 0; padding: 30px 22px 26px; }
.sol-scard__title { margin: 0; color: var(--sol-ink); font-family: var(--sol-font-head); font-size: 15px; font-weight: 600; line-height: 1.35; transition: color .25s ease; }
.sol-scard__title a { color: inherit; text-decoration: none; }
.sol-scard__text { margin: 0; color: #5B5660; font-size: 14px; line-height: 1.75; }
.sol-scard__body .sol-pills { justify-content: var(--sol-sc-jc, flex-start); }
.sol-scard__spacer { flex: 1 1 auto; margin-top: calc(var(--sol-sc-gap, 18px) * -1); }
.sol-scard__foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 20px;
	margin: 0;
	padding-top: 22px;
}
.sol-scdiv-yes .sol-scard__foot { border-top: 1px solid var(--sol-sc-div, #EEEAEE); }
.sol-scdiv- .sol-scard__foot { padding-top: 0; }
.sol-foot--button-left { flex-direction: row-reverse; }
.sol-foot--stacked { flex-direction: column; align-items: flex-start; }
.sol-scard__meta { color: #6B6670; font-size: 13px; line-height: 1.5; }
.sol-scard__sep { margin: 0 6px; }
.sol-scard__btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--sol-sc-btn-1, #FF1493);
	font-family: var(--sol-font-head);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	white-space: nowrap;
}
.sol-scbtn-gradient .sol-scard__btn {
	background-image: linear-gradient(90deg, var(--sol-sc-btn-1, #FF1493), var(--sol-sc-btn-2, #FF7A00));
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
}
.sol-scard__arrow { display: inline-block; transition: transform .25s ease; }
.sol-scard:hover .sol-scard__arrow--right { transform: translateX(4px); }
.sol-scard:hover .sol-scard__arrow--diag { transform: translate(3px, -3px); }
.sol-scard--linked .sol-scard__btn::after { content: ""; position: absolute; inset: 0; z-index: 4; }
/* groups: pill heading + cards + button, repeated */
.sol-scwrap { --sol-scg-gap: 72px; }
.sol-scgroup + .sol-scgroup { margin-top: var(--sol-scg-gap); }
.sol-scgroup__head { margin-bottom: 24px; }
.sol-scgroup__head .sol-head { text-align: left; }
.sol-scgroup__head .sol-eyebrow-wrap { margin: 0; }
.sol-scgroup__head .sol-eyebrow { margin: 0; font-size: 12px; }
@media (max-width: 1024px) { .sol-scwrap { --sol-scg-gap: 56px; } }
@media (max-width: 767px)  { .sol-scwrap { --sol-scg-gap: 44px; } .sol-scgroup__head { margin-bottom: 18px; } }

/* "Back to all" button: text link / outline / gradient */
.sol-back-wrap { margin-top: 28px; text-align: right; }
.sol-back-wrap + .sol-scards { margin-top: 28px; }
.sol-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--sol-bk-c, var(--sol-ink, #1A0E1A));
	font-family: var(--sol-font-head);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: .14em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color .25s ease, background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.sol-back:hover, .sol-back:focus-visible { color: var(--sol-bk-c-h, #FF1493); }
.sol-back__i { color: var(--sol-bk-i, #6D5BFF); display: inline-block; transition: transform .25s ease; }
.sol-back:hover .sol-back__i--up { transform: translateY(-3px); }
.sol-back:hover .sol-back__i--left { transform: translateX(-3px); }
.sol-back:hover .sol-back__i--right { transform: translateX(3px); }
.sol-back:hover .sol-back__i--diag { transform: translate(2px, -2px); }
.sol-scbk-outline .sol-back {
	padding: 12px 22px;
	border: 1.5px solid var(--sol-bk-bd, currentColor);
	border-radius: 999px;
	background: var(--sol-bk-bg1, transparent);
}
.sol-scbk-outline .sol-back:hover { background: var(--sol-bk-bg-h, #1A0E1A); border-color: var(--sol-bk-bd-h, #1A0E1A); color: var(--sol-bk-c-h, #fff); }
.sol-scbk-outline .sol-back:hover .sol-back__i { color: inherit; }
.sol-scbk-gradient .sol-back {
	padding: 13px 24px;
	border-radius: 999px;
	color: var(--sol-bk-c, #fff);
	background: linear-gradient(90deg, var(--sol-bk-bg1, #FF1493), var(--sol-bk-bg2, #FE5103));
}
.sol-scbk-gradient .sol-back__i { color: var(--sol-bk-i, currentColor); }
.sol-scbk-gradient .sol-back:hover { color: var(--sol-bk-c-h, #fff); box-shadow: 0 10px 24px rgba(255, 20, 147, .3); }
@media (max-width: 767px) {
	.sol-back-wrap { text-align: left; }
}

/* ---------- Filter tabs -------------------------------------------------- */
.sol-ftabs { --sol-ft-cols: 4; }
.sol-ftabs__label {
	margin-bottom: 14px;
	color: #E2468F;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.sol-ftabs__list { display: grid; grid-template-columns: repeat(var(--sol-ft-cols), minmax(0, 1fr)); gap: 14px; }
.sol-ftabs .sol-ftab.sol-ftab {
	width: auto;
	height: auto;
	font-style: normal;
	text-shadow: none;
	white-space: normal;
}
.sol-ftabs .sol-ftab.sol-ftab,
.sol-ftab {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin: 0;
	padding: 10px 16px;
	color: var(--sol-ft-color, #1A1A22);
	background: var(--sol-ft-bg, #fff);
	border: 1px solid var(--sol-ft-border, #F1F0F3);
	border-radius: var(--sol-ft-radius, 4px);
	box-shadow: 0 1px 4px rgba(20, 20, 40, .05);
	font-family: var(--sol-font-body);
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .08em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: color .2s ease, background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}
.sol-ftabs .sol-ftab.sol-ftab:hover, .sol-ftabs .sol-ftab.sol-ftab:focus { color: var(--sol-ft-color-h, var(--sol-pink)); background: var(--sol-ft-bg-h, #fff); border-color: var(--sol-ft-border-h, rgba(255, 20, 147, .35)); }
.sol-ftabs .sol-ftab.sol-ftab.is-active,
.sol-ftabs .sol-ftab.sol-ftab.is-active:hover,
.sol-ftabs .sol-ftab.sol-ftab.is-active:focus {
	color: var(--sol-ft-color-a, #fff);
	background: linear-gradient(90deg, var(--sol-ft-a1, #EC4F9C), var(--sol-ft-a2, #F4A12A));
	border-color: transparent;
	font-weight: 600;
}
.sol-ftab:focus-visible { outline: 2px solid var(--sol-ink); outline-offset: 2px; }
.sol-ftabs__select-wrap { display: none; }
.sol-ftabs__select {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	min-height: 50px;
	padding: 12px 44px 12px 16px;
	color: var(--sol-ft-color, #1A1A22);
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23FF1493' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 16px center;
	border: 1px solid #F3C9DE;
	border-radius: var(--sol-ft-radius, 6px);
	font-family: var(--sol-font-body);
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .06em;
	text-transform: uppercase;
}
@media (max-width: 767px) {
	.sol-ftabs--m-scroll .sol-ftabs__list {
		display: flex !important;
		flex-wrap: nowrap !important;
		gap: 10px;
		padding: 2px 2px 10px;
		overflow-x: auto;
		overscroll-behavior-x: contain;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.sol-ftabs--m-scroll .sol-ftabs__list::-webkit-scrollbar { display: none; }
	.sol-ftabs--m-scroll .sol-ftab.sol-ftab { flex: 0 0 auto; padding-left: 18px; padding-right: 18px; white-space: nowrap; scroll-snap-align: start; }
	.sol-ftabs--m-select .sol-ftabs__list { display: none !important; }
	.sol-ftabs--m-select .sol-ftabs__select-wrap { display: block; }
	.sol-ftabs .sol-ftab.sol-ftab { font-size: 12px; }
}

/* filtering states */
.sol-f-hidden { display: none !important; }
.sol-f-show { animation: sol-f-in .45s ease both; }
@keyframes sol-f-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

/* ---------- Entrance animation (only once JS is running) ---------------- */
.sol-anim-ready .sol-reveal {
	opacity: 0;
	transition: opacity var(--sol-ad, 700ms) ease var(--sol-delay, 0ms), transform var(--sol-ad, 700ms) cubic-bezier(.2, .7, .2, 1) var(--sol-delay, 0ms);
}
.sol-anim-ready[data-sol-anim="fade-up"] .sol-reveal { transform: translateY(28px); }
.sol-anim-ready[data-sol-anim="zoom-in"] .sol-reveal { transform: scale(.94); }
.sol-anim-ready[data-sol-anim="slide-left"] .sol-reveal { transform: translateX(40px); }
.sol-anim-ready[data-sol-anim="slide-right"] .sol-reveal { transform: translateX(-40px); }
.sol-anim-ready .sol-reveal.is-in { opacity: 1; transform: none; }

/* ---------- Reduced motion ---------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	.sol-mq__track { animation: none; }
	.sol-anim-ready .sol-reveal { opacity: 1; transform: none; transition: none; }
	.sol-card, .sol-gbox, .sol-scard, .sol-gbox__img, .sol-scard__media img { transition: none; }
	.sol-f-show { animation: none; }
}

/* ---------- Section width: edge to edge --------------------------------- */
.sol-sw-full .sol-section {
	width: calc(100vw - var(--sol-sbw, 0px));
	max-width: none;
	margin-left: calc(50% - 50vw + var(--sol-sbw, 0px) / 2);
	margin-right: calc(50% - 50vw + var(--sol-sbw, 0px) / 2);
	border-radius: 0;
}

/* ---------- Service Tabs / Accordion ------------------------------------ */
.sol-sa {
	--sol-sa-mode: tabs;
	--sol-sa-porder: 1;
	--sol-sa-cols: 6;
	--sol-sa-cols-eff: var(--sol-sa-cols);
	--sol-sa-gap: 16px;
	--sol-sa-radius: 14px;
	--sol-sa-icon-box: 56px;
	--sol-sa-icon: 26px;
	--sol-sa-pspace: 64px;
	--sol-sa-mh: 420px;
	--sol-sa-mradius: 28px;
	--sol-sa-pcols: minmax(0, 1fr) minmax(0, 1fr);
	--sol-sa-vcol: 1;
	--sol-sa-tcol: 2;
	--sol-sa-vrow: 1 / span 6;
	color: var(--sol-ink, #1A0E1A);
	font-family: var(--sol-font-body);
}
@media (max-width: 1024px) {
	.sol-sa { --sol-sa-tmin-tabs: 108px; --sol-sa-tmin: var(--sol-sa-tmin-tabs); --sol-sa-cols: 3; --sol-sa-gap: 14px; --sol-sa-pspace: 40px; --sol-sa-mh: 320px; --sol-sa-pcols: minmax(0, 1fr); --sol-sa-vcol: 1; --sol-sa-tcol: 1; --sol-sa-vrow: auto; }
}
@media (max-width: 767px) {
	.sol-sa { --sol-sa-mode: accordion; --sol-sa-porder: 0; --sol-sa-cols: 2; --sol-sa-cols-eff: 1;
		--sol-sa-tdir: row; --sol-sa-tjust: flex-start; --sol-sa-ttext: left; --sol-sa-tlabel-flex: 1 1 auto; --sol-sa-ind: block; --sol-sa-back: none; --sol-sa-tmin: 64px; --sol-sa-tpad: 12px 16px; --sol-sa-tfs: 15px; --sol-sa-gap: 10px; --sol-sa-icon-box: 40px; --sol-sa-icon: 20px; --sol-sa-pspace: 20px; --sol-sa-mh: 236px; }
}
.sol-sa .sol-desc { font-size: 18px; line-height: 1.5; }
.sol-sa .sol-head .sol-eyebrow-wrap { margin-bottom: 14px; }

.sol-sa__grid {
	display: grid;
	grid-template-columns: repeat(var(--sol-sa-cols-eff), minmax(0, 1fr));
	gap: var(--sol-sa-gap);
	margin-top: 32px;
}
/* Tiles: doubled class + explicit resets so theme / Elementor Kit button styles can't leak in */
.sol-sa .sol-sa__tab.sol-sa__tab {
	-webkit-appearance: none;
	appearance: none;
	display: flex;
	flex-direction: var(--sol-sa-tdir, column);
	align-items: var(--sol-sa-talign, center);
	justify-content: var(--sol-sa-tjust, center);
	gap: 10px;
	width: 100%;
	min-width: 0;
	height: auto;
	min-height: var(--sol-sa-tmin, 140px);
	margin: 0;
	padding: var(--sol-sa-tpad, 16px 12px);
	overflow: hidden;
	color: var(--sol-sa-tx, var(--sol-ink, #1A0E1A));
	background: var(--sol-sa-bg, #fff);
	border: 1px solid var(--sol-sa-bd, #E6E2DF);
	border-radius: var(--sol-sa-radius);
	box-shadow: 0 2px 8px rgba(20, 20, 20, .05);
	font-family: var(--sol-font-body);
	font-size: 14px;
	font-weight: 500;
	font-style: normal;
	line-height: 1.3;
	letter-spacing: normal;
	text-align: var(--sol-sa-ttext, center);
	text-transform: none;
	text-decoration: none;
	text-shadow: none;
	white-space: normal;
	cursor: pointer;
	transition: transform .15s ease, box-shadow .2s ease, background-color .2s ease, color .2s ease, border-color .2s ease;
}
.sol-sa .sol-sa__tab.sol-sa__tab:hover,
.sol-sa .sol-sa__tab.sol-sa__tab:focus {
	color: var(--sol-sa-tx-h, var(--sol-sa-tx, var(--sol-ink, #1A0E1A)));
	background: var(--sol-sa-bg-h, var(--sol-sa-bg, #fff));
	border-color: var(--sol-sa-bd-h, var(--sol-sa-bd, #E6E2DF));
	box-shadow: 0 6px 16px rgba(20, 20, 20, .09);
}
.sol-sa .sol-sa__tab.sol-sa__tab:focus-visible { outline: 3px solid var(--sol-ink, #1A0E1A); outline-offset: 3px; }
.sol-sa .sol-sa__tab.sol-sa__tab:active { transform: scale(.98); }
.sol-sa .sol-sa__tab.sol-sa__tab[aria-expanded="true"],
.sol-sa .sol-sa__tab.sol-sa__tab[aria-expanded="true"]:hover,
.sol-sa .sol-sa__tab.sol-sa__tab[aria-expanded="true"]:focus {
	color: var(--sol-sa-tx-a, #fff);
	background: linear-gradient(135deg, var(--sol-sa-a1, #D4246E) 0%, var(--sol-sa-a2, #E2483F) 60%, var(--sol-sa-a3, #E8703A) 100%);
	border-color: transparent;
	box-shadow: 0 8px 20px rgba(212, 36, 110, .28);
}
.sol-sa .sol-sa__icon {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	justify-content: center;
	width: var(--sol-sa-icon-box);
	height: var(--sol-sa-icon-box);
	border: 1px solid var(--sol-sa-icon-bd, #DAD5D1);
	border-radius: 50%;
	background: var(--sol-sa-icon-bg, transparent);
	box-shadow: 0 2px 6px rgba(20, 20, 20, .06);
	color: inherit;
	font-size: var(--sol-sa-icon);
	line-height: 1;
}
.sol-sa .sol-sa__icon svg { width: 1em; height: 1em; fill: currentColor; }
.sol-sa .sol-sa__icon i { font-size: 1em; color: inherit; }
.sol-sa .sol-sa__tab[aria-expanded="true"] .sol-sa__icon { border: 1.5px solid rgba(255, 255, 255, .85); background: transparent; box-shadow: none; }
.sol-sa .sol-sa__label {
	flex: var(--sol-sa-tlabel-flex, 0 1 auto);
	min-width: 0;
	color: inherit;
	font-family: var(--sol-font-body);
	font-size: var(--sol-sa-tfs, 14px);
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: normal;
	text-transform: none;
	overflow-wrap: break-word;
	hyphens: auto;
}
.sol-sa .sol-sa__tab[aria-expanded="true"] .sol-sa__label { font-weight: 600; }
.sol-sa .sol-sa__ind { position: relative; display: var(--sol-sa-ind, none); flex: 0 0 auto; width: 14px; height: 14px; margin-left: auto; }

/* panel placement: tabs = after all tiles, accordion = right after its tile */
.sol-sa__panel {
	grid-column: 1 / -1;
	order: calc(var(--sol-sa-i, 1) + var(--sol-sa-porder) * 1000);
	padding-top: var(--sol-sa-pspace);
	scroll-margin-top: 16px;
}
.sol-sa__panel[hidden] { display: none; }
.sol-sa-anim-fade-up .sol-sa__panel:not([hidden]) { animation: sol-sa-in .45s ease both; }
.sol-sa-anim-fade .sol-sa__panel:not([hidden]) { animation: sol-sa-fade .35s ease both; }
@keyframes sol-sa-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
@keyframes sol-sa-fade { from { opacity: 0; } to { opacity: 1; } }

.sol-sa__inner {
	display: grid;
	grid-template-columns: var(--sol-sa-pcols);
	column-gap: 64px;
	row-gap: 22px;
	align-items: start;
}
.sol-sa__visual { grid-column: var(--sol-sa-vcol); grid-row: var(--sol-sa-vrow); display: flex; flex-direction: column; gap: 20px; min-width: 0; }
.sol-sa__inner > :not(.sol-sa__visual) { grid-column: var(--sol-sa-tcol); min-width: 0; }

.sol-sa__plabel {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	color: #C8226A;
	font-size: 13px;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: .08em;
	text-transform: uppercase;
}
.sol-sa-pline-yes .sol-sa__plabel::before { content: ""; display: block; flex: 0 0 32px; height: 2px; background: var(--sol-sa-pline, #E0453B); }
.sol-sa__title {
	margin: 0;
	color: #111;
	font-family: var(--sol-font-head);
	font-size: clamp(28px, 3.4vw, 44px);
	font-weight: 500;
	line-height: 1.18;
	letter-spacing: -.01em;
}
.sol-sa__title br { display: none; }
.sol-sa-break-yes .sol-sa__title .sol-accent { display: block; }
.sol-sa__title br + .sol-accent { margin-left: 0; }
.sol-sa-break- .sol-sa__title br { display: inline; }
.sol-sa__title .sol-accent { padding-right: 0; }
.sol-saacc-solid .sol-sa__title .sol-accent { background-image: none; color: var(--sol-sa-acc-1, #D9452F); -webkit-text-fill-color: currentColor; }
.sol-saacc-gradient .sol-sa__title .sol-accent { background-image: linear-gradient(90deg, var(--sol-sa-acc-1, #FE5103), var(--sol-sa-acc-2, #FF1493)); }

.sol-sa__media { position: relative; width: 100%; }
.sol-sa__media--duo { height: var(--sol-sa-mh); margin: 8px 8px 4px; width: auto; }
.sol-sa__media--duo::before,
.sol-sa__media--duo::after { content: ""; position: absolute; }
.sol-sa__media--duo::before { left: -6px; top: -8px; width: 62%; height: 70%; border-radius: 120px 40px 120px 40px; background: var(--sol-sa-shape-1, #E8318A); }
.sol-sa__media--duo::after { right: -6px; bottom: -10px; width: 58%; height: 66%; border-radius: 40px 120px 40px 120px; background: var(--sol-sa-shape-2, #F4B23E); }
.sol-sa__media--duo img { position: absolute; inset: 10px; z-index: 1; display: block; width: calc(100% - 20px); height: calc(100% - 20px); object-fit: cover; border-radius: var(--sol-sa-mradius); }
.sol-sa__media--plain img { display: block; width: 100%; height: auto; max-width: 100%; border-radius: var(--sol-sa-mradius-plain, 0); }
.sol-sa__media--plain::before, .sol-sa__media--plain::after { content: none; }
.sol-sa__media--rounded img { display: block; width: 100%; height: var(--sol-sa-mh); object-fit: cover; border-radius: var(--sol-sa-mradius); }
.sol-sa__visual .sol-pills { gap: 8px; }
.sol-sa__visual .sol-pill { min-height: 34px; padding: 6px 14px; font-size: 13px; }

.sol-sa__body { font-size: 16px; line-height: 1.62; }
.sol-sa__body p { margin: 0 0 16px; }
.sol-sa__body p:last-child { margin-bottom: 0; }

.sol-sa__cta {
	display: flex;
	align-items: center;
	justify-content: center;
	justify-self: start;
	min-height: 54px;
	margin-top: 8px;
	padding: 0 28px;
	color: var(--sol-sa-cta, #111);
	border: 1.5px solid var(--sol-sa-cta, #111);
	border-radius: 6px;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .12em;
	text-align: center;
	text-transform: uppercase;
	text-decoration: none;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.sol-sa__cta:hover, .sol-sa__cta:focus-visible { color: var(--sol-sa-cta-htx, #fff); background: var(--sol-sa-cta-hbg, #111); }
.sol-sacta-gradient .sol-sa__cta { color: #fff; border-color: transparent; background: linear-gradient(90deg, #FF1493, #FE5103); }
.sol-sacta-gradient .sol-sa__cta:hover { color: #fff; box-shadow: 0 10px 24px rgba(255, 20, 147, .3); background: linear-gradient(90deg, #FF1493, #FE5103); }
.sol-sa__back {
	display: none;
	align-items: center;
	justify-self: center;
	gap: 6px;
	min-height: 44px;
	color: #C8226A;
	font-size: 14px;
	font-weight: 500;
	text-decoration: none;
}
@media (max-width: 1024px) {
	.sol-sa__cta { justify-self: stretch; }
	.sol-sa .sol-sa__back { display: var(--sol-sa-back, inline-flex); }
}

/* accordion indicator (shown only when the active layout is accordion) */
.sol-sa-ind-none .sol-sa .sol-sa__ind { display: none; }
.sol-sa-ind-chevron .sol-sa .sol-sa__ind::before { content: ""; position: absolute; inset: 1px 3px 4px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); transition: transform .25s ease; }
.sol-sa-ind-chevron .sol-sa .sol-sa__tab[aria-expanded="true"] .sol-sa__ind::before { transform: translateY(4px) rotate(-135deg); }
.sol-sa-ind-plus .sol-sa .sol-sa__ind::before,
.sol-sa-ind-plus .sol-sa .sol-sa__ind::after { content: ""; position: absolute; top: 6px; left: 0; width: 14px; height: 2px; background: currentColor; transition: transform .25s ease; }
.sol-sa-ind-plus .sol-sa .sol-sa__ind::after { transform: rotate(90deg); }
.sol-sa-ind-plus .sol-sa .sol-sa__tab[aria-expanded="true"] .sol-sa__ind::after { transform: rotate(0); }

/* second section inside each panel */
.sol-sa__s2 {
	--sol-s2-cols: minmax(0, var(--sol-s2-cw, 1.15fr)) minmax(0, 1fr);
	--sol-s2-ccol: 1;
	--sol-s2-mcol: 2;
	--sol-s2-crow: 1;
	--sol-s2-mrow: 1;
	--sol-blob-a: #FFB400;
	--sol-blob-b: #FF1493;
	display: grid;
	grid-template-columns: var(--sol-s2-cols);
	column-gap: 72px;
	row-gap: 40px;
	align-items: center;
	margin-top: 80px;
}
@media (max-width: 1024px) {
	.sol-sa__s2 { --sol-s2-cols: minmax(0, 1fr); --sol-s2-mcol: 1; --sol-s2-mrow: 2; margin-top: 56px; }
}
@media (max-width: 767px) {
	.sol-sa__s2 { margin-top: 40px; row-gap: 28px; }
}
.sol-sa__s2-content { grid-column: var(--sol-s2-ccol); grid-row: var(--sol-s2-crow); min-width: 0; }
.sol-sa__s2-media { grid-column: var(--sol-s2-mcol); grid-row: var(--sol-s2-mrow); display: flex; justify-content: center; min-width: 0; }
.sol-sa__s2 .sol-head { text-align: left; }
.sol-sa__s2 .sol-eyebrow-wrap { margin-bottom: 0; }
.sol-sa__s2 .sol-eyebrow { --sol-ey-color: #FF1493; }
.sol-sa__s2 .sol-flist { --sol-flist-marker: #FF1493; }
.sol-sa__s2 .sol-flist { margin-top: 18px; }
.sol-sa__s2 .sol-media { max-width: 520px; }
.sol-sa__s2 .sol-media--plain .sol-media__img { border-radius: var(--sol-s2-radius, 0); }
.sol-sa__s2 .sol-media--rounded .sol-media__img { border-radius: var(--sol-s2-radius, 28px); }

@media (prefers-reduced-motion: reduce) {
	.sol-sa .sol-sa__tab.sol-sa__tab, .sol-sa__cta { transition: none; }
	.sol-sa__panel:not([hidden]) { animation: none !important; }
}

/* Per-card menu anchors: account for sticky headers without changing other widgets. */
.sol-scwrap .sol-scard[id] { scroll-margin-top: 110px; }
