@layer reset, base, layout, components, pages;

@font-face {
	font-family: "Libre Franklin";
	font-style: normal;
	font-weight: 100 900;
	font-display: optional;
	src: url("/fonts/libre-franklin-100-900.woff2") format("woff2");
}

@font-face {
	font-family: "Libre Franklin";
	font-style: italic;
	font-weight: 100 900;
	font-display: optional;
	src: url("/fonts/libre-franklin-italic-100-900.woff2") format("woff2");
}

@layer reset {
	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}

	body, h1, h2, h3, h4, p, ul, ol, dl, dd, figure, fieldset, legend, table {
		margin: 0;
	}

	ul[class], ol[class] {
		padding: 0;
		list-style: none;
	}

	img, svg {
		display: block;
		max-inline-size: 100%;
		block-size: auto;
	}

	button, input, select, textarea {
		font: inherit;
		color: inherit;
	}

	address {
		font-style: normal;
	}

	dialog {
		border: 0;
		padding: 0;
	}

	fieldset {
		border: 0;
		padding: 0;
		min-inline-size: 0;
	}

	legend {
		padding: 0;
	}

	summary {
		cursor: pointer;
	}
}

@layer base {
	:root {
		--rw-graphite: oklch(20.9% 0.01 268.2);
		--rw-steel: oklch(38.7% 0.026 255.1);
		--rw-fog: oklch(95.4% 0.005 258.3);
		--rw-line: oklch(86.5% 0.013 255.5);
		--rw-signal: oklch(51.6% 0.188 261);
		--rw-signal-dark: oklch(38.9% 0.136 261.5);
		--rw-white: oklch(100% 0 0);
		--rw-caution: oklch(50% 0.182 29.5);
		--rw-column: 78rem;
		--rw-measure: 46rem;
		--rw-edge: clamp(1.25rem, 4vw, 2.5rem);
		--rw-band: clamp(3.5rem, 6vw, 6rem);
		--rw-gap: clamp(1.25rem, 2.5vw, 2.5rem);
		--rw-shadow: 0 0.75rem 2rem oklch(20.9% 0.01 268.2 / 0.12);
	}

	html {
		font-family: "Libre Franklin", "Franklin Gothic Medium", "Helvetica Neue", Arial, sans-serif;
		color: var(--rw-graphite);
		background: var(--rw-white);
		-webkit-text-size-adjust: 100%;
	}

	body {
		font-size: 1.0625rem;
		line-height: 1.6;
	}

	h1, h2, h3 {
		font-weight: 800;
		letter-spacing: -0.02em;
		line-height: 1.1;
		text-wrap: balance;
	}

	h1 {
		font-size: clamp(2.5rem, 2.5vw + 1.5rem, 4rem);
	}

	h2 {
		font-size: clamp(1.75rem, 1.5vw + 1rem, 2.5rem);
		margin-block-end: 1rem;
	}

	h3 {
		font-size: 1.25rem;
		line-height: 1.25;
		margin-block-end: 0.5rem;
	}

	p, ul, ol, dl, figure, table, form {
		margin-block-end: 1rem;
	}

	ul:not([class]), ol:not([class]) {
		padding-inline-start: 1.5rem;
	}

	ul:not([class]) li, ol:not([class]) li {
		margin-block-end: 0.375rem;
	}

	a {
		color: var(--rw-signal);
		text-decoration-thickness: 1px;
		text-underline-offset: 0.16em;

		&:hover {
			color: var(--rw-signal-dark);
			text-decoration-thickness: 2px;
		}
	}

	:focus-visible {
		outline: 3px solid var(--rw-signal);
		outline-offset: 2px;
	}

	table {
		inline-size: 100%;
		border-collapse: collapse;
		font-size: 0.9375rem;
		font-variant-numeric: tabular-nums;
		line-height: 1.5;
	}

	caption {
		caption-side: top;
		text-align: left;
		font-weight: 700;
		padding-block-end: 0.5rem;
	}

	th, td {
		border-block-end: 1px solid var(--rw-line);
		padding: 0.875rem 1.25rem 0.875rem 0;
		text-align: left;
		vertical-align: top;
	}

	thead th {
		border-block-end: 2px solid var(--rw-graphite);
		font-weight: 700;
	}

	tbody th {
		font-weight: 700;
	}

	dt {
		font-weight: 700;
	}

	dd {
		margin-block-end: 0.875rem;
	}

	strong {
		font-weight: 700;
	}
}

