.ecomz-ss {
	box-sizing: border-box;
	--ecomz-ss-blue: #2554c7;
	--ecomz-ss-blue-dark: #1d327f;
	--ecomz-ss-accent: #4264c8;
	--ecomz-ss-ink: #202673;
	--ecomz-ss-muted: #626985;
	--ecomz-ss-soft: #f9fcfc;
	--ecomz-ss-line: #dde3ee;
	--ecomz-ss-white: #fff;
	color: var(--ecomz-ss-ink);
	font-family: inherit;
	overflow-wrap: anywhere;
}

.ecomz-ss *, .ecomz-ss *::before, .ecomz-ss *::after { box-sizing: border-box; }
.ecomz-ss a { color: var(--ecomz-ss-blue); }
.ecomz-ss-showcase, .ecomz-ss-single {
	width: 100%;
	margin-inline: auto;
	padding-inline: 32px 40px;
}
.ecomz-ss-showcase { max-width: 1400px; }
.ecomz-ss-single { max-width: 1180px; padding-top: 28px; padding-bottom: 72px; }

/* Banner is a complete admin-uploaded composition. Never crop or overlay it. */
.ecomz-ss-hero { margin: 0 0 clamp(28px, 4vw, 56px); }
.ecomz-ss-hero picture, .ecomz-ss-hero img { display: block; width: 100%; }
.ecomz-ss-hero img {
	height: auto;
	max-width: 100%;
	border-radius: 16px;
	object-fit: contain;
}

.ecomz-ss-benefits {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 14px;
	margin: 0 0 clamp(54px, 7vw, 92px);
}
.ecomz-ss-benefit {
	display: flex;
	gap: 14px;
	min-width: 0;
	padding: 20px 16px;
	border: 1px solid var(--ecomz-ss-line);
	border-radius: 12px;
	background: var(--ecomz-ss-white);
}
.ecomz-ss-benefit__mark {
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	color: var(--ecomz-ss-blue);
}
.ecomz-ss-benefit strong { display: block; margin: 0 0 5px; font-size: .91rem; line-height: 1.3; color: var(--ecomz-ss-blue-dark); }
.ecomz-ss-benefit p { margin: 0; color: var(--ecomz-ss-muted); font-size: .83rem; line-height: 1.5; }
.ecomz-ss-library, .ecomz-ss-case, .ecomz-ss-industries { margin-bottom: clamp(58px, 7vw, 96px); }
.ecomz-ss-section-intro { max-width: 810px; margin-bottom: 26px; }
.ecomz-ss-kicker {
	margin: 0 0 10px;
	color: var(--ecomz-ss-blue);
	font-size: .76rem;
	font-weight: 700;
	letter-spacing: .12em;
}
.ecomz-ss-section-intro h1, .ecomz-ss-section-intro h2 {
	margin: 0;
	color: var(--ecomz-ss-blue-dark);
	font-size: clamp(1.7rem, 2.8vw, 2.75rem);
	line-height: 1.17;
}
.ecomz-ss-section-intro > p:last-child:not(.ecomz-ss-kicker) {
	margin: 14px 0 0;
	color: var(--ecomz-ss-muted);
	line-height: 1.7;
}

.ecomz-ss-filters {
	display: flex;
	gap: 8px;
	max-width: 100%;
	margin: 0 0 26px;
	padding: 0 0 10px;
	overflow-x: auto;
	scrollbar-width: thin;
	-webkit-overflow-scrolling: touch;
}
.ecomz-ss .ecomz-ss-filter {
	display: inline-flex;
	flex: 0 0 auto;
	min-height: 44px;
	align-items: center;
	justify-content: center;
	padding: 9px 17px;
	border: 1px solid var(--ecomz-ss-line);
	border-radius: 999px;
	color: var(--ecomz-ss-ink);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}
.ecomz-ss .ecomz-ss-filter:hover, .ecomz-ss .ecomz-ss-filter:focus-visible {
	border-color: var(--ecomz-ss-blue);
	color: var(--ecomz-ss-blue);
}
.ecomz-ss .ecomz-ss-filter.is-active {
	border-color: var(--ecomz-ss-blue);
	background: var(--ecomz-ss-blue);
	color: var(--ecomz-ss-white);
}
.ecomz-ss-filter-context { margin: -8px 0 20px; color: var(--ecomz-ss-muted); }

