body { font-family: 'Source Sans 3', sans-serif; background-color: #fcf9f8; color: #1b1c1c; }
h1, h2, h3, .font-serif { font-family: 'Cormorant Garamond', serif; }
.no-line-card { background: #ffffff; border: none; }
.glass-nav { background: rgba(252, 249, 248, 0.8); backdrop-filter: blur(20px); }
.material-symbols-outlined { font-variation-settings: 'FILL' 0, 'wght' 400, 'GRAD' 0, 'opsz' 24; }

.brand-logo {
	height: 36px;
	width: auto;
	display: block;
}

.brand-text {
	height: 24px;
	width: auto;
	display: block;
}

@media (max-width: 767px) {
	.brand-logo {
		height: 32px;
	}

	.brand-text {
		height: 22px;
	}
}

@media (max-width: 639px) {
	.platform-feature-list {
		overflow: hidden;
		align-content: start;
		transition: height 360ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	.platform-feature-list.mobile-collapsed .mobile-extra-feature {
		display: none;
	}
}

body.modal-open {
	overflow: hidden;
}

.contact-modal {
	opacity: 0;
	visibility: hidden;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
	transition: opacity 260ms ease, visibility 260ms ease;
}

.contact-modal.is-open {
	opacity: 1;
	visibility: visible;
}

.contact-modal-backdrop {
	background: rgba(27, 28, 28, 0.5);
	backdrop-filter: blur(4px);
	opacity: 0;
	transition: opacity 260ms ease;
}

.contact-modal-panel {
	max-height: calc(100dvh - 2rem);
	overflow-y: auto;
	transform: translateY(20px) scale(0.98);
	opacity: 0;
	transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), opacity 260ms ease;
}

@media (max-width: 639px) {
	.contact-modal {
		align-items: flex-start !important;
	}

	.contact-modal-panel {
		max-height: calc(100dvh - 1rem);
	}
}

.contact-modal.is-open .contact-modal-backdrop,
.contact-modal.is-open .contact-modal-panel {
	opacity: 1;
}

.contact-modal.is-open .contact-modal-panel {
	transform: translateY(0) scale(1);
}

.pricing-plan-card {
	cursor: pointer;
	border: 1px solid transparent;
	transition: transform 240ms ease, box-shadow 260ms ease, border-color 260ms ease;
}

.pricing-plan-card:hover {
	transform: translateY(-2px);
}

.pricing-plan-card:focus-visible {
	outline: 2px solid #a53c00;
	outline-offset: 3px;
}

.pricing-plan-card .plan-check {
	opacity: 0;
	transform: scale(0.88);
	transition: opacity 220ms ease, transform 220ms ease;
}

.pricing-plan-card.is-selected {
	border-color: #a53c00;
	box-shadow: 0 18px 44px rgba(165, 60, 0, 0.22);
}

.pricing-plan-card.is-selected .plan-check {
	opacity: 1;
	transform: scale(1);
}
