@font-face {
	font-family: Lato;
	src: url(/ral-page-refresh/9ec7377e4e5ab1bf00.ttf) format("truetype");
	font-weight: 400;
	font-display: swap
}

@font-face {
	font-family: Lato;
	src: url(/ral-page-refresh/c057ffd53659285346.ttf) format("truetype");
	font-weight: 700;
	font-display: swap
}

.home-page {
	font: 16px/1.5 Lato, Arial, sans-serif;
	color: #111;
	background: #fafafa
}

.home-page * {
	box-sizing: border-box
}

.home-page a {
	color: inherit
}

.home-container {
	width: min(1170px, 100%);
	padding: 0 15px;
	margin: auto
}

.home-page h1, .home-page h2, .home-page h3, .home-page p {
	margin-top: 0
}

.home-page h2 {
	font-size: 30px;
	font-weight: 700
}

.home-page button {
	font: inherit;
	cursor: pointer
}

.home-page a:focus-visible, .home-page button:focus-visible, .home-page input:focus-visible {
	outline: 3px solid #337ab7;
	outline-offset: 4px
}

.skip-link {
	position: absolute;
	left: 12px;
	top: -100px;
	background: white;
	padding: 10px;
	z-index: 50
}

.skip-link:focus {
	top: 10px
}

.home-header {
	background: #fff;
	box-shadow: 0 5px 10px #0000001a;
	position: relative;
	z-index: 2
}

.header-row {
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px
}

.header-row > a {
	flex-shrink: 0
}

.header-row img {
	display: block
}

.header-badges {
	display: flex;
	gap: 8px;
	align-items: center;
	align-self: center
}

.home-page .review-badge {
	display: flex;
	flex-direction: column;
	gap: 3px;
	background: #fff;
	color: #191919;
	border: 1px solid #e1e1e8;
	border-radius: 6px;
	padding: 6px 10px;
	text-decoration: none;
	font-size: 12px;
	line-height: 1;
	box-shadow: 0 1px 2px #0000000f;
	transition: box-shadow .15s, border-color .15s
}

.home-page .review-badge:hover {
	border-color: #c4c4d2;
	box-shadow: 0 2px 6px #0000001f
}

.review-badge .badge-top {
	display: flex;
	align-items: center;
	gap: 7px;
	height: 16px
}

.review-badge .badge-top img {
	display: block;
	width: 16px;
	height: 16px
}

.review-badge .badge-name {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: -.2px
}

.review-badge .badge-name.google {
	font-size: 16px;
	letter-spacing: -.6px
}

.badge-name.google i {
	font-style: normal
}

.badge-name.google i:first-child {
	color: #4285f4
}

.badge-name.google i:nth-child(2) {
	color: #ea4335
}

.badge-name.google i:nth-child(3) {
	color: #fbbc05
}

.badge-name.google i:nth-child(4) {
	color: #4285f4
}

.badge-name.google i:nth-child(5) {
	color: #34a853
}

.badge-name.google i:nth-child(6) {
	color: #ea4335
}

.review-badge .badge-sub {
	font-size: 12px;
	color: #5f6368;
	font-weight: 400
}

.badge-stars {
	position: relative;
	display: block;
	width: 70px;
	height: 14px;
	flex-shrink: 0;
	overflow: hidden;
	background: url(/ral-page-refresh/star-gold-off.svg) 0 0/14px 14px repeat-x
}

.badge-stars:after {
	content: "";
	position: absolute;
	inset: 0;
	width: var(--fill, 100%);
	background: url(/ral-page-refresh/star-gold.svg) 0 0/14px 14px repeat-x
}

.badge-stars.tp {
	width: 80px;
	background: url(/ral-page-refresh/star-tp-off.svg) 0 0/16px 14px repeat-x
}

.badge-stars.tp:after {
	background-image: url(/ral-page-refresh/star-tp.svg);
	background-size: 16px 14px
}

.review-badge .badge-meta {
	color: #5f6368;
	font-size: 11px;
	padding-top: 2px
}

.review-badge .badge-meta b {
	color: #191919;
	font-size: 13px
}

.header-row nav {
	display: flex;
	align-items: center;
	gap: 0;
	color: #ddd
}

.header-row nav a {
	text-decoration: none;
	padding: 0 22px;
	font-size: 16px;
	white-space: nowrap;
	color: #337ab7;
	display: inline-flex;
	align-items: center;
	gap: 6px
}

.header-row nav a:last-child {
	padding-right: 0
}

.home-hero {
	background: #000;
	background-image: linear-gradient(135deg, #000, #151515 55%, #2b2b2b);
	color: white;
	padding: 30px 0
}

.hero-row {
	display: grid;
	grid-template-columns:1.65fr 1fr;
	gap: 0;
	align-items: center
}

.home-hero h1 {
	font-size: 31px;
	font-weight: 600;
	line-height: 1.2;
	margin-bottom: 20px
}

.home-button {
	display: inline-block;
	background: #b61c21;
	color: #fff !important;
	padding: 8px;
	min-width: 250px;
	text-align: center;
	text-decoration: none;
	font-size: 14px;
	line-height: 20px;
	letter-spacing: 1.3px;
	text-transform: uppercase
}

.home-button:hover {
	background: #9a171c
}

.tp-star {
	color: #00b67a
}

.hero-buildings, .hero-photo, .london-art {
	display: block;
	width: 100%;
	height: auto
}

.home-hero[data-hero=art] .hero-buildings, .home-hero[data-hero=art] .hero-photo, .home-hero[data-hero=buildings] .hero-photo, .home-hero[data-hero=buildings] .london-art, .home-hero[data-hero=photo] .hero-buildings, .home-hero[data-hero=photo] .london-art {
	display: none
}

.home-hero[data-hero=photo] {
	background: #101112;
	min-height: 440px;
	display: flex;
	align-items: flex-start;
	padding: 22px 0 36px
}

.home-hero[data-hero=photo]:before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	background: linear-gradient(90deg, #101112, #101112 38%, rgba(16, 17, 18, .97) 46%, rgba(16, 17, 18, .8) 54%, rgba(16, 17, 18, .18) 74%, rgba(16, 17, 18, .06));
	pointer-events: none
}

.home-hero {
	position: relative
}

.home-hero .home-container {
	position: relative;
	z-index: 2
}

.home-hero[data-hero=photo] .hero-photo-frame {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 0;
	pointer-events: none
}

.home-hero[data-hero=photo] .hero-photo {
	display: block;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: max(65%, 1032px);
	height: auto
}

.home-hero[data-hero=photo] .hero-row {
	grid-template-columns:minmax(0, 640px) 1fr
}

.home-hero[data-hero=buildings] {
	background: #fff url(/img/offices_images/cornhill-hero.jpg) no-repeat 100%;
	background-size: cover;
	color: #191919;
	padding: 70px 0 80px;
	min-height: 440px;
	display: flex;
	align-items: center
}

.home-hero[data-hero=buildings] .hero-buildings {
	display: none
}

.home-hero[data-hero=buildings] .hero-row {
	grid-template-columns:minmax(0, 640px) 1fr
}

.home-hero[data-hero=buildings] .desktop-break {
	display: none
}

.home-hero[data-hero=buildings] h1 {
	max-width: 600px;
	text-shadow: 0 0 12px #fff, 0 0 24px #fff
}

.home-offices {
	padding-top: 40px;
	padding-bottom: 60px;
	text-align: center
}

.home-blog > h2, .home-offices h2 {
	font-size: 35px;
	font-weight: 600;
	margin-bottom: 2px
}

.section-subtitle {
	font-size: 22.75px
}

.office-tiers {
	display: grid;
	grid-template-columns:minmax(0, 400px);
	justify-content: center;
	align-items: center;
	gap: 50px;
	margin-top: 35px
}

.home-page .tier-card {
	display: block;
	border: 1px solid #777;
	padding: 15px 13px 10px;
	text-align: left;
	text-decoration: none;
	margin: 22px 0 11px;
	color: #000
}

.tier-card h3 {
	font-size: 19px;
	font-weight: 600;
	margin-bottom: 6px;
	color: #000
}

.tier-card h3 span {
	color: #fff;
	padding: 2px 9px
}

.tier-card b {
	float: right;
	font-size: 22px;
	line-height: 19px;
	font-weight: 400
}

.tier-card small {
	display: block;
	font-size: 14.25px;
	font-weight: 400
}

.tier-card em {
	font-style: normal;
	color: #000
}

.premium h3 span {
	background: #84409a
}

.standard h3 span {
	background: #b61c21
}

.budget h3 span {
	background: #44a0dc
}

.home-intro {
	padding: 0 15px;
	max-width: 900px;
	text-align: center
}

.home-intro h2 {
	font-size: 25px;
	font-weight: 600;
	margin-bottom: 15px
}

.home-intro p {
	font-size: 16px;
	line-height: 1.6;
	margin-bottom: 12px
}

.home-services {
	background: #191919;
	color: #fff;
	padding: 40px 0
}

.home-blog {
	padding-top: 50px;
	padding-bottom: 60px;
	text-align: center
}

.blog-grid {
	display: grid;
	grid-template-columns:repeat(3, 1fr);
	gap: 30px;
	margin-top: 30px
}

.blog-grid img {
	display: block;
	height: 150px;
	width: auto;
	margin: 0 auto
}

.blog-grid a {
	text-decoration: none;
	color: #44a0dc
}

.blog-grid h3 {
	font-size: 14px;
	font-weight: 700;
	margin: 15px 0
}

.home-footer {
	background: #191919;
	color: #fff;
	border-top: 2px solid #ccc
}

.footer-main {
	display: grid;
	grid-template-columns:1fr 2fr 1fr;
	align-items: center;
	text-align: center;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #b61c21
}

.cin img, .footer-logo img, .paperless img {
	display: inline-block;
	vertical-align: middle
}

.credits-short {
	display: none
}

.social-links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 25px
}