.ecomz-ss-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; }
.ecomz-ss-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid var(--ecomz-ss-line);
	border-radius: 12px;
	background: var(--ecomz-ss-white);
	box-shadow: 0 6px 20px rgb(29 50 127 / 5%);
}
.ecomz-ss-card__image {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 3;
	min-width: 0;
	overflow: hidden;
	background: var(--ecomz-ss-soft);
}
.ecomz-ss-card__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.ecomz-ss-card__placeholder { color: var(--ecomz-ss-muted); font-size: .9rem; }
.ecomz-ss-card__body { display: flex; flex: 1; min-width: 0; flex-direction: column; align-items: flex-start; padding: 18px; }
.ecomz-ss-card__course {
	margin: 0 0 11px;
	padding: 5px 9px;
	border-radius: 5px;
	background: var(--ecomz-ss-soft);
	color: var(--ecomz-ss-blue);
	font-size: .73rem;
	font-weight: 700;
	line-height: 1.35;
	text-transform: uppercase;
}
.ecomz-ss-card__title { margin: 0; font-size: 1.12rem; line-height: 1.4; }
.ecomz-ss-card__title a { color: var(--ecomz-ss-blue-dark); text-decoration: none; }
.ecomz-ss-card__student { margin: 12px 0 0; font-weight: 700; }
.ecomz-ss-card__meta, .ecomz-ss-card__school, .ecomz-ss-card__excerpt {
	margin: 7px 0 0;
	color: var(--ecomz-ss-muted);
	font-size: .87rem;
	line-height: 1.55;
}
.ecomz-ss-card__excerpt { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; }
.ecomz-ss .ecomz-ss-card__link { display: inline-flex; min-height: 44px; align-items: center; margin-top: auto; padding-top: 14px; font-weight: 700; text-decoration: none; }
.ecomz-ss .ecomz-ss-card__link:hover { text-decoration: underline; }
.ecomz-ss-empty { padding: 30px; border-radius: 10px; background: var(--ecomz-ss-soft); text-align: center; }
.ecomz-ss-pagination { margin-top: 32px; }
.ecomz-ss-pagination ul { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; padding: 0; margin: 0; list-style: none; }
.ecomz-ss-pagination li { margin: 0; }
.ecomz-ss-pagination a, .ecomz-ss-pagination span {
	display: grid;
	min-width: 44px;
	min-height: 44px;
	place-items: center;
	padding: 7px 12px;
	border: 1px solid var(--ecomz-ss-line);
	border-radius: 8px;
	text-decoration: none;
}
.ecomz-ss-pagination .current { border-color: var(--ecomz-ss-blue); background: var(--ecomz-ss-blue); color: var(--ecomz-ss-white); }

