.gar-public-home {
	--gar-ink: #172033;
	--gar-muted: #5b6474;
	--gar-line: #d9e0ea;
	--gar-panel: #ffffff;
	--gar-soft: #f4f7fb;
	--gar-green: #26956f;
	--gar-logo-green: #16c60c;
	--gar-logo-blue: #143bb8;
	--gar-gold: #d99712;
	--gar-red: #b8403a;
	color: var(--gar-ink);
	background: #ffffff;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.gar-public-home *,
.gar-public-home *::before,
.gar-public-home *::after {
	box-sizing: border-box;
}

.gar-public-home a {
	color: inherit;
}

.gar-public-hero,
.gar-public-section {
	width: 100%;
	padding: clamp(42px, 7vw, 86px) max(18px, calc((100vw - 1160px) / 2));
}

.gar-public-hero {
	min-height: 72vh;
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
	align-items: center;
	gap: clamp(28px, 5vw, 70px);
	background:
		linear-gradient(120deg, rgba(38, 149, 111, 0.12), transparent 36%),
		linear-gradient(300deg, rgba(217, 151, 18, 0.14), transparent 38%),
		#fbfcfe;
	border-bottom: 1px solid var(--gar-line);
}

.gar-public-kicker {
	margin: 0 0 12px;
	color: var(--gar-green);
	font-size: 0.78rem;
	font-weight: 900;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gar-public-hero h1,
.gar-public-section h2 {
	margin: 0;
	max-width: 760px;
	color: var(--gar-ink);
	font-weight: 900;
	letter-spacing: 0;
	line-height: 1.02;
}

.gar-public-hero h1 {
	font-size: clamp(2.15rem, 4.2vw, 3.85rem);
}

.gar-public-logo-green {
	color: var(--gar-logo-green);
}

.gar-public-lede {
	max-width: 680px;
	margin: 22px 0 0;
	color: var(--gar-muted);
	font-size: 1.16rem;
	line-height: 1.5;
}

.gar-public-flow {
	display: grid;
	gap: 10px;
	max-width: 720px;
	margin-top: 22px;
}

.gar-public-flow__label {
	margin: 0;
	color: var(--gar-green);
	font-size: 0.78rem;
	font-weight: 950;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.gar-public-flow ol {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: gar-flow;
}

.gar-public-flow li {
	position: relative;
	min-width: 0;
	padding: 14px 14px 14px 48px;
	border: 1px solid var(--gar-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.72);
	counter-increment: gar-flow;
}

.gar-public-flow li::before {
	content: counter(gar-flow);
	position: absolute;
	left: 14px;
	top: 14px;
	width: 24px;
	height: 24px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--gar-ink);
	color: #ffffff;
	font-size: 0.78rem;
	font-weight: 900;
}

.gar-public-flow li:not(:last-child)::after {
	content: "";
	position: absolute;
	right: -12px;
	top: 50%;
	width: 14px;
	height: 1px;
	background: var(--gar-line);
}

.gar-public-flow strong {
	display: block;
	color: var(--gar-ink);
	font-size: 0.92rem;
	font-weight: 950;
}

.gar-public-flow span {
	display: block;
	margin-top: 3px;
	color: var(--gar-muted);
	font-size: 0.98rem;
	line-height: 1.35;
}

.gar-public-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 30px;
}

.gar-public-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	padding: 13px 18px;
	border: 1px solid var(--gar-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--gar-ink);
	font-weight: 850;
	text-decoration: none;
	box-shadow: 0 10px 24px rgba(23, 32, 51, 0.08);
}

.gar-public-button--primary {
	border-color: #0b0b0b;
	background: #0b0b0b;
	color: #ffffff !important;
}

.gar-public-button--primary:visited,
.gar-public-button--primary:hover,
.gar-public-button--primary:focus {
	color: #ffffff !important;
}

.gar-public-hero__visual {
	position: relative;
	display: grid;
	gap: 22px;
	align-content: center;
	padding: clamp(20px, 4vw, 34px);
	border: 1px solid var(--gar-line);
	border-radius: 8px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 24px 70px rgba(23, 32, 51, 0.12);
}

.gar-public-preview {
	display: grid;
	gap: 18px;
}

.gar-public-preview-title {
	margin: 0;
	color: var(--gar-ink);
	font-size: clamp(2rem, 4.2vw, 3.65rem);
	font-weight: 950;
	letter-spacing: 0;
	line-height: 1;
}

.gar-public-preview--steps {
	gap: 12px;
}