@layer layout {
	.rw-band-inner {
		inline-size: min(100% - 2 * var(--rw-edge), var(--rw-column));
		margin-inline: auto;
	}

	.rw-band {
		padding-block: var(--rw-band);
	}

	.rw-band-fog {
		background: var(--rw-fog);
	}

	.rw-band-dark {
		background: var(--rw-graphite);
		color: var(--rw-white);

		a {
			color: var(--rw-white);
		}
	}

	.rw-band-signal {
		background: var(--rw-signal);
		color: var(--rw-white);

		a {
			color: var(--rw-white);
		}
	}

	.rw-page {
		inline-size: min(100% - 2 * var(--rw-edge), var(--rw-column));
		margin-inline: auto;
		padding-block: var(--rw-band);
	}

	.rw-sheet {
		display: grid;
		grid-template-columns: repeat(12, minmax(0, 1fr));
		gap: var(--rw-gap);
	}

	.rw-body {
		grid-column: 1 / -1;
		max-inline-size: var(--rw-measure);
		container-type: inline-size;
	}

	.rw-side {
		grid-column: 1 / -1;
		display: grid;
		gap: 1.25rem;
		align-content: start;
	}

	@media (min-width: 70rem) {
		.rw-body {
			grid-column: 1 / span 8;
			max-inline-size: 50rem;
		}

		.rw-side {
			grid-column: 9 / -1;
			align-self: start;
		}
	}

	.rw-prose {
		max-inline-size: var(--rw-measure);
	}

	.rw-band-intro {
		max-inline-size: var(--rw-measure);
		margin-block-end: 1.75rem;
		font-size: 1.125rem;
	}
}

