/* Landing/content-layout widgets. */
.ws-hero-background, .ws-hero-overlay { position: absolute; inset: 0; pointer-events: none; }
.ws-hero-background { z-index: -2; background-size: cover; background-position: center; }
.ws-hero-overlay { z-index: -1; background: rgba(17,24,39,.65); background: color-mix(in srgb,var(--wsx-text) 65%,transparent); }
.ws-hero-badge { margin-bottom: 12px; }
.ws-hero .wsx-eyebrow { color: inherit; opacity: .78; }
.ws-hero .wsx-actions { margin-top: 24px; }
.ws-hero-proof { display: flex; flex-wrap: wrap; gap: 10px 16px; align-items: center; margin-top: 20px; font-size: 13px; }
.ws-hero-rating { color: #ffe29b; font-weight: 800; direction: ltr; }
.ws-hero-mini-stats { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 18px; }
.ws-hero-mini-stats > span { display: grid; min-width: 92px; padding: 10px 14px; border: 1px solid rgba(255,255,255,.22); border-radius: 12px; background: rgba(255,255,255,.08); }
.ws-hero-mini-stats strong { font-size: 20px; }
.ws-hero-mini-stats small { opacity: .8; }
.ws-hero-feature { background-color: var(--ws-hero-feature-bg,transparent); }
.ws-hero-feature-icon { color: var(--ws-hero-feature-icon-color,inherit); background-color: var(--ws-hero-feature-icon-bg,rgba(255,255,255,.12)); }
.ws-hero-feature-title { color: var(--ws-hero-feature-title-color,inherit); }
.ws-hero-feature-desc { color: var(--ws-hero-feature-desc-color,inherit); }
.ws-hero-video, .wsx-media-video-link { position: absolute; inset: 50% auto auto 50%; z-index: 3; display: flex; width: 62px; height: 62px; align-items: center; justify-content: center; border-radius: 50%; background: #fff; color: var(--wsx-primary,var(--e-global-color-primary,#2563eb)); text-decoration: none; box-shadow: 0 12px 30px rgba(0,0,0,.2); transform: translate(-50%,-50%); }
.ws-hero-media-float { position: relative; }
.ws-hero-layout-split-start .ws-hero-media { order: -1; }
.ws-hero-layout-centered .ws-hero-grid, .ws-hero-layout-background .ws-hero-grid { grid-template-columns: 1fr; text-align: center; }
.ws-hero-layout-centered .ws-hero-content, .ws-hero-layout-background .ws-hero-content { max-width: 880px; margin-inline: auto; }
.ws-hero-layout-centered .wsx-actions, .ws-hero-layout-background .wsx-actions, .ws-hero-layout-centered .ws-hero-proof, .ws-hero-layout-background .ws-hero-proof, .ws-hero-layout-centered .ws-hero-mini-stats, .ws-hero-layout-background .ws-hero-mini-stats { justify-content: center; }
.ws-hero-layout-background .ws-hero-media { display: none; }
.wsx-media-content-grid { display: grid; grid-template-columns: var(--wsx-content-width, 1fr) var(--wsx-media-width, 1fr); gap: var(--wsx-gap); align-items: var(--wsx-v-align, center); }
.wsx-media-content.is-media-start .wsx-media { order: -1; }
.wsx-media-content .wsx-media-frame { min-height: 420px; }
.wsx-media-content .wsx-media-frame img { min-height: inherit; object-fit: var(--wsx-object-fit, cover); }
.wsx-media-content-badge { position: absolute; inset-inline-start: 18px; bottom: 18px; z-index: 2; }
.wsx-floating-stat { position: absolute; inset-inline-end: 18px; top: 18px; z-index: 2; padding: 14px 18px; border-radius: 14px; background: rgba(255,255,255,.94); box-shadow: 0 12px 30px rgba(7,44,36,.14); }
.wsx-floating-stat strong, .wsx-stat-number { display: block; color: var(--wsx-primary); font-size: 28px; font-weight: 800; line-height: 1.1; }
.wsx-alternating-items { display: grid; gap: clamp(44px, 7vw, 90px); }
.wsx-alternating-item { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wsx-gap); align-items: center; }
.wsx-alternating-item.is-media-start .wsx-alternating-media { order: -1; }
.wsx-alternating-media { min-height: 330px; }
.wsx-features-grid { grid-template-columns: repeat(var(--wsx-columns, 3), minmax(0, 1fr)); }
.wsx-feature-image { aspect-ratio: 16 / 10; overflow: hidden; border-radius: 14px; margin-block-end: 18px; }
.wsx-feature-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wsx-features.is-icon-side .wsx-feature-card { display: grid; grid-template-columns: auto 1fr; align-items: start; column-gap: 16px; }
.wsx-features.is-icon-side .wsx-feature-card .wsx-badge,
.wsx-features.is-icon-side .wsx-feature-card .wsx-card-text,
.wsx-features.is-icon-side .wsx-feature-card .wsx-feature-card-link { grid-column: 2; }
.wsx-feature-card { height: 100%; transition: transform .2s ease, box-shadow .2s ease; }
.wsx-feature-card:hover { transform: translateY(-4px); }
.wsx-feature-card-link { color: var(--wsx-primary); text-decoration: none; font-weight: 700; }
.wsx-icon-list.is-two-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.wsx-icon-list.is-inline { display: flex; flex-wrap: wrap; }
.wsx-icon-list-item { display: flex; gap: 12px; align-items: flex-start; }
.wsx-icon-list-copy { min-width: 0; }
.wsx-icon-list-title { margin: 0; font-size: 17px; }
.wsx-icon-list-desc { margin: 5px 0 0; color: var(--wsx-muted); }
.wsx-stats-grid { grid-template-columns: repeat(var(--wsx-columns, 4), minmax(0, 1fr)); }
.wsx-stat { text-align: center; }
.wsx-stat-number-wrap { display: flex; align-items: baseline; justify-content: center; gap: 3px; }
.wsx-stat-number { font-size: clamp(34px, 5vw, 56px); }
.wsx-stat-title { margin: 8px 0 0; font-weight: 700; }
.wsx-stat-desc { margin: 6px 0 0; color: var(--wsx-muted); }
.wsx-trust-track { display: grid; grid-template-columns: repeat(var(--wsx-columns, 5), minmax(0, 1fr)); gap: var(--wsx-gap); align-items: center; }
.wsx-trust-item { display: flex; min-height: 84px; align-items: center; justify-content: center; padding: 14px; border: 1px solid var(--wsx-border); border-radius: 14px; background: #fff; }
.wsx-trust-item img { width: auto; max-height: var(--wsx-logo-height, 52px); object-fit: contain; filter: var(--wsx-logo-filter, none); opacity: var(--wsx-logo-opacity, 1); transition: filter .2s, opacity .2s; }
.wsx-problem-solution-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: var(--wsx-gap); }
.wsx-problem-card { --wsx-card-accent: #c2413b; }
.wsx-solution-card { --wsx-card-accent: var(--wsx-primary); }
.wsx-ps-icon { color: var(--wsx-card-accent); }
.wsx-showcase-layout { display: grid; grid-template-columns: minmax(220px,.65fr) minmax(0,1.35fr); gap: var(--wsx-gap); align-items: start; }
.wsx-tabs-nav { display: grid; gap: 8px; }
.wsx-tab-button { width: 100%; display: flex; align-items: center; gap: 10px; padding: 14px 16px; border: 1px solid var(--wsx-border); border-radius: 12px; background: #fff; color: var(--wsx-text); text-align: start; cursor: pointer; }
.wsx-tab-button[aria-selected="true"] { border-color: var(--wsx-primary); background: var(--wsx-soft); color: var(--wsx-primary); }
.wsx-tab-panel { min-width: 0; }
.wsx-tab-panel-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wsx-gap); align-items: center; }
.wsx-tab-image { min-height: 280px; }
.wsx-case-study-grid { display: grid; grid-template-columns: 1fr 1fr; gap: var(--wsx-gap); align-items: center; }
.wsx-case-blocks { display: grid; gap: 16px; margin-top: 22px; }
.wsx-case-block h3 { margin: 0 0 6px; font-size: 17px; }
.wsx-case-block p { margin: 0; color: var(--wsx-muted); }
.wsx-case-stats { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; margin-top: 22px; }
.wsx-case-stat { padding: 16px; border-radius: 14px; background: var(--wsx-soft); }
.wsx-case-stat strong { display: block; color: var(--wsx-primary); font-size: 28px; }
.wsx-gallery-grid { display: grid; grid-template-columns: repeat(var(--wsx-columns,3),minmax(0,1fr)); gap: var(--wsx-gap); }
.wsx-gallery-item { position: relative; overflow: hidden; min-height: 260px; border-radius: 16px; }
.wsx-gallery-item img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.wsx-gallery-item:hover img { transform: scale(1.04); }
.wsx-gallery-caption { position: absolute; inset-inline: 0; bottom: 0; padding: 42px 18px 16px; background: linear-gradient(transparent,rgba(0,0,0,.72)); color: #fff; }
.wsx-gallery-caption h3, .wsx-gallery-caption p { margin: 0; color: inherit; }
.wsx-section-header .wsx-section-head { margin-bottom: 0; }
.wsx-section-header-link { margin-top: 18px; }

@media (max-width: 1024px) {
	.wsx-features-grid, .wsx-stats-grid { --wsx-columns: 2 !important; }
	.wsx-trust-track { --wsx-columns: 3 !important; }
}
@media (max-width: 767px) {
	.ws-hero-mobile-image-first .ws-hero-media { order: -1; }
	.ws-hero-mobile-content-first .ws-hero-content { order: -1; }
	.wsx-media-content-grid, .wsx-alternating-item, .wsx-case-study-grid, .wsx-problem-solution-grid, .wsx-showcase-layout, .wsx-tab-panel-grid { grid-template-columns: 1fr; }
	.wsx-media-content.is-mobile-media-first .wsx-media, .wsx-alternating-item.is-mobile-media-first .wsx-alternating-media { order: -1; }
	.wsx-media-content.is-mobile-content-first .wsx-content, .wsx-alternating-item.is-mobile-content-first .wsx-alternating-copy { order: -1; }
	.wsx-media-content .wsx-media-frame { min-height: 280px; }
	.wsx-icon-list.is-two-columns { grid-template-columns: 1fr; }
	.wsx-trust-track { --wsx-columns: 2 !important; }
	.wsx-showcase-layout { display: block; }
	.wsx-tabs-nav { display: flex; overflow-x: auto; padding-bottom: 8px; margin-bottom: 18px; scroll-snap-type: x proximity; }
	.wsx-tab-button { flex: 0 0 auto; width: auto; scroll-snap-align: start; }
	.wsx-gallery-grid { --wsx-columns: 1 !important; }
}