.social-links a {
	font-size: 27px;
	font-weight: 700;
	text-decoration: none
}

.social-links img {
	display: block
}

.footer-links {
	display: grid;
	grid-template-columns:repeat(3, 80px);
	justify-content: center;
	row-gap: 9px
}

.footer-links a {
	font-size: 16px;
	padding: 5px 12px;
	text-decoration: none;
	border-bottom: 3px solid transparent
}

.footer-links a:hover {
	border-color: #bf2228
}

.footer-bottom {
	padding: 30px 0
}

.footer-bottom-row {
	display: grid;
	grid-template-columns:1fr 2fr 1fr;
	align-items: center;
	text-align: center;
	gap: 20px
}

.footer-bottom p {
	font-size: 13px;
	margin: 0
}

.footer-bottom a {
	font-size: 13px
}

.footer-modal-open {
	border: 0;
	background: none;
	padding: 0;
	cursor: pointer;
	display: inline-block
}

.footer-modal-open img {
	display: block
}

.footer-modal {
	border: 0;
	padding: 0;
	max-width: min(520px, calc(100% - 30px));
	background: #fff;
	color: #222;
	box-shadow: 0 0 16px #0004;
	text-align: center
}

.footer-modal::backdrop {
	background: #0008
}

.footer-modal-body {
	padding: 30px 30px 25px;
	position: relative
}

.footer-modal h2 {
	font-size: 24px;
	font-weight: 600;
	margin-bottom: 15px
}

.footer-modal img {
	display: inline-block;
	max-width: 100%;
	height: auto;
	margin-bottom: 12px
}

.footer-modal p {
	font-size: 15px;
	line-height: 1.5;
	margin-bottom: 10px
}

.footer-modal-close {
	position: absolute;
	top: 8px;
	right: 12px;
	border: 0;
	background: none;
	font-size: 26px;
	line-height: 1;
	color: #666;
	cursor: pointer
}

.footer-modal-ok {
	border: 0;
	background: #b61c21;
	color: #fff;
	padding: 8px 22px;
	font-size: 14px;
	cursor: pointer;
	margin-top: 6px
}

.privacy-panel {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 100;
	background: white;
	color: #222;
	padding: 25px;
	width: min(500px, calc(100% - 30px));
	box-shadow: 0 0 12px #0003;
	border: 1px solid #ddd
}

.privacy-panel h2 {
	font-size: 18px;
	margin-bottom: 15px
}

.privacy-options, .privacy-panel p {
	font-size: 14px
}

.privacy-panel p a {
	color: #337ab7
}

.privacy-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 10px
}

.privacy-actions button {
	padding: 8px 12px;
	border: 0;
	background: #eee;
	color: #222;
	font-size: 13px
}

.privacy-actions .accept {
	background: #316a38;
	color: #fff
}

.privacy-options label {
	display: block;
	margin: 12px 0
}

.privacy-options input {
	margin-right: 10px
}