.ecomz-ss-case__layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(24px, 4vw, 60px); align-items: center; }
.ecomz-ss-case__layout--no-image { grid-template-columns: minmax(0, 1fr); }
.ecomz-ss-case__visual { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; min-width: 0; }
.ecomz-ss-case__visual figure { min-width: 0; margin: 0; padding: 10px; border: 1px solid var(--ecomz-ss-line); border-radius: 10px; background: var(--ecomz-ss-soft); }
.ecomz-ss-case__visual figure:only-child { grid-column: 1 / -1; }
.ecomz-ss-case__visual figure span { display: block; padding: 6px 4px 12px; color: var(--ecomz-ss-blue-dark); font-size: .72rem; font-weight: 700; letter-spacing: .08em; }
.ecomz-ss-case__visual img { display: block; width: 100%; height: auto; max-height: 390px; margin-inline: auto; object-fit: contain; }
.ecomz-ss-case__copy h3 { margin: 0 0 8px; color: var(--ecomz-ss-blue-dark); font-size: clamp(1.1rem, 1.8vw, 1.45rem); }
.ecomz-ss-case__work { margin: 0 0 10px; font-weight: 600; }
.ecomz-ss-case__meta { margin: 0 0 22px; color: var(--ecomz-ss-muted); }
.ecomz-ss-case__story { margin: 0 0 26px; line-height: 1.8; }
.ecomz-ss .ecomz-ss-button {
	display: inline-flex;
	min-height: 46px;
	align-items: center;
	justify-content: center;
	padding: 11px 19px;
	border: 1px solid transparent;
	border-radius: 8px;
	background: var(--ecomz-ss-blue);
	color: var(--ecomz-ss-white);
	font: inherit;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
	text-decoration: none;
}
.ecomz-ss .ecomz-ss-button:hover, .ecomz-ss .ecomz-ss-button:focus-visible {
	background: var(--ecomz-ss-blue-dark);
	color: var(--ecomz-ss-white);
}
.ecomz-ss-industries__grid { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; }
.ecomz-ss .ecomz-ss-industry {
	display: flex;
	min-width: 0;
	min-height: 160px;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 18px;
	border: 1px solid var(--ecomz-ss-line);
	border-radius: 10px;
	color: var(--ecomz-ss-ink);
	text-decoration: none;
}
.ecomz-ss .ecomz-ss-industry:hover, .ecomz-ss .ecomz-ss-industry:focus-visible { border-color: var(--ecomz-ss-blue); }
.ecomz-ss-industry svg { width: 28px; height: 28px; color: var(--ecomz-ss-blue); }
.ecomz-ss-industry strong { font-size: .94rem; line-height: 1.4; }
.ecomz-ss-industry span { margin-top: auto; color: var(--ecomz-ss-blue); font-size: .8rem; font-weight: 700; }
.ecomz-ss-bottom-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
	align-items: center;
	justify-content: space-between;
	padding: clamp(28px, 5vw, 54px);
	border-radius: 16px;
	background: var(--ecomz-ss-blue-dark);
	color: var(--ecomz-ss-white);
}
.ecomz-ss-bottom-cta > div:first-child { max-width: 720px; }
.ecomz-ss-bottom-cta .ecomz-ss-kicker { color: #e2e9ff; }
.ecomz-ss-bottom-cta h2 { margin: 0 0 10px; color: var(--ecomz-ss-white); font-size: clamp(1.5rem, 2.5vw, 2.35rem); line-height: 1.2; }
.ecomz-ss-bottom-cta p:not(.ecomz-ss-kicker) { margin: 0; color: #eef2ff; line-height: 1.7; }
.ecomz-ss-bottom-cta__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.ecomz-ss-bottom-cta .ecomz-ss-button { background: var(--ecomz-ss-white); color: var(--ecomz-ss-blue-dark); }
.ecomz-ss-bottom-cta .ecomz-ss-button:hover { background: #e9efff; color: var(--ecomz-ss-blue-dark); }
.ecomz-ss-bottom-cta .ecomz-ss-button--outline { border-color: var(--ecomz-ss-white); background: transparent; color: var(--ecomz-ss-white); }
.ecomz-ss-bottom-cta .ecomz-ss-button--outline:hover { border-color: var(--ecomz-ss-white); background: rgb(255 255 255 / 12%); color: var(--ecomz-ss-white); }

/* Detail page inherits the site's header, footer and font. */
.ecomz-ss-breadcrumb { display: flex; flex-wrap: wrap; gap: 9px; margin: 0 0 32px; color: var(--ecomz-ss-muted); font-size: .9rem; }
.ecomz-ss-breadcrumb a { text-decoration: none; }
.ecomz-ss-detail-header { max-width: 970px; margin-bottom: 32px; }
.ecomz-ss-detail-header__eyebrow { margin: 0 0 12px; color: var(--ecomz-ss-accent); font-size: .8rem; font-weight: 700; letter-spacing: .1em; }
.ecomz-ss-detail-header__title { margin: 0; color: var(--ecomz-ss-blue-dark); font-size: clamp(2rem, 3.8vw, 3.25rem); line-height: 1.18; }
.ecomz-ss-detail-header__student { display: flex; flex-wrap: wrap; gap: 8px 14px; margin-top: 18px; }
.ecomz-ss-detail-header__student span, .ecomz-ss-detail-header__period { color: var(--ecomz-ss-muted); }
.ecomz-ss-detail-header__terms { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ecomz-ss-detail-header__terms span { padding: 6px 11px; border-radius: 999px; background: var(--ecomz-ss-soft); color: var(--ecomz-ss-blue-dark); font-size: .87rem; }
.ecomz-ss-detail-featured { margin: 0 0 46px; padding: 14px; border-radius: 14px; background: var(--ecomz-ss-soft); }
.ecomz-ss-detail-featured img { display: block; max-width: 100%; width: auto; height: auto; max-height: 720px; margin-inline: auto; object-fit: contain; }
.ecomz-ss-detail-layout { display: grid; grid-template-columns: minmax(0, 1fr) 260px; gap: clamp(26px, 4vw, 54px); align-items: start; }
.ecomz-ss-detail-main { min-width: 0; }
.ecomz-ss-detail-section { margin: 0 0 40px; }
.ecomz-ss-detail-section h2, .ecomz-ss-testimonial h2, .ecomz-ss-related h2 { margin: 0 0 18px; color: var(--ecomz-ss-blue-dark); font-size: 1.45rem; line-height: 1.3; }
.ecomz-ss-content, .ecomz-ss-story-block, .ecomz-ss-testimonial { line-height: 1.8; }
.ecomz-ss-content img { max-width: 100%; height: auto; }
.ecomz-ss-content iframe { max-width: 100%; }
.ecomz-ss-content pre, .ecomz-ss-content table { max-width: 100%; overflow-x: auto; }
.ecomz-ss-story-block { padding: 20px; margin-top: 18px; border-left: 3px solid var(--ecomz-ss-blue); border-radius: 0 8px 8px 0; background: var(--ecomz-ss-soft); }
.ecomz-ss-story-block h3 { margin: 0 0 6px; font-size: 1.08rem; }
.ecomz-ss-story-block p { margin: 0; }
.ecomz-ss-gallery { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.ecomz-ss-gallery__item { display: block; min-width: 0; padding: 8px; border-radius: 10px; background: var(--ecomz-ss-soft); }
.ecomz-ss-gallery__item img { display: block; max-width: 100%; width: auto; height: auto; max-height: 520px; margin-inline: auto; object-fit: contain; }
.ecomz-ss-testimonial { padding: 24px; margin: 0 0 40px; border-radius: 12px; background: var(--ecomz-ss-soft); }
.ecomz-ss-testimonial p:last-child { margin-bottom: 0; }
.ecomz-ss-video { display: block; width: 100%; max-height: 520px; border-radius: 12px; background: #141e39; }
.ecomz-ss-detail-aside { display: grid; gap: 24px; }
.ecomz-ss-button--cta { width: 100%; }
.ecomz-ss-related { padding: 18px; border: 1px solid var(--ecomz-ss-line); border-radius: 12px; }
.ecomz-ss-related h2 { font-size: 1.12rem; }
.ecomz-ss-related__list { display: grid; gap: 14px; }
.ecomz-ss-related__item { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 10px; align-items: center; color: var(--ecomz-ss-ink); font-weight: 600; text-decoration: none; }
.ecomz-ss-related__item img { display: block; width: 64px; height: 52px; border-radius: 6px; object-fit: contain; }
.ecomz-ss-back { display: inline-flex; min-height: 44px; align-items: center; margin-top: 28px; font-weight: 700; text-decoration: none; }

@media (max-width: 1199px) {
	.ecomz-ss-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ecomz-ss-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ecomz-ss-industries__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.ecomz-ss-showcase, .ecomz-ss-single { padding-inline: 24px 40px; }
}
@media (max-width: 1024px) {
	.ecomz-ss-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.ecomz-ss-showcase, .ecomz-ss-single { padding-inline: 16px 40px; }
	.ecomz-ss-hero { margin-bottom: 28px; }
	.ecomz-ss-hero img { border-radius: 10px; }
	.ecomz-ss-benefits, .ecomz-ss-grid, .ecomz-ss-case__layout, .ecomz-ss-detail-layout { grid-template-columns: minmax(0, 1fr); }
	.ecomz-ss-benefits { gap: 9px; }
	.ecomz-ss-benefit { padding: 13px 14px; }
	.ecomz-ss-filters { flex-wrap: nowrap; }
	.ecomz-ss-industries__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ecomz-ss .ecomz-ss-industry { min-height: 140px; padding: 14px; }
	.ecomz-ss-case__visual img { max-height: 260px; }
	.ecomz-ss-bottom-cta { padding: 27px 22px; }
	.ecomz-ss-bottom-cta__actions, .ecomz-ss-bottom-cta__actions .ecomz-ss-button { width: 100%; }
	.ecomz-ss-single { padding-top: 16px; }
	.ecomz-ss-detail-layout { gap: 30px; }
	.ecomz-ss-detail-aside { grid-row: 1; }
	.ecomz-ss-gallery { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 375px) {
	.ecomz-ss-industries__grid { gap: 8px; }
	.ecomz-ss .ecomz-ss-industry { padding: 11px; }
	.ecomz-ss-industry strong { font-size: .86rem; }
}