/* Grow Well Placement v2.9.1 — professional mobile homepage redesign.
   Mobile only: keeps desktop/tablet presentation intact. */

.gwp-hero-mobile-trust,
.gwp-service-chevron { display:none; }

@media (max-width: 767px) {
	/* ---------- Shared mobile rhythm ---------- */
	.home .container {
		width:100%;
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
	}
	.home .gwp-section-head {
		margin-bottom:22px !important;
		padding:0 2px;
	}
	.home .gwp-section-title,
	.home .gwp-section-head .gwp-section-title {
		font-size:22px !important;
		line-height:1.2 !important;
		letter-spacing:-.35px !important;
		margin:0 0 8px !important;
	}
	.home .gwp-section-subtitle {
		font-size:13.5px !important;
		line-height:1.5 !important;
		max-width:330px;
		margin-inline:auto;
	}

	/* ---------- Hero: image first, copy second ---------- */
	.home .gwp-hero {
		background:#fff;
		overflow:visible;
	}
	.home .gwp-hero::before { display:none; }
	.home .gwp-hero-inner {
		display:flex !important;
		flex-direction:column !important;
		gap:0 !important;
		padding-top:14px !important;
		padding-bottom:34px !important;
	}
	.home .gwp-hero-media {
		order:1;
		width:100%;
		margin:0 0 24px;
	}
	.home .gwp-hero-content {
		order:2;
		width:100%;
		max-width:100%;
	}
	.home .gwp-hero-image-wrap {
		border-radius:18px;
		box-shadow:0 12px 30px rgba(3,43,84,.12);
		overflow:hidden;
	}
	.home .gwp-hero-image {
		width:100%;
		height:auto;
		aspect-ratio: 1.16 / 1;
		object-fit:cover;
		object-position:center 38%;
	}
	.home .gwp-hero-image-wrap > .gwp-hero-badge { display:none !important; }
	.home .gwp-hero-eyebrow {
		display:inline-flex;
		margin:0 0 15px !important;
		padding:8px 11px !important;
		font-size:10.5px !important;
		line-height:1.25 !important;
		letter-spacing:.55px !important;
		border-radius:999px !important;
		max-width:100%;
	}
	.home .gwp-hero-eyebrow .gwp-icon {
		width:14px;
		height:14px;
	}
	.home .gwp-hero-title {
		font-size:27px !important;
		line-height:1.22 !important;
		letter-spacing:-.7px !important;
		margin:0 0 14px !important;
		max-width:350px;
	}
	.home .gwp-hero-text {
		font-size:14px !important;
		line-height:1.65 !important;
		margin:0 !important;
		max-width:355px;
		color:#52677d;
	}
	.home .gwp-hero-mobile-trust {
		dis:flex;
		align-items:center;
		justify-content:center;
		gap:8px;
		width:100%;
		margin-top:22px;
		padding:12px 14px;
		border:1px solid #d8e9f7;
		border-radius:12px;
		background:linear-gradient(180deg,#f8fbff 0%,#eef7ff 100%);
		color:#073e74;
		font-family:var(--gwp-font-heading);
		font-size:12px;
		font-weight:700;
		line-height:1.3;
		box-shadow:0 5px 16px rgba(3,43,84,.04);
	}
	.home .gwp-hero-mobile-trust .gwp-icon {
		width:18px;
		height:18px;
		color:var(--gwp-primary);
		flex:0 0 auto;
	}
	.home .gwp-hero-buttons {
		display:grid !important;
		grid-template-columns:1fr 1fr;
		gap:10px !important;
		width:100%;
		margin-top:14px;
		align-items:stretch;
	}
	/* Find a Job is deliberately removed from the mobile hero. */
	.home .gwp-hero-buttons > .gwp-btn:first-child { display:none !important; }
	.home .gwp-hero-buttons .gwp-btn {
		width:100% !important;
		min-width:0;
		min-height:46px;
		padding:11px 10px !important;
		justify-content:center;
		border-radius:10px !important;
		font-size:12.5px !important;
		line-height:1.2;
		white-space:nowrap;
	}
	.home .gwp-hero-buttons .gwp-btn-ghost {
		background:#fff;
		border:1px solid #b8d8f0;
		color:#0a5ea6;
	}

	/* Elementor hero equivalent. The migration adds gwp-home-hero-section. */
	.home .gwp-home-hero-section {
		padding:14px 18px 34px !important;
		background:#fff !important;
	}
	.home .gwp-home-hero-section > .elementor-container {
		display:flex !important;
		flex-direction:column !important;
		gap:0 !important;
		max-width:620px !important;
		margin:0 auto !important;
	}
	.home .gwp-home-hero-section > .elementor-container > .elementor-column {
		width:100% !important;
		max-width:100% !important;
	}
	.home .gwp-home-hero-section > .elementor-container > .elementor-column:nth-child(2) {
		order:1;
		margin-bottom:24px;
	}
	.home .gwp-home-hero-section > .elementor-container > .elementor-column:first-child { order:2; }
	.home .gwp-home-hero-section .elementor-widget-wrap { padding:0 !important; }
	.home .gwp-home-hero-section .elementor-widget-image img {
		width:100% !important;
		height:auto !important;
		aspect-ratio:1.16/1;
		object-fit:cover;
		object-position:center 38%;
		border-radius:18px;
		box-shadow:0 12px 30px rgba(3,43,84,.12);
	}
	.home .gwp-home-hero-section .elementor-widget-heading .elementor-heading-title {
		font-size:27px !important;
		line-height:1.22 !important;
		letter-spacing:-.7px !important;
		margin:0 !important;
	}
	.home .gwp-home-hero-section .elementor-widget-text-editor,
	.home .gwp-home-hero-section .elementor-widget-text-editor p {
		font-size:14px !important;
		line-height:1.65 !important;
		color:#52677d !important;
	}
	.home .gwp-home-hero-section .gwp-mobile-hide-hero-job { display:none !important; }
	.home .gwp-home-hero-section .gwp-mobile-hero-action {
		display:inline-block !important;
		width:calc(50% - 6px) !important;
		vertical-align:top;
		margin:18px 8px 0 0 !important;
	}
	.home .gwp-home-hero-section .gwp-mobile-hero-action + .gwp-mobile-hero-action { margin-right:0 !important; }
	.home .gwp-home-hero-section .gwp-mobile-hero-action .elementor-button {
		width:100%;
		min-height:46px;
		justify-content:center;
		border-radius:10px !important;
		font-size:12.5px !important;
		padding:11px 10px !important;
	}

	/* ---------- Recruitment services: premium horizontal cards ---------- */
	.home .gwp-services {
		padding:44px 0 48px !important;
		background:#f7faff;
	}
	.home .gwp-services-grid {
		display:grid;
		grid-template-columns:1fr !important;
		gap:12px !important;
	}
	.home .gwp-service {
		position:relative;
		display:grid !important;
		grid-template-columns:54px minmax(0,1fr) 24px;
		grid-template-rows:auto auto;
		column-gap:13px;
		row-gap:3px;
		align-items:center;
		min-height:96px;
		padding:15px 15px !important;
		border:1px solid #dfe9f2;
		border-radius:14px !important;
		background:#fff;
		box-shadow:0 7px 20px rgba(3,43,84,.045);
		text-align:left !important;
	}
	.home .gwp-service-icon {
		grid-column:1;
		grid-row:1 / span 2;
		width:54px !important;
		height:54px !important;
		margin:0 !important;
		border-radius:13px !important;
		background:#eef7ff;
		color:#168ee0;
	}
	.home .gwp-service-icon svg { width:23px !important; height:23px !important; }
	.home .gwp-service-title {
		grid-column:2;
		grid-row:1;
		font-size:14.5px !important;
		line-height:1.28 !important;
		margin:0 !important;
		color:#06355f;
	}
	.home .gwp-service-text {
		grid-column:2;
		grid-row:2;
		font-size:12.25px !important;
		line-height:1.45 !important;
		margin:0 !important;
		color:#5a6b7b;
	}
	.home .gwp-service-chevron {
		display:flex;
		grid-column:3;
		grid-row:1 / span 2;
		align-items:center;
		justify-content:center;
		color:#0879d1;
	}
	.home .gwp-service-link { display:none !important; }

	.home .gwp-home-services-section {
		padding:44px 18px 48px !important;
		background:#f7faff !important;
	}
	.home .gwp-home-services-section > .elementor-container {
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:12px !important;
		max-width:620px !important;
		margin:0 auto !important;
	}
	.home .gwp-home-services-section > .elementor-container > .elementor-column {
		width:100% !important;
		max-width:100% !important;
	}
	.home .gwp-home-services-section > .elementor-container > .elementor-column:first-child {
		margin-bottom:8px;
	}
	.home .gwp-home-services-section > .elementor-container > .elementor-column:not(:first-child) > .elementor-widget-wrap {
		min-height:96px;
		padding:15px !important;
		background:#fff !important;
		border:1px solid #dfe9f2 !important;
		border-radius:14px !important;
		box-shadow:0 7px 20px rgba(3,43,84,.045) !important;
	}
	.home .gwp-home-services-section .elementor-widget-heading .elementor-heading-title {
		font-size:22px !important;
		line-height:1.2 !important;
	}
	.home .gwp-home-services-section .elementor-widget-text-editor,
	.home .gwp-home-services-section .elementor-widget-text-editor p {
		font-size:13.5px !important;
		line-height:1.5 !important;
	}
	.home .gwp-home-services-section .elementor-icon-box-wrapper {
		display:grid !important;
		grid-template-columns:54px minmax(0,1fr);
		grid-template-rows:auto auto;
		column-gap:13px;
		row-gap:3px;
		align-items:center;
		text-align:left !important;
	}
	.home .gwp-home-services-section .elementor-icon-box-icon {
		grid-column:1;
		grid-row:1 / span 2;
		margin:0 !important;
	}
	.home .gwp-home-services-section .elementor-icon {
		width:54px !important;
		height:54px !important;
		padding:0 !important;
		border-radius:13px !important;
		font-size:22px !important;
		display:flex !important;
		align-items:center;
		justify-content:center;
	}
	.home .gwp-home-services-section .elementor-icon-box-content {
		grid-column:2;
		grid-row:1 / span 2;
		min-width:0;
	}
	.home .gwp-home-services-section .elementor-icon-box-title {
		font-size:14.5px !important;
		line-height:1.28 !important;
		margin:0 0 4px !important;
	}
	.home .gwp-home-services-section .elementor-icon-box-description {
		font-size:12.25px !important;
		line-height:1.45 !important;
		margin:0 !important;
	}

	/* ---------- How it works: slim vertical timeline ---------- */
	.home .gwp-process {
		padding:44px 0 50px !important;
		background:#fff !important;
	}
	.home .gwp-process-steps {
		position:relative;
		display:grid !important;
		grid-template-columns:1fr !important;
		gap:12px !important;
		padding:0 0 0 28px !important;
		margin:0 !important;
	}
	.home .gwp-process-steps::before {
		display:block !important;
		content:"";
		position:absolute;
		left:12px;
		top:30px;
		bottom:30px;
		width:1px;
		height:auto;
		background:repeating-linear-gradient(to bottom,#7dbcf0 0 5px,transparent 5px 10px);
		opacity:.9;
	}
	.home .gwp-process-step {
		position:relative;
		display:grid !important;
		grid-template-columns:50px minmax(0,1fr) !important;
		grid-template-rows:auto auto !important;
		column-gap:12px !important;
		row-gap:2px !important;
		align-items:center !important;
		min-height:86px !important;
		padding:14px 14px !important;
		text-align:left !important;
		border:1px solid #e0e9f2 !important;
		border-radius:14px !important;
		background:#fff !important;
		box-shadow:0 6px 18px rgba(3,43,84,.04);
		transform:none !important;
	}
	.home .gwp-process-number {
		position:absolute !important;
		left:-41px !important;
		top:50% !important;
		transform:translateY(-50%) !important;
		width:28px !important;
		height:28px !important;
		margin:0 !important;
		font-size:10.5px !important;
		line-height:1 !important;
		border:3px solid #fff;
		box-shadow:0 4px 10px rgba(3,43,84,.18);
	}
	.home .gwp-process-icon {
		grid-column:1 !important;
		grid-row:1 / span 2 !important;
		width:50px !important;
		height:50px !important;
		margin:0 !important;
		border-radius:50% !important;
		background:#eef7ff !important;
		color:#148fe2 !important;
	}
	.home .gwp-process-icon svg { width:22px !important; height:22px !important; }
	.home .gwp-process-title {
		grid-column:2 !important;
		grid-row:1 !important;
		font-size:14.5px !important;
		line-height:1.3 !important;
		margin:0 !important;
		color:#06355f;
	}
	.home .gwp-process-text {
		grid-column:2 !important;
		grid-row:2 !important;
		font-size:12.25px !important;
		line-height:1.45 !important;
		margin:0 !important;
		color:#5a6b7b;
	}

	/* A detected Elementor process section receives matching typography. */
	.home .gwp-home-process-section {
		padding:44px 18px 50px !important;
		background:#fff !important;
	}
	.home .gwp-home-process-section .elementor-heading-title {
		font-size:22px !important;
		line-height:1.2 !important;
	}
	.home .gwp-home-process-section .elementor-widget-text-editor,
	.home .gwp-home-process-section .elementor-widget-text-editor p {
		font-size:13.5px !important;
		line-height:1.5 !important;
	}

	/* Remove visual clutter from card hover effects on touch screens. */
	.home .gwp-service:hover,
	.home .gwp-process-step:hover { transform:none !important; }
}

@media (max-width: 390px) {
	.home .container { padding-left:16px; padding-right:16px; }
	.home .gwp-hero-title,
	.home .gwp-home-hero-section .elementor-widget-heading .elementor-heading-title {
		font-size:25px !important;
	}
	.home .gwp-hero-text,
	.home .gwp-home-hero-section .elementor-widget-text-editor,
	.home .gwp-home-hero-section .elementor-widget-text-editor p {
		font-size:13.5px !important;
	}
	.home .gwp-hero-buttons .gwp-btn,
	.home .gwp-home-hero-section .gwp-mobile-hero-action .elementor-button {
		font-size:12px !important;
	}
	.home .gwp-service,
	.home .gwp-process-step {
		padding:13px !important;
	}
	.home .gwp-service-title,
	.home .gwp-process-title,
	.home .gwp-home-services-section .elementor-icon-box-title {
		font-size:14px !important;
	}
	.home .gwp-service-text,
	.home .gwp-process-text,
	.home .gwp-home-services-section .elementor-icon-box-description {
		font-size:12px !important;
	}
}

@media (max-width: 340px) {
	.home .gwp-hero-title,
	.home .gwp-home-hero-section .elementor-widget-heading .elementor-heading-title { font-size:23px !important; }
	.home .gwp-hero-buttons { grid-template-columns:1fr !important; }
	.home .gwp-home-hero-section .gwp-mobile-hero-action {
		display:block !important;
		width:100% !important;
		margin:10px 0 0 !important;
	}
}