@media (min-width: 768px) and (max-width: 991px) {
	.desktop-break, .header-badges {
		display: none
	}

	.home-hero[data-hero=photo] {
		min-height: 380px
	}

	.home-hero[data-hero=photo] .hero-photo {
		width: auto;
		height: 100%;
		top: 0;
		transform: none
	}

	.home-hero[data-hero=photo]:before {
		background: linear-gradient(90deg, #101112, rgba(16, 17, 18, .97) 36%, rgba(16, 17, 18, .82) 52%, rgba(16, 17, 18, .25) 78%, rgba(16, 17, 18, .1))
	}

	.home-hero[data-hero=photo] .hero-row {
		grid-template-columns:minmax(0, 420px) 1fr
	}

	.home-hero[data-hero=photo] h1 {
		font-size: 26px
	}

	.home-hero[data-hero=buildings] {
		background-image: none;
		padding: 0 0 30px;
		min-height: 0;
		display: block
	}

	.home-hero[data-hero=buildings] .hero-buildings {
		display: block;
		width: 100%;
		margin: 0 0 18px
	}

	.home-hero[data-hero=buildings] .hero-row {
		display: flex;
		flex-direction: column-reverse
	}

	.home-hero[data-hero=buildings] h1 {
		text-shadow: none
	}

	.home-hero[data-hero=buildings] .hero-copy {
		text-align: center
	}
}

@media (min-width: 768px) and (max-width: 1199px) {
	.home-container {
		max-width: 970px
	}

	.header-row nav a {
		padding: 0 20px
	}

	.office-tiers {
		grid-template-columns:minmax(0, 400px)
	}
}

@media (max-width: 767px) {
	.header-row {
		height: 40px;
		gap: 6px;
		padding: 0 8px
	}

	.header-row img {
		width: 106px;
		height: auto
	}

	.header-badges {
		display: none
	}

	.header-row nav {
		font-size: 10px;
		gap: 0
	}

	.header-row nav a {
		padding: 0 4px;
		font-size: 12px;
		letter-spacing: -.1px
	}

	.header-row nav a:first-child {
		padding-left: 0
	}

	.header-row nav a:last-child {
		padding-right: 0
	}

	.hero-row {
		display: flex;
		flex-direction: column-reverse;
		text-align: center
	}

	.home-hero {
		padding: 20px 0
	}

	.home-hero h1 {
		font-size: 23px
	}

	.desktop-break {
		display: none
	}

	.london-art {
		width: min(100%, 360px);
		margin: 0 auto 10px
	}

	.home-hero[data-hero=photo] {
		min-height: 0;
		display: block;
		padding: 24px 0 30px
	}

	.home-hero[data-hero=photo]:before {
		display: block;
		background: linear-gradient(180deg, rgba(16, 17, 18, .9), rgba(16, 17, 18, .82) 65%, rgba(16, 17, 18, .94))
	}

	.home-hero[data-hero=photo] .hero-photo {
		width: auto;
		height: 100%;
		top: 0;
		right: auto;
		left: 62%;
		transform: translateX(-62%)
	}

	.home-hero[data-hero=photo] .hero-row {
		display: flex;
		flex-direction: column-reverse
	}

	.home-hero[data-hero=buildings] {
		background-image: none;
		padding: 0 0 25px;
		min-height: 0;
		display: block
	}

	.home-hero[data-hero=buildings] .hero-buildings {
		display: block;
		width: 100%;
		margin: 0 0 14px
	}

	.home-hero[data-hero=buildings] .hero-row {
		display: flex;
		flex-direction: column-reverse
	}

	.home-hero[data-hero=buildings] h1 {
		text-shadow: none
	}

	.home-blog > h2, .home-offices h2 {
		font-size: 25px
	}

	.section-subtitle {
		font-size: 18px
	}

	.office-tiers {
		display: block;
		margin-top: 25px
	}

	.tier-card {
		max-width: 400px;
		margin: 15px auto
	}

	.blog-grid {
		grid-template-columns:1fr
	}

	.footer-main {
		display: flex;
		flex-direction: column;
		gap: 18px;
		padding: 20px 15px 0;
		border: 0
	}

	.footer-links {
		order: 1
	}

	.social-links {
		order: 2
	}

	.social-links a {
		font-size: 22px
	}

	.footer-links a {
		font-size: 14px;
		padding: 5px 8px
	}

	.credits-full, .footer-logo, .paperless {
		display: none
	}

	.credits-short {
		display: inline
	}

	.footer-bottom-row {
		grid-template-columns:1fr;
		gap: 15px
	}

	.footer-bottom {
		padding: 15px 0 10px
	}

	.cin img {
		width: 120px;
		height: auto
	}

	.privacy-panel {
		bottom: 15px;
		right: 15px;
		padding: 20px
	}

	.home-blog, .home-offices {
		padding-bottom: 35px
	}

	.home-intro h2 {
		font-size: 21px
	}
}

body {
	margin: 0
}

.site-chrome .home-footer a, .site-chrome .home-header a {
	text-decoration: none
}

.site-chrome .home-footer {
	border-top: 2px solid #ccc
}

.site-chrome .home-footer h2, .site-chrome .home-footer p, .site-chrome .home-header h2 {
	margin-top: 0
}

.site-chrome .footer-links a, .site-chrome .home-footer p, .site-chrome .social-links a {
	color: #fff
}

.main-content {
	min-height: 200px
}

.local-preview-tools {
	position: fixed;
	bottom: 8px;
	right: 8px;
	background: #fff;
	border: 1px solid #aaa;
	color: #333;
	padding: 5px 9px;
	font: 11px Arial;
	z-index: 99999;
	box-shadow: 0 1px 5px #0002
}

.hero-switch, .local-preview-tools a {
	color: #943326;
	margin-left: 9px
}

.hero-switch {
	border: 0;
	background: none;
	font: inherit;
	cursor: pointer;
	text-decoration: underline;
	padding: 0
}

.hero-seal {
	display: block;
	width: 96px;
	height: 96px;
	margin: 0 0 30px;
	opacity: .95;
	transform: rotate(-7deg)
}

.hero-licensed {
	margin: 0 0 26px;
	font-size: 15px;
	color: #fff
}

.home-page .ch-link {
	color: #fff;
	text-decoration: none
}

.ch-underline {
	text-decoration: underline;
	text-underline-offset: 3px
}

.ch-link:hover .ch-underline {
	text-decoration-thickness: 2px
}

.home-hero[data-hero=buildings] .hero-seal {
	filter: invert(1) brightness(.15)
}

.home-hero[data-hero=buildings] .ch-link, .home-hero[data-hero=buildings] .hero-licensed {
	color: #191919
}

@media (max-width: 767px) {
	.hero-seal {
		width: 88px;
		height: 88px;
		margin: 0 auto 16px
	}

	.hero-licensed {
		margin: 0 0 20px
	}
}

.footer-established, .hero-mobile-reviews {
	display: none
}

@media (max-width: 767px) {
	.home-page .hero-seal {
		display: none
	}

	.hero-mobile-reviews {
		display: flex;
		justify-content: center;
		flex-wrap: nowrap;
		gap: 4px;
		margin: 0 0 20px
	}

	.home-page .hero-mobile-reviews .review-badge {
		padding: 4px 5px;
		gap: 2px;
		border-radius: 3px;
		box-shadow: none
	}

	.hero-mobile-reviews .badge-top {
		gap: 3px;
		height: 12px
	}

	.hero-mobile-reviews .badge-top img {
		width: 12px;
		height: 12px
	}

	.hero-mobile-reviews .badge-name {
		font-size: 11px
	}

	.hero-mobile-reviews .badge-name.google {
		font-size: 12px
	}

	.hero-mobile-reviews .badge-meta {
		font-size: 9px;
		padding-top: 0
	}

	.hero-mobile-reviews .badge-meta b {
		font-size: 10px
	}

	.hero-mobile-reviews .badge-stars {
		width: 55px;
		height: 10px;
		background-size: 11px 10px
	}

	.hero-mobile-reviews .badge-stars:after {
		background-size: 11px 10px
	}

	.home-page .home-footer .cin, .home-page .home-footer .paperless {
		display: none
	}

	.footer-established {
		display: block;
		order: 3;
		width: 48px;
		height: 48px;
		margin: 0 auto
	}

	.hero-licensed .ch-underline {
		display: none
	}

	.home-page .hero-licensed .ch-link {
		text-decoration: underline;
		text-underline-offset: 3px
	}

	.home-page .hero-licensed .ch-link:hover {
		text-decoration-thickness: 2px
	}
}

@media (min-width: 768px) {
	.home-page .footer-bottom-row, .home-page .footer-main {
		padding-left: 0;
		padding-right: 0
	}

	.home-page .footer-bottom-row .footer-logo, .home-page .footer-main .paperless {
		justify-self: end
	}

	.home-page .footer-bottom-row .cin, .home-page .footer-main .social-links {
		justify-self: start
	}
}

@media (max-width: 767px) {
	.home-page .footer-links {
		grid-template-columns:repeat(3, 64px);
		row-gap: 3px
	}

	.home-page .footer-links a {
		font-size: 12px;
		padding: 3px 5px
	}

	.home-page .home-button {
		min-width: 180px;
		padding: 6px 14px;
		font-size: 12px;
		letter-spacing: 1px
	}
}

.hero-copy-seal, .home-hero[data-hero=photo] .hero-seal {
	display: none
}

.home-hero[data-hero=photo] {
	align-items: center
}

.home-hero[data-hero=photo] .hero-copy-seal {
	display: block;
	position: absolute;
	left: 430px;
	bottom: -18px;
	width: 104px;
	height: 104px;
	transform: rotate(0deg)
}

@media (max-width: 767px) {
	.home-hero[data-hero=photo] .hero-copy-seal {
		display: none
	}
}

.home-hero[data-hero=photo] .hero-copy {
	position: relative
}

.site-breadcrumbs {
	font: 400 13px/1.6 Lato, Arial, sans-serif;
	text-align: left;
	margin: 0 0 14px;
	overflow-wrap: anywhere
}

.site-breadcrumbs a {
	color: inherit;
	text-decoration: none
}

.site-breadcrumbs a:hover {
	text-decoration: underline
}

.site-breadcrumbs a:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px
}

.registration-breadcrumbs {
	padding-top: 20px
}

.app-main > .site-breadcrumbs {
	color: #444
}

.header-row nav a {
	padding-left: 11px;
	padding-right: 11px
}

.header-row nav a.header-register {
	background: #b61c21;
	color: #fff;
	padding: 8px 14px;
	border-radius: 3px;
	margin: 0 4px
}

.header-row nav a.login {
	background: #337ab7;
	color: #fff;
	padding: 8px 14px;
	border-radius: 3px;
	margin-left: 4px
}

.header-row nav a.login:hover {
	background: #2a6497
}

.header-row nav a.header-register:hover {
	background: #98171c
}

.intro-register {
	margin-top: 10px
}

@media (max-width: 767px) {
	.header-row {
		flex-wrap: wrap;
		height: auto;
		min-height: 40px;
		padding: 6px 10px;
		justify-content: space-between;
		gap: 5px
	}

	.header-row nav {
		margin-left: auto
	}

	.header-row nav a {
		font-size: 12px;
		padding: 0 5px
	}

	.header-row nav a.header-register {
		padding: 5px 9px;
		margin: 0 3px
	}

	.header-row nav a.login {
		padding: 5px 9px;
		margin-left: 3px
	}
}

.home-redesign {
	--ra-ink: #202320;
	--ra-muted: #5b605b;
	--ra-stone: #f4f2ee;
	--ra-red: #b61c21;
	background: #fff;
	color: var(--ra-ink)
}

.home-redesign .ra-container {
	width: min(1200px, 100%);
	padding-inline: 30px;
	margin-inline: auto
}

.home-redesign a:focus-visible, .home-redesign summary:focus-visible {
	outline: 3px solid #337ab7;
	outline-offset: 5px
}

.home-redesign .ra-hero {
	position: relative;
	isolation: isolate;
	background: #191d1c;
	color: white;
	overflow: hidden
}

.home-redesign .ra-hero-photo {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -2
}

@media (min-width: 992px) {
	.home-redesign .ra-hero-photo {
		transform: translateX(25%);
		filter: brightness(1.1);
		/* Fade the photo's shifted left edge into the hero background so no seam shows. */
		-webkit-mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .35) 15%, rgba(0, 0, 0, .8) 30%, #000 45%);
		mask-image: linear-gradient(90deg, transparent 0, rgba(0, 0, 0, .35) 15%, rgba(0, 0, 0, .8) 30%, #000 45%)
	}
}

.home-redesign .ra-hero-marker-frame {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none
}

.home-redesign .ra-hero:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(18, 22, 21, .98) 0%, rgba(18, 22, 21, .95) 25%, rgba(18, 22, 21, .88) 35%, rgba(18, 22, 21, .76) 44%, rgba(18, 22, 21, .6) 52%, rgba(18, 22, 21, .42) 60%, rgba(18, 22, 21, .25) 68%, rgba(18, 22, 21, .12) 76%, rgba(18, 22, 21, .04) 84%, rgba(18, 22, 21, 0) 92%);
	z-index: -1
}

.home-redesign .ra-hero-inner {
	position: relative;
	min-height: 492px;
	display: flex;
	align-items: center;
	padding-block: 64px 70px
}

