/* Request Page September 2026 — everything is scoped to .rps-2026 */

.rps-2026 {
	--rps-ink: #112031;
	--rps-muted: #647081;
	--rps-blue: #004969;
	--rps-light-blue: #BBF0FF;
	--rps-line: #D7E1E6;
	--rps-lime: #FDFF37;
	--rps-field-border: #B3C9D2;

	display: block;
	width: 100%;
	/* the site header is position:fixed — push content below it.
	   --rps-header-h is kept in sync with the real header height by script.js */
	padding: var(--rps-header-h, 83px) 0 0;
	margin: 0;
	/* one background from the top of the page down to the dark bottom section,
	   so hero and quote read as one area */
	background: linear-gradient(120deg, #E4F9FF 0%, #F1FCFF 61%, #FFFFFF 100%);
	color: var(--rps-ink);
	font-family: Aeonik, Arial, sans-serif;
	line-height: 1.5;
}

.rps-2026 *,
.rps-2026 *::before,
.rps-2026 *::after { box-sizing: border-box; }

/* Android Chrome / Samsung Internet enlarge ("boost") text on their own;
   keep sizes as designed */
.rps-2026 { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }

/* nothing inside a column may push it wider than the column */
.rps-2026 .rps-hero__main,
.rps-2026 .rps-form-card { min-width: 0; }
.rps-2026 img { max-width: 100%; }
.rps-2026 .rps-hero__title,
.rps-2026 .rps-hero__lead,
.rps-2026 .rps-checks li,
.rps-2026 .rps-proof__title,
.rps-2026 .rps-quote__text,
.rps-2026 .rps-bottom__title { overflow-wrap: break-word; }

.rps-2026,
.rps-2026 *,
.rps-2026 input,
.rps-2026 select,
.rps-2026 textarea,
.rps-2026 button { font-family: Aeonik, Arial, sans-serif !important; }
/* the global stylesheet forces Inter on HubSpot inputs/links with !important — outrank it */
.rps-2026 .hbspt-form .hs-input,
.rps-2026 .hbspt-form .hs-richtext a,
.rps-2026 .hbspt-form a,
.rps-2026 .hbspt-form .nice-select .current,
.rps-2026 .hbspt-form .nice-select .option { font-family: Aeonik, Arial, sans-serif !important; }

.rps-2026 h1,
.rps-2026 h2,
.rps-2026 h3,
.rps-2026 p,
.rps-2026 blockquote { color: inherit; text-transform: none; }

.rps-2026 .rps-shell { width: min(1120px, calc(100% - 48px)); margin: 0 auto; }

.rps-2026 .rps-eyebrow {
	margin: 0 0 19px;
	color: var(--rps-blue);
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	letter-spacing: .13em;
	text-transform: uppercase;
}

/* ---------- Hero ---------- */

.rps-2026 .rps-hero {
	padding: 36px 0 40px;
}

.rps-2026 .rps-hero__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
	gap: 72px;
	align-items: start;
}

.rps-2026 .rps-hero__grid--single { grid-template-columns: minmax(0, 1fr); }

.rps-2026 .rps-hero__title {
	max-width: 650px;
	margin: 0;
	/* sizes follow the current /request-demo/ title (Request Page August 2025):
	   48 → 44 (≤1299) → 39 (≤1199) → 34 (≤991) → 30 (≤767) */
	font-size: 48px;
	font-weight: 400;
	line-height: 1.18;
	letter-spacing: normal; /* as on the live page: normal above 991px, -1.36px below */
}

@media (max-width: 1299px) { .rps-2026 .rps-hero__title { font-size: 44px; } }
@media (max-width: 1199px) { .rps-2026 .rps-hero__title { font-size: 39px; } }
@media (max-width: 991px)  { .rps-2026 .rps-hero__title { font-size: 34px; line-height: 1.26; letter-spacing: -1.36px; } }
@media (max-width: 767px)  { .rps-2026 .rps-hero__title { font-size: 30px; line-height: 1.2; } }

.rps-2026 .rps-hero__lead {
	max-width: 600px;
	margin: 26px 0;
	color: #33495C;
	font-size: 18px;
	font-weight: 300;
	line-height: 1.55;
}

.rps-2026 .rps-checks { margin: 28px 0 0; padding: 0; list-style: none; }

.rps-2026 .rps-checks li {
	position: relative;
	margin: 12px 0;
	padding: 0 0 0 28px;
	font-size: 16px;
	line-height: 1.5;
	list-style: none;
}

.rps-2026 .rps-checks li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 4px;
	width: 16px;
	height: 16px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M2.5 8.5l3.5 3.5 7.5-8' stroke='%23004969' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center / contain;
}

