/**
 * SJ Morse — responsive overrides (additive; desktop figma-*.css unchanged).
 * Home layout fixes apply ≤1024px (fixed px card/column widths from Figma).
 * Typography / padding refinements apply ≤767px.
 */

/* Home page layout: stack columns, kill fixed 526px / 388px widths */
@media (max-width: 1024px) {

	.sj-figma-home-hero.elementor-section.elementor-section-stretched,
	.sj-about-figma.elementor-section.elementor-section-stretched,
	.sj-services-figma.elementor-section.elementor-section-stretched,
	.sj-company-figma.elementor-section.elementor-section-stretched,
	.sj-projects-figma.elementor-section.elementor-section-stretched,
	.sj-services-figma .sj-services-row1.elementor-section-stretched,
	.sj-services-figma .sj-services-row2.elementor-section-stretched,
	.sj-projects-figma .sj-projects-row-imgs.elementor-section-stretched {
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	body.sj-morse-home,
	body.sj-morse-about {
		overflow-x: hidden;
	}

	/* Home hero — desktop uses fixed 1506×1408 MICRON position (breaks on tablet) */
	.sj-figma-home-hero.elementor-section {
		min-height: min(72vh, 620px) !important;
		height: auto !important;
		overflow: hidden;
	}

	.sj-figma-home-hero,
	.sj-figma-home-hero > .elementor-background-holder,
	.sj-figma-home-hero > .elementor-element-populated > .elementor-background-holder {
		background-size: cover !important;
		background-position: center center !important;
	}

	.sj-hero-col.elementor-column > .elementor-element-populated,
	.sj-hero-col > .elementor-widget-wrap {
		padding: 96px 20px 28px 20px !important;
	}

	.sj-about-figma > .elementor-container {
		padding-top: 48px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-abt-who-col.elementor-column > .elementor-element-populated {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-abt-row > .elementor-container,
	.sj-abt-row > .elementor-container > .elementor-row {
		flex-direction: column !important;
		flex-wrap: wrap !important;
		column-gap: 0 !important;
		row-gap: 28px !important;
	}

	.sj-abt-col-text,
	.sj-abt-col-img,
	.sj-abt-col-text.elementor-column,
	.sj-abt-col-img.elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.sj-abt-hero-body.elementor-widget-text-editor {
		margin-top: 1.25rem !important;
	}

	.sj-services-figma > .elementor-container {
		padding-top: 48px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-services-figma .sj-services-title.elementor-widget-heading {
		margin-left: 0 !important;
		margin-bottom: 28px !important;
	}

	.sj-services-row1 > .elementor-container,
	.sj-services-row1 > .elementor-container > .elementor-row,
	.sj-services-row2 > .elementor-container,
	.sj-services-row2 > .elementor-container > .elementor-row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		column-gap: 0 !important;
		row-gap: 28px !important;
		margin-left: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.sj-services-row1 > .elementor-container > .elementor-column,
	.sj-services-row2 > .elementor-container > .elementor-column,
	.sj-services-figma .sj-svc-arch.elementor-column,
	.sj-services-figma .sj-svc-cust.elementor-column,
	.sj-services-figma .sj-svc-fin.elementor-column,
	.sj-services-figma .sj-svc-edge.elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		min-height: 0 !important;
	}

	.sj-services-figma .sj-svc-arch,
	.sj-services-figma .sj-svc-cust,
	.sj-services-figma .sj-svc-fin,
	.sj-services-figma .sj-svc-edge {
		width: 100% !important;
		max-width: 100% !important;
		min-height: 0 !important;
	}

	.sj-services-figma .sj-svc-arch .elementor-image-box-img,
	.sj-services-figma .sj-svc-cust .elementor-image-box-img,
	.sj-services-figma .sj-svc-fin .elementor-image-box-img,
	.sj-services-figma .sj-svc-edge .elementor-image-box-img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 522 / 324;
		margin: 0 !important;
	}

	.sj-company-figma > .elementor-container {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-company-figma > .elementor-container > .elementor-column,
	.sj-company-figma .sj-co-col-txt.elementor-column,
	.sj-company-figma .sj-co-col-vid.elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.sj-company-figma .sj-co-col-vid .elementor-widget-video,
	.sj-company-figma .elementor-widget-video .elementor-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		max-height: none !important;
	}

	.sj-company-figma .sj-co-title .elementor-heading-title {
		white-space: normal !important;
	}

	.sj-projects-figma > .elementor-container {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-projects-row-imgs > .elementor-container,
	.sj-projects-row-imgs > .elementor-container > .elementor-row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		column-gap: 0 !important;
		row-gap: 20px !important;
		margin-left: 0 !important;
		width: 100% !important;
	}

	.sj-projects-row-imgs > .elementor-container > .elementor-column,
	.sj-projects-figma .sj-pr-col1.elementor-column,
	.sj-projects-figma .sj-pr-col2.elementor-column,
	.sj-projects-figma .sj-pr-col3.elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.sj-projects-figma .sj-pr-col1,
	.sj-projects-figma .sj-pr-col2,
	.sj-projects-figma .sj-pr-col3 {
		width: 100% !important;
		max-width: 100% !important;
	}

	.sj-projects-figma .sj-pr-img1 img,
	.sj-projects-figma .sj-pr-img2 img,
	.sj-projects-figma .sj-pr-img3 img {
		width: 100% !important;
		height: auto !important;
		max-width: 100% !important;
	}

	/* ----- About page layout (class-based — does not require body.sj-morse-about) ----- */
	.sj-abt-hero.elementor-section.elementor-section-stretched,
	.sj-abt-who.elementor-section.elementor-section-stretched,
	.sj-abt-cta.elementor-section.elementor-section-stretched,
	.sj-abt-who-col .sj-abt-row.elementor-section-stretched {
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.sj-abt-hero.elementor-section,
	.sj-abt-hero.elementor-section.elementor-section-height-min-height {
		min-height: min(70vh, 560px) !important;
		height: auto !important;
	}

	.sj-abt-hero > .elementor-background-holder,
	.sj-abt-hero > .elementor-element-populated > .elementor-background-holder {
		background-size: cover !important;
		background-position: center center !important;
	}

	.sj-abt-hero-col > .elementor-element-populated,
	.sj-abt-hero-col > .elementor-widget-wrap {
		padding: 100px 20px 32px 20px !important;
	}

	.sj-abt-who > .elementor-container {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-abt-who {
		padding-top: 36px !important;
		padding-bottom: 36px !important;
	}

	.sj-abt-who-col > .elementor-element-populated,
	.sj-abt-who-col.elementor-column > .elementor-element-populated {
		padding: 0 20px !important;
	}

	.sj-abt-who-col > .elementor-widget-wrap > .sj-abt-row.elementor-section {
		width: 100% !important;
		max-width: 100% !important;
		display: block !important;
		clear: both;
		overflow: visible !important;
	}

	.sj-abt-who-col .sj-abt-row.elementor-inner-section {
		margin-bottom: 0 !important;
	}

	.sj-abt-row > .elementor-container,
	.sj-abt-row > .elementor-container > .elementor-row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		column-gap: 0 !important;
		row-gap: 28px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
	}

	.sj-abt-row > .elementor-container > .elementor-column,
	.sj-abt-col-text.elementor-column,
	.sj-abt-col-img.elementor-column,
	.sj-abt-col-text,
	.sj-abt-col-img {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.sj-abt-col-img .elementor-widget-image,
	.sj-abt-col-img .elementor-widget-image .elementor-widget-container,
	.sj-abt-col-img .elementor-widget-image img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 503 / 348;
	}

	.sj-abt-who-body,
	.sj-abt-who-body p {
		max-width: 100% !important;
		font-size: 17px !important;
		line-height: 1.45 !important;
	}

	.sj-abt-who-title .elementor-heading-title {
		font-size: clamp(28px, 6vw, 42px) !important;
		line-height: 1.15 !important;
	}

	.sj-abt-who-col .sj-abt-row + .sj-abt-row {
		margin-top: 32px !important;
	}

	.sj-abt-who-title.elementor-widget-heading {
		margin-bottom: 24px !important;
	}

	.sj-abt-col-img .elementor-widget-image img {
		opacity: 1 !important;
		visibility: visible !important;
	}

	.sj-abt-cta.elementor-section {
		min-height: 0 !important;
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}

	.sj-abt-cta > .elementor-container {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-abt-cta-line .elementor-heading-title {
		max-width: 100% !important;
	}

	.sj-abt-cta-btn .elementor-button {
		width: 100% !important;
		max-width: 328px !important;
		white-space: normal !important;
		height: auto !important;
		min-height: 56px !important;
	}

	/* ----- Text overlap fix: Elementor px line-heights + Figma widget margins ----- */
	.sj-hero-col > .elementor-widget-wrap,
	.sj-abt-hero-col > .elementor-widget-wrap {
		display: flex !important;
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 0.4em !important;
		row-gap: 0.4em !important;
	}

	.sj-hero-col .elementor-widget,
	.sj-abt-hero-col .elementor-widget {
		margin: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.sj-hero-col .elementor-widget-heading .elementor-heading-title,
	.sj-hero-h .elementor-heading-title {
		font-size: clamp(32px, 8.5vw, 56px) !important;
		line-height: 1.1 !important;
		margin: 0 !important;
		padding: 0 !important;
		letter-spacing: 0 !important;
		word-wrap: break-word;
		overflow-wrap: anywhere;
	}

	.sj-hero-h-proven .elementor-heading-title,
	.sj-hero-h-precision .elementor-heading-title,
	.sj-hero-h-performance .elementor-heading-title {
		margin-left: 0 !important;
	}

	.sj-hero-cta.elementor-widget {
		margin-top: 1rem !important;
	}

	.sj-abt-hero-headline-wrap .elementor-widget-container {
		margin: 0 !important;
		padding: 0 !important;
	}

	.sj-abt-hero-headline {
		font-size: clamp(32px, 8.5vw, 52px) !important;
		line-height: 1.15 !important;
		margin: 0 !important;
		padding: 0 !important;
		display: block;
	}

	.sj-abt-hero-body.elementor-widget-text-editor,
	.sj-abt-hero-body .elementor-widget-container {
		margin-top: 0.75rem !important;
	}

	.sj-abt-hero-body,
	.sj-abt-hero-body p {
		line-height: 1.45 !important;
		margin: 0 !important;
	}

	.sj-abt-col-text > .elementor-widget-wrap {
		display: flex !important;
		flex-direction: column !important;
		gap: 0.75rem !important;
	}

	.sj-abt-who-title.elementor-widget-heading {
		margin: 0 0 24px 0 !important;
	}

	.sj-abt-who-title .elementor-heading-title {
		line-height: 1.15 !important;
		margin: 0 !important;
	}

	.sj-abt-who-body.elementor-widget-text-editor,
	.sj-abt-who-body .elementor-widget-container {
		margin: 0 !important;
	}

	.sj-abt-who-body,
	.sj-abt-who-body p {
		line-height: 1.45 !important;
		margin: 0 !important;
	}

	.sj-abt-who-col .sj-abt-row + .sj-abt-row {
		margin-top: 2rem !important;
	}

	/* ----- Projects: gallery + Select Project Experience (≤1024) ----- */
	.sj-prj-gallery-col > .elementor-element-populated,
	.sj-prj-list-col > .elementor-element-populated {
		padding-left: 24px !important;
		padding-right: 24px !important;
	}

	.sj-prj-gallery-col .sj-prj-grid-row.elementor-section.elementor-section-stretched,
	.sj-prj-list-col .sj-prj-list-row.elementor-section.elementor-section-stretched {
		left: 0 !important;
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		max-width: 100% !important;
	}

	.sj-prj-grid-row > .elementor-container,
	.sj-prj-grid-row > .elementor-container > .elementor-row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		column-gap: 0 !important;
		row-gap: 24px !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
	}

	.sj-prj-grid-row .sj-prj-card,
	.sj-prj-grid-row .sj-prj-card.elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.sj-prj-card .elementor-widget-image,
	.sj-prj-card .elementor-widget-image .elementor-widget-container {
		width: 100% !important;
		max-width: 100% !important;
	}

	.sj-prj-card .elementor-widget-image img,
	.sj-prj-card .elementor-image-box-img img {
		width: 100% !important;
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		aspect-ratio: 580 / 360;
		object-fit: cover !important;
	}

	.sj-prj-gallery-title .elementor-heading-title {
		font-size: clamp(28px, 5.5vw, 42px) !important;
		line-height: 1.15 !important;
		word-wrap: break-word;
		overflow-wrap: anywhere;
	}

	.sj-prj-list-row > .elementor-container,
	.sj-prj-list-row > .elementor-container > .elementor-row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		column-gap: 0 !important;
		row-gap: 24px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.sj-prj-list-col-l,
	.sj-prj-list-col-r,
	.sj-prj-list-col-l.elementor-column,
	.sj-prj-list-col-r.elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.sj-prj-list-title .elementor-heading-title {
		font-size: clamp(28px, 5.5vw, 44px) !important;
		line-height: 1.15 !important;
		max-width: 100% !important;
		word-wrap: break-word;
		overflow-wrap: anywhere;
	}

	.sj-prj-list-text,
	.sj-prj-list-text p,
	.sj-prj-list-text .elementor-widget-container {
		font-size: clamp(16px, 2.2vw, 20px) !important;
		line-height: 1.5 !important;
		max-width: 100% !important;
		width: 100% !important;
		word-wrap: break-word;
		overflow-wrap: anywhere;
		white-space: normal !important;
		text-align: left !important;
	}

	/* Projects bottom CTA — allow wrapped button label on narrow viewports */
	.sj-prj-cta-btn .elementor-widget-container {
		text-align: center !important;
	}

	.sj-prj-cta-btn .elementor-button {
		width: 100% !important;
		max-width: 328px !important;
		min-height: 56px !important;
		height: auto !important;
		padding: 12px 20px !important;
		line-height: 1.15 !important;
		white-space: normal !important;
	}

	.sj-prj-cta-btn .elementor-button-text {
		white-space: normal !important;
	}

	/* ----- Services page (/services/) — fixed 520px cards + nowrap rows ----- */
	.sj-morse-services .sj-svc-page-hero.elementor-section.elementor-section-stretched,
	.sj-morse-services .sj-svc-intro.elementor-section.elementor-section-stretched,
	.sj-morse-services .sj-svc-grid.elementor-section.elementor-section-stretched,
	.sj-morse-services .sj-svc-grid-row.elementor-section.elementor-section-stretched,
	.sj-morse-services .sj-svc-cta.elementor-section.elementor-section-stretched {
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.sj-morse-services .sj-svc-page-hero.elementor-section,
	.sj-morse-services .sj-svc-page-hero.elementor-section.elementor-section-height-min-height {
		min-height: min(65vh, 520px) !important;
		height: auto !important;
	}

	.sj-morse-services .sj-svc-hero-col > .elementor-element-populated,
	.sj-morse-services .sj-svc-hero-col > .elementor-widget-wrap {
		padding-top: 100px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-morse-services .sj-svc-intro-col > .elementor-element-populated {
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-morse-services .sj-svc-grid-row > .elementor-container,
	.sj-morse-services .sj-svc-grid-row > .elementor-container > .elementor-row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		column-gap: 0 !important;
		row-gap: 28px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.sj-morse-services .sj-svc-grid-row > .elementor-container > .elementor-column,
	.sj-morse-services .sj-svc-card.elementor-column,
	.sj-morse-services .sj-svc-card {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.sj-morse-services .sj-svc-card .elementor-image-box-img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 520 / 446;
		align-self: stretch !important;
	}

	.sj-morse-services .sj-svc-card .elementor-image-box-img img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}

	.sj-morse-services .sj-svc-card .elementor-image-box-content,
	.sj-morse-services .sj-svc-card .elementor-image-box-description {
		width: 100% !important;
		max-width: 100% !important;
	}

	body.sj-morse-quote .elementor-location-header .elementor-section,
	body.sj-morse-contact .elementor-location-header .elementor-section,
	body.sj-morse-quote .sj-el-header.elementor-section,
	body.sj-morse-contact .sj-el-header.elementor-section {
		min-height: 0 !important;
	}

	body.sj-morse-quote .sj-el-header.elementor-section > .elementor-container,
	body.sj-morse-contact .sj-el-header.elementor-section > .elementor-container {
		min-height: 0 !important;
	}

	.sj-morse-quote .sj-rq-hero.elementor-section,
	.sj-morse-contact .sj-rq-hero.elementor-section,
	.sj-morse-contact .sj-contact-hero.elementor-section {
		min-height: 223px !important;
		height: 223px !important;
		max-height: 223px;
	}
}

@media (max-width: 767px) {

	/* ----- Shared: header overlay + horizontal padding ----- */
	body.sj-morse-home,
	body.sj-morse-services,
	body.sj-morse-about,
	body.sj-morse-projects,
	body.sj-morse-quote,
	body.sj-morse-contact {
		overflow-x: hidden;
	}

	.sj-morse-home .elementor-location-header,
	.sj-morse-services .elementor-location-header,
	.sj-morse-about .elementor-location-header,
	.sj-morse-projects .elementor-location-header,
	.sj-morse-quote .elementor-location-header,
	.sj-morse-contact .elementor-location-header {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		z-index: 100;
	}

	.sj-el-header .sj-hdr-logo img,
	.sj-el-header .sj-hdr-logo .elementor-widget-container img {
		width: min(260px, 72vw) !important;
		height: auto !important;
	}

	.sj-el-header .elementor-nav-menu .elementor-item {
		font-size: 16px !important;
		line-height: 24px !important;
		padding-left: 10px !important;
		padding-right: 10px !important;
	}

	.sj-header-tagline {
		font-size: 12px !important;
	}

	/* ----- Home: layout (fixed desktop widths / nowrap / stretch) ----- */
	.sj-figma-home-hero.elementor-section.elementor-section-stretched,
	.sj-about-figma.elementor-section.elementor-section-stretched,
	.sj-services-figma.elementor-section.elementor-section-stretched,
	.sj-company-figma.elementor-section.elementor-section-stretched,
	.sj-projects-figma.elementor-section.elementor-section-stretched,
	.sj-services-figma .sj-services-row1.elementor-section-stretched,
	.sj-services-figma .sj-services-row2.elementor-section-stretched,
	.sj-projects-figma .sj-projects-row-imgs.elementor-section-stretched {
		left: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	/* Services: desktop uses nowrap + 193px gap + 526px cards */
	.sj-services-figma > .elementor-container {
		padding-top: 48px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-services-figma .sj-services-title.elementor-widget-heading {
		margin-left: 0 !important;
		margin-bottom: 28px !important;
	}

	.sj-services-row1 > .elementor-container,
	.sj-services-row1 > .elementor-container > .elementor-row,
	.sj-services-row2 > .elementor-container,
	.sj-services-row2 > .elementor-container > .elementor-row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		column-gap: 0 !important;
		row-gap: 28px !important;
		margin-left: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		max-width: 100% !important;
	}

	.sj-services-row1 > .elementor-container > .elementor-column,
	.sj-services-row2 > .elementor-container > .elementor-column,
	.sj-services-figma .sj-svc-arch.elementor-column,
	.sj-services-figma .sj-svc-cust.elementor-column,
	.sj-services-figma .sj-svc-fin.elementor-column,
	.sj-services-figma .sj-svc-edge.elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
		min-height: 0 !important;
	}

	.sj-services-figma .sj-svc-arch .elementor-image-box-img,
	.sj-services-figma .sj-svc-cust .elementor-image-box-img,
	.sj-services-figma .sj-svc-fin .elementor-image-box-img,
	.sj-services-figma .sj-svc-edge .elementor-image-box-img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 522 / 324;
		margin: 0 !important;
	}

	.sj-services-figma .sj-svc-arch .elementor-image-box-content,
	.sj-services-figma .sj-svc-cust .elementor-image-box-content,
	.sj-services-figma .sj-svc-fin .elementor-image-box-content,
	.sj-services-figma .sj-svc-edge .elementor-image-box-content {
		width: 100% !important;
		min-height: 0 !important;
	}

	/* Company: 50/50 columns + fixed 550px video */
	.sj-company-figma > .elementor-container {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		padding: 40px 20px !important;
	}

	.sj-company-figma > .elementor-container > .elementor-column,
	.sj-company-figma .sj-co-col-txt.elementor-column,
	.sj-company-figma .sj-co-col-vid.elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.sj-company-figma .sj-co-col-vid > .elementor-widget-wrap {
		justify-content: center !important;
	}

	.sj-company-figma .sj-co-title .elementor-heading-title {
		white-space: normal !important;
	}

	.sj-company-figma .sj-co-body.elementor-widget-text-editor {
		margin-left: 0 !important;
		margin-top: 16px !important;
	}

	.sj-company-figma .sj-co-col-vid .elementor-widget-video,
	.sj-company-figma .elementor-widget-video .elementor-wrapper {
		width: 100% !important;
		max-width: 100% !important;
		max-height: none !important;
	}

	/* Projects: 3 fixed-width columns + nowrap */
	.sj-projects-figma > .elementor-container {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
		padding-left: 20px !important;
		padding-right: 20px !important;
	}

	.sj-projects-row-imgs > .elementor-container,
	.sj-projects-row-imgs > .elementor-container > .elementor-row {
		display: flex !important;
		flex-direction: column !important;
		flex-wrap: wrap !important;
		column-gap: 0 !important;
		row-gap: 20px !important;
		margin-left: 0 !important;
		width: 100% !important;
	}

	.sj-projects-row-imgs > .elementor-container > .elementor-column,
	.sj-projects-figma .sj-pr-col1.elementor-column,
	.sj-projects-figma .sj-pr-col2.elementor-column,
	.sj-projects-figma .sj-pr-col3.elementor-column {
		width: 100% !important;
		max-width: 100% !important;
		flex: 0 0 100% !important;
	}

	.sj-projects-figma .sj-pr-img1 img,
	.sj-projects-figma .sj-pr-img2 img,
	.sj-projects-figma .sj-pr-img3 img {
		width: 100% !important;
		height: auto !important;
		max-width: 100% !important;
		aspect-ratio: 388 / 256;
	}

	/* ----- Home: typography & hero ----- */
	.sj-figma-home-hero.elementor-section,
	.sj-figma-home-hero.elementor-section.elementor-section-height-min-height {
		min-height: min(70vh, 560px) !important;
		height: auto !important;
	}

	.sj-figma-home-hero,
	.sj-figma-home-hero > .elementor-background-holder,
	.sj-figma-home-hero > .elementor-element-populated > .elementor-background-holder {
		background-size: cover !important;
		background-position: center center !important;
	}

	.sj-figma-home-hero > .elementor-container {
		padding: 0 !important;
	}

	.sj-figma-home-hero .sj-hero-col > .elementor-element-populated,
	.sj-figma-home-hero .sj-hero-col > .elementor-widget-wrap {
		padding: 100px 20px 32px 20px !important;
	}

	.sj-hero-h .elementor-heading-title,
	.sj-hero-h-proven .elementor-heading-title,
	.sj-hero-h-precision .elementor-heading-title,
	.sj-hero-h-performance .elementor-heading-title {
		font-size: clamp(36px, 10vw, 56px) !important;
		line-height: 1.05 !important;
		margin-left: 0 !important;
	}

	.sj-hero-cta .elementor-button {
		width: 100% !important;
		max-width: 300px !important;
		font-size: 22px !important;
		min-height: 52px !important;
		height: auto !important;
	}

	.sj-about-figma.elementor-section {
		min-height: 0 !important;
	}

	.sj-about-figma > .elementor-container {
		padding: 40px 20px !important;
	}

	.sj-about-figma .sj-about-title .elementor-heading-title {
		font-size: clamp(26px, 6vw, 36px) !important;
		letter-spacing: 0.05em !important;
	}

	.sj-about-figma .sj-about-body,
	.sj-about-figma .sj-about-body p {
		font-size: 17px !important;
		line-height: 1.5 !important;
		max-width: 100% !important;
	}

	.sj-services-figma.elementor-section {
		min-height: 0 !important;
		height: auto !important;
	}

	.sj-services-figma .sj-services-title .elementor-heading-title {
		font-size: clamp(26px, 6vw, 36px) !important;
	}

	.sj-company-figma.elementor-section {
		min-height: 0 !important;
	}

	.sj-company-figma .sj-co-title .elementor-heading-title {
		font-size: clamp(26px, 6vw, 36px) !important;
	}

	.sj-company-figma .sj-co-body,
	.sj-company-figma .sj-co-body p {
		font-size: 17px !important;
		line-height: 1.5 !important;
		max-width: 100% !important;
	}

	.sj-projects-figma.elementor-section {
		min-height: 0 !important;
	}

	.sj-projects-figma .sj-pr-title .elementor-heading-title {
		font-size: clamp(26px, 6vw, 36px) !important;
	}

	.sj-projects-figma .sj-pr-body,
	.sj-projects-figma .sj-pr-body p {
		font-size: 17px !important;
		line-height: 1.5 !important;
		max-width: 100% !important;
	}

	/* ----- About: typography (layout is in ≤1024px block above) ----- */
	.sj-abt-hero-headline {
		font-size: clamp(32px, 9vw, 52px) !important;
		line-height: 1.05 !important;
		max-width: 100% !important;
	}

	.sj-abt-hero-body,
	.sj-abt-hero-body p {
		font-size: 17px !important;
		line-height: 1.45 !important;
		max-width: 100% !important;
	}

	.sj-abt-hero-body.elementor-widget-text-editor {
		margin-top: 24px !important;
	}

	.sj-abt-who-title .elementor-heading-title {
		font-size: clamp(26px, 6vw, 36px) !important;
	}

	.sj-abt-who-body,
	.sj-abt-who-body p {
		font-size: 17px !important;
		line-height: 1.45 !important;
	}

	.sj-abt-cta-line .elementor-heading-title {
		font-size: clamp(20px, 5vw, 28px) !important;
		line-height: 1.35 !important;
	}

	.sj-abt-cta-btn .elementor-button {
		font-size: 22px !important;
	}

	/* ----- Services page (typography; layout in ≤1024px block) ----- */
	.sj-morse-services .sj-svc-page-hero.elementor-section {
		min-height: min(60vh, 440px) !important;
	}

	.sj-morse-services .sj-svc-hero-h .elementor-heading-title {
		font-size: clamp(40px, 10vw, 64px) !important;
		line-height: 1.05 !important;
	}

	.sj-morse-services .sj-svc-intro-title .elementor-heading-title {
		font-size: clamp(24px, 6vw, 36px) !important;
	}

	.sj-morse-services .sj-svc-hero-col > .elementor-element-populated {
		padding-top: 96px !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.sj-morse-services .sj-svc-intro-col > .elementor-element-populated {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	/* ----- Projects ----- */
	.sj-prj-hero.elementor-section {
		min-height: 0 !important;
		padding-top: 100px;
		padding-bottom: 32px;
	}

	.sj-prj-hero-col > .elementor-element-populated {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.sj-prj-hero-title .elementor-heading-title {
		font-size: clamp(36px, 9vw, 56px) !important;
		line-height: 1.05 !important;
	}

	.sj-prj-hero-body,
	.sj-prj-hero-body p {
		font-size: 18px !important;
		line-height: 1.45 !important;
	}

	.sj-prj-gallery-col > .elementor-element-populated,
	.sj-prj-list-col > .elementor-element-populated {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.sj-prj-gallery-title .elementor-heading-title {
		font-size: clamp(22px, 5vw, 32px) !important;
		line-height: 1.15 !important;
	}

	.sj-prj-card .elementor-widget-image img,
	.sj-prj-card .elementor-image-box-img img {
		height: auto !important;
		max-height: none !important;
		min-height: 0 !important;
		aspect-ratio: 580 / 360;
	}

	.sj-prj-list-title .elementor-heading-title {
		font-size: clamp(24px, 6vw, 34px) !important;
		line-height: 1.15 !important;
	}

	.sj-prj-list-text,
	.sj-prj-list-text p {
		font-size: 16px !important;
		line-height: 1.5 !important;
	}

	.sj-prj-cta-col > .elementor-element-populated {
		padding-left: 16px !important;
		padding-right: 16px !important;
	}

	.sj-prj-cta.elementor-section {
		min-height: 0 !important;
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}

	.sj-prj-cta-btn .elementor-button {
		font-size: clamp(20px, 5.5vw, 26px) !important;
	}

	/* ----- Quote / Contact (Figma header H 223px) ----- */
	.sj-morse-quote .sj-rq-hero.elementor-section,
	.sj-morse-contact .sj-rq-hero.elementor-section,
	.sj-morse-contact .sj-contact-hero.elementor-section {
		min-height: 200px !important;
		height: auto !important;
		max-height: none !important;
	}

	.sj-morse-quote .sj-rq-main.elementor-section,
	.sj-morse-contact .sj-rq-main.elementor-section {
		padding-top: 24px !important;
	}
}

