/* Grow Well Placement v2.8.2 — homepage mobile typography, icon and alignment repair. */

/* Make all theme SVG icon containers deterministic. */
.home .gwp-benefit-icon svg,
.home .gwp-stat-icon svg,
.home .gwp-service-icon svg,
.home .gwp-process-icon svg {
	display:block;
	width:22px;
	height:22px;
	max-width:100%;
	max-height:100%;
	flex:0 0 auto;
	color:inherit;
	stroke:currentColor;
}

@media (max-width: 767px) {
	.home .container {
		width:100%;
		max-width:100%;
		padding-left:18px;
		padding-right:18px;
	}

	/* Global homepage heading rhythm — only on phones. */
	.home .gwp-section-head {
		max-width:100%;
		margin-bottom:28px;
	}
	.home .gwp-section-title,
	.home .gwp-section-head .gwp-section-title {
		font-size:24px;
		line-height:1.22;
		letter-spacing:-.35px;
		margin-bottom:8px;
	}
	.home .gwp-section-subtitle {
		max-width:340px;
		font-size:14px;
		line-height:1.55;
	}

	/* -----------------------------------------------------------
	   Benefits / trust: compact horizontal rows rather than tall cards.
	   ----------------------------------------------------------- */
	.home .gwp-benefits {
		margin-top:0;
		padding:28px 0 36px;
	}
	.home .gwp-benefits-card {
		display:block;
		border-radius:16px;
		overflow:hidden;
	}
	.home .gwp-benefit {
		dis:grid;
		grid-template-columns:46px minmax(0,1fr);
		align-items:center;
		column-gap:13px;
		row-gap:0;
		padding:15px 16px;
		border-right:0 !important;
		border-bottom:1px solid var(--gwp-border) !important;
	}
	.home .gwp-benefit:last-child { border-bottom:0 !important; }
	.home .gwp-benefit-icon {
		grid-column:1;
		grid-row:1;
		width:46px;
		height:46px;
		border-radius:12px;
		margin:0;
	}
	.home .gwp-benefit-icon svg { width:21px; height:21px; }
	.home .gwp-benefit-body { min-width:0; }
	.home .gwp-benefit-title {
		font-size:14.5px;
		line-height:1.3;
		margin:0 0 3px;
	}
	.home .gwp-benefit-text {
		font-size:12.5px;
		line-height:1.45;
		margin:0;
	}

	/* Elementor version of the trust bar. */
	.home .gwp-home-benefits-section {
		padding:22px 18px !important;
	}
	.home .gwp-home-benefits-section > .elementor-container {
		dis:block !important;
		max-width:620px !important;
		margin:0 auto !important;
		border:1px solid #dce7f0;
		border-radius:16px;
		overflow:hidden;
		background:#fff;
	}
	.home .gwp-home-benefits-section > .elementor-container > .elementor-column {
		width:100% !important;
		max-width:100% !important;
		border-bottom:1px solid #dce7f0;
	}
	.home .gwp-home-benefits-section > .elementor-container > .elementor-column:last-child { border-bottom:0; }
	.home .gwp-home-benefits-section .elementor-widget-wrap { padding:0 !important; }
	.home .gwp-home-benefits-section .elementor-icon-box-wrapper {
		dis:grid !important;
		grid-template-columns:46px minmax(0,1fr);
		grid-template-rows:auto auto;
		align-items:center;
		column-gap:13px;
		text-align:left !important;
		padding:15px 16px;
	}
	.home .gwp-home-benefits-section .elementor-icon-box-icon {
		grid-column:1;
		grid-row:1 / span 2;
		margin:0 !important;
	}
	.home .gwp-home-benefits-section .elementor-icon-box-content { grid-column:2; min-width:0; }
	.home .gwp-home-benefits-section .elementor-icon {
		width:46px !important;
		height:46px !important;
		display:flex !important;
		align-items:center;
		justify-content:center;
		font-size:20px !important;
		padding:0 !important;
	}
	.home .gwp-home-benefits-section .elementor-icon-box-title {
		font-size:14.5px !important;
		line-height:1.3 !important;
		margin:0 0 3px !important;
	}
	.home .gwp-home-benefits-section .elementor-icon-box-description {
		font-size:12.5px !important;
		line-height:1.45 !important;
		margin:0 !important;
	}

	/* -----------------------------------------------------------
	   Statistics: 2x2 compact grid instead of a very long column.
	   ----------------------------------------------------------- */
	.home .gwp-stats {
		padding:44px 0;
	}
	.home .gwp-stats-grid {
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:30px 12px;
	}
	.home .gwp-stat { gap:5px; }
	.home .gwp-stat-icon {
		width:48px;
		height:48px;
		margin-bottom:4px;
	}
	.home .gwp-stat-icon svg { width:22px; height:22px; }
	.home .gwp-stat-number {
		font-size:26px;
		line-height:1.08;
	}
	.home .gwp-stat-label {
		font-size:12.5px;
		line-height:1.35;
	}

	.home .gwp-home-stats-section {
		padding:44px 18px !important;
	}
	.home .gwp-home-stats-section > .elementor-container {
		dis:grid !important;
		grid-template-columns:repeat(2,minmax(0,1fr));
		gap:28px 12px;
		max-width:620px !important;
		margin:0 auto !important;
	}
	.home .gwp-home-stats-section > .elementor-container > .elementor-column {
		width:100% !important;
		max-width:100% !important;
	}
	.home .gwp-home-stats-section .elementor-widget-wrap { padding:0 !important; }
	.home .gwp-home-stats-section .elementor-counter-number-wrapper {
		font-size:27px !important;
		line-height:1.1 !important;
		font-weight:800 !important;
	}
	.home .gwp-home-stats-section .elementor-counter-title {
		font-size:12.5px !important;
		line-height:1.35 !important;
		margin-top:5px;
	}

	/* -----------------------------------------------------------
	   Services: consistent cards, smaller text, visible icon area.
	   ----------------------------------------------------------- */
	.home .gwp-services { padding:46px 0; }
	.home .gwp-services-grid {
		grid-template-columns:1fr;
		gap:14px;
	}
	.home .gwp-service {
		padding:18px;
		border-radius:14px;
		min-height:0;
	}
	.home .gwp-service-icon {
		width:48px;
		height:48px;
		border-radius:12px;
		margin-bottom:13px;
	}
	.home .gwp-service-icon svg { width:22px; height:22px; }
	.home .gwp-service-title {
		font-size:15.5px;
		line-height:1.3;
		margin-bottom:6px;
	}
	.home .gwp-service-text {
		font-size:13px;
		line-height:1.5;
		margin-bottom:0;
	}

	.home .gwp-home-services-section {
		padding:46px 18px !important;
	}
	.home .gwp-home-services-section > .elementor-container {
		dis:grid !important;
		grid-template-columns:1fr !important;
		gap:14px !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 {
		background:transparent !important;
		border:0 !important;
		box-shadow:none !important;
	}
	.home .gwp-home-services-section > .elementor-container > .elementor-column:not(:first-child) > .elementor-widget-wrap {
		padding:18px !important;
		background:#fff;
		border:1px solid #dce7f0;
		border-radius:14px;
		box-shadow:0 8px 24px rgba(3,43,84,.045);
	}
	.home .gwp-home-services-section .elementor-widget-heading .elementor-heading-title {
		font-size:24px !important;
		line-height:1.22 !important;
	}
	.home .gwp-home-services-section .elementor-widget-text-editor,
	.home .gwp-home-services-section .elementor-widget-text-editor p {
		font-size:14px !important;
		line-height:1.55 !important;
	}
	.home .gwp-home-services-section .elementor-icon-box-wrapper { text-align:left !important; }
	.home .gwp-home-services-section .elementor-icon-box-icon { margin:0 0 12px !important; }
	.home .gwp-home-services-section .elementor-icon {
		width:48px !important;
		height:48px !important;
		display:flex !important;
		align-items:center;
		justify-content:center;
		font-size:21px !important;
		padding:0 !important;
		border-radius:12px !important;
	}
	.home .gwp-home-services-section .elementor-icon-box-title {
		font-size:15.5px !important;
		line-height:1.3 !important;
		margin:0 0 6px !important;
	}
	.home .gwp-home-services-section .elementor-icon-box-description {
		font-size:13px !important;
		line-height:1.5 !important;
	}

	/* -----------------------------------------------------------
	   Process: compact horizontal rows with a stable three-column grid.
	   ----------------------------------------------------------- */
	.home .gwp-process { padding:46px 0; }
	.home .gwp-process-steps {
		dis:grid;
		grid-template-columns:1fr;
		gap:12px;
	}
	.home .gwp-process-steps::before { display:none; }
	.home .gwp-process-step {
		dis:grid;
		grid-template-columns:32px 46px minmax(0,1fr);
		grid-template-rows:auto auto;
		align-items:center;
		column-gap:11px;
		row-gap:2px;
		min-height:0;
		padding:14px 15px;
		text-align:left;
		border-radius:14px;
	}
	.home .gwp-process-number {
		position:static;
		transform:none;
		grid-column:1;
		grid-row:1 / span 2;
		width:30px;
		height:30px;
		font-size:11.5px;
		margin:0;
	}
	.home .gwp-process-icon {
		grid-column:2;
		grid-row:1 / span 2;
		width:46px;
		height:46px;
		margin:0;
	}
	.home .gwp-process-icon svg { width:21px; height:21px; }
	.home .gwp-process-title {
		grid-column:3;
		grid-row:1;
		font-size:15px;
		line-height:1.3;
		margin:0;
	}
	.home .gwp-process-text {
		grid-column:3;
		grid-row:2;
		font-size:12.5px;
		line-height:1.45;
		margin:0;
	}

	.home .gwp-home-process-section {
		padding:46px 18px !important;
	}
	.home .gwp-home-process-section .elementor-heading-title {
		font-size:24px !important;
		line-height:1.22 !important;
	}
	.home .gwp-home-process-section .elementor-widget-text-editor,
	.home .gwp-home-process-section .elementor-widget-text-editor p {
		font-size:14px !important;
		line-height:1.55 !important;
	}

	/* Generic Elementor icon safety for the homepage. */
	.home .elementor-widget-icon-box .elementor-icon {
		line-height:1 !important;
	}
	.home .elementor-widget-icon-box .elementor-icon i {
		line-height:1 !important;
	}
}

@media (max-width: 360px) {
	.home .container { padding-left:16px; padding-right:16px; }
	.home .gwp-section-title,
	.home .gwp-section-head .gwp-section-title,
	.home .gwp-home-services-section .elementor-widget-heading .elementor-heading-title,
	.home .gwp-home-process-section .elementor-heading-title {
		font-size:22px !important;
	}
	.home .gwp-section-subtitle,
	.home .gwp-home-services-section .elementor-widget-text-editor,
	.home .gwp-home-services-section .elementor-widget-text-editor p,
	.home .gwp-home-process-section .elementor-widget-text-editor,
	.home .gwp-home-process-section .elementor-widget-text-editor p {
		font-size:13px !important;
	}
	.home .gwp-stats-grid,
	.home .gwp-home-stats-section > .elementor-container {
		gap:24px 8px;
	}
	.home .gwp-stat-number,
	.home .gwp-home-stats-section .elementor-counter-number-wrapper { font-size:24px !important; }
	.home .gwp-process-step { grid-template-columns:30px 42px minmax(0,1fr); padding:13px 12px; column-gap:9px; }
	.home .gwp-process-icon { width:42px; height:42px; }
}