.home-redesign .ra-hero-copy {
	max-width: 600px
}

.home-redesign .ra-established {
	margin: 0 0 24px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 2px;
	text-transform: uppercase;
	display: flex;
	gap: 12px;
	align-items: center;
	color: #fff
}

.home-redesign .ra-established span {
	width: 30px;
	height: 2px;
	background: #e64549
}

.home-redesign .ra-hero h1 {
	font-size: clamp(35px, 3.4vw, 48px);
	line-height: 1.13;
	letter-spacing: -1.15px;
	font-weight: 700;
	margin: 0 0 23px;
	color: white
}

.home-redesign .ra-hero-description {
	max-width: 490px;
	font-size: 18px;
	line-height: 1.6;
	color: #eeefeb;
	margin: 0 0 30px
}

.home-redesign .ra-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 28px;
	min-height: 50px;
	padding: 13px 23px;
	background: var(--ra-red);
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.5;
	border: 1px solid var(--ra-red);
	transition: background .15s
}

.home-redesign .ra-button:hover {
	background: #93161b;
	border-color: #93161b
}

.home-redesign .ra-hero-help {
	font-size: 14px;
	margin: 18px 0 0;
	color: #dddeda
}

.home-redesign .ra-hero-help a {
	text-underline-offset: 4px;
	color: #fff
}

@media (max-width: 767px) {
	.home-redesign .ra-container {
		padding-inline: 22px
	}

	.home-redesign .ra-hero-inner {
		min-height: 620px;
		padding-top: 225px;
		padding-bottom: 36px;
		align-items: flex-end
	}

	.home-redesign .ra-hero-photo {
		height: 310px
	}

	.home-redesign .ra-hero-marker-frame {
		height: 310px;
		bottom: auto
	}

	.home-redesign .ra-hero:after {
		background: linear-gradient(180deg, rgba(25, 29, 28, 0) 100px, rgba(25, 29, 28, .1) 140px, rgba(25, 29, 28, .28) 180px, rgba(25, 29, 28, .52) 215px, rgba(25, 29, 28, .75) 245px, rgba(25, 29, 28, .9) 270px, rgba(25, 29, 28, .97) 290px, #191d1c 305px)
	}

	.home-redesign .ra-hero-copy {
		width: 100%;
		max-width: 520px
	}

	.home-redesign .ra-established {
		font-size: 13px;
		letter-spacing: 1.6px;
		margin-bottom: 18px
	}

	.home-redesign .ra-hero h1 {
		font-size: 35px;
		letter-spacing: -.8px;
		margin-bottom: 18px
	}

	.home-redesign .ra-desktop-break {
		display: none
	}

	.home-redesign .ra-hero-description {
		font-size: 17px;
		line-height: 1.55;
		margin-bottom: 25px
	}

	.home-redesign .ra-button {
		font-size: 15px;
		min-height: 50px
	}
}

.home-redesign .ra-section {
	padding-block: 68px
}

.home-redesign .ra-eyebrow {
	font-size: 13px;
	line-height: 1.5;
	letter-spacing: 1.6px;
	text-transform: uppercase;
	font-weight: 700;
	color: var(--ra-muted);
	margin: 0 0 14px
}

.home-redesign h2 {
	font-size: 36px;
	line-height: 1.2;
	letter-spacing: -.8px;
	margin: 0 0 20px;
	font-weight: 700
}

.home-redesign .ra-section-heading {
	display: flex;
	justify-content: space-between;
	gap: 25px;
	align-items: end
}

.home-redesign .ra-section-heading h2 {
	margin-bottom: 0
}

.home-redesign .ra-section-intro {
	font-size: 17px;
	line-height: 1.6;
	max-width: 700px;
	color: var(--ra-muted);
	margin: 18px 0 32px
}

.home-redesign .ra-text-link {
	font-size: 15px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 5px;
	text-decoration-color: #babcb5;
	color: var(--ra-ink);
	display: inline-block
}

.home-redesign .ra-text-link:hover {
	text-decoration-color: var(--ra-ink)
}

.home-redesign .ra-text-link span {
	margin-left: 12px
}

.home-redesign .ra-mobile-badges {
	display: none
}

@media (max-width: 991px) {
	.home-redesign .header-badges.ra-mobile-badges {
		display: flex;
		justify-content: center;
		gap: 10px;
		padding: 14px 12px;
		border-bottom: 1px solid #e7e7e0
	}
}

.ra-office-grid {
	display: grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap: 26px
}

.ra-office-card {
	--tier: #84409a;
	border: 1px solid #ddded7;
	background: white;
	min-width: 0;
	display: flex;
	flex-direction: column
}

.ra-tier-standard {
	--tier: #b61c21
}

.ra-tier-budget {
	--tier: #44a0dc
}

.ra-office-image-link {
	display: block;
	overflow: hidden;
	aspect-ratio: 1.85;
	position: relative;
	text-decoration: none
}

.ra-office-body {
	padding: 0 22px 15px;
	display: flex;
	flex-direction: column;
	flex: 1 1
}

.ra-office-card .ra-tier-band {
	display: block;
	margin: 0 -22px 12px;
	padding: 7px 22px;
	color: #fff;
	font-weight: 700;
	font-size: 15px;
	line-height: 1.2;
	text-align: right;
	text-decoration: none;
	background: var(--tier)
}

.ra-tier-band:hover {
	text-decoration: underline;
	text-underline-offset: 3px
}

.ra-office-description {
	font-size: 15px;
	margin: 0 0 14px;
	line-height: 1.45;
	color: #454a45
}

.ra-office-foot {
	margin-top: auto;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	flex-wrap: nowrap
}

.ra-office-price {
	margin: 0;
	line-height: 1.1;
	white-space: nowrap
}

.ra-office-price strong {
	font-size: 27px;
	letter-spacing: -.5px
}

.ra-office-price > span {
	font-size: 13px;
	margin-left: 4px
}

.ra-office-card .ra-office-more {
	display: inline-flex;
	align-items: center;
	font-weight: 700;
	font-size: 14px;
	color: var(--tier);
	text-decoration: none;
	min-height: 38px
}

.ra-office-card .ra-office-more:hover {
	text-decoration: underline;
	text-underline-offset: 3px
}

.ra-office-caption {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 38px 18px 14px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, .72));
	color: #fff
}

.ra-office-caption h3 {
	font-size: 21px;
	line-height: 1.2;
	letter-spacing: -.3px;
	margin: 0 0 3px;
	color: #fff
}

.ra-office-caption-street {
	display: block;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.3;
	color: #fff
}

.ra-office-image-link img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .2s
}

.ra-office-image-link:hover img {
	transform: scale(1.035)
}

.ra-office-price {
	margin-top: auto;
	padding-top: 19px;
}

.home-redesign .ra-price-note, .ra-office-price > span {
	font-size: 14px;
	color: var(--ra-muted)
}

.home-redesign .ra-price-note {
	line-height: 1.6;
	margin: 23px 0 0;
	max-width: 880px
}

.home-redesign .ra-price-note a {
	white-space: nowrap;
	text-underline-offset: 3px
}

.home-redesign .ra-service-section {
	background: var(--ra-stone);
	padding-block: 68px
}

.home-redesign .ra-service-grid {
	display: grid;
	grid-template-columns:1fr 1fr;
	gap: 92px;
	align-items: start
}

.home-redesign .ra-service-grid > div > p:not(.ra-eyebrow) {
	font-size: 17px;
	line-height: 1.65;
	color: #4b514b;
	max-width: 450px;
	margin: 0 0 17px
}

.home-redesign .ra-service-grid .ra-text-link {
	margin-top: 9px
}

.home-redesign .ra-steps {
	list-style: none;
	padding: 0;
	margin: 0
}

.home-redesign .ra-steps li {
	display: flex;
	gap: 23px;
	padding: 25px 0;
	border-bottom: 1px solid #d9dbd2
}

.home-redesign .ra-steps li:first-child {
	padding-top: 0
}

.home-redesign .ra-steps li:last-child {
	padding-bottom: 0;
	border: 0
}

.home-redesign .ra-step-number {
	font-size: 15px;
	flex-shrink: 0;
	font-weight: 700;
	color: #737c70;
	padding-top: 3px
}

.home-redesign .ra-steps h3 {
	font-size: 21px;
	line-height: 1.3;
	margin: 0 0 8px;
	letter-spacing: -.25px
}

.home-redesign .ra-steps p {
	font-size: 16px;
	line-height: 1.6;
	color: #4b514b;
	margin: 0
}

.home-redesign .ra-heritage {
	display: grid;
	grid-template-columns:1fr 1fr;
	gap: 92px;
	align-items: center
}

