/* Residx - styles for the new text sections (site-new) */

.rx-hero {
	/* aerial neighborhood map: Subject + 3 Comps on the right, darker on the left behind the text */
	background: linear-gradient(90deg, rgba(2, 39, 90, 0.92) 0%, rgba(2, 39, 90, 0.80) 40%, rgba(2, 39, 90, 0.25) 68%, rgba(2, 39, 90, 0) 85%), url('../images/hero_map.svg?v=5') right center / cover no-repeat;
	background-color: #031a35;
	color: #fff;
	padding: 70px 0 60px;
}
.rx-hero h1 {
	color: #fff;
	font-size: 42px;
	font-weight: 500;
	line-height: 1.2;
	max-width: 780px;
	margin: 0 0 18px;
}
.rx-hero .rx-lead {
	font-size: 20px;
	line-height: 1.5;
	max-width: 720px;
	margin: 0 0 28px;
	color: #e6edf5;
}
.rx-hero .rx-cta .btn { margin: 0 10px 10px 0; }
.rx-facts {
	list-style: none;
	padding: 0;
	margin: 18px 0 0;
	font-size: 16px;
}
.rx-facts li {
	display: inline-block;
	margin: 0 24px 8px 0;
	color: #e6edf5;
}
.rx-facts i { color: #C69B2D; margin-right: 6px; }

.rx-btn-primary,
.rx-btn-primary:focus {
	background: #C69B2D;
	border-color: #C69B2D;
	color: #fff;
	font-weight: 600;
}
.rx-btn-primary:hover { background: #AF8A1B; border-color: #AF8A1B; color: #fff; }
.rx-btn-secondary,
.rx-btn-secondary:focus {
	background: transparent;
	border: 2px solid #fff;
	color: #fff;
	font-weight: 600;
}
.rx-btn-secondary:hover { background: #fff; color: #02275A; }

.rx-section { padding: 50px 0; }
.rx-section-alt { background: #f4f6f9; }
.rx-section-title {
	color: #02275A;
	text-align: center;
	font-weight: 500;
	margin: 0 0 30px;
}

.rx-pillar { padding: 10px 15px 20px; }
.rx-pillar h2 {
	color: #02275A;
	font-size: 24px;
	font-weight: 700;
	margin: 0 0 12px;
}
.rx-pillar h2 i { color: #C69B2D; margin-right: 8px; }
.rx-pillar p { font-size: 17px; line-height: 1.6; color: #444; margin: 0; }

.rx-step { padding: 10px 15px 20px; }
.rx-step h3 {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #02275A;
	font-size: 20px;
	margin: 0 0 10px;
}
.rx-step h3 span {
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	line-height: 38px;
	border-radius: 50%;
	background: #02275A;
	color: #fff;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
}
.rx-step p { font-size: 16px; line-height: 1.5; color: #444; margin: 0; }

.rx-cta-band {
	background: linear-gradient(rgba(2, 39, 90, 0.55), rgba(2, 39, 90, 0.55)), url('../images/aerial_blue.jpg?v=1') center / cover no-repeat, #02275A;
	color: #fff;
	padding: 50px 0;
	margin-top: 40px;
}
.rx-cta-band h2 { color: #fff; margin: 0 0 10px; font-weight: 500; }
.rx-cta-band p { font-size: 18px; color: #e6edf5; margin: 0 0 24px; }

/* Product cards on the home page */
.rx-card-title { color: #02275A; font-size: 20px; font-weight: 700; margin: 0 0 6px; }
.rx-card-best { font-size: 14px; color: #666; margin: 0 0 10px; }

/* Plain, left-aligned body text (instead of justified text) */
.rx-text { font-size: 17px; line-height: 1.7; color: #333; }
.rx-text p { margin: 0 0 16px; }

@media (max-width: 767px) {
	.rx-hero { padding: 40px 0; }
	.rx-hero h1 { font-size: 30px; }
	.rx-hero .rx-lead { font-size: 17px; }
	.rx-facts li { display: block; }
	.rx-section { padding: 30px 0; }
}

/* =========================================================
   Global modern design layer (applies to every site-new page)
   Brand: navy #02275A, gold #C69B2D
   ========================================================= */

body {
	font-family: 'Inter', 'Roboto', Arial, Helvetica, sans-serif !important;
	font-size: 16px;
	color: #2b3440;
	background: #fff;
	-webkit-font-smoothing: antialiased;
}
/* Headings: Archivo (matches the product logos). Body text, subtitles, menu and buttons stay in Inter. */
h1, h2, h3, h4, h5, h6,
.rx-stat-num {
	font-family: 'Archivo', 'Inter', Arial, Helvetica, sans-serif !important;
	letter-spacing: 0;
}
.font-lato, .font-roboto {
	font-family: 'Inter', 'Roboto', Arial, Helvetica, sans-serif !important;
}
a { color: #1B75BC; }
a:hover, a:focus { color: #02275A; }
/* (justified body text is set at the end of this file) */

/* ---------- Header ---------- */
.rx-header {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	z-index: 1030;
	background: #fff;
	box-shadow: 0 1px 0 rgba(2, 39, 90, 0.08), 0 4px 16px rgba(2, 39, 90, 0.04);
}
.rx-navbar.navbar {
	background: #fff;
	border: 0;
	border-radius: 0;
	margin: 0;
	min-height: 128px;
}
.rx-navbar .navbar-brand.rx-brand { height: 128px; padding: 10px 15px; }
.rx-navbar .navbar-brand.rx-brand img { height: 108px; width: auto; }
.rx-navbar .navbar-nav > li > a:not(.btn) {
	color: #2b3440;
	font-weight: 500;
	font-size: 17px;
	padding-top: 54px;
	padding-bottom: 54px;
	background: transparent !important;
}
.rx-navbar .navbar-nav > li > a:hover,
.rx-navbar .navbar-nav > .open > a { color: #02275A; }
.rx-navbar .navbar-nav > li > a.rx-signin { color: #5b6573; }
.rx-navbar .navbar-nav > li.rx-nav-cta > a.btn {
	margin: 42px 0 0 12px;
	padding: 11px 22px;
	color: #fff !important;
	background: #C69B2D !important;
	border: 1px solid #C69B2D;
	border-radius: 8px;
	font-weight: 600;
	font-size: 16px;
	line-height: 20px;
}
.rx-navbar .navbar-nav > li.rx-nav-cta > a.btn:hover { background: #AF8A1B !important; border-color: #AF8A1B; }
.rx-dropdown {
	border: 0;
	border-radius: 10px;
	box-shadow: 0 12px 32px rgba(2, 39, 90, 0.16);
	padding: 8px 0;
	min-width: 240px;
}
.rx-dropdown > li > a { padding: 8px 18px; color: #2b3440; font-size: 15px; }
.rx-dropdown > li > a:hover { background: #f4f6f9; color: #02275A; }
.rx-dropdown .dropdown-header {
	color: #8a94a3;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 8px 18px 4px;
}
.rx-navbar .navbar-toggle { margin-top: 31px; border-color: #d9dee5; }
.rx-navbar .navbar-toggle .icon-bar { background: #02275A; }
@media (max-width: 767px) {
	.rx-navbar .navbar-nav > li > a:not(.btn) { padding-top: 12px; padding-bottom: 12px; }
	.rx-navbar .navbar-nav > li.rx-nav-cta > a.btn { margin: 8px 15px 16px; display: block; text-align: center; }
	.rx-navbar.navbar { min-height: 92px; }
	.rx-navbar .navbar-brand.rx-brand { height: 92px; padding: 10px 15px; }
	.rx-navbar .navbar-brand.rx-brand img { height: 72px; }
	.rx-navbar .navbar-toggle { margin-top: 29px; }
	.rx-navbar .navbar-nav > li > a:not(.btn) { font-size: 17px; }
	.rx-navbar .navbar-collapse { border-top: 1px solid #eef1f5; }
}
@media (min-width: 992px) and (max-width: 1199px) {
	.rx-navbar.navbar { min-height: 104px; }
	.rx-navbar .navbar-brand.rx-brand { height: 104px; }
	.rx-navbar .navbar-brand.rx-brand img { height: 84px; }
	.rx-navbar .navbar-nav > li > a:not(.btn) { padding: 42px 9px; font-size: 15px; }
	.rx-navbar .navbar-nav > li.rx-nav-cta > a.btn { margin-top: 31px; padding: 10px 16px; font-size: 15px; }
}
@media (min-width: 768px) and (max-width: 991px) {
	.rx-navbar.navbar { min-height: 96px; }
	.rx-navbar .navbar-brand.rx-brand { height: 96px; padding-top: 16px; padding-bottom: 16px; }
	.rx-navbar .navbar-brand.rx-brand img { height: 64px; }
	.rx-navbar .navbar-nav > li > a:not(.btn) { padding: 38px 7px; font-size: 14px; }
	.rx-navbar .navbar-nav > li.rx-nav-cta > a.btn { margin: 28px 0 0 6px; padding: 9px 12px; font-size: 14px; }
}

/* ---------- Page header (inner pages) ---------- */
section.page-header {
	background: linear-gradient(rgba(2, 39, 90, 0.82), rgba(2, 39, 90, 0.82)), url('../images/page_header_bg.jpg') center / cover no-repeat !important;
	color: #fff;
	border: 0 !important;
	margin: 0 0 20px !important;
	padding: 48px 0 40px !important;
}
section.page-header h1 {
	color: #fff !important;
	font-size: 36px !important;
	font-weight: 700 !important;
	margin: 0 0 6px;
}
section.page-header span,
section.page-header .size-18 { color: #cfdbea !important; }
section.page-header i[class*="fa-"] { color: #C69B2D; }
section.page-header .breadcrumb { background: transparent; }
section.page-header .breadcrumb > li,
section.page-header .breadcrumb > li > a,
section.page-header .breadcrumb > .active { color: #cfdbea !important; }

/* ---------- Buttons ---------- */
.btn { border-radius: 8px; transition: all .15s ease; }
.btn-primary {
	background: #02275A;
	border-color: #02275A;
	font-weight: 600;
}
.btn-primary:hover, .btn-primary:focus { background: #0b3d7e; border-color: #0b3d7e; }
.rx-btn-outline,
.rx-btn-outline:focus {
	background: transparent;
	border: 2px solid #02275A;
	color: #02275A;
	font-weight: 600;
}
.rx-btn-outline:hover { background: #02275A; color: #fff; }

/* ---------- Cards / boxes ---------- */
.box-static.box-bordered,
.box-bordered {
	border: 1px solid #e6eaf0 !important;
	border-radius: 12px !important;
	box-shadow: 0 2px 10px rgba(2, 39, 90, 0.05);
	background: #fff;
	transition: box-shadow .2s ease, transform .2s ease;
}
.container-fluid .box-static.box-bordered:hover {
	box-shadow: 0 10px 28px rgba(2, 39, 90, 0.12);
	transform: translateY(-2px);
}
.well {
	background: #f7f9fc;
	border: 1px solid #e6eaf0;
	border-radius: 12px;
	box-shadow: none;
}
.alert { border-radius: 10px; }

/* ---------- Forms ---------- */
.form-control {
	height: 44px;
	border: 1px solid #d5dbe3;
	border-radius: 8px;
	box-shadow: none;
	font-size: 15px;
}
textarea.form-control { height: auto; }
.form-control:focus {
	border-color: #1B75BC;
	box-shadow: 0 0 0 3px rgba(27, 117, 188, 0.15);
}
form label, .form-group label { font-weight: 500; color: #2b3440; }

/* ---------- Tabs (products page) ---------- */
.nav-tabs > li > a { background: #f4f6f9 !important; border-radius: 10px 10px 0 0 !important; }
.nav-tabs > li.active > a { background: #fff !important; }

/* ---------- Text headings inside content ---------- */
.rx-h2 { color: #02275A; font-size: 22px; font-weight: 700; margin: 28px 0 10px; }

/* ---------- Footer ---------- */
.rx-footer {
	background: radial-gradient(ellipse at 12% 0%, rgba(27, 117, 188, 0.22), transparent 55%), radial-gradient(ellipse at 95% 100%, rgba(198, 155, 45, 0.06), transparent 50%), url('../images/contours_soft.svg?v=1') center / cover no-repeat, #021b3f;
	border-top: 1px solid rgba(198, 155, 45, 0.35);
	color: #b8c4d4;
	padding: 56px 0 0;
	margin-top: 60px;
	font-size: 15px;
}
.rx-footer a { color: #e6edf5; }
.rx-footer a:hover { color: #C69B2D; }
.rx-footer h4 {
	color: #fff;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 8px 0 16px;
}
.rx-footer ul { list-style: none; padding: 0; margin: 0 0 18px; }
.rx-footer li { margin: 0 0 10px; }
.rx-footer li i { color: #C69B2D; width: 18px; }
.rx-footer-tagline { color: #C69B2D; font-weight: 600; margin: 12px 0 8px; }
.rx-footer-col { margin-bottom: 24px; }
.rx-footer-bottom {
	background: #01132e;   /* solid dark navy - no image behind the copyright line */
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	padding: 18px 0;
	font-size: 14px;
	color: #8a99ad;
}

/* Hide leftovers of the old theme layout */
#toTop { border-radius: 50% !important; background-color: rgba(2, 39, 90, 0.7) !important; }


/* Home page: the CTA band sits directly on the footer */
.rx-cta-band { margin-bottom: 0; }
.rx-cta-band + .rx-footer { margin-top: 0; }

/* Products dropdown: open from the left edge of the menu item (Bootstrap aligns .navbar-right dropdowns to the right) */
@media (min-width: 768px) {
	.rx-navbar .navbar-right .dropdown-menu { left: 0; right: auto; }
}

/* Home page: data section */
.rx-section-lead {
	max-width: 820px;
	margin: -14px auto 34px;
	text-align: center;
	font-size: 18px;
	line-height: 1.6;
	color: #444;
}
.rx-data-col {
	background: #fff;
	border: 1px solid #e6eaf0;
	border-top: 3px solid #C69B2D;
	border-radius: 10px;
	padding: 22px 22px 14px;
	margin-bottom: 24px;
	min-height: 230px;
}
.rx-data-col h3 { color: #02275A; font-size: 19px; font-weight: 700; margin: 0 0 14px; }
.rx-data-col h3 i { color: #C69B2D; margin-right: 8px; }
.rx-data-col ul { list-style: none; padding: 0; margin: 0; }
.rx-data-col li { position: relative; padding-left: 22px; margin-bottom: 9px; font-size: 15px; line-height: 1.45; color: #333; }
.rx-data-col li:before {
	content: "00c";
	font-family: "Font Awesome 5 Pro";
	font-weight: 900;
	position: absolute;
	left: 0;
	top: 1px;
	font-size: 12px;
	color: #1B75BC;
}
.rx-data-note { text-align: center; font-size: 16px; color: #555; margin: 6px 0 0; }
.rx-data-note i { color: #C69B2D; margin-right: 6px; }
@media (max-width: 991px) { .rx-data-col { min-height: 0; } }

/* Data section: intro + parcel illustration */
.rx-data-intro { margin-bottom: 30px; display: flex; flex-wrap: wrap; align-items: center; }
.rx-data-title { color: #02275A; font-size: 30px; font-weight: 600; line-height: 1.25; margin: 0 0 16px; }
.rx-data-lead { font-size: 17px; line-height: 1.65; color: #444; margin: 0 0 14px; }
.rx-parcel-card {
	background: #fff;
	border: 1px solid #e6eaf0;
	border-radius: 14px;
	box-shadow: 0 10px 30px rgba(2, 39, 90, 0.10);
	padding: 12px 12px 4px;
}
.rx-parcel-svg { display: block; width: 100%; height: auto; border-radius: 8px; }
.rx-parcel-caption { font-size: 14px; color: #555; text-align: center; margin: 10px 0 6px; }
.rx-parcel-caption i { color: #C69B2D; margin-right: 6px; }
.rx-data .rx-data-col { min-height: 250px; }
@media (max-width: 991px) {
	.rx-data-intro { display: block; }
	.rx-parcel-card { margin-top: 10px; }
	.rx-data .rx-data-col { min-height: 0; }
}

/* Data section: tiles (icon + title + one sentence) */
.rx-data-tile {
	background: #fff;
	border: 1px solid #e6eaf0;
	border-radius: 12px;
	padding: 26px 26px 20px;
	margin-bottom: 24px;
	min-height: 190px;
	transition: box-shadow .2s ease, transform .2s ease;
}
.rx-data-tile:hover { box-shadow: 0 10px 28px rgba(2, 39, 90, 0.10); transform: translateY(-2px); }
.rx-data-tile h3 {
	display: flex;
	align-items: center;
	gap: 14px;
	color: #02275A;
	font-size: 20px;
	font-weight: 700;
	margin: 0 0 12px;
}
.rx-data-tile h3 i {
	flex: 0 0 44px;
	width: 44px;
	height: 44px;
	line-height: 44px;
	text-align: center;
	border-radius: 12px;
	background: rgba(198, 155, 45, 0.14);
	color: #AF8A1B;
	font-size: 19px;
}
.rx-data-tile p { font-size: 16px; line-height: 1.55; color: #444; margin: 0; }
@media (max-width: 991px) { .rx-data-tile { min-height: 0; } }

/* Justified body text - tablet and desktop only (on narrow phone screens justified text leaves large gaps) */
@media (min-width: 768px) {
	.rx-text p,
	.rx-pillar p,
	.rx-step p,
	.rx-data-tile p,
	.rx-data-lead,
	.toggle-content p,
	.box-static .size-17,
	.text-justify,
	.justify {
		text-align: justify;
		-webkit-hyphens: auto;
		-ms-hyphens: auto;
		hyphens: auto;
	}
}
@media (max-width: 767px) {
	.text-justify, .justify { text-align: left !important; }
}

/* Data section: "500+ data sources" stat */
.rx-stat { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; }
.rx-stat-num {
	font-size: 56px;
	font-weight: 800;
	line-height: 1;
	color: #C69B2D;
	letter-spacing: -0.02em;
	font-variant-numeric: tabular-nums;
}
.rx-stat-label {
	font-size: 15px;
	font-weight: 600;
	line-height: 1.3;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #02275A;
}

/* Home page: compliance statement + badges (as on the first page of every report) */
.rx-compliance { background: #f4f6f9; padding: 34px 0 10px; border-bottom: 1px solid #e6eaf0; }
.rx-compliance-statement {
	display: flex;
	align-items: center;
	gap: 18px;
	background: #fff;
	border-left: 4px solid #C69B2D;
	border-radius: 10px;
	box-shadow: 0 2px 10px rgba(2, 39, 90, 0.05);
	padding: 20px 26px;
	margin-bottom: 22px;
}
.rx-compliance-statement i { font-size: 36px; color: #C69B2D; flex: 0 0 auto; }
.rx-compliance-statement p { margin: 0; font-size: 17px; line-height: 1.55; color: #2b3440; }
.rx-compliance-statement strong { color: #02275A; text-transform: uppercase; letter-spacing: 0.03em; }
.rx-badge {
	display: flex;
	align-items: center;
	gap: 14px;
	background: #fff;
	border: 1px solid #e6eaf0;
	border-radius: 10px;
	padding: 16px 20px;
	margin-bottom: 24px;
	min-height: 84px;
}
.rx-badge i { font-size: 30px; color: #8a94a3; flex: 0 0 34px; text-align: center; }
.rx-badge span {
	font-size: 13px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #02275A;
}
@media (max-width: 767px) {
	.rx-compliance-statement { flex-direction: column; text-align: center; }
	.rx-badge { min-height: 0; }
}

/* Data tiles: equal heights in each row, no hyphenation in the short card texts */
/* all six boxes get the same height (grid with equal row heights) */
.rx-tiles:before, .rx-tiles:after { display: none; }
.rx-tiles > [class*="col-"] { display: flex; }
.rx-tiles .rx-data-tile { flex: 1 1 auto; width: 100%; min-height: 0; }
@media (min-width: 768px) {
	.rx-tiles { display: grid; grid-template-columns: repeat(2, 1fr); grid-auto-rows: 1fr; }
	.rx-tiles > [class*="col-"] { width: auto; float: none; }
}
@media (min-width: 992px) {
	.rx-tiles { grid-template-columns: repeat(3, 1fr); }
}
.rx-data-tile p, .rx-pillar p, .rx-step p { -webkit-hyphens: none !important; -ms-hyphens: none !important; hyphens: none !important; }

/* Home hero heading: main line bigger and bolder, second line smaller */
.rx-hero h1 .rx-h1-main {
	display: block;
	color: #ffffff !important;
	font-size: 52px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: -0.02em;
}
.rx-hero h1 .rx-h1-sub {
	display: block;
	font-size: 32px;
	font-weight: 500;
	line-height: 1.3;
	margin-top: 6px;
	color: #e6edf5 !important;
}
@media (max-width: 767px) {
	.rx-hero h1 .rx-h1-main { font-size: 36px; }
	.rx-hero h1 .rx-h1-sub { font-size: 23px; }
}

/* =========================================================
   Products page (site-new): family tiles, comparison table, product cards
   ========================================================= */
a.rx-fam-tile { display: block; color: inherit; text-decoration: none; }
a.rx-fam-tile:hover { color: inherit; text-decoration: none; }
.rx-fam-list { margin-top: 12px !important; font-size: 14px !important; font-weight: 600; color: #1B75BC !important; }

.rx-compare-wrap { background: #fff; border: 1px solid #e6eaf0; border-radius: 12px; box-shadow: 0 2px 10px rgba(2, 39, 90, 0.05); }
.rx-compare { margin: 0; }
.rx-compare th, .rx-compare td { text-align: center; vertical-align: middle !important; padding: 12px 10px !important; border-top: 1px solid #eef1f5 !important; }
.rx-compare thead th { border-bottom: 0 !important; border-top: 0 !important; font-size: 14px; }
.rx-compare thead th a { color: #02275A; font-weight: 700; }
.rx-compare tbody th { text-align: left; font-weight: 600; color: #2b3440; white-space: nowrap; }
.rx-compare-fam th { font-size: 12px !important; font-weight: 700; text-transform: uppercase; letter-spacing: 0.06em; color: #fff; }
.rx-compare-fam th.rx-fam1 { background: #02275A; }
.rx-compare-fam th.rx-fam2 { background: #0b3d7e; }
.rx-compare-fam th.rx-fam3 { background: #1B75BC; }
.rx-compare-fam th:first-child { background: transparent; }
.rx-compare .rx-yes { color: #C69B2D; font-size: 17px; }
.rx-compare .rx-no { color: #c3cad4; font-size: 18px; }
.rx-compare-meta td { font-size: 14px; color: #444; }

.rx-family-title { color: #02275A; font-size: 26px; font-weight: 700; margin: 0 0 6px; }
.rx-family-title i { color: #C69B2D; margin-right: 8px; }
.rx-family-text { font-size: 17px; color: #555; margin: 0 0 24px; }

.rx-product-card {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	background: #fff;
	border: 1px solid #e6eaf0;
	border-radius: 12px;
	padding: 24px 24px 22px;
	margin-bottom: 24px;
	transition: box-shadow .2s ease, transform .2s ease;
}
.rx-product-card:hover { box-shadow: 0 10px 28px rgba(2, 39, 90, 0.10); transform: translateY(-2px); }
.rx-product-logo { height: 42px; width: auto; align-self: flex-start; margin-bottom: 14px; }
.rx-product-card h3 { color: #02275A; font-size: 21px; font-weight: 700; margin: 0 0 8px; }
.rx-product-desc { font-size: 16px; line-height: 1.55; color: #333; margin: 0 0 10px; }
.rx-product-best { font-size: 14px; color: #5b6573; margin: 0 0 14px; }
.rx-product-best strong { color: #02275A; }
.rx-product-meta { display: flex; flex-wrap: wrap; gap: 8px 16px; font-size: 14px; color: #444; margin: auto 0 16px; padding-top: 6px; }
.rx-product-meta i { color: #C69B2D; margin-right: 4px; }
.rx-product-appt { color: #8a6d1d; }
.rx-product-card .btn { align-self: flex-start; }
.rx-product-desc, .rx-product-best { text-align: left !important; -webkit-hyphens: none !important; hyphens: none !important; }

/* Products: minimum report length note */
.rx-note-mark { color: #C69B2D; font-weight: 700; }
.rx-compare-note { font-size: 14px; color: #5b6573; margin: 12px 4px 0; }

/* Short card texts: left-aligned (justified text leaves big gaps in narrow cards) */
.rx-data-tile p, .rx-pillar p, .rx-step p, .rx-badge span { text-align: left !important; }

/* New product logos (SVG) */
.rx-product-logo-new { height: 54px; width: auto; max-width: 100%; margin-bottom: 16px; }
.rx-home-logo { height: 54px !important; width: auto; max-width: 100%; }

/* Home: field network band (2,000+ inspectors) */
.rx-field {
	background: radial-gradient(ellipse at 25% 50%, #06306a 0%, #021b3f 45%, #010f26 80%);
	color: #cfdbea;
	padding: 56px 0;
}
.rx-field-row { display: flex; flex-wrap: wrap; align-items: center; }
.rx-field-stat { display: flex; align-items: center; gap: 16px; margin-bottom: 20px; }
.rx-field-num {
	font-family: 'Archivo', 'Inter', Arial, sans-serif;
	font-size: 72px;
	font-weight: 800;
	line-height: 1;
	color: #C69B2D;
	font-variant-numeric: tabular-nums;
	letter-spacing: -0.02em;
}
.rx-field-label { font-size: 16px; font-weight: 600; line-height: 1.3; text-transform: uppercase; letter-spacing: 0.06em; color: #fff; }
.rx-field h2 { color: #fff; font-size: 30px; font-weight: 700; margin: 0 0 12px; }
.rx-field p { font-size: 17px; line-height: 1.65; margin: 0; text-align: left !important; }
@media (max-width: 991px) {
	.rx-field-row { display: block; }
	.rx-field-num { font-size: 56px; }
}

/* Home: client portal section */
.rx-portal-row { display: flex; flex-wrap: wrap; align-items: center; }
.rx-portal-title { color: #02275A; font-size: 30px; font-weight: 700; line-height: 1.25; margin: 0 0 12px; }
.rx-portal-lead { font-size: 17px; line-height: 1.6; color: #444; margin: 0 0 20px; text-align: left !important; }
.rx-portal-list { list-style: none; padding: 0; margin: 0 0 24px; }
.rx-portal-list li { display: flex; gap: 14px; margin-bottom: 16px; font-size: 15px; line-height: 1.5; color: #444; }
.rx-portal-list li i {
	flex: 0 0 38px; height: 38px; line-height: 38px; text-align: center;
	border-radius: 10px; background: rgba(198, 155, 45, 0.14); color: #AF8A1B; font-size: 16px;
}
.rx-portal-list strong { display: block; color: #02275A; font-size: 16px; margin-bottom: 2px; }
.rx-portal-signin { font-weight: 600; }
.rx-portal-visual { padding: 10px; }
.rx-portal-svg { display: block; width: 100%; height: auto; filter: drop-shadow(0 16px 32px rgba(2, 39, 90, 0.16)); }
@media (max-width: 991px) {
	.rx-portal-row { display: block; }
	.rx-portal-visual { margin-top: 20px; }
}

/* Login page: portal benefits beside the form */
.rx-login-side { background: #f7f9fc; border: 1px solid #e6eaf0; border-radius: 12px; padding: 24px; margin-top: 40px; }
.rx-login-side h3 { color: #02275A; font-size: 19px; font-weight: 700; margin: 0 0 14px; }
.rx-login-side ul { list-style: none; padding: 0; margin: 0 0 14px; }
.rx-login-side li { margin-bottom: 10px; font-size: 15px; color: #444; }
.rx-login-side li i { color: #C69B2D; width: 22px; }

/* "+" after counting numbers: appears when the count finishes */
.rx-plus { display: inline-block; position: relative; top: -0.07em; }   /* the font centers "+" on lowercase height; raise it to the middle of the digits */
.rx-plus-in { animation: rxPlusIn .35s ease-out; }
@keyframes rxPlusIn { from { opacity: 0; transform: scale(.4); } to { opacity: 1; transform: scale(1); } }


/* 2,000+ band: dotted US map as an image in its own column */
.rx-us-map { display: block; width: 100%; max-width: 620px; height: auto; margin: 0 auto; }
.rx-field .rx-field-stat { margin-bottom: 14px; }
@media (max-width: 991px) { .rx-us-map { margin-bottom: 26px; } }

/* The theme adds margin-bottom:60px to every column on small screens; our cards already have their own spacing */
@media (max-width: 991px) {
	.rx-section [class*="col-"], .rx-compliance [class*="col-"], .rx-field [class*="col-"],
	.rx-hero [class*="col-"], .rx-cta-band [class*="col-"], .rx-footer [class*="col-"] { margin-bottom: 0; }
	.rx-pillar { padding-bottom: 18px; }
	.rx-badge { margin-bottom: 12px; }
}

/* Small screens: hide the page-header icon (it drops to its own row), show a swipe hint above the comparison table */
@media (max-width: 1199px) { section.page-header .col-lg-1 { display: none; } }
.rx-swipe-hint { text-align: center; font-size: 14px; color: #5b6573; margin: -12px 0 12px; }
.rx-swipe-hint i { color: #C69B2D; margin-right: 6px; }

/* Free 30-day trial */
.rx-trial-tag {
	display: inline-block;
	background: rgba(198, 155, 45, 0.18);
	border: 1px solid rgba(198, 155, 45, 0.7);
	color: #f3d58a;
	font-size: 14px;
	font-weight: 600;
	padding: 6px 14px;
	border-radius: 20px;
	margin-bottom: 18px;
	text-decoration: none !important;
}
.rx-trial-tag:hover { background: rgba(198, 155, 45, 0.3); color: #fff; }
.rx-trial-tag i { margin-right: 6px; color: #C69B2D; }

.rx-trial { padding: 40px 0; }
.rx-trial-box {
	display: flex;
	align-items: center;
	gap: 24px;
	background: #fbf6e9;
	border: 1px solid #ecd9a6;
	border-left: 5px solid #C69B2D;
	border-radius: 14px;
	padding: 26px 30px;
}
.rx-trial-icon i {
	display: block; width: 64px; height: 64px; line-height: 64px; text-align: center;
	border-radius: 16px; background: #C69B2D; color: #fff; font-size: 28px;
}
.rx-trial-text { flex: 1; }
.rx-trial-text h2 { color: #02275A; font-size: 26px; font-weight: 800; margin: 0 0 6px; }
.rx-trial-text p { margin: 0; font-size: 17px; line-height: 1.55; color: #444; text-align: left !important; }
.rx-trial-note { background: #fbf6e9; border-left: 4px solid #C69B2D; border-radius: 8px; padding: 12px 16px; margin: 0 0 20px; }
.rx-trial-note i { color: #C69B2D; margin-right: 6px; }
@media (max-width: 767px) {
	.rx-trial-box { flex-direction: column; text-align: center; padding: 22px 18px; }
	.rx-trial-text p { text-align: center !important; }
}

/* Demo: address box - pin icon inside the field, on the left */
.rx-addr-group { position: relative; }
.rx-addr-group .rx-addr-icon {
	position: absolute; left: 15px; top: 50%; transform: translateY(-50%);
	z-index: 3; color: #C69B2D; font-size: 18px; pointer-events: none;
}
.rx-addr-group #address { padding-left: 42px; height: 46px; }
.rx-addr-group .input-group-btn .btn { height: 46px; padding-left: 22px; padding-right: 22px; }

/* Free report flow (demo.asp) */
.rx-flow-mobile { margin: 16px 0 0; text-align: center; font-size: 15px; font-weight: 600; color: #02275A; }
.rx-flow-mobile span:last-child { color: #C69B2D; }
#main label { font-weight: 600; color: #2b3440; }
.rx-code-input { font-size: 22px; letter-spacing: 0.3em; text-align: center; height: 50px; }
.rx-code-btn { height: 50px; }
#main label .rx-optional { font-weight: 400; color: #8a94a3; font-size: 13px; }
.rx-pano-none { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; color: #c9d3e0; font-size: 15px; text-align: center; padding: 20px; }
.rx-pano-none i { font-size: 40px; color: #C69B2D; margin-bottom: 12px; }

/* Thank-you page after the free report request (demoEnd.asp) */
.rx-thanks { padding: 40px 0 10px; }
.rx-thanks, .rx-thanks + .rx-trial { border-bottom: 0; }
.rx-thanks-head {
	display: flex; align-items: center; gap: 20px;
	background: #eef7f0; border: 1px solid #cfe8d5; border-radius: 14px;
	padding: 22px 26px; margin-bottom: 34px;
}
.rx-thanks-icon i {
	display: block; width: 56px; height: 56px; line-height: 56px; text-align: center;
	border-radius: 50%; background: #2e9b55; color: #fff; font-size: 24px;
}
.rx-thanks-head h2 { color: #02275A; font-size: 26px; font-weight: 700; margin: 0 0 4px; }
.rx-thanks-head p { margin: 0; font-size: 17px; color: #444; }
.rx-thanks-sub { color: #02275A; font-size: 22px; font-weight: 700; margin: 0 0 6px; }
.rx-thanks-more { padding: 30px 15px 60px; text-align: center; font-size: 17px; }
.rx-thanks-more i { color: #C69B2D; margin-right: 6px; }
@media (max-width: 767px) {
	.rx-thanks-head { flex-direction: column; text-align: center; padding: 20px 16px; }
	.rx-thanks-head h2 { font-size: 22px; }
}

/* Hero map background: on narrow screens the text covers the map, so darken it evenly */
@media (max-width: 991px) {
	.rx-hero { background: linear-gradient(rgba(2, 39, 90, 0.86), rgba(2, 39, 90, 0.86)), url('../images/hero_map.svg?v=5') 75% center / cover no-repeat; background-color: #031a35; }
}

/* How it works: 5 steps in one row */
.rx-steps5 { display: flex; flex-wrap: wrap; margin: 0 -15px; }
.rx-steps5 > div { width: 20%; padding: 0 15px; }
.rx-steps5 .rx-step { padding-left: 0; padding-right: 0; }
@media (max-width: 991px) { .rx-steps5 > div { width: 50%; margin-bottom: 10px; } }
@media (max-width: 600px) { .rx-steps5 > div { width: 100%; } }
