/* Portable styles for the legacy Text / Image / Button / CTA page modules. */
.nova-page--plugin-canvas,
.nova-page__builder { background: var(--nova-paper, #f5f6fb); }
.nova-wrap { width: min(calc(100% - 64px), var(--nova-max, 1240px)); margin-right: auto; margin-left: auto; }
.nova-page { padding: 150px 0 100px; background: var(--nova-surface, #fff); color: var(--nova-ink, #17151f); }
.nova-page__content { max-width: 800px; }
.nova-page h1 { margin: 0; font-size: clamp(52px, 8vw, 100px); line-height: .9; letter-spacing: -.08em; }
.nova-page__body { margin-top: 34px; font-size: 18px; }
.nova-page__body a { color: var(--nova-accent, #6d5dfc); text-decoration: underline; text-underline-offset: 4px; }
.nova-page__blocks { max-width: none; margin-top: 0; }
.nova-page__legacy-content { padding-top: 70px; padding-bottom: 70px; border-top: 1px solid #e4e5ed; }
.nova-section { padding: 116px 0; }
.nova-section--surface { background: var(--nova-surface, #fff); }
.nova-section--paper { background: var(--nova-paper, #f5f6fb); }
.nova-section--dark { background: var(--nova-dark, #17151f); color: #fff; }
.nova-section--accent { background: var(--nova-accent, #6d5dfc); color: #fff; }
.nova-custom-module__grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 72px; align-items: center; width: min(calc(100% - 64px), var(--nova-max, 1240px)); margin: 0 auto; }
.nova-custom-module__visual { position: relative; min-height: 430px; overflow: hidden; border-radius: var(--nova-radius, 18px); background: radial-gradient(circle at 30% 22%, #aaa1ff, transparent 24%), linear-gradient(145deg, #2b2840, #17151f 72%); }
.nova-custom-module__visual::after { position: absolute; right: 14%; bottom: 12%; width: 48%; height: 48%; border: 1px solid rgba(255,255,255,.28); border-radius: 50%; content: ''; }
.nova-custom-module__visual img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.nova-custom-module__copy h2,
.nova-custom-module__text h2 { max-width: 560px; margin: 0; font-size: clamp(42px, 6vw, 78px); line-height: .92; letter-spacing: -.075em; }
.nova-custom-module__copy > p:not(.nova-eyebrow),
.nova-custom-module__text > div:last-child > p { max-width: 480px; margin: 24px 0 0; color: #6e7180; font-size: 17px; }
.nova-custom-module__copy .nova-link,
.nova-custom-module__text .nova-link { margin-top: 28px; }
.nova-custom-module__text { display: grid; grid-template-columns: 1fr 1fr; gap: 72px; align-items: start; width: min(calc(100% - 64px), var(--nova-max, 1240px)); margin: 0 auto; }
.nova-custom-module__text > div:last-child { padding-top: 10px; }
.nova-custom-module__cta { display: flex; align-items: end; justify-content: space-between; gap: 42px; width: min(calc(100% - 64px), var(--nova-max, 1240px)); margin: 0 auto; }
.nova-custom-module__cta h2 { max-width: 700px; margin: 0; font-size: clamp(44px, 6vw, 80px); line-height: .9; letter-spacing: -.075em; }
.nova-custom-module__cta p { max-width: 320px; margin: 0 0 22px; color: rgba(255,255,255,.68); }
.nova-custom-module--image-right .nova-custom-module__visual { order: 2; }
.nova-custom-module--center .nova-custom-module__copy,
.nova-custom-module--center .nova-custom-module__text,
.nova-custom-module--center .nova-custom-module__button { text-align: center; }
.nova-custom-module--center .nova-custom-module__inline-image { margin-right: auto; margin-left: auto; }
.nova-custom-module--surface .nova-custom-module__cta,
.nova-custom-module--paper .nova-custom-module__cta { color: var(--nova-ink, #17151f); }
.nova-custom-module--surface .nova-custom-module__cta p,
.nova-custom-module--paper .nova-custom-module__cta p { color: #6e7180; }
.nova-custom-module__inline-image { display: block; width: 100%; max-width: 480px; height: auto; margin: 22px 0; border-radius: var(--nova-radius, 18px); }
.nova-custom-module--button .nova-custom-module__button { width: min(calc(100% - 64px), var(--nova-max, 1240px)); margin: 0 auto; }
.nova-custom-module--button h2 { max-width: 760px; margin: 0; font-size: clamp(42px, 6vw, 78px); line-height: .92; letter-spacing: -.075em; }
.nova-custom-module--button p:not(.nova-eyebrow) { max-width: 560px; margin: 24px 0; color: #6e7180; font-size: 17px; }
.nova-custom-module--dark .nova-custom-module__copy > p:not(.nova-eyebrow),
.nova-custom-module--dark .nova-custom-module__text > div:last-child > p,
.nova-custom-module--dark .nova-custom-module__button p:not(.nova-eyebrow),
.nova-custom-module--dark .nova-custom-module__cta p,
.nova-custom-module--accent .nova-custom-module__copy > p:not(.nova-eyebrow),
.nova-custom-module--accent .nova-custom-module__text > div:last-child > p,
.nova-custom-module--accent .nova-custom-module__button p:not(.nova-eyebrow),
.nova-custom-module--accent .nova-custom-module__cta p { color: rgba(255,255,255,.72); }
@media (max-width: 900px) {
  .nova-page { padding: calc(var(--nova-header-mobile-height, 72px) + 32px) 0 72px; }
  .nova-section { padding: 78px 0; }
  .nova-wrap { width: min(calc(100% - 40px), var(--nova-max, 1240px)); }
  .nova-custom-module__grid,
  .nova-custom-module__text { grid-template-columns: 1fr; gap: 34px; }
  .nova-custom-module__visual { min-height: 340px; }
  .nova-custom-module__cta { align-items: flex-start; flex-direction: column; gap: 24px; }
}

/* Responsive defaults for the legacy page-module renderer. */
.nova-page,
.nova-section,
.nova-custom-module,
.nova-custom-module__grid,
.nova-custom-module__text,
.nova-custom-module__cta,
.nova-custom-module__visual,
.nova-custom-module__copy,
.nova-custom-module__button {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

.nova-custom-module__grid > *,
.nova-custom-module__text > *,
.nova-custom-module__cta > * {
	min-width: 0;
}

@media (max-width: 767px) {
	.nova-page {
		padding: calc(var(--nova-header-mobile-height, 72px) + 24px) 0 56px;
	}

	.nova-page__legacy-content {
		padding-top: 40px;
		padding-bottom: 40px;
	}

	.nova-page h1 {
		font-size: clamp(32px, 10vw, 52px);
		line-height: .98;
		overflow-wrap: anywhere;
	}

	.nova-page__body {
		margin-top: 20px;
		font-size: clamp(15px, 4vw, 18px);
	}

	.nova-section {
		padding: clamp(48px, 14vw, 68px) 0;
	}

	.nova-wrap,
	.nova-custom-module__grid,
	.nova-custom-module__text,
	.nova-custom-module__cta,
	.nova-custom-module--button .nova-custom-module__button {
		width: min(calc(100% - 32px), var(--nova-max, 1240px));
	}

	.nova-custom-module__grid,
	.nova-custom-module__text {
		gap: clamp(20px, 5vw, 34px);
	}

	.nova-custom-module__visual {
		min-height: 0;
		aspect-ratio: 16 / 10;
	}

	.nova-custom-module__visual img {
		object-fit: contain;
	}

	.nova-custom-module__copy h2,
	.nova-custom-module__text h2,
	.nova-custom-module--button h2 {
		font-size: clamp(30px, 8vw, 44px);
		line-height: .98;
	}

	.nova-custom-module__cta h2 {
		font-size: clamp(30px, 9vw, 46px);
		line-height: .98;
	}

	.nova-custom-module__copy > p:not(.nova-eyebrow),
	.nova-custom-module__text > div:last-child > p,
	.nova-custom-module--button p:not(.nova-eyebrow),
	.nova-custom-module__cta p {
		max-width: 100%;
		font-size: clamp(15px, 4vw, 17px);
	}

	.nova-custom-module__cta {
		gap: 18px;
	}
}