.home-redesign .ra-heritage-intro > p:not(.ra-eyebrow) {
	max-width: 460px;
	font-size: 17px;
	line-height: 1.65;
	margin: 0 0 22px;
	color: var(--ra-muted)
}

.home-redesign .ra-testimonial {
	margin: 0;
	border-left: 2px solid #d9dbd2;
	padding: 9px 0 9px 36px
}

.home-redesign .ra-testimonial-rating {
	font-size: 15px;
	font-weight: 700;
	display: flex;
	gap: 15px;
	align-items: center;
	margin-bottom: 24px
}

.home-redesign .ra-testimonial-rating span {
	color: #fff;
	background: #186d52;
	padding: 4px 9px;
	font-size: 14px
}

.home-redesign .ra-testimonial blockquote {
	font-size: 25px;
	line-height: 1.5;
	margin: 0 0 20px;
	letter-spacing: -.35px
}

.home-redesign .ra-testimonial figcaption {
	font-size: 14px;
	line-height: 1.5;
	color: var(--ra-muted);
	margin-bottom: 18px
}

.home-redesign .ra-faq-section {
	background: #fafaf8;
	border-block: 1px solid #e7e7e0;
	padding-block: 64px
}

.home-redesign .ra-faq-grid {
	display: grid;
	grid-template-columns:1fr 1.2fr;
	gap: 75px
}

.home-redesign .ra-faq-grid > div > p:not(.ra-eyebrow) {
	font-size: 16px;
	line-height: 1.6;
	max-width: 340px;
	color: var(--ra-muted);
	margin: 0
}

.home-redesign .ra-faq-grid p a {
	text-underline-offset: 4px
}

.home-redesign .ra-faqs details {
	border-bottom: 1px solid #dedfd7
}

.home-redesign .ra-faqs details:first-child {
	border-top: 1px solid #dedfd7
}

.home-redesign .ra-faqs summary {
	font-size: 17px;
	font-weight: 700;
	list-style: none;
	cursor: pointer;
	padding: 21px 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 18px
}

.home-redesign .ra-faqs summary::-webkit-details-marker {
	display: none
}

.home-redesign .ra-faqs summary > span {
	font-size: 23px;
	font-weight: 400;
	line-height: 1;
	transition: transform .15s
}

.home-redesign .ra-faqs details[open] summary > span {
	transform: rotate(45deg)
}

.home-redesign .ra-faqs details > p {
	font-size: 16px;
	line-height: 1.65;
	color: var(--ra-muted);
	margin: 0;
	padding: 0 28px 22px 0
}

.home-redesign .ra-closing {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 35px;
	padding-block: 49px
}

.home-redesign .ra-closing h2 {
	font-size: 29px;
	margin-bottom: 9px
}

.home-redesign .ra-closing p {
	font-size: 16px;
	color: var(--ra-muted);
	margin: 0
}

.home-redesign .ra-closing .ra-button {
	flex-shrink: 0
}

@media (max-width: 1100px) {
	.home-redesign .ra-heritage, .home-redesign .ra-service-grid {
		gap: 50px
	}

	.ra-office-grid {
		gap: 18px
	}

	.ra-office-body {
		padding: 20px
	}

	.ra-office-body h3 {
		font-size: 21px
	}
}

@media (max-width: 991px) and (min-width: 651px) {
	.ra-office-grid {
		grid-template-columns:repeat(2, minmax(0, 1fr))
	}

	.home-redesign .ra-office-card:last-child {
		grid-column: 1/-1;
		display: grid;
		grid-template-columns:1fr 1fr
	}

	.home-redesign .ra-office-card:last-child .ra-office-image-link {
		height: 100%;
		aspect-ratio: auto
	}

	.home-redesign .ra-heritage, .home-redesign .ra-service-grid {
		gap: 32px
	}

	.home-redesign .ra-faq-grid {
		gap: 35px;
		grid-template-columns:.9fr 1.1fr
	}

	.home-redesign .ra-testimonial {
		padding-left: 25px
	}

	.home-redesign .ra-testimonial blockquote {
		font-size: 22px
	}
}

@media (max-width: 767px) {
	.home-redesign .ra-section {
		padding-block: 45px
	}

	.home-redesign h2 {
		font-size: 30px;
		letter-spacing: -.55px
	}

	.home-redesign .ra-eyebrow {
		font-size: 12px;
		letter-spacing: 1.25px;
		margin-bottom: 12px
	}

	.home-redesign .ra-section-heading {
		align-items: start;
		flex-direction: column;
		gap: 15px
	}

	.home-redesign .ra-section-intro {
		font-size: 16px;
		margin-top: 21px
	}

	.home-redesign .ra-faq-section, .home-redesign .ra-service-section {
		padding-block: 44px
	}

	.home-redesign .ra-faq-grid, .home-redesign .ra-heritage, .home-redesign .ra-service-grid {
		grid-template-columns:1fr;
		gap: 35px
	}

	.home-redesign .ra-heritage-intro > p:not(.ra-eyebrow), .home-redesign .ra-service-grid > div > p:not(.ra-eyebrow) {
		font-size: 16px;
		max-width: 100%
	}

	.home-redesign .ra-steps li {
		gap: 18px;
		padding-block: 21px
	}

	.home-redesign .ra-steps h3 {
		font-size: 20px
	}

	.home-redesign .ra-testimonial {
		padding: 0 0 0 24px
	}

	.home-redesign .ra-testimonial blockquote {
		font-size: 23px
	}

	.home-redesign .ra-testimonial-rating {
		margin-bottom: 17px
	}

	.home-redesign .ra-faqs summary {
		font-size: 16px
	}

	.home-redesign .ra-closing {
		flex-direction: column;
		align-items: start;
		gap: 24px;
		padding-block: 39px
	}

	.home-redesign .ra-closing h2 {
		font-size: 28px
	}
}

@media (max-width: 650px) {
	.ra-office-grid {
		grid-template-columns:1fr;
		gap: 25px
	}

	.ra-office-body {
		padding: 0 18px 16px
	}

	.ra-office-card .ra-tier-band {
		margin: 0 -18px 10px;
		padding: 6px 18px
	}

	.ra-office-card .ra-office-more {
		min-height: 34px
	}

	.ra-office-caption h3 {
		font-size: 22px
	}

	.ra-office-image-link {
		aspect-ratio: 1.8
	}

	.ra-office-description {
		margin-bottom: 18px
	}
}

@media (prefers-reduced-motion: reduce) {
	.home-redesign .ra-button, .home-redesign .ra-faqs summary > span, .ra-office-image-link img {
		transition: none
	}
}

@media (min-width: 992px) {
	.home-redesign .ra-hero:after {
		background: linear-gradient(90deg, rgba(18, 22, 21, .98) 0%, rgba(18, 22, 21, .97) 30%, rgba(18, 22, 21, .93) 40%, rgba(18, 22, 21, .86) 47%, rgba(18, 22, 21, .75) 54%, rgba(18, 22, 21, .6) 60%, rgba(18, 22, 21, .44) 66%, rgba(18, 22, 21, .29) 72%, rgba(18, 22, 21, .16) 78%, rgba(18, 22, 21, .07) 84%, rgba(18, 22, 21, .02) 90%, rgba(18, 22, 21, 0) 96%)
	}
}

.home-redesign .ra-eyebrow img {
	display: inline-block;
	vertical-align: middle;
	margin-left: 10px;
	height: auto
}

.home-redesign .ra-service-tiles {
	display: grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap: 26px;
	margin-top: 30px
}

.home-redesign .ra-service-tile {
	border: 1px solid #ddded7;
	background: #fff;
	padding: 24px;
	display: flex;
	flex-direction: column;
	gap: 10px
}

.home-redesign .ra-service-tile h3 {
	font-size: 21px;
	line-height: 1.25;
	letter-spacing: -.3px;
	margin: 0
}

.home-redesign .ra-service-tile p {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	color: #454a45
}

.home-redesign .ra-service-from {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid #e7e7e0;
	color: var(--ra-muted);
	font-size: 14px
}

.home-redesign .ra-service-from strong {
	font-size: 24px;
	letter-spacing: -.4px;
	color: var(--ra-ink);
	margin-right: 4px
}

.home-redesign .ra-compare {
	display: grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap: 26px;
	margin-top: 26px
}

.home-redesign .ra-compare-col {
	background: #fff;
	border: 1px solid #ddded7;
	padding: 20px 22px
}

.home-redesign .ra-compare-col h3 {
	font-size: 19px;
	margin: 0 0 6px;
	letter-spacing: -.25px
}

.home-redesign .ra-compare-col ul {
	list-style: none;
	margin: 0;
	padding: 0
}