.gar-public-preview--steps article {
	position: relative;
	min-width: 0;
	padding: 16px 16px 16px 58px;
	border: 1px solid var(--gar-line);
	border-radius: 8px;
	background: #f9fbfd;
}

.gar-public-preview--steps article > span {
	position: absolute;
	left: 16px;
	top: 16px;
	width: 28px;
	height: 28px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--gar-ink);
	color: #ffffff;
	font-size: 0.84rem;
	font-weight: 950;
}

.gar-public-preview--steps h2 {
	margin: 0;
	color: var(--gar-ink);
	font-size: 1rem;
	font-weight: 900;
	line-height: 1.2;
}

.gar-public-preview--steps p {
	margin: 7px 0 0;
	color: var(--gar-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

.gar-public-preview-guarantee {
	display: grid;
	grid-template-columns: minmax(150px, 0.38fr) minmax(0, 1fr);
	gap: 14px;
	align-items: start;
	padding: 16px 18px;
	border: 1px solid rgba(38, 149, 111, 0.3);
	border-radius: 8px;
	background: rgba(38, 149, 111, 0.07);
}

.gar-public-preview-guarantee strong {
	color: var(--gar-ink);
	font-size: 0.98rem;
	line-height: 1.25;
}

.gar-public-preview-guarantee p {
	margin: 0;
	color: var(--gar-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}

.gar-public-preview > div {
	padding-top: 0;
}

.gar-public-preview span {
	display: block;
	color: var(--gar-muted);
	font-size: 0.86rem;
	font-weight: 800;
}

.gar-public-preview strong {
	display: block;
	margin-top: 4px;
	font-size: 1.15rem;
}

.gar-public-preview ul {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 10px;
	padding: 0;
	margin: 0;
	list-style: none;
}

.gar-public-preview li {
	min-width: 0;
	padding: 14px;
	border: 1px solid var(--gar-line);
	border-radius: 8px;
	background: #f9fbfd;
}

.gar-public-section--soft {
	background: var(--gar-soft);
}

.gar-public-section--process {
	background: #ffffff;
}

.gar-public-section__head {
	display: grid;
	gap: 10px;
	max-width: 740px;
	margin-bottom: 26px;
}

.gar-public-process-title {
	font-size: clamp(2.35rem, 4.5vw, 4.1rem);
}

.gar-public-process {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 14px;
}

.gar-public-process article {
	position: relative;
	min-width: 0;
	padding: 20px;
	border: 1px solid var(--gar-line);
	border-radius: 8px;
	background: #ffffff;
	box-shadow: 0 12px 34px rgba(23, 32, 51, 0.07);
}

.gar-public-process article > span {
	width: 34px;
	height: 34px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--gar-ink);
	color: #ffffff;
	font-weight: 950;
}

.gar-public-process h3 {
	margin: 16px 0 8px;
	color: var(--gar-ink);
	font-size: 1.12rem;
	line-height: 1.2;
}

.gar-public-process p,
.gar-public-guarantee p {
	margin: 0;
	color: var(--gar-muted);
	font-size: 0.98rem;
	line-height: 1.55;
}

.gar-public-guarantee {
	display: grid;
	grid-template-columns: minmax(180px, 0.32fr) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
	margin-top: 16px;
	padding: 18px 20px;
	border: 1px solid rgba(38, 149, 111, 0.28);
	border-radius: 8px;
	background: rgba(38, 149, 111, 0.07);
}

.gar-public-guarantee strong {
	color: var(--gar-ink);
	font-size: 1rem;
	line-height: 1.25;
}

.gar-public-grid {
	display: grid;
	gap: 16px;
}

.gar-public-grid--three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gar-public-grid--two {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gar-public-card {
	padding: 24px;
	border: 1px solid var(--gar-line);
	border-radius: 8px;
	background: var(--gar-panel);
}

.gar-public-card h2 {
	font-size: 1.2rem;
	line-height: 1.2;
}

.gar-public-card h3 {
	margin: 0;
	color: var(--gar-ink);
	font-size: 1.05rem;
	font-weight: 900;
	line-height: 1.2;
}

.gar-public-card h3 a {
	text-decoration-thickness: 2px;
	text-underline-offset: 4px;
}

.gar-public-card p {
	margin: 12px 0 0;
	color: var(--gar-muted);
	line-height: 1.55;
}

.gar-public-split {
	display: grid;
	grid-template-columns: minmax(0, 0.85fr) minmax(320px, 1.15fr);
	gap: clamp(24px, 5vw, 64px);
	align-items: start;
}

.gar-public-split h2 {
	font-size: clamp(2rem, 3.8vw, 3.4rem);
}

.gar-public-steps {
	display: grid;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: gar-step;
}

.gar-public-steps li {
	position: relative;
	min-height: 62px;
	padding: 18px 18px 18px 68px;
	border: 1px solid var(--gar-line);
	border-radius: 8px;
	background: #ffffff;
	color: var(--gar-muted);
	font-weight: 750;
	line-height: 1.4;
	counter-increment: gar-step;
}

.gar-public-steps li::before {
	content: counter(gar-step);
	position: absolute;
	left: 18px;
	top: 16px;
	width: 32px;
	height: 32px;
	display: grid;
	place-items: center;
	border-radius: 50%;
	background: var(--gar-ink);
	color: #ffffff;
	font-size: 0.9rem;
	font-weight: 900;
}

.gar-public-section--testimonials {
	background: #ffffff;
}

.gar-public-testimonials-head {
	display: grid;
	gap: 14px;
	justify-items: center;
	text-align: center;
	margin-bottom: clamp(34px, 5vw, 58px);
}

.gar-public-testimonials-head h2 {
	max-width: 900px;
	font-size: clamp(2.25rem, 5.2vw, 4.25rem);
}

.gar-public-testimonials-head p {
	max-width: 720px;
	margin: 0;
	color: var(--gar-muted);
	font-size: clamp(1.05rem, 2.1vw, 1.55rem);
	line-height: 1.35;
}

.gar-public-testimonials {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(18px, 3vw, 26px);
}

.gar-public-testimonial {
	min-width: 0;
	padding: 30px;
	border: 1px solid var(--gar-line);
	border-radius: 18px;
	background: #ffffff;
	box-shadow: 0 18px 45px rgba(23, 32, 51, 0.09);
}

.gar-public-testimonial img {
	display: block;
	width: 100%;
	aspect-ratio: 440 / 308;
	object-fit: cover;
	border-radius: 14px;
}

.gar-public-testimonial__body {
	padding-top: 24px;
	text-align: center;
}

.gar-public-testimonial h3 {
	margin: 0;
	color: var(--gar-ink);
	font-size: clamp(1.35rem, 2vw, 1.75rem);
	font-weight: 950;
	line-height: 1.15;
}

.gar-public-testimonial__role {
	margin: 6px 0 0;
	color: var(--gar-muted);
	font-size: 1.12rem;
	line-height: 1.3;
}

.gar-public-testimonial__stars {
	margin: 12px 0 0;
	color: #f5b400;
	font-size: 1.35rem;
	letter-spacing: 0;
	line-height: 1;
}

.gar-public-testimonial blockquote {
	position: relative;
	margin: 24px 0 0;
	padding: 0;
	border-left: 0;
	color: var(--gar-ink);
	text-align: left;
}

.gar-public-testimonial blockquote::before {
	content: none;
}

.gar-public-testimonial blockquote p {
	margin: 0;
	color: var(--gar-ink);
	font-size: 1.03rem;
	line-height: 1.55;
}

@media (max-width: 860px) {
	.gar-public-hero,
	.gar-public-split,
	.gar-public-grid--two,
	.gar-public-grid--three,
	.gar-public-process,
	.gar-public-guarantee,
	.gar-public-testimonials,
	.gar-public-preview-guarantee {
		grid-template-columns: 1fr;
	}

	.gar-public-hero {
		min-height: 0;
		padding-top: 38px;
	}

	.gar-public-lede {
		font-size: 1rem;
	}

	.gar-public-flow ol {
		grid-template-columns: 1fr;
	}

	.gar-public-flow li::after {
		display: none;
	}

	.gar-public-preview ul {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.gar-public-hero,
	.gar-public-section {
		padding-left: 16px;
		padding-right: 16px;
	}

	.gar-public-hero h1 {
		font-size: 2rem;
	}

	.gar-public-preview-title {
		font-size: 2rem;
	}

	.gar-public-actions,
	.gar-public-button {
		width: 100%;
	}

	.gar-public-hero__visual,
	.gar-public-card,
	.gar-public-steps li {
		padding: 18px;
	}

	.gar-public-preview--steps article {
		padding: 15px 15px 15px 54px;
	}

	.gar-public-steps li {
		padding-left: 60px;
	}

	.gar-public-testimonial {
		padding: 18px;
		border-radius: 12px;
	}

	.gar-public-testimonial img {
		border-radius: 10px;
	}
}
