.home-modern-hero {
	background:
		radial-gradient(900px 480px at 0% 0%, rgba(198, 223, 255, 0.64), rgba(198, 223, 255, 0) 58%),
		radial-gradient(700px 440px at 105% 100%, rgba(255, 213, 189, 0.5), rgba(255, 213, 189, 0) 60%),
		linear-gradient(140deg, #f8fbff 0%, #f8f6f2 100%);
	padding: 64px 0 34px;
}

.home-kicker {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #5c7198;
}

.home-title {
	font-size: clamp(1.9rem, 1.4rem + 1.5vw, 3.1rem);
	line-height: 1.18;
	letter-spacing: -0.02em;
	color: #13264b;
	max-width: 20ch;
}

.home-subtitle {
	font-size: 1rem;
	color: #4f6287;
	max-width: 56ch;
}

.home-primary-btn,
.home-secondary-btn {
	border-radius: 12px;
	height: 46px;
	padding: 0 18px;
	font-weight: 700;
	display: inline-flex;
	align-items: center;
}

.home-primary-btn {
	background: linear-gradient(135deg, #2648a6 0%, #466ecf 100%);
	color: #fff;
}

.home-primary-btn:hover {
	color: #fff;
	filter: brightness(1.04);
}

.home-secondary-btn {
	background: #fff;
	border: 1px solid #c7d4ec;
	color: #203865;
}

.home-secondary-btn:hover {
	background: #eef4ff;
	color: #1f3663;
}

.home-quick-note {
	font-size: 0.84rem;
	color: #6a7a95;
}

.home-hero-photo {
	height: 430px;
	border-radius: 24px;
	background-size: cover;
	background-position: center;
	border: 1px solid rgba(255, 255, 255, 0.8);
	box-shadow: 0 20px 55px rgba(27, 40, 73, 0.24);
}

.home-proof-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

.home-proof-card {
	padding: 16px 16px;
	border-radius: 14px;
	background: rgba(255, 255, 255, 0.86);
	border: 1px solid rgba(27, 42, 77, 0.1);
	box-shadow: 0 8px 20px rgba(36, 55, 98, 0.08);
}

.home-proof-number {
	font-size: clamp(1.6rem, 1.2rem + .9vw, 2.3rem);
	font-weight: 800;
	letter-spacing: -0.02em;
	color: #16284e;
}

.home-proof-label {
	font-size: 0.84rem;
	font-weight: 600;
	color: #5f7191;
}

.home-section-title {
	font-size: clamp(1.6rem, 1.3rem + .8vw, 2.4rem);
	line-height: 1.24;
	letter-spacing: -0.015em;
	color: #15274d;
}

.home-filter-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.home-filter-pill {
	padding: 7px 12px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #d2ddef;
	color: #32486f;
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.home-filter-pill.is-active {
	background: #23449d;
	border-color: #23449d;
	color: #fff;
}

.home-portfolio-card {
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	border: 1px solid #dee6f3;
	box-shadow: 0 8px 22px rgba(36, 54, 97, 0.08);
}

.home-portfolio-card img {
	width: 100%;
	height: 255px;
	object-fit: cover;
}

.home-portfolio-body {
	padding: 13px 14px;
}

.home-portfolio-cat {
	font-size: 0.74rem;
	font-weight: 700;
	color: #607197;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

.home-portfolio-title {
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.35;
	color: #1a2f58;
}

.home-package-section {
	background: linear-gradient(180deg, rgba(239, 245, 255, 0.6) 0%, rgba(255, 255, 255, 0) 100%);
}

.home-package-card {
	position: relative;
	padding: 24px 20px 20px;
	border-radius: 18px;
	background:
		linear-gradient(160deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 250, 255, 0.92) 100%);
	border: 1px solid #d5e1f2;
	height: 100%;
	box-shadow: 0 14px 30px rgba(30, 52, 96, 0.08);
	overflow: hidden;
}

.home-package-card::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 4px;
	background: linear-gradient(90deg, #9fb7e8 0%, #d3dff6 100%);
}

.home-package-card h3 {
	font-size: 1.35rem;
	margin-bottom: 8px;
	color: #1a2f59;
	letter-spacing: -0.01em;
}

.home-package-tier {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #7183a5;
}

.home-package-price {
	font-size: 0.92rem;
	color: #536688;
	margin-bottom: 12px;
}

.home-package-price strong {
	font-size: 1.3rem;
	color: #1f3b74;
	letter-spacing: -0.015em;
}

.home-package-card ul {
	margin: 0 0 12px;
	padding-left: 18px;
	color: #4e6288;
}

.home-package-card li {
	margin-bottom: 6px;
	font-size: 0.92rem;
}

.home-package-card.is-featured {
	border-color: #5f82d8;
	box-shadow: 0 18px 36px rgba(43, 71, 160, 0.22);
	transform: translateY(-4px);
}

.home-package-card.is-featured::before {
	background: linear-gradient(90deg, #375ab8 0%, #6f90e4 100%);
}

.home-badge {
	display: inline-flex;
	margin-bottom: 8px;
	padding: 4px 10px;
	border-radius: 999px;
	background: #e7efff;
	color: #2346a0;
	font-size: 0.72rem;
	font-weight: 800;
	letter-spacing: 0.03em;
	text-transform: uppercase;
}

.home-package-link {
	font-weight: 700;
	color: #2448a5;
	text-decoration: none;
}

.home-package-note {
	font-size: 0.82rem;
	color: #6b7da0;
	margin-bottom: 12px;
}

.home-package-cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 36px;
	padding: 0 12px;
	border-radius: 999px;
	border: 1px solid #c7d5ee;
	background: #eef4ff;
}

.home-package-cta:hover {
	background: #e3ecff;
	color: #213e80;
}

.home-testi-card {
	padding: 14px;
	border-radius: 12px;
	background: #fff;
	border: 1px solid #dce5f4;
}

.home-testi-card p {
	color: #2f436c;
}

.home-testi-card small {
	color: #607295;
	font-weight: 600;
}

.home-cta-box {
	padding: 18px;
	border-radius: 14px;
	background: linear-gradient(150deg, #253f81 0%, #3f61b5 100%);
	color: #fff;
}

.home-cta-box h3,
.home-cta-box p {
	color: #fff;
}

.home-footer {
	padding: 28px 0 22px;
	background: transparent;
}

.home-footer-shell {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 20px;
	padding: 22px;
	border-radius: 18px;
	background: linear-gradient(145deg, #f3f7ff 0%, #f9f5ef 100%);
	border: 1px solid #d6e1f2;
}

.home-footer-main {
	padding-right: 8px;
}

.home-footer-title {
	margin: 0 0 10px;
	font-size: clamp(1.2rem, 1rem + .7vw, 1.8rem);
	letter-spacing: -0.01em;
	color: #162a50;
}

.home-footer-text {
	margin: 0 0 16px;
	color: #566a90;
	max-width: 52ch;
}

.home-footer-side {
	display: grid;
	gap: 14px;
}

.home-footer-contact {
	padding: 14px;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.78);
	border: 1px solid #d8e2f2;
}

.home-footer-line {
	font-size: 0.9rem;
	color: #304469;
	margin-bottom: 6px;
}

.home-footer-line a {
	color: #23459f;
	text-decoration: none;
}

.home-footer-address {
	margin-top: 6px;
	font-size: 0.84rem;
	color: #66789a;
	line-height: 1.5;
}

.home-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.home-social-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 12px;
	border-radius: 999px;
	border: 1px solid #ccdaef;
	background: #fff;
	color: #253f70;
	font-size: 0.78rem;
	font-weight: 700;
	text-decoration: none;
}

.home-social-chip:hover {
	background: #eef4ff;
	color: #1f3767;
}

.home-footer-bottom {
	padding: 12px 4px 0;
	text-align: center;
	font-size: 0.82rem;
	color: #6b7d9e;
}

@media (max-width: 991.98px) {
	.home-modern-hero {
		padding: 48px 0 24px;
	}

	.home-hero-photo {
		height: 300px;
	}

	.home-proof-grid {
		grid-template-columns: 1fr;
	}

	.home-package-card.is-featured {
		transform: none;
	}

	.home-footer-shell {
		grid-template-columns: 1fr;
	}
}