.home-redesign .ra-compare-col li {
	display: flex;
	gap: 12px;
	align-items: flex-start;
	padding: 12px 0;
	border-top: 1px solid #e7e7e0;
	font-size: 15px;
	line-height: 1.45
}

.home-redesign .ra-compare-use {
	flex: 1 1
}

.home-redesign .ra-compare-state {
	flex-shrink: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .6px;
	text-transform: uppercase;
	color: var(--ra-muted);
	padding: 3px 8px;
	background: #f0f0ea
}

.home-redesign .ra-compare-col li.yes .ra-compare-state {
	color: #186d52;
	background: #e6f4ee
}

.home-redesign .ra-compare-col li.no .ra-compare-mark {
	color: #b5b8b0
}

.home-redesign .ra-compare-col .ra-text-link {
	margin-top: 14px
}

.home-redesign .ra-compare-col li small {
	display: block;
	color: var(--ra-muted);
	font-size: 13px
}

.home-redesign .ra-compare-mark {
	flex-shrink: 0;
	width: 22px;
	font-weight: 700;
	color: var(--ra-muted)
}

.home-redesign .ra-compare-col li.yes .ra-compare-mark {
	color: #186d52
}

.home-redesign .ra-compare-col li.no {
	color: var(--ra-muted)
}

.home-redesign .sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0
}

@media (max-width: 991px) {
	.home-redesign .ra-compare, .home-redesign .ra-service-tiles {
		grid-template-columns:1fr;
		gap: 16px
	}
}

.home-redesign .ra-contact-grid {
	display: grid;
	grid-template-columns:5fr 7fr;
	gap: 50px;
	align-items: start
}

.home-redesign .ra-contact-details h2 {
	margin-bottom: 22px
}

.home-redesign .ra-contact-card {
	display: flex;
	gap: 16px;
	align-items: flex-start;
	padding: 20px 0;
	border-top: 1px solid #e7e7e0
}

.home-redesign .ra-contact-card img {
	width: 36px;
	height: 36px;
	flex: none
}

.home-redesign .ra-contact-card h3 {
	font-size: 17px;
	margin: 0 0 6px;
	letter-spacing: -.2px
}

.home-redesign .ra-contact-card p {
	margin: 0 0 8px;
	font-size: 16px;
	line-height: 1.5
}

.home-redesign .ra-contact-card small {
	color: var(--ra-muted);
	font-size: 13px
}

.home-redesign .ra-contact-card a {
	font-weight: 700;
	text-decoration: none
}

.home-redesign .ra-contact-card a:hover {
	text-decoration: underline;
	text-underline-offset: 3px
}

.home-redesign .ra-contact-note {
	font-size: 15px;
	line-height: 1.55;
	color: var(--ra-muted);
	border-top: 1px solid #e7e7e0;
	padding-top: 18px;
	margin: 0
}

.home-redesign .ra-contact-form-card {
	background: var(--ra-stone);
	padding: 30px;
	border: 1px solid #e7e7e0
}

.home-redesign .ra-contact-form-card h2 {
	font-size: 26px;
	margin-bottom: 18px
}

.home-redesign .ra-form {
	display: grid;
	gap: 16px
}

.home-redesign .ra-field {
	display: grid;
	gap: 6px
}

.home-redesign .ra-form label {
	font-size: 14px;
	font-weight: 700
}

.home-redesign .ra-form input, .home-redesign .ra-form textarea {
	font: inherit;
	font-size: 16px;
	padding: 12px 14px;
	border: 1px solid #cfd0c8;
	background: #fff;
	color: var(--ra-ink);
	width: 100%;
	box-sizing: border-box;
	border-radius: 0;
	min-height: 48px
}

.home-redesign .ra-form textarea {
	min-height: 170px;
	resize: vertical
}

.home-redesign .ra-form input:focus-visible, .home-redesign .ra-form textarea:focus-visible {
	outline: 3px solid #337ab7;
	outline-offset: 2px
}

.home-redesign .ra-form .ra-button {
	justify-self: start;
	cursor: pointer
}

.home-redesign .ra-form-hint {
	font-size: 14px;
	line-height: 1.5;
	color: var(--ra-muted);
	margin: 0 0 12px
}

.home-redesign .ra-form-ok {
	background: #e6f4ee;
	border: 1px solid #b9dfcc;
	padding: 12px 14px;
	margin: 0 0 16px;
	font-size: 15px
}

.home-redesign .ra-form-error {
	background: #fbeaea;
	border: 1px solid #efbdbd;
	padding: 12px 14px;
	margin: 0 0 16px;
	font-size: 15px
}

.home-redesign .hp {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden
}

@media (max-width: 991px) {
	.home-redesign .ra-contact-grid {
		grid-template-columns:1fr;
		gap: 28px
	}

	.home-redesign .ra-contact-form-card {
		padding: 22px 18px
	}
}

.home-redesign .ra-job {
	border: 1px solid #ddded7;
	background: #fff;
	padding: 26px;
	margin-top: 8px
}

.home-redesign .ra-job-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 14px
}

.home-redesign .ra-job h3 {
	font-size: 22px;
	line-height: 1.25;
	letter-spacing: -.3px;
	margin: 0
}

.home-redesign .ra-job-status {
	font-size: 13px;
	font-weight: 700;
	padding: 4px 10px;
	background: #e7e7e0;
	color: var(--ra-muted);
	white-space: nowrap
}

.home-redesign .ra-job-status.open {
	background: #186d52;
	color: #fff
}

.home-redesign .ra-job-body p {
	margin: 0 0 10px;
	font-size: 15px;
	line-height: 1.6;
	color: #454a45
}

.home-redesign .ra-job-body ul {
	margin: 0 0 12px;
	padding-left: 20px;
	font-size: 15px;
	line-height: 1.6;
	color: #454a45
}

.home-redesign .ra-job-label {
	font-weight: 700;
	color: var(--ra-ink);
	margin: 16px 0 6px
}

.home-redesign .ra-job-apply {
	margin: 18px 0 0
}

.home-redesign .ra-jobs-closed {
	margin-top: 24px
}

.home-redesign .ra-jobs-closed summary {
	gap: 12px
}

.home-redesign .ra-jobs-closed summary .ra-job-status {
	margin-left: auto
}

.home-redesign .ra-jobs-closed details > .ra-job-body {
	padding: 0 28px 22px 0
}

@media (max-width: 767px) {
	.home-redesign .ra-job {
		padding: 20px 18px
	}

	.home-redesign .ra-jobs-closed summary {
		flex-wrap: wrap
	}

	.home-redesign .ra-jobs-closed summary .ra-job-status {
		margin-left: 0
	}
}

.home-redesign .ra-auth-card {
	max-width: 520px;
	margin: 0 auto;
	background: var(--ra-stone);
	border: 1px solid #e7e7e0;
	padding: 30px
}

.home-redesign .ra-auth-card h2 {
	font-size: 26px;
	margin-bottom: 18px
}

.home-redesign .ra-auth-card .ra-form-hint {
	margin: 6px 0 0
}

.home-redesign .ra-auth-links {
	margin: 18px 0 0;
	font-size: 15px;
	color: var(--ra-muted)
}

.home-redesign .ra-auth-links a {
	color: var(--ra-ink);
	font-weight: 700;
	text-underline-offset: 3px
}

@media (max-width: 767px) {
	.home-redesign .ra-auth-card {
		padding: 22px 18px
	}
}

.home-redesign .ra-reviews-grid {
	display: grid;
	grid-template-columns:1fr 1fr;
	gap: 40px 60px;
	margin-top: 26px
}

.home-redesign .ra-testimonial.big {
	border-left: 3px solid #b61c21;
	padding: 6px 0 6px 28px
}

.home-redesign .ra-testimonial.big blockquote {
	font-size: 24px;
	line-height: 1.4;
	margin: 0 0 18px
}

.home-redesign .ra-testimonial.big figcaption {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 18px;
	font-size: 14px;
	color: var(--ra-muted);
	margin: 0
}

.home-redesign .ra-testimonial.big figcaption img {
	height: auto;
	width: 60px
}

.home-redesign .ra-testimonial.big figcaption .ra-text-link {
	font-size: 14px
}

.home-redesign .ra-how {
	display: grid;
	grid-template-columns:1fr 1.4fr;
	gap: 60px;
	align-items: start
}

@media (max-width: 991px) {
	.home-redesign .ra-how, .home-redesign .ra-reviews-grid {
		grid-template-columns:1fr;
		gap: 28px
	}

	.home-redesign .ra-testimonial.big blockquote {
		font-size: 21px
	}
}

.page-banner {
	background: #191919;
	color: #fff;
	height: 180px;
	box-sizing: border-box;
	padding: 0;
	position: relative;
	font-family: Lato, Arial, sans-serif
}

