:root {
	--yedi-app-navy: #13243a;
	--yedi-app-blue: #176b87;
	--yedi-app-gold: #d9a441;
	--yedi-app-ink: #1d2939;
	--yedi-app-muted: #667085;
	--yedi-app-line: #d9e1e8;
	--yedi-app-soft: #f4f7f9;
}

.yedi-b2b-application {
	box-sizing: border-box;
	max-width: 1180px;
	margin: 0 auto;
	padding: clamp(24px, 5vw, 72px) 20px 80px;
	color: var(--yedi-app-ink);
	font-family: inherit;
}

.yedi-b2b-application *,
.yedi-b2b-application *::before,
.yedi-b2b-application *::after { box-sizing: border-box; }

.yedi-application-hero {
	position: relative;
	overflow: hidden;
	padding: clamp(36px, 7vw, 72px);
	border-radius: 28px;
	background: linear-gradient(135deg, #102338 0%, #176b87 100%);
	box-shadow: 0 22px 60px rgba(16, 35, 56, .2);
	color: #fff;
}

.yedi-application-hero::after {
	content: "7";
	position: absolute;
	right: 3%;
	top: 50%;
	transform: translateY(-52%);
	font-size: clamp(170px, 32vw, 360px);
	font-weight: 800;
	line-height: .8;
	opacity: .07;
}

.yedi-application-hero > * { position: relative; z-index: 1; max-width: 760px; }
.yedi-application-hero > span,
.yedi-application-heading > span {
	display: block;
	margin-bottom: 10px;
	color: var(--yedi-app-gold);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.yedi-application-hero h1 { margin: 0; color: #fff; font-size: clamp(34px, 5vw, 62px); line-height: 1.04; }
.yedi-application-hero p { margin: 22px 0 0; color: rgba(255,255,255,.86); font-size: clamp(17px, 2vw, 21px); line-height: 1.65; }

.yedi-application-notice {
	margin: 24px 0 0;
	padding: 20px 22px;
	border: 1px solid;
	border-radius: 16px;
}
.yedi-application-notice p { margin: 5px 0 0; }
.yedi-application-notice.is-success { background: #ecfdf3; border-color: #abefc6; color: #067647; }
.yedi-application-notice.is-warning { background: #fffaeb; border-color: #fedf89; color: #93370d; }
.yedi-application-notice.is-error { background: #fef3f2; border-color: #fecdca; color: #b42318; }

.yedi-application-plans,
.yedi-application-form-card { margin-top: clamp(48px, 8vw, 90px); }
.yedi-application-heading { max-width: 760px; margin-bottom: 28px; }
.yedi-application-heading h2 { margin: 0; color: var(--yedi-app-navy); font-size: clamp(28px, 4vw, 42px); line-height: 1.15; }
.yedi-application-heading p { margin: 12px 0 0; color: var(--yedi-app-muted); font-size: 16px; line-height: 1.7; }

.yedi-application-plan-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.yedi-application-plan {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 390px;
	padding: 30px;
	border: 1px solid var(--yedi-app-line);
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 12px 34px rgba(16, 35, 56, .07);
}
.yedi-application-plan.is-featured { border: 2px solid var(--yedi-app-blue); transform: translateY(-8px); }
.yedi-plan-badge { align-self: flex-start; margin: -46px 0 18px; padding: 7px 12px; border-radius: 99px; background: var(--yedi-app-blue); color: #fff; font-size: 12px; font-weight: 800; }
.yedi-application-plan h3 { margin: 0 0 14px; color: var(--yedi-app-navy); font-size: 27px; }
.yedi-application-plan > strong { min-height: 34px; color: var(--yedi-app-blue); font-size: 21px; }
.yedi-application-plan > small { margin-top: 2px; color: var(--yedi-app-muted); }
.yedi-application-plan ul { margin: 24px 0 30px; padding: 0; list-style: none; }
.yedi-application-plan li { position: relative; margin: 12px 0; padding-left: 25px; color: #344054; }
.yedi-application-plan li::before { content: "✓"; position: absolute; left: 0; color: var(--yedi-app-blue); font-weight: 800; }
.yedi-application-plan a { margin-top: auto; padding: 13px 16px; border-radius: 10px; background: var(--yedi-app-navy); color: #fff; font-weight: 800; text-align: center; text-decoration: none; }
.yedi-application-plan a:hover,
.yedi-application-plan a:focus { background: var(--yedi-app-blue); color: #fff; }

.yedi-application-form-card {
	padding: clamp(26px, 5vw, 54px);
	border: 1px solid var(--yedi-app-line);
	border-radius: 26px;
	background: var(--yedi-app-soft);
}
.yedi-application-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.yedi-application-form label { display: flex; flex-direction: column; gap: 8px; color: #344054; font-weight: 700; }
.yedi-application-form label.is-wide { grid-column: 1 / -1; }
.yedi-application-form input,
.yedi-application-form select,
.yedi-application-form textarea {
	width: 100%;
	min-height: 48px;
	padding: 12px 14px;
	border: 1px solid #b9c5d1;
	border-radius: 10px;
	background: #fff;
	color: var(--yedi-app-ink);
	font: inherit;
}
.yedi-application-form textarea { resize: vertical; }
.yedi-application-form input:focus,
.yedi-application-form select:focus,
.yedi-application-form textarea:focus { outline: 3px solid rgba(23,107,135,.18); border-color: var(--yedi-app-blue); }
.yedi-application-form small { color: var(--yedi-app-muted); font-size: 12px; font-weight: 400; }
.yedi-application-checks { display: grid; gap: 14px; margin: 28px 0; }
.yedi-application-checks label { flex-direction: row; align-items: flex-start; font-weight: 500; line-height: 1.55; }
.yedi-application-checks input { flex: 0 0 auto; width: 20px; min-height: 20px; margin-top: 2px; }
.yedi-application-submit { min-height: 52px; padding: 14px 26px; border: 0; border-radius: 11px; background: var(--yedi-app-blue); color: #fff; font: inherit; font-weight: 800; cursor: pointer; }
.yedi-application-submit:hover,
.yedi-application-submit:focus { background: var(--yedi-app-navy); }
.yedi-application-honeypot { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }

@media (max-width: 840px) {
	.yedi-application-plan-grid { grid-template-columns: 1fr; }
	.yedi-application-plan.is-featured { transform: none; margin-top: 12px; }
	.yedi-plan-badge { margin-top: -46px; }
}

@media (max-width: 620px) {
	.yedi-b2b-application { padding-inline: 14px; }
	.yedi-application-hero { border-radius: 20px; }
	.yedi-application-fields { grid-template-columns: 1fr; }
	.yedi-application-form label.is-wide { grid-column: auto; }
}
