.quote-page {
  --quote-ink: #202b35;
  --quote-blue: #0073b9;
  --quote-blue-dark: #005a8f;
  --quote-navy: #112b43;
  --quote-green: #a7ca31;
  --quote-line: #d7dee4;
  --quote-soft: #f3f5f6;
  --quote-muted: #5b6a75;
}

.quote-page .quote-container {
  max-width: 1316px;
}

.quote-page h1,
.quote-page h2,
.quote-page h3,
.quote-page p,
.quote-page span,
.quote-page label,
.quote-page button,
.quote-page a {
  overflow-wrap: anywhere;
}

.quote-breadcrumb {
  background: #fff;
}

.quote-intro {
  padding: 52px 0 46px;
  border-bottom: 1px solid var(--quote-line);
  background: #fff;
}

.quote-kicker {
  display: block;
  margin-bottom: 14px;
  color: var(--quote-blue);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.quote-intro h1 {
  max-width: 900px;
  margin: 0 0 18px;
  color: var(--quote-ink);
  font-size: 52px;
  line-height: 1.08;
  letter-spacing: 0;
}

.quote-intro p {
  max-width: 920px;
  margin: 0;
  color: var(--quote-muted);
  font-size: 18px;
  line-height: 1.65;
}

.quote-workspace {
  padding: 56px 0 76px;
  background: var(--quote-soft);
}

.quote-shell {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  align-items: start;
  gap: 28px;
}

.quote-progress {
  position: sticky;
  top: 142px;
  padding: 30px 26px;
  color: #fff;
  background: var(--quote-navy);
}

.quote-progress h2 {
  margin: 0 0 24px;
  color: #fff;
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: 0;
}

.quote-progress ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

.quote-progress li {
  position: relative;
  display: grid;
  grid-template-columns: 36px minmax(0, 1fr);
  gap: 12px;
  padding: 0 0 28px;
  color: rgba(255, 255, 255, .62);
}

.quote-progress li:not(:last-child)::after {
  position: absolute;
  top: 32px;
  bottom: 3px;
  left: 15px;
  width: 1px;
  content: "";
  background: rgba(255, 255, 255, .23);
}

.quote-progress li > span {
  width: 32px;
  height: 32px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, .34);
  color: inherit;
  font-size: 12px;
  font-weight: 700;
}

.quote-progress li strong,
.quote-progress li small {
  display: block;
}

.quote-progress li strong {
  margin-bottom: 4px;
  color: inherit;
  font-size: 15px;
}

.quote-progress li small {
  font-size: 12px;
  line-height: 1.45;
}

.quote-progress li.is-current {
  color: #fff;
}

.quote-progress li.is-current > span {
  border-color: var(--quote-green);
  color: var(--quote-navy);
  background: var(--quote-green);
}

.quote-progress li.is-complete > span {
  border-color: #fff;
  color: #fff;
}

.quote-attachment {
  margin-top: 4px;
  padding-top: 24px;
  border-top: 1px solid rgba(255, 255, 255, .22);
}

.quote-attachment h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 17px;
  letter-spacing: 0;
}

.quote-attachment p {
  margin: 0 0 12px;
  color: rgba(255, 255, 255, .72);
  font-size: 13px;
  line-height: 1.55;
}

.quote-attachment a {
  color: #fff;
  font-size: 13px;
  font-weight: 700;
}

.quote-form-area {
  min-width: 0;
  background: #fff;
}

.quote-noscript {
  margin: 20px 0 0 328px;
  color: #9b1c1c;
}

.quote-section {
  padding: 76px 0;
  background: #fff;
}

.quote-section > .quote-container > header {
  max-width: 820px;
  margin-bottom: 34px;
}

.quote-process {
  border-top: 1px solid var(--quote-line);
}

.quote-process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-top: 1px solid var(--quote-line);
  border-left: 1px solid var(--quote-line);
}

.quote-process article {
  min-height: 220px;
  padding: 28px;
  border-right: 1px solid var(--quote-line);
  border-bottom: 1px solid var(--quote-line);
}

.quote-process article h3 {
  margin: 0 0 10px;
  color: var(--quote-ink);
  font-size: 21px;
  line-height: 1.3;
  letter-spacing: 0;
}

.quote-process article p {
  margin: 0;
  color: var(--quote-muted);
  font-size: 15px;
  line-height: 1.65;
}

.quote-faq {
  background: var(--quote-soft);
}

.quote-faq-list {
  max-width: 1040px;
  border-top: 1px solid var(--quote-line);
}

.quote-faq-list details {
  border-bottom: 1px solid var(--quote-line);
}

.quote-faq-list summary {
  position: relative;
  padding: 22px 48px 22px 0;
  color: var(--quote-ink);
  cursor: pointer;
  font-size: 18px;
  font-weight: 700;
  list-style: none;
}

.quote-faq-list summary::-webkit-details-marker {
  display: none;
}

.quote-faq-list summary::after {
  position: absolute;
  top: 18px;
  right: 6px;
  content: "+";
  color: var(--quote-blue);
  font-size: 24px;
  font-weight: 400;
}

.quote-faq-list details[open] summary::after {
  content: "\2212";
}

.quote-faq-list details p {
  max-width: 900px;
  margin: -2px 0 22px;
  color: var(--quote-muted);
  font-size: 15px;
  line-height: 1.7;
}