.page-banner .home-container {
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0 15px;
	box-sizing: border-box;
	position: relative
}

.page-banner .site-breadcrumbs {
	position: absolute;
	top: 18px;
	left: 15px;
	right: 15px;
	text-align: left;
	font-size: 13px;
	line-height: 1.2;
	color: #cfcfcf;
	margin: 0;
	white-space: nowrap;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis
}

.page-banner .site-breadcrumbs a {
	color: #fff;
	text-decoration: none
}

.page-banner .site-breadcrumbs a:hover {
	text-decoration: underline
}

.page-banner .site-breadcrumbs [aria-current=page] {
	color: #cfcfcf
}

.home-page .page-banner .page-banner-title, .page-banner .page-banner-title {
	font-size: 30px;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 8px;
	padding: 0;
	max-width: 100%;
	color: #fff
}

.home-page .page-banner .page-banner-sub, .page-banner .page-banner-sub {
	font-size: 18px;
	line-height: 1.3;
	margin: 0;
	color: #e6e6e6;
	max-width: 100%
}

.banner-mobile {
	display: none
}

.crumb-optional {
	display: inline
}

.page-banner-title-phone {
	display: none
}

@media (max-width: 991px) {
	.home-page .page-banner .page-banner-title {
		font-size: 28px
	}

	.home-page .page-banner .page-banner-sub {
		font-size: 17px
	}
}

@media (max-width: 767px) {
	.page-banner {
		height: 150px
	}

	.page-banner .site-breadcrumbs {
		top: 14px
	}

	.home-page .page-banner .page-banner-title {
		font-size: 24px;
		margin-bottom: 6px
	}

	.home-page .page-banner .page-banner-sub {
		font-size: 15px
	}

	.page-banner .site-breadcrumbs {
		font-size: 12px
	}

	.banner-desktop {
		display: none
	}

	.banner-mobile {
		display: inline
	}

	.crumb-optional {
		display: none
	}

	.page-banner .page-banner-title.has-phone {
		position: absolute;
		width: 1px;
		height: 1px;
		margin: -1px;
		padding: 0;
		border: 0;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap
	}

	.page-banner .page-banner-title-phone {
		display: block
	}
}

.office-marker {
	position: absolute;
	left: var(--mx);
	top: var(--my);
	display: inline-flex;
	align-items: center;
	gap: 8px;
	transform: translate(-50%, -50%);
	text-decoration: none;
	color: #fff;
	z-index: 2;
	white-space: nowrap;
	background: rgba(18, 22, 21, .85);
	padding: 6px 11px 6px 9px;
	font-family: Lato, Arial, sans-serif;
	font-size: 14px;
	line-height: 1.2;
	pointer-events: auto
}

.office-marker:focus-visible, .office-marker:hover {
	background: #b61c21
}

@media (min-width: 992px) {
	.office-marker {
		left: var(--mx-desktop, var(--mx));
		top: var(--my-desktop, var(--my))
	}
}

.office-marker-pin {
	display: block;
	width: 18px;
	height: 24px;
	flex-shrink: 0;
	filter: drop-shadow(0 1px 1px rgba(0, 0, 0, .5))
}

.page-banner.has-photo {
	height: 360px;
	overflow: hidden
}

.page-banner.has-photo .home-container {
	align-items: flex-start;
	text-align: left;
	justify-content: center
}

.home-page .page-banner.has-photo .page-banner-title, .page-banner.has-photo .page-banner-title {
	font-size: 36px;
	max-width: 46%
}

.home-page .page-banner.has-photo .page-banner-sub, .page-banner.has-photo .page-banner-sub {
	font-size: 18px;
	max-width: 46%
}

.page-banner-photo {
	position: absolute;
	inset: 0;
	width: 100%
}

.page-banner-photo > img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: var(--photo-pos, center);
	display: block
}

.page-banner-photo:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(25, 25, 25, .98), rgba(25, 25, 25, .95) 30%, rgba(25, 25, 25, .62) 46%, rgba(25, 25, 25, .1) 64%, rgba(25, 25, 25, 0) 80%);
	pointer-events: none
}

@media (max-width: 991px) {
	.page-banner.has-photo {
		height: 280px
	}

	.page-banner.has-photo .page-banner-sub, .page-banner.has-photo .page-banner-title {
		max-width: 54%
	}

	.home-page .page-banner.has-photo .page-banner-title {
		font-size: 30px
	}
}

@media (max-width: 767px) {
	.page-banner.has-photo {
		height: auto
	}

	.page-banner-photo {
		position: relative;
		width: 100%;
		height: 220px
	}

	.page-banner-photo:after {
		background: linear-gradient(180deg, rgba(25, 25, 25, 0) 60%, #191919)
	}

	.page-banner.has-photo .home-container {
		height: auto;
		padding: 14px 15px 20px;
		align-items: center;
		text-align: center
	}

	.page-banner.has-photo .site-breadcrumbs {
		position: static;
		margin: 0 0 8px;
		width: 100%;
		text-align: center
	}

	.home-page .page-banner.has-photo .page-banner-sub, .home-page .page-banner.has-photo .page-banner-title, .page-banner.has-photo .page-banner-sub, .page-banner.has-photo .page-banner-title {
		max-width: 100%
	}

	.home-page .page-banner.has-photo .page-banner-title {
		font-size: 26px
	}

	.office-marker {
		font-size: 12px;
		padding: 5px 9px 5px 7px;
		gap: 6px
	}

	.office-marker-pin {
		width: 15px;
		height: 20px
	}
}

.ra-help-choose {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 28px;
	background: #f4f2ee;
	border: 1px solid #e4e2dc;
	padding: 26px 30px;
	margin-top: 34px
}

.ra-help-choose h2, .ra-help-choose h3 {
	font-size: 22px;
	line-height: 1.25;
	margin: 0 0 6px;
	letter-spacing: -.3px;
	color: #202320
}

.ra-help-choose p {
	margin: 0;
	font-size: 16px;
	line-height: 1.5;
	color: #4b514b;
	max-width: 640px
}

.offices-index .ra-help-choose .ra-button, .ra-help-choose .ra-button {
	flex-shrink: 0;
	display: inline-flex;
	align-items: center;
	gap: 18px;
	min-height: 50px;
	padding: 13px 23px;
	background: #b61c21;
	color: #fff;
	text-decoration: none;
	font-weight: 700;
	font-size: 16px;
	border: 1px solid #b61c21
}

.ra-help-choose .ra-button:hover {
	background: #93161b
}

.offices-index .ra-help-choose {
	margin: 0 15px 6px
}

@media (min-width: 1230px) {
	.offices-index .ra-help-choose {
		margin-inline: auto;
		max-width: 1200px
	}
}

.ra-selector-wrap {
	padding-block: 34px 60px
}

.ra-selector-lead p:last-child {
	font-size: 18px;
	line-height: 1.6;
	max-width: 760px;
	margin: 0 0 30px
}

.ra-selector {
	background: #fff;
	border: 1px solid #ddded7;
	padding: 30px 34px 34px
}

.ra-selector:focus {
	outline: none
}

.ra-selector-progress {
	font-size: 13px;
	letter-spacing: 1.4px;
	text-transform: uppercase;
	font-weight: 700;
	color: #737c70;
	margin: 0 0 10px
}

.ra-selector-note {
	font-size: 15px;
	line-height: 1.55;
	color: #4b514b;
	margin: 0 0 16px
}

.ra-selector-fieldset {
	border: 0;
	padding: 0;
	margin: 0
}

.ra-selector-fieldset legend {
	padding: 0;
	max-width: 100%
}

.home-redesign .ra-selector-question {
	font-size: 27px;
	line-height: 1.25;
	letter-spacing: -.4px;
	margin: 0 0 6px
}

.ra-selector-question:focus {
	outline: none
}

.ra-selector-support {
	font-size: 16px;
	color: #4b514b;
	margin: 0 0 22px
}

.ra-selector-options {
	display: grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap: 12px;
	margin-bottom: 26px
}

.ra-selector-option {
	position: relative;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	border: 2px solid #ddded7;
	padding: 16px 18px;
	cursor: pointer;
	background: #fff;
	min-height: 88px;
	transition: border-color .15s, background .15s
}

.ra-selector-option:hover {
	border-color: #b5b8b0
}

.ra-selector-option.selected {
	border-color: #b61c21;
	background: #fbf4f4
}

.ra-selector-option input {
	margin: 4px 0 0;
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	accent-color: #b61c21
}

.ra-selector-option:has(input:focus-visible) {
	outline: 3px solid #202320;
	outline-offset: 2px
}

.ra-selector-option-text b {
	display: block;
	font-size: 16px;
	line-height: 1.3;
	margin-bottom: 4px
}

.ra-selector-option-text small {
	display: block;
	font-size: 14px;
	line-height: 1.45;
	color: #4b514b
}

.ra-selector-actions {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	align-items: center
}

.home-redesign .ra-selector .ra-button {
	cursor: pointer;
	gap: 16px;
	font-family: inherit
}

.home-redesign .ra-selector .ra-button:disabled {
	opacity: .6;
	cursor: default
}

.home-redesign .ra-selector .ra-button-secondary {
	background: #fff;
	color: #202320;
	border-color: #babcb5
}

.home-redesign .ra-selector .ra-button-secondary:hover {
	background: #f4f2ee;
	border-color: #202320
}

.ra-selector-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 6px 22px;
	border-bottom: 1px solid #e4e2dc;
	padding-bottom: 16px;
	margin-bottom: 22px
}

