.home-intro { position: relative; left: 0; width: 100vw; max-width: none; margin: 0; overflow: hidden; padding: clamp(84px, 10vw, 144px) 0; background: #fff; }
.home-intro::before { content: ''; position: absolute; top: -170px; right: -170px; width: 390px; height: 390px; border: 1px solid rgb(13 53 43 / 8%); border-radius: 50%; box-shadow: 0 0 0 55px rgb(13 53 43 / 2.5%), 0 0 0 110px rgb(13 53 43 / 2%); }
.home-intro__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.04fr) minmax(0, .96fr); align-items: center; gap: clamp(55px, 8vw, 112px); }
.home-intro__visual { position: relative; padding: 0 0 36px 30px; }
.home-intro__image-wrap { position: relative; overflow: hidden; min-height: 520px; border-radius: 3px; box-shadow: var(--shadow); }
.home-intro__image-wrap::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 58%, rgb(4 27 21 / 38%)); }
.home-intro__image-wrap img { width: 100%; height: 100%; min-height: 520px; object-fit: cover; object-position: 40% center; transition: transform .6s ease; }
.home-intro__visual:hover img { transform: scale(1.025); }
.home-intro__visual::before { content: ''; position: absolute; left: 0; bottom: 0; width: 68%; height: 70%; background: var(--green-100); }
.home-intro__badge { position: absolute; right: -26px; bottom: 0; display: flex; min-width: 230px; align-items: center; gap: 15px; padding: 22px 25px; background: var(--gold); color: var(--green-950); box-shadow: 0 16px 40px rgb(23 45 37 / 18%); }
.home-intro__badge strong { font-family: 'Playfair Display', Georgia, serif; font-size: 2.3rem; line-height: 1; }
.home-intro__badge span { padding-left: 15px; border-left: 1px solid rgb(8 39 31 / 28%); font-size: .75rem; font-weight: 700; letter-spacing: .08em; line-height: 1.35; text-transform: uppercase; }
.section-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; color: #18765e; font-size: .78rem; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.section-eyebrow span { width: 38px; height: 2px; background: var(--gold); }
.home-intro h2 { margin: 0; color: var(--green-950); font-family: 'Playfair Display', Georgia, serif; font-size: clamp(2.55rem, 4.5vw, 4.4rem); letter-spacing: -.035em; line-height: 1.06; }
.home-intro h2 em { color: #168260; font-weight: inherit; }
.home-intro__lead { margin: 27px 0 15px; color: #253a33; font-size: 1.12rem; font-weight: 600; line-height: 1.65; }
.home-intro__content > p:not(.section-eyebrow):not(.home-intro__lead) { margin: 0; color: var(--muted); }
.home-intro__registration { display: flex; align-items: center; gap: 14px; margin: 28px 0 30px; padding: 17px 19px; border-left: 3px solid var(--gold); background: var(--cream); }
.home-intro__registration p { margin: 0; color: var(--green-900); line-height: 1.35; }
.home-intro__registration small { color: var(--muted); }
.home-intro__check { display: grid; flex: 0 0 34px; width: 34px; height: 34px; place-items: center; border-radius: 50%; background: var(--green-800); color: #fff; font-weight: 700; }

@media (max-width: 900px) {
	.home-intro__grid { grid-template-columns: 1fr; gap: 62px; }
	.home-intro__visual { width: min(680px, 92%); }
	.home-intro__content { max-width: 680px; }
}

@media (max-width: 620px) {
	.home-intro { padding: 76px 0; }
	.home-intro__visual { width: 100%; padding: 0 0 26px 14px; }
	.home-intro__image-wrap, .home-intro__image-wrap img { min-height: 360px; }
	.home-intro__badge { right: -2px; min-width: 205px; padding: 17px 20px; }
	.home-intro__badge strong { font-size: 1.85rem; }
	.home-intro h2 { font-size: clamp(2.3rem, 11vw, 3.25rem); }
	.home-intro__lead { font-size: 1.03rem; }
	.home-intro__registration { align-items: flex-start; padding: 15px; }
}