/* Logos */

.rps-2026 .rps-logos {
	margin-top: 34px;
	padding-top: 22px;
	border-top: 1px solid rgba(0, 73, 105, .18);
}

.rps-2026 .rps-logos__title {
	margin: 0 0 15px;
	color: var(--rps-muted);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.rps-2026 .rps-logos__row { display: flex; align-items: center; gap: 26px; min-height: 42px; }

.rps-2026 .rps-logos__row img {
	display: block;
	width: auto;
	height: auto;
	max-width: 92px;
	max-height: 31px;
	object-fit: contain;
}

/* Proof carousel */

.rps-2026 .rps-proof {
	margin-top: 25px;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--rps-line);
	border-top: 4px solid var(--rps-lime); /* same accent as the form card */
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(17, 32, 49, .07);
}

.rps-2026 .rps-proof__viewport { display: grid; }

/* all slides share one grid cell, so the card is as tall as the tallest slide
   and doesn't jump when slides change (or need a fixed min-height per breakpoint) */
.rps-2026 .rps-proof__slide { grid-area: 1 / 1; padding: 22px 24px 18px; visibility: hidden; }
.rps-2026 .rps-proof__slide.is-active { visibility: visible; animation: rps-proof-in .34s ease; }

.rps-2026 .rps-proof__kicker {
	margin: 0 0 8px;
	color: var(--rps-blue);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.rps-2026 .rps-proof__title {
	margin: 0 0 9px;
	font-size: 21px;
	font-weight: 400;
	line-height: 1.24;
	letter-spacing: -.02em;
}

.rps-2026 .rps-proof__text { margin: 0; color: var(--rps-muted); font-size: 14px; line-height: 1.55; }

.rps-2026 .rps-proof__dots { display: flex; gap: 8px; padding: 0 24px 20px; }

.rps-2026 .rps-proof__dot {
	width: 28px;
	height: 4px;
	min-height: 0;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 99px;
	background: #CCDBE1;
	box-shadow: none;
	cursor: pointer;
}

.rps-2026 .rps-proof__dot:hover,
.rps-2026 .rps-proof__dot.is-active { background: var(--rps-blue); }

@keyframes rps-proof-in {
	from { opacity: 0; transform: translateY(5px); }
	to { opacity: 1; transform: none; }
}

@media (prefers-reduced-motion: reduce) {
	.rps-2026 .rps-proof__slide.is-active { animation: none; }
}

/* ---------- Form card ---------- */

.rps-2026 .rps-form-card {
	padding: 30px;
	background: #fff;
	border: 1px solid var(--rps-line);
	border-top: 4px solid var(--rps-lime);
	border-radius: 17px;
	box-shadow: 0 16px 45px rgba(25, 55, 66, .09);
	scroll-margin-top: 120px;
}

.rps-2026 .rps-form-card__title {
	margin: 0 0 8px;
	font-size: 24px;
	font-weight: 400;
	line-height: 1.3;
	letter-spacing: -.035em;
}

.rps-2026 .rps-form-card__text { margin: 0 0 20px; color: var(--rps-muted); font-size: 14px; line-height: 1.5; }

.rps-2026 .rps-form-card__empty { padding: 16px; border: 1px dashed var(--rps-field-border); border-radius: 7px; color: var(--rps-muted); font-size: 14px; }

/* HubSpot form — overrides the global .hbspt-form styles inside this card only.
   Fields come one per fieldset; first/last name are put side by side. */

.rps-2026 .rps-form-card .hs-form {
	display: flex;
	flex-wrap: wrap;
	column-gap: 14px;
	font-family: Aeonik, Arial, sans-serif;
}

.rps-2026 .rps-form-card .hs-form > * { flex: 0 0 100%; max-width: 100%; }

.rps-2026 .rps-form-card .hs-form fieldset { max-width: 100% !important; margin: 0; padding: 0; border: 0; }

.rps-2026 .rps-form-card .hs-form fieldset:has(.hs_firstname),
.rps-2026 .rps-form-card .hs-form fieldset:has(.hs_lastname) { flex: 0 0 calc(50% - 7px); }

.rps-2026 .rps-form-card .hs-form-field { width: 100% !important; float: none !important; margin: 0 0 12px; padding: 0; }
.rps-2026 .rps-form-card .hs-form-field .input { margin: 0 !important; }

.rps-2026 .rps-form-card .hs-form-field > label:not(:empty) {
	display: block !important;
	margin: 0 0 7px;
	color: var(--rps-ink);
	font-size: 13px;
	font-weight: 700;
}
.rps-2026 .rps-form-card .hs-form-field > label:empty,
.rps-2026 .rps-form-card .hs-form-field > label:has(> span:empty:only-child) { display: none !important; }

.rps-2026 .rps-form-card input.hs-input,
.rps-2026 .rps-form-card textarea.hs-input,
.rps-2026 .rps-form-card .nice-select.hs-input {
	width: 100% !important;
	height: 50px;
	padding: 13px 14px !important;
	border: 1px solid var(--rps-field-border) !important;
	border-radius: 7px !important;
	background: #fff !important;
	color: var(--rps-ink);
	font-family: Aeonik, Arial, sans-serif;
	font-size: 15px !important;
	line-height: 22px;
	box-shadow: none;
}

.rps-2026 .rps-form-card input.hs-input[type="checkbox"],
.rps-2026 .rps-form-card input.hs-input[type="radio"] { width: auto !important; height: auto; padding: 0 !important; }

.rps-2026 .rps-form-card input.hs-input::placeholder { color: #7D8A99; opacity: 1; }

.rps-2026 .rps-form-card input.hs-input:focus,
.rps-2026 .rps-form-card .nice-select.hs-input:focus,
.rps-2026 .rps-form-card .nice-select.hs-input.open {
	border-color: var(--rps-blue) !important;
	outline: 3px solid var(--rps-light-blue);
	outline-offset: 0;
}

.rps-2026 .rps-form-card .nice-select.hs-input { display: flex; align-items: center; float: none; }
.rps-2026 .rps-form-card .nice-select .current { flex: 1 1 auto; min-width: 0; overflow: hidden; color: var(--rps-ink); font-size: 15px; line-height: 22px; white-space: nowrap; text-overflow: ellipsis; padding-right: 18px; }
.rps-2026 .rps-form-card .nice-select.is-placeholder .current { color: #7D8A99; }
.rps-2026 .rps-form-card .nice-select::after { right: 16px; border-color: var(--rps-ink); }
.rps-2026 .rps-form-card .nice-select .list { width: 100%; max-width: 100%; margin-top: 4px; border: 1px solid var(--rps-line); border-radius: 7px; box-shadow: 0 12px 30px rgba(17, 32, 49, .12); }
.rps-2026 .rps-form-card .nice-select .option { overflow: hidden; color: var(--rps-ink); font-size: 15px; font-weight: 400; text-overflow: ellipsis; }
.rps-2026 .rps-form-card .nice-select .option:hover,
.rps-2026 .rps-form-card .nice-select .option.focus,
.rps-2026 .rps-form-card .nice-select .option.selected.focus { background: #EEF8FB; }
.rps-2026 .rps-form-card .nice-select .option.selected { font-weight: 500; }
.rps-2026 .rps-form-card .nice-select .option.disabled { color: #7D8A99; }

.rps-2026 .rps-form-card .hs-error-msgs { margin: 6px 0 0; padding: 0; list-style: none; }
.rps-2026 .rps-form-card .hs-error-msgs label,
.rps-2026 .rps-form-card .hs-error-msg { color: #C0392B; font-size: 12px; }
.rps-2026 .rps-form-card .hs-input.error,
.rps-2026 .rps-form-card .hs-input.invalid { border-color: #C0392B !important; }

.rps-2026 .rps-form-card .legal-consent-container,
.rps-2026 .rps-form-card .hs-richtext,
.rps-2026 .rps-form-card .legal-consent-container p {
	margin: 4px 0 0;
	color: var(--rps-muted);
	font-size: 12px !important;
	line-height: 1.45;
}
.rps-2026 .rps-form-card .legal-consent-container,
.rps-2026 .rps-form-card .legal-consent-container * { max-width: none !important; width: auto; }
.rps-2026 .rps-form-card .legal-consent-container a,
.rps-2026 .rps-form-card .hs-richtext a { color: var(--rps-blue); }

.rps-2026 .rps-form-card .hs_submit { margin: 10px 0 0; padding: 0; }
.rps-2026 .rps-form-card .hs_submit .actions { margin: 0; padding: 0; }

.rps-2026 .rps-form-card .hs-button {
	width: 100% !important;
	height: auto;
	margin: 0;
	padding: 15px !important;
	border: 0 !important;
	border-radius: 7px !important;
	background: var(--rps-ink) !important;
	color: #fff !important;
	font-family: Aeonik, Arial, sans-serif;
	font-size: 16px !important;
	font-weight: 700;
	line-height: 1.5 !important;
	letter-spacing: 0;
	text-transform: none;
	cursor: pointer;
	transition: background .2s;
}
.rps-2026 .rps-form-card .hs-button:hover,
.rps-2026 .rps-form-card .hs-button:focus { background: var(--rps-blue) !important; }

.rps-2026 .rps-form-card .submitted-message { color: var(--rps-ink); font-size: 16px; }

/* ---------- Quote ---------- */

.rps-2026 .rps-quote { padding: 8px 0 56px; }

.rps-2026 .rps-quote__text {
	max-width: 850px;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: clamp(19px, 2.4vw, 27px); /* ~20% smaller than the concept */
	font-weight: 400;
	font-style: normal;
	line-height: 1.35;
	letter-spacing: -.025em;
	quotes: none;
}
.rps-2026 .rps-quote__text::before,
.rps-2026 .rps-quote__text::after { content: none; }

.rps-2026 .rps-quote__author { margin: 16px 0 0; color: var(--rps-muted); font-size: 16px; }

/* ---------- Bottom section ---------- */

.rps-2026 .rps-bottom { padding: 70px 0 78px; background: var(--rps-ink); color: #fff; }
.rps-2026 .rps-bottom .rps-eyebrow { margin-bottom: 13px; color: var(--rps-lime); }

.rps-2026 .rps-bottom__title {
	margin: 0;
	color: #fff;
	font-size: clamp(32px, 3.8vw, 48px);
	font-weight: 400;
	line-height: 1.12;
	letter-spacing: -.04em;
}

/* ---------- Responsive ---------- */

@media (max-width: 1023px) {
	.rps-2026 { padding-top: var(--rps-header-h, 70px); }
}

@media (max-width: 800px) {
	.rps-2026 .rps-hero { padding: 16px 0 28px; }
	/* minmax(0, 1fr), not 1fr: a plain 1fr track grows to its widest child's min-content
	   (long select placeholders, boosted text) and runs off the right edge on phones */
	.rps-2026 .rps-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
	/* mobile order: headline → form → lead, checklist, logos, proof.
	   display: contents lifts the left column's children into the grid so the
	   form can sit between the headline and the rest without duplicating the h1 */
	.rps-2026 .rps-hero__main { display: contents; }
	.rps-2026 .rps-hero__main > * { order: 3; }
	.rps-2026 .rps-hero__main > .rps-hero__title { order: 1; }
	.rps-2026 .rps-form-card { order: 2; margin: 16px 0 0; }
	.rps-2026 .rps-hero__grid--single .rps-form-card { margin-top: 0; }
	.rps-2026 .rps-form-card { padding: 20px; }
	.rps-2026 .rps-form-card__text { margin-bottom: 14px; }
	.rps-2026 .rps-form-card .hs-form-field { margin-bottom: 10px; }
	.rps-2026 .rps-hero__lead { margin: 22px 0 16px; }
	.rps-2026 .rps-checks { margin-top: 16px; }
	.rps-2026 .rps-checks li { margin: 8px 0; }
	.rps-2026 .rps-logos { margin-top: 22px; padding-top: 16px; }
	.rps-2026 .rps-logos__title { margin-bottom: 10px; }
	.rps-2026 .rps-logos__row { flex-wrap: wrap; gap: 14px 18px; min-height: 0; }
	.rps-2026 .rps-proof { margin-top: 18px; }
	.rps-2026 .rps-proof__slide { padding: 18px 20px 14px; }
	.rps-2026 .rps-proof__dots { padding: 0 20px 16px; }
	.rps-2026 .rps-quote { padding: 4px 0 36px; }
	.rps-2026 .rps-quote__author { margin-top: 14px; }
	.rps-2026 .rps-bottom { padding: 36px 0 40px; }
	.rps-2026 .rps-eyebrow { margin-bottom: 10px; }
}

@media (max-width: 767px) {
	/* keep 16px on inputs so iOS doesn't zoom on focus (global styles drop them to 12px) */
	.rps-2026 .rps-form-card input.hs-input,
	.rps-2026 .rps-form-card .nice-select.hs-input,
	.rps-2026 .rps-form-card .nice-select .current,
	.rps-2026 .rps-form-card .nice-select .option { font-size: 16px !important; }
	.rps-2026 .rps-form-card .hs-button { font-size: 16px !important; }
	.rps-2026 .rps-form-card .nice-select .option { min-height: 44px; line-height: 44px; }
}

@media (max-width: 520px) {
	.rps-2026 .rps-shell { width: calc(100% - 32px); }
	.rps-2026 .rps-form-card { padding: 18px 16px; }
	.rps-2026 .rps-form-card .hs-form fieldset:has(.hs_firstname),
	.rps-2026 .rps-form-card .hs-form fieldset:has(.hs_lastname) { flex-basis: 100%; }
	.rps-2026 .rps-logos__row img { max-width: 78px; }
}