.home-redesign .ra-selector-summary .ra-eyebrow {
	margin: 0;
	width: 100%
}

.ra-selector-summary ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px
}

.ra-selector-summary li {
	background: #f4f2ee;
	padding: 6px 12px;
	font-size: 14px;
	font-weight: 700
}

.ra-selector-foot .ra-text-link, .ra-selector-summary .ra-text-link {
	background: none;
	border: 0;
	padding: 0;
	cursor: pointer;
	font-family: inherit
}

.ra-selector-intro {
	font-size: 17px;
	line-height: 1.55;
	max-width: 820px;
	margin: 0 0 22px
}

.ra-selector-draft {
	font-size: 14px;
	color: #7a4b00;
	background: #fff4dc;
	border: 1px solid #f0d28a;
	padding: 10px 14px;
	margin: 0 0 22px
}

.ra-selector-cards {
	list-style: none;
	margin: 0 0 26px;
	padding: 0;
	display: grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap: 22px
}

.ra-selector-card {
	border: 1px solid #ddded7;
	padding: 0 0 22px;
	display: flex;
	flex-direction: column;
	position: relative;
	background: #fff
}

.ra-selector-card img {
	width: 100%;
	height: auto;
	aspect-ratio: 3/2;
	object-fit: cover;
	display: block
}

.ra-selector-label {
	position: absolute;
	top: 12px;
	left: 12px;
	margin: 0;
	background: #202320;
	color: #fff;
	font-size: 12px;
	letter-spacing: .8px;
	text-transform: uppercase;
	font-weight: 700;
	padding: 6px 10px
}

.home-redesign .ra-selector-card h3 {
	font-size: 21px;
	margin: 18px 20px 4px;
	letter-spacing: -.25px
}

.ra-selector-address {
	margin: 0 20px 10px;
	font-size: 14px;
	color: #4b514b
}

.ra-selector-character, .ra-selector-reasons {
	margin: 0 20px 12px;
	font-size: 15px;
	line-height: 1.5
}

.ra-selector-reasons {
	padding: 0 0 0 22px
}

.ra-selector-reasons li {
	margin-bottom: 6px
}

.ra-selector-reasons li::marker {
	color: #186d52
}

.ra-selector-tradeoff {
	margin: 0 20px 12px;
	font-size: 14px;
	line-height: 1.5;
	color: #4b514b;
	border-left: 3px solid #e4e2dc;
	padding-left: 12px
}

.ra-selector-price {
	margin: auto 20px 16px;
	font-size: 18px;
	line-height: 1.4
}

.ra-selector-price small {
	display: block;
	font-size: 13px;
	line-height: 1.5;
	color: #4b514b;
	margin-top: 4px
}

.ra-selector-draft-tag {
	margin: 0 20px 10px;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .6px;
	color: #7a4b00
}

.ra-selector-cta {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0 20px;
	align-items: flex-start
}

.home-redesign .ra-selector-cta .ra-button {
	gap: 16px
}

.ra-selector-card .ra-selector-note {
	margin: 12px 20px 0;
	font-size: 13px
}

.ra-selector-foot {
	display: flex;
	flex-wrap: wrap;
	gap: 12px 28px;
	margin-bottom: 34px
}

.ra-selector-help {
	border-top: 1px solid #e4e2dc;
	padding-top: 28px
}

.home-redesign .ra-selector-help h3 {
	font-size: 23px;
	margin: 0 0 8px;
	letter-spacing: -.3px
}

.ra-selector-help p {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.55;
	color: #4b514b
}

.ra-selector-help .ra-form {
	max-width: 560px
}

.ra-selector-help .ra-form .ra-button {
	cursor: pointer;
	font-family: inherit
}

.ra-selector-guide-grid {
	display: grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap: 36px;
	margin-top: 26px
}

.home-redesign .ra-selector-guide-grid h3 {
	font-size: 20px;
	margin: 0 0 10px;
	letter-spacing: -.25px
}

.ra-selector-guide-grid p {
	font-size: 16px;
	line-height: 1.6;
	color: #4b514b;
	margin: 0
}

.ra-selector-method p {
	font-size: 16px;
	line-height: 1.65;
	max-width: 820px;
	margin: 0 0 16px
}

.ra-selector-all-tier {
	margin-top: 26px
}

.home-redesign .ra-selector-all-tier h3 {
	font-size: 18px;
	margin: 0 0 10px
}

.ra-selector-all-tier ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns:repeat(3, minmax(0, 1fr));
	gap: 8px 24px
}

.ra-selector-all-tier li {
	font-size: 15px;
	line-height: 1.45
}

.ra-selector-all-tier li span {
	color: #4b514b;
	font-size: 14px
}

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0
}

@media (max-width: 991px) {
	.ra-selector-all-tier ul, .ra-selector-cards, .ra-selector-guide-grid, .ra-selector-options {
		grid-template-columns:1fr 1fr
	}

	.ra-help-choose {
		flex-direction: column;
		align-items: flex-start
	}
}

@media (max-width: 767px) {
	.ra-selector {
		padding: 22px 18px 26px
	}

	.ra-selector-all-tier ul, .ra-selector-cards, .ra-selector-guide-grid, .ra-selector-options {
		grid-template-columns:1fr
	}

	.home-redesign .ra-selector-question {
		font-size: 23px
	}

	.ra-selector-option {
		min-height: 0
	}

	.ra-selector-actions .ra-button {
		width: 100%
	}

	.ra-help-choose {
		padding: 22px 20px
	}

	.ra-help-choose .ra-button {
		width: 100%;
		justify-content: center
	}
}

@media (prefers-reduced-motion: reduce) {
	.ra-selector-option {
		transition: none
	}
}

/* Compatibility with the existing Laravel/Bootstrap styles; these rules load only on / and /offices. */
body.ral-page-refresh {
	margin: 0;
	background: #fafafa;
	font: 16px/1.5 Lato, Arial, sans-serif
}

.ral-page-refresh .home-header {
	padding: 0;
	border: 0;
	display: block
}

.ral-page-refresh .home-footer {
	padding: 0
}

.ral-page-refresh .home-header nav, .ral-page-refresh .home-footer nav {
	margin: 0
}

.ral-page-refresh .home-header a, .ral-page-refresh .home-footer a, .ral-page-refresh .ra-office-card a {
	text-decoration: none
}

.ral-page-refresh .ra-hero h1 {
	color: inherit
}

.ral-page-refresh .office-marker {
	color: inherit;
	text-decoration: none
}

.ral-page-refresh .offices-tier {
	padding-top: 35px;
	padding-bottom: 35px
}

.ral-page-refresh .ra-office-image-link {
	background: #e8e8e8
}

.ral-page-refresh .footer-modal-open {
	border: 0;
	background: transparent;
	padding: 0
}

.ral-page-refresh .home-footer img {
	max-width: 100%
}

/* Offices-list styling from the staging offices stylesheet. */
.ral-page-refresh .tier-badge {
	display: inline-block;
	color: #fff;
	font-weight: 600;
	font-size: 14px;
	padding: 3px 10px;
	margin-right: 8px;
	vertical-align: middle
}

.ral-page-refresh .tier-badge.premium {
	background: #84409a
}

.ral-page-refresh .tier-badge.standard {
	background: #b61c21
}

.ral-page-refresh .tier-badge.budget {
	background: #44a0dc
}

.ral-page-refresh .offices-tier h2 {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 26px;
	margin: 0 0 18px
}

.ral-page-refresh .office-cta {
	background: #337ab7;
	color: #fff;
	text-align: center;
	padding: 36px 15px
}

.ral-page-refresh .office-cta h2 {
	color: #fff;
	font-size: 24px
}

.ral-page-refresh .office-cta p {
	max-width: 640px;
	margin: 0 auto 18px
}

.ral-page-refresh .office-cta-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px
}

@media (max-width: 600px) {
	.ral-page-refresh .offices-tier h2 {
		font-size: 22px;
		flex-wrap: wrap
	}
}
