/* RailSite: CRM form pop-up and inline form frames */
.rsc-modal { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: center; justify-content: center; padding: 24px; font-family: "Poppins", system-ui, sans-serif; }
.rsc-modal[hidden] { display: none; }
.rsc-modal__backdrop { position: absolute; inset: 0; background: rgba(22, 22, 74, 0.62); backdrop-filter: blur(2px); animation: rscFade .2s ease; }
.rsc-modal__dialog {
	position: relative; width: 100%; max-width: 620px; max-height: calc(100vh - 48px); overflow-y: auto;
	background: #fff; border-radius: 16px; box-shadow: 0 30px 80px rgba(10, 10, 50, 0.35); animation: rscRise .25s ease;
}
.rsc-modal__dialog::before { content: ""; display: block; height: 5px; background: linear-gradient(90deg, #333390 0 72%, #f18529 72% 100%); border-radius: 16px 16px 0 0; }
.rsc-modal__close {
	position: absolute; top: 18px; right: 18px; width: 38px; height: 38px; border: 0; border-radius: 50%;
	background: #f5f5fa; color: #333390; font-size: 24px; line-height: 38px; text-align: center; cursor: pointer; padding: 0;
}
.rsc-modal__close:hover { background: #333390; color: #fff; }
.rsc-modal__head { padding: 28px 32px 8px; }
.rsc-modal__eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #f18529; }
.rsc-modal__title { margin: 0 48px 8px 0; font-family: inherit; font-size: 24px; font-weight: 700; line-height: 1.25; color: #333390; }
.rsc-modal__intro { margin: 0 0 12px; font-size: 14.5px; line-height: 1.6; color: #5a5a6e; }
.rsc-modal__facts { list-style: none; margin: 0 0 6px; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.rsc-modal__facts[hidden] { display: none; }
.rsc-modal__facts li { margin: 0; padding: 6px 12px; border-radius: 999px; background: #ececf8; color: #333390; font-size: 12.5px; font-weight: 600; }
.rsc-modal__facts li::before { display: none; }
.rsc-modal__body { padding: 12px 32px 8px; min-height: 220px; }
.rsc-modal__foot { margin: 0; padding: 14px 32px 22px; border-top: 1px solid #eeeef5; font-size: 13.5px; color: #6b6b80; text-align: center; }
.rsc-modal__foot a { color: #333390 !important; font-weight: 600; }
html.rsc-modal-open, html.rsc-modal-open body { overflow: hidden; }

/* Inline forms */
.rsc-inline-form { font-family: "Poppins", system-ui, sans-serif; }
.rsc-inline-form--card { background: #fff; border: 1px solid #e6e6f0; border-radius: 14px; padding: 28px; box-shadow: 0 14px 36px rgba(25, 25, 80, 0.07); }
.rsc-inline-form--plain { padding: 0; }
.rsc-inline-form__title { margin: 0 0 6px; font-family: inherit; font-size: 22px; font-weight: 700; color: #333390; }
.rsc-inline-form__intro { margin: 0 0 18px; font-size: 14.5px; color: #5a5a6e; }
.rsc-inline-form--newsletter.rsc-inline-form--dark .rsc-inline-form__title { color: #fff; }
.rsc-hs-target { min-height: 120px; }
.rsc-hs-target iframe { width: 100% !important; }

/* Loading dots */
.rsc-form-loading { display: flex; justify-content: center; gap: 8px; padding: 48px 0; }
.rsc-form-loading span { width: 10px; height: 10px; border-radius: 50%; background: #333390; opacity: .25; animation: rscDot 1s infinite ease-in-out; }
.rsc-form-loading span:nth-child(2) { animation-delay: .15s; background: #5a5ab0; }
.rsc-form-loading span:nth-child(3) { animation-delay: .3s; background: #f18529; }

@keyframes rscDot { 0%, 100% { opacity: .25; transform: translateY(0); } 50% { opacity: 1; transform: translateY(-4px); } }
@keyframes rscFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes rscRise { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }

@media (max-width: 600px) {
	.rsc-modal { padding: 0; align-items: flex-end; }
	.rsc-modal__dialog { max-width: none; max-height: 92vh; border-radius: 16px 16px 0 0; }
	.rsc-modal__head { padding: 24px 20px 6px; }
	.rsc-modal__body { padding: 10px 20px 6px; }
	.rsc-modal__foot { padding: 12px 20px 18px; }
	.rsc-modal__title { font-size: 21px; }
	.rsc-inline-form--card { padding: 20px; }
}

/* Newsletter band */
.rsc-news { background: linear-gradient(100deg, #16164a 0%, #333390 100%); color: #fff; font-family: "Poppins", system-ui, sans-serif; }
.rsc-news[hidden] { display: none; }
.rsc-news__inner { max-width: 1170px; margin: 0 auto; padding: 44px 24px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px; align-items: center; }
.rsc-news__eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: #f18529; }
.rsc-news__title { margin: 0 0 6px; font-family: inherit; font-size: 24px; font-weight: 700; line-height: 1.3; color: #fff !important; }
.rsc-news__intro { margin: 0; font-size: 14.5px; color: rgba(255, 255, 255, .78); }
.rsc-news__form { background: #fff; border-radius: 14px; padding: 18px 20px 4px; box-shadow: 0 18px 40px rgba(0, 0, 0, .18); }
.rsc-news .rsc-hs-target { min-height: 90px; }
@media (max-width: 860px) {
	.rsc-news__inner { grid-template-columns: 1fr; gap: 22px; padding: 36px 20px; }
	.rsc-news__title { font-size: 21px; }
}

/* Keep the theme's back-to-top button clear of the HubSpot chat bubble */
#scrollUp { bottom: 100px !important; right: 26px !important; }
@media (max-width: 600px) { #scrollUp { bottom: 92px !important; right: 20px !important; } }

/* Built-in form (shown when a browser blocks HubSpot) */
.rsc-fb { display: flex; flex-wrap: wrap; gap: 0 16px; font-family: "Poppins", system-ui, sans-serif; }
.rsc-fb, .rsc-fb * { box-sizing: border-box !important; }
.rsc-fb__field { flex: 1 1 100%; margin: 0 0 14px; min-width: 0; }
.rsc-fb__field--half { flex: 1 1 calc(50% - 8px); }
.rsc-fb label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 600; color: #1e1e2f; }
.rsc-fb__req { color: #f18529; }
.rsc-fb input, .rsc-fb select, .rsc-fb textarea {
	display: block; width: 100% !important; max-width: none; height: auto !important; min-height: 46px; line-height: 1.4 !important; margin: 0 !important; padding: 10px 14px !important;
	border: 1px solid #d9d9e6 !important; border-radius: 8px !important; background: #fff !important; box-shadow: none !important;
	font: inherit; font-size: 15px; color: #1e1e2f; outline: none; transition: border-color .15s, box-shadow .15s;
}
.rsc-fb textarea { min-height: 110px !important; resize: vertical; }
.rsc-fb input:focus, .rsc-fb select:focus, .rsc-fb textarea:focus { border-color: #333390 !important; box-shadow: 0 0 0 3px rgba(51, 51, 144, .12) !important; }
.rsc-fb__field.is-error input, .rsc-fb__field.is-error select, .rsc-fb__field.is-error textarea { border-color: #d63638 !important; }
.rsc-fb__err { margin: 6px 0 0; font-size: 12.5px; color: #d63638; }
.rsc-fb__err:empty { display: none; }
.rsc-fb__trap { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.rsc-fb__msg { flex: 1 1 100%; margin: 0 0 10px; font-size: 14px; color: #d63638; }
.rsc-fb__msg:empty { display: none; }
.rsc-fb__submit {
	flex: 1 1 100%; min-height: 50px; margin: 4px 0 8px; border: 0; border-radius: 8px; background: #f18529; color: #fff;
	font: inherit; font-size: 15px; font-weight: 600; cursor: pointer; transition: background .2s;
}
.rsc-fb__submit:hover { background: #333390; }
.rsc-fb__submit[disabled] { opacity: .7; cursor: default; }
.rsc-fb__thanks { padding: 18px 20px; border-radius: 10px; background: #e8f6ee; border-left: 4px solid #1d7a45; font-size: 15px; line-height: 1.6; color: #1e1e2f; }
.rsc-fb__note { font-size: 15px; }
@media (max-width: 480px) { .rsc-fb__field--half { flex-basis: 100%; } }