@layer components {
	.rw-skip {
		position: absolute;
		inset-inline-start: 1rem;
		inset-block-start: -100%;
		z-index: 10;
		padding: 0.75rem 1rem;
		background: var(--rw-white);
		color: var(--rw-graphite);
		font-weight: 700;

		&:focus {
			inset-block-start: 1rem;
		}
	}

	.rw-button {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-block-size: 3rem;
		padding: 0.625rem 1.5rem;
		background: var(--rw-signal);
		color: var(--rw-white);
		font-weight: 600;
		line-height: 1.2;
		text-align: center;
		text-decoration: none;
		border: 2px solid var(--rw-signal);
		cursor: pointer;

		&:hover {
			background: var(--rw-signal-dark);
			border-color: var(--rw-signal-dark);
			color: var(--rw-white);
		}
	}

	.rw-button-alt {
		background: transparent;
		color: var(--rw-graphite);
		border-color: var(--rw-graphite);

		&:hover {
			background: var(--rw-graphite);
			border-color: var(--rw-graphite);
			color: var(--rw-white);
		}
	}

	.rw-button-light {
		background: transparent;
		color: var(--rw-white);
		border-color: var(--rw-white);

		&:hover {
			background: var(--rw-white);
			border-color: var(--rw-white);
			color: var(--rw-graphite);
		}
	}

	.rw-button-white {
		background: var(--rw-white);
		color: var(--rw-graphite);
		border-color: var(--rw-white);

		&:hover {
			background: var(--rw-fog);
			border-color: var(--rw-fog);
			color: var(--rw-graphite);
		}
	}

	.rw-actions {
		display: flex;
		flex-wrap: wrap;
		gap: 0.75rem;
		margin-block: 1.5rem 0;
	}

	.rw-masthead {
		background: var(--rw-graphite);
		color: var(--rw-white);
	}

	.rw-masthead-inner {
		min-block-size: 4.5rem;
		display: flex;
		align-items: center;
		gap: 1.5rem;
	}

	.rw-brand {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		color: inherit;
		text-decoration: none;
		font-weight: 800;
		font-size: 1.125rem;
		letter-spacing: -0.01em;
		white-space: nowrap;

		&:hover {
			color: var(--rw-white);
		}
	}

	.rw-mark {
		inline-size: 2.5rem;
		block-size: 2.5rem;
		flex: none;
	}

	.rw-nav {
		display: none;
		margin-inline-start: auto;

		ul {
			display: flex;
			flex-wrap: nowrap;
			gap: 0;
			list-style: none;
			margin: 0;
			padding: 0;
		}

		li {
			margin: 0;
		}

		a {
			display: inline-block;
			padding: 0.5rem;
			color: var(--rw-white);
			font-weight: 600;
			font-size: 0.9375rem;
			white-space: nowrap;
			text-decoration: none;
			border-block-end: 2px solid transparent;

			&:hover {
				color: var(--rw-white);
				border-color: var(--rw-line);
			}

			&[aria-current] {
				border-color: var(--rw-signal);
			}
		}
	}

	.rw-masthead-actions {
		display: none;
		align-items: center;
		gap: 1rem;
	}

	.rw-masthead-phone {
		color: var(--rw-white);
		font-weight: 600;
		text-decoration: none;
		white-space: nowrap;

		&:hover {
			color: var(--rw-white);
			text-decoration: underline;
		}
	}

	.rw-menu-button,
	.rw-menu-close {
		min-inline-size: 2.75rem;
		min-block-size: 2.75rem;
		padding: 0.5rem 1rem;
		background: transparent;
		color: var(--rw-white);
		border: 2px solid var(--rw-white);
		font-weight: 600;
		cursor: pointer;

		&:hover {
			background: var(--rw-white);
			color: var(--rw-graphite);
		}
	}

	.rw-menu-button {
		margin-inline-start: auto;
	}

	.rw-masthead-actions .rw-button {
		white-space: nowrap;
	}

	.rw-masthead-phone {
		display: none;
	}

	@media (min-width: 75rem) {
		.rw-nav {
			display: block;
		}

		.rw-masthead-actions {
			display: flex;
		}

		.rw-menu-button {
			display: none;
		}
	}

	@media (min-width: 88rem) {
		.rw-masthead-phone {
			display: inline;
		}
	}

	.rw-menu-dialog {
		inline-size: min(100%, 24rem);
		max-inline-size: 100%;
		block-size: 100dvh;
		max-block-size: 100dvh;
		margin: 0 0 0 auto;
		padding: 1.25rem var(--rw-edge) 2rem;
		background: var(--rw-graphite);
		color: var(--rw-white);
		overflow-y: auto;

		&::backdrop {
			background: oklch(20.9% 0.01 268.2 / 0.65);
		}

		ul {
			display: grid;
			margin-block: 1.5rem;
			list-style: none;
			padding: 0;
		}

		li {
			margin: 0;
		}

		nav a {
			display: block;
			padding: 0.875rem 0;
			color: var(--rw-white);
			font-weight: 600;
			font-size: 1.125rem;
			text-decoration: none;
			border-block-end: 1px solid var(--rw-steel);

			&[aria-current] {
				color: var(--rw-line);
				padding-inline-start: 0.75rem;
				border-inline-start: 2px solid var(--rw-signal);
			}
		}

		p a {
			color: var(--rw-white);
		}

		.rw-actions {
			margin-block: 0 1.5rem;
		}
	}

	.rw-page-head {
		background: var(--rw-graphite);
		color: var(--rw-white);
		padding-block: clamp(2.5rem, 4vw, 4rem);

		h1 {
			color: var(--rw-white);
			max-inline-size: 60rem;
			margin-block-end: 1rem;
		}

		.rw-actions {
			margin-block-start: 1.75rem;
		}
	}

	.rw-page-head-text {
		max-inline-size: var(--rw-measure);
		font-size: 1.125rem;
		color: var(--rw-fog);
		margin: 0;

		a {
			color: var(--rw-white);
		}
	}

	.rw-crumbs-nav {
		margin-block-end: 1.5rem;
		font-size: 0.9375rem;
	}

	.rw-crumbs {
		display: flex;
		flex-wrap: wrap;
		gap: 0.25rem 0;

		li {
			margin: 0;
		}

		li + li::before {
			content: "/";
			padding-inline: 0.5rem;
			color: var(--rw-steel);
		}

		a {
			color: var(--rw-line);
			text-decoration: none;

			&:hover {
				color: var(--rw-white);
				text-decoration: underline;
			}
		}

		[aria-current] {
			color: var(--rw-white);
			font-weight: 600;
		}
	}

	.rw-cover {
		position: relative;
		isolation: isolate;
		overflow: hidden;
		display: grid;
		align-items: center;
		min-block-size: 32rem;
		padding-block: clamp(3rem, 5vw, 5rem);
		background: var(--rw-graphite);
		color: var(--rw-white);

		&::before {
			content: "";
			position: absolute;
			inset: 0;
			z-index: -1;
			background: linear-gradient(100deg, oklch(20.9% 0.01 268.2 / 0.94) 0%, oklch(20.9% 0.01 268.2 / 0.8) 45%, oklch(20.9% 0.01 268.2 / 0.5) 100%);
		}

		h1 {
			color: var(--rw-white);
			margin-block-end: 1rem;
		}
	}

	.rw-cover-image {
		position: absolute;
		inset: 0;
		z-index: -2;
		inline-size: 100%;
		block-size: 100%;
		object-fit: cover;
	}

	.rw-cover-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: var(--rw-gap);

		> * {
			min-inline-size: 0;
		}
	}

	.rw-cover-line {
		max-inline-size: 36rem;
		font-size: 1.25rem;
		color: var(--rw-fog);
	}

	.rw-cover-office {
		margin-block: 1.5rem 0;
		color: var(--rw-line);

		a {
			color: var(--rw-white);
			font-weight: 600;
		}
	}

	@media (min-width: 70rem) {
		.rw-cover {
			min-block-size: 35rem;
		}

		.rw-cover-grid {
			grid-template-columns: repeat(12, minmax(0, 1fr));
			align-items: center;
		}

		.rw-cover-text {
			grid-column: 1 / span 7;
		}

		.rw-starter {
			grid-column: 9 / -1;
		}
	}

	.rw-starter {
		display: grid;
		grid-template-columns: minmax(0, 1fr);
		gap: 1rem;

		* {
			min-inline-size: 0;
		}

		select {
			inline-size: 100%;
			max-inline-size: 100%;
		}

		margin: 0;
		padding: 1.5rem;
		background: var(--rw-white);
		color: var(--rw-graphite);
		border: 1px solid var(--rw-line);

		h2 {
			font-size: 1.375rem;
			margin: 0;
		}

		.rw-actions {
			margin: 0.25rem 0 0;
		}

		.rw-button {
			inline-size: 100%;
		}
	}

	.rw-facts {
		display: grid;
		gap: 1.5rem var(--rw-gap);
		margin: 0;

		dt {
			font-size: 0.9375rem;
			font-weight: 700;
			margin-block-end: 0.375rem;
		}

		dd {
			margin: 0;
			font-size: 1.125rem;
			line-height: 1.5;
		}
	}

	@media (min-width: 45rem) {
		.rw-facts {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	@media (min-width: 70rem) {
		.rw-facts {
			grid-template-columns: repeat(4, 1fr);

			> div + div {
				padding-inline-start: var(--rw-gap);
				border-inline-start: 1px solid var(--rw-line);
			}
		}
	}

	.rw-groups {
		display: grid;
		gap: var(--rw-gap);
		margin-block-end: 1.5rem;
	}

	.rw-group {
		background: var(--rw-white);
		border: 1px solid var(--rw-line);
		padding: 1.25rem 1.5rem;

		h3 {
			margin-block-end: 0.5rem;
			padding-block-end: 0.75rem;
			border-block-end: 1px solid var(--rw-line);
		}

		ul {
			margin: 0;
			padding: 0;
			list-style: none;
		}

		li {
			margin: 0;
		}

		li + li {
			border-block-start: 1px solid var(--rw-line);
		}

		a {
			display: block;
			padding: 0.625rem 0;
			color: var(--rw-graphite);
			font-weight: 600;
			text-decoration: none;

			&:hover {
				color: var(--rw-signal);
				text-decoration: underline;
			}
		}
	}

	@media (min-width: 45rem) {
		.rw-groups {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	@media (min-width: 70rem) {
		.rw-groups {
			grid-template-columns: repeat(4, 1fr);
		}
	}

	.rw-split {
		display: grid;
		gap: var(--rw-gap);
		align-items: start;

		img {
			inline-size: 100%;
			aspect-ratio: 4 / 3;
			object-fit: cover;
		}

		p {
			max-inline-size: var(--rw-measure);
		}
	}

	@media (min-width: 70rem) {
		.rw-split {
			grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);

			img {
				aspect-ratio: 4 / 5;
			}
		}
	}

	.rw-levels {
		background: var(--rw-white);
		border: 1px solid var(--rw-line);
		margin-block: 1.25rem;

		caption {
			padding: 0.75rem 1rem 0.25rem;
		}

		th, td {
			padding: 0.75rem 1rem;
		}

		th[scope="row"] {
			white-space: nowrap;
		}
	}

	.rw-engagements {
		display: grid;
		gap: var(--rw-gap);
	}

	.rw-engagement {
		display: grid;
		align-content: start;
		gap: 0.75rem;
		padding: 1.5rem;
		background: var(--rw-white);
		border: 1px solid var(--rw-line);

		h3 {
			margin: 0;
		}

		p {
			margin: 0;
		}

		dl {
			display: grid;
			gap: 0.125rem;
			margin: 0;
			padding-block-start: 0.75rem;
			border-block-start: 1px solid var(--rw-line);
			font-size: 0.9375rem;
		}

		dt {
			font-size: 0.875rem;
			color: var(--rw-steel);
		}

		dd {
			margin: 0 0 0.5rem;
		}

		a {
			font-weight: 600;
		}
	}

	@media (min-width: 45rem) {
		.rw-engagements {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	@media (min-width: 70rem) {
		.rw-engagements {
			grid-template-columns: repeat(4, 1fr);
		}
	}

	.rw-markets {
		display: grid;
		gap: var(--rw-gap);
		align-items: center;
	}

	@media (min-width: 70rem) {
		.rw-markets {
			grid-template-columns: 7fr 5fr;
		}
	}

	.rw-map-figure {
		margin: 0;

		figcaption {
			padding-block-start: 0.75rem;
			font-size: 0.875rem;
			color: var(--rw-line);
		}
	}

	.rw-market-map {
		inline-size: 100%;
		block-size: auto;

		path {
			fill: var(--rw-steel);
			stroke: var(--rw-graphite);
			stroke-width: 1;
		}

		.rw-covered {
			fill: oklch(48% 0.03 255);
		}
	}

	.rw-pin circle {
		fill: var(--rw-signal);
		stroke: var(--rw-white);
		stroke-width: 1.5;
	}

	.rw-pin:hover circle,
	.rw-pin:focus circle {
		fill: var(--rw-white);
		r: 9;
	}

	.rw-pin-office rect {
		fill: var(--rw-white);
		stroke: var(--rw-signal);
		stroke-width: 2;
	}

	.rw-jurisdictions {
		display: grid;
		gap: 0.75rem 1.5rem;
		margin-block: 1.5rem 0;

		li {
			padding-block-start: 0.5rem;
			border-block-start: 1px solid var(--rw-steel);
		}

		a {
			color: var(--rw-white);
			font-weight: 700;
			text-decoration: none;

			&:hover {
				text-decoration: underline;
			}
		}

		p {
			margin: 0.125rem 0 0;
			font-size: 0.875rem;
			color: var(--rw-line);
		}
	}

	@media (min-width: 45rem) {
		.rw-jurisdictions {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	.rw-tiles {
		display: grid;
		gap: var(--rw-gap);
		margin-block-end: 1.5rem;

		li {
			margin: 0;
		}
	}

	.rw-tile {
		display: block;
		block-size: 100%;
		padding: 1.25rem 1.5rem;
		background: var(--rw-white);
		color: var(--rw-graphite);
		text-decoration: none;
		border: 1px solid var(--rw-line);
		transition: border-color 150ms ease, box-shadow 150ms ease;

		h3 {
			margin-block-end: 0.5rem;
			color: var(--rw-graphite);
		}

		p {
			margin: 0;
			font-size: 0.9375rem;
			color: var(--rw-steel);
		}

		&:hover {
			color: var(--rw-graphite);
			border-color: var(--rw-signal);
			box-shadow: var(--rw-shadow);

			h3 {
				color: var(--rw-signal);
			}
		}
	}

	@media (prefers-reduced-motion: reduce) {
		.rw-tile {
			transition: none;
		}
	}

	@media (min-width: 45rem) {
		.rw-tiles {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	@media (min-width: 70rem) {
		.rw-tiles {
			grid-template-columns: repeat(3, 1fr);
		}

		.rw-tiles.rw-cols-2 {
			grid-template-columns: repeat(2, 1fr);
		}

		.rw-tiles.rw-cols-4 {
			grid-template-columns: repeat(4, 1fr);
		}
	}

	.rw-body .rw-tiles {
		grid-template-columns: 1fr;
	}

	@container (min-width: 36rem) {
		.rw-body .rw-tiles {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	.rw-steps {
		counter-reset: rw-step;
		display: grid;
		gap: var(--rw-gap);
		margin-block: 1.5rem 0;

		li {
			counter-increment: rw-step;
			display: grid;
			grid-template-columns: 2.5rem 1fr;
			gap: 0.25rem 1rem;
			align-items: start;
			margin: 0;

			&::before {
				content: counter(rw-step);
				grid-row: 1 / span 2;
				display: grid;
				place-items: center;
				inline-size: 2.5rem;
				block-size: 2.5rem;
				background: var(--rw-graphite);
				color: var(--rw-white);
				font-weight: 800;
			}
		}

		h3 {
			font-size: 1.125rem;
			margin: 0.375rem 0 0.25rem;
		}

		p {
			margin: 0;
			font-size: 0.9375rem;
			color: var(--rw-steel);
		}
	}

	@media (min-width: 45rem) {
		.rw-steps {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	@media (min-width: 70rem) {
		.rw-steps {
			grid-template-columns: repeat(5, 1fr);
		}
	}

	.rw-intake {
		h2 {
			color: var(--rw-white);
		}

		p {
			max-inline-size: var(--rw-measure);
			font-size: 1.125rem;
		}

		.rw-actions {
			margin-block-start: 1.5rem;
		}
	}

	.rw-body {
		h2 {
			margin-block: 2.5rem 0.75rem;
		}

		h3 {
			margin-block: 1.5rem 0.5rem;
		}

		> p:first-child,
		> h2:first-child {
			margin-block-start: 0;
		}
	}

	.rw-req {
		container-type: inline-size;
		padding: 1.25rem 1.5rem 0.75rem;
		background: var(--rw-white);
		border: 1px solid var(--rw-line);
		box-shadow: var(--rw-shadow);

		h2 {
			margin-block: 0 0.75rem;
			font-size: 1.125rem;
		}

		dl {
			margin: 0;
		}
	}

	.rw-req-row {
		display: grid;
		gap: 0.125rem 1rem;
		padding-block: 0.625rem;
		border-block-start: 1px solid var(--rw-line);

		dt {
			font-size: 0.875rem;
			color: var(--rw-steel);
		}

		dd {
			margin: 0;
			font-size: 0.9375rem;
		}
	}

	@container (min-width: 30rem) {
		.rw-req-row {
			grid-template-columns: 10rem 1fr;
		}
	}

	.rw-req .rw-contact-sheet {
		padding: 0;
		background: none;
		border: 0;
		gap: 0.25rem 1rem;

		dt {
			padding-block-start: 0.625rem;
			border-block-start: 1px solid var(--rw-line);
			font-size: 0.875rem;
			color: var(--rw-steel);
		}

		dd {
			margin-block-end: 0.625rem;
			font-size: 0.9375rem;
		}
	}

	.rw-contact-card {
		padding: 1.25rem 1.5rem;
		background: var(--rw-white);
		border: 1px solid var(--rw-line);

		h2 {
			margin-block: 0 0.5rem;
			font-size: 1.125rem;
		}

		p {
			margin: 0 0 0.375rem;
			font-size: 0.9375rem;
		}

		a {
			font-weight: 600;
		}
	}

	.rw-fact-cards {
		display: grid;
		gap: 1rem;
		margin-block: 1rem 1.5rem;

		li {
			margin: 0;
			padding: 1rem 1.25rem;
			background: var(--rw-white);
			border: 1px solid var(--rw-line);
		}

		h3 {
			font-size: 1.0625rem;
			margin-block: 0 0.375rem;
		}

		p {
			margin: 0;
			font-size: 0.9375rem;
		}
	}

	@container (min-width: 40rem) {
		.rw-fact-cards {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	.rw-linklist {
		container-type: inline-size;
		margin-block: 0.5rem 1.5rem;

		ul {
			display: grid;
			gap: 0 2rem;
			list-style: none;
			margin: 0;
			padding: 0;
			border-block-start: 1px solid var(--rw-line);
		}

		li {
			margin: 0;
			border-block-end: 1px solid var(--rw-line);
		}

		a {
			display: block;
			padding: 0.625rem 0;
			color: var(--rw-graphite);
			font-weight: 600;
			text-decoration: none;

			&:hover {
				color: var(--rw-signal);
				text-decoration: underline;
			}
		}
	}

	@container (min-width: 40rem) {
		.rw-linklist ul {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	.rw-questions {
		margin-block-start: 2rem;
	}

	.rw-question {
		margin-block-end: 0.75rem;
		background: var(--rw-white);
		border: 1px solid var(--rw-line);

		summary {
			display: flex;
			justify-content: space-between;
			gap: 1rem;
			padding: 0.875rem 1.25rem;
			font-weight: 700;
			list-style: none;

			&::-webkit-details-marker {
				display: none;
			}

			&::after {
				content: "+";
				flex: none;
				font-weight: 400;
				color: var(--rw-steel);
			}
		}

		&[open] summary::after {
			content: "\2212";
		}

		p {
			margin: 0;
			padding: 0 1.25rem 1rem;
		}

		p + p {
			padding-block-start: 0.5rem;
		}
	}

	.rw-terms {
		margin-block: 1rem 1.5rem;
		border-block-start: 1px solid var(--rw-line);

		dt {
			padding-block: 0.875rem 0.25rem;
		}

		dt + dt,
		dd + dt {
			border-block-start: 1px solid var(--rw-line);
		}

		dd {
			margin-block-end: 0.875rem;
		}
	}

	.rw-table-scroll {
		overflow-x: auto;
		margin-block-end: 1.5rem;
	}

	.rw-models {
		min-inline-size: 44rem;
		background: var(--rw-white);

		th[scope="row"] {
			inline-size: 11rem;
		}
	}

	.rw-clearance-table {
		min-inline-size: 38rem;
	}

	.rw-process {
		counter-reset: rw-step;
		margin-block: 1.5rem 2rem;

		> li {
			counter-increment: rw-step;
			display: grid;
			grid-template-columns: 2.5rem 1fr;
			column-gap: 1rem;
			padding-block: 1.25rem;
			border-block-start: 1px solid var(--rw-line);
			margin: 0;

			&::before {
				content: counter(rw-step);
				grid-row: 1 / span 3;
				display: grid;
				place-items: center;
				inline-size: 2.5rem;
				block-size: 2.5rem;
				background: var(--rw-graphite);
				color: var(--rw-white);
				font-weight: 800;
			}

			h3 {
				grid-column: 2;
				margin-block: 0.375rem 0.5rem;
			}

			p {
				grid-column: 2;
				margin-block-end: 0.5rem;
			}
		}
	}

	.rw-photo {
		margin-block: 1.5rem 2rem;

		img {
			inline-size: 100%;
			aspect-ratio: 3 / 2;
			object-fit: cover;
		}

		figcaption {
			padding-block-start: 0.5rem;
			font-size: 0.875rem;
			color: var(--rw-steel);
		}
	}

	.rw-contact-wrap {
		container-type: inline-size;
	}

	.rw-contact-sheet {
		display: grid;
		gap: 0.5rem 1.5rem;
		padding: 1.25rem;
		background: var(--rw-fog);
		border: 1px solid var(--rw-line);

		dd {
			margin-block-end: 0.75rem;
		}
	}

	@container (min-width: 36rem) {
		.rw-contact-sheet {
			grid-template-columns: 9rem 1fr;
		}
	}

	.rw-requisition {
		container-type: inline-size;
		display: grid;
		gap: 1.25rem;
		max-inline-size: 42rem;
		margin-block: 1.5rem 2rem;
		padding: 1.5rem;
		background: var(--rw-white);
		border: 1px solid var(--rw-line);
	}

	.rw-fieldset {
		display: grid;
		gap: 1rem;

		legend {
			font-weight: 800;
			font-size: 1.125rem;
			margin-block-end: 0.75rem;
		}
	}

	@container (min-width: 36rem) {
		.rw-fieldset {
			grid-template-columns: 1fr 1fr;

			legend {
				grid-column: 1 / -1;
			}
		}
	}

	.rw-field {
		display: grid;
		gap: 0.25rem;
		align-content: start;

		label {
			font-weight: 700;
			font-size: 0.9375rem;
		}

		input, select, textarea {
			min-block-size: 3rem;
			padding: 0.5rem 0.75rem;
			border: 1px solid var(--rw-steel);
			border-radius: 0;
			background: var(--rw-white);
		}

		textarea {
			resize: vertical;
			min-block-size: 7rem;
		}

		[aria-invalid="true"] {
			border: 2px solid var(--rw-caution);
		}
	}

	.rw-hint {
		margin: 0;
		font-size: 0.875rem;
		color: var(--rw-steel);
	}

	.rw-fault {
		margin: 0;
		font-size: 0.9375rem;
		font-weight: 600;
		color: var(--rw-caution);
	}

	.rw-req-summary {
		display: grid;
		gap: 0.75rem;

		&:not(:empty) {
			padding: 1.25rem;
			background: var(--rw-fog);
			border: 1px solid var(--rw-line);
		}

		h2 {
			margin: 0;
			font-size: 1.25rem;
		}

		dl {
			margin: 0;
		}
	}

	.rw-footer {
		padding-block: var(--rw-band) 2rem;
		background: var(--rw-graphite);
		color: var(--rw-line);
		font-size: 0.9375rem;

		h2 {
			margin-block: 0 0.75rem;
			font-size: 1rem;
			color: var(--rw-white);
		}

		a {
			color: var(--rw-white);
			text-decoration: none;

			&:hover {
				color: var(--rw-white);
				text-decoration: underline;
			}
		}
	}

	.rw-footer-inner {
		display: grid;
		gap: 2rem;
	}

	@media (min-width: 45rem) {
		.rw-footer-inner {
			grid-template-columns: repeat(2, 1fr);
		}
	}

	@media (min-width: 70rem) {
		.rw-footer-inner {
			grid-template-columns: 1.1fr 1fr 1.3fr 1fr 1.2fr;
		}
	}

	.rw-footer-nav ul {
		display: grid;
		gap: 0.375rem;
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.rw-footer-nav li {
		margin: 0;
	}

	.rw-footer-office {
		p {
			margin-block-end: 0.5rem;
		}

		address {
			margin-block-end: 0.75rem;
			color: var(--rw-white);
		}
	}

	.rw-legal {
		margin-block: 2.5rem 0;
		padding-block-start: 1.5rem;
		border-block-start: 1px solid var(--rw-steel);
		font-size: 0.875rem;
		color: var(--rw-line);
	}
}

@layer pages {
	.rw-sheet-full .rw-body {
		max-inline-size: var(--rw-measure);
	}
}
