/* Four persistent actions, with a distinct primary application action. */
.quick-dock {
  position: fixed;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  width: 142px;
  z-index: 25;
  transition: right .22s ease
}

.quick-dock-links {
  overflow: hidden;
  border: 1px solid #e2ded6;
  border-radius: 14px;
  background: var(--white);
  box-shadow: 0 12px 35px #25262026
}

.quick-dock-links>a {
  display: flex;
  gap: 9px;
  align-items: center;
  justify-content: center;
  min-height: 68px;
  padding: 15px 8px;
  font-size: 14px;
  font-weight: 700;
  border-bottom: 1px solid #e8e4dc;
  line-height: 1.45;
  transition: background .2s
}

.quick-dock-links>a:last-child {
  border: 0
}

.quick-dock-links>a:hover {
  background: #f0eee7
}

.quick-dock-links svg {
  width: 23px;
  height: 23px;
  flex-shrink: 0
}

.quick-dock-links .dock-apply {
  flex-direction: column;
  gap: 11px;
  min-height: 128px;
  background: #ed542f;
  color: white;
  border: 0;
  text-align: center
}

.dock-apply small {
  display: block;
  font-size: 15px;
  font-weight: 700
}

.dock-apply strong {
  display: block;
  font-size: 19px
}

.quick-dock-links .dock-apply:hover {
  background: #cd3a1c
}

.quick-dock-links .dock-apply svg {
  width: 28px;
  height: 28px
}

.dock-phone {
  color: #2163ab
}

.dock-support svg {
  color: #ae7800
}

.dock-toggle {
  position: absolute;
  left: -32px;
  top: 20px;
  width: 33px;
  height: 48px;
  border: 1px solid #e2ded6;
  border-right: 0;
  background: var(--white);
  border-radius: 9px 0 0 9px;
  font-size: 28px;
  line-height: 1;
  box-shadow: -5px 0 12px #25262008
}

.quick-dock.is-collapsed {
  right: -142px
}

.quick-dock.is-collapsed .quick-dock-links {
  visibility: hidden
}

.quick-dock.is-collapsed .dock-toggle span {
  display: block;
  transform: rotate(180deg)
}

.quick-dock-links>a:focus-visible {
  outline-offset: -4px;
  outline-color: var(--orange)
}

.quick-dock-links .dock-apply:focus-visible {
  outline-color: #fff
}

.support-section {
  padding-bottom: 0
}

.support-panel {
  display: grid;
  grid-template-columns: 1fr 1.15fr;
  gap: 50px;
  border: 1px solid #d9d5c8;
  border-radius: 12px;
  background: #eeece2;
  padding: 48px
}

.support-panel h2 {
  font-size: 32px
}

.support-panel p {
  font-size: 13px;
  line-height: 1.9;
  color: var(--muted)
}

.support-detail ol {
  list-style: none;
  counter-reset: support;
  padding: 0;
  margin: 0 0 28px
}

.support-detail li {
  counter-increment: support;
  position: relative;
  padding: 0 0 23px 42px
}

.support-detail li:before {
  content: counter(support, decimal-leading-zero);
  position: absolute;
  left: 0;
  top: 3px;
  font: 700 12px Manrope, sans-serif;
  color: var(--orange)
}

.support-detail li strong, .support-detail li span {
  display: block
}

.support-detail li strong {
  font-size: 16px;
  margin-bottom: 6px
}

.support-detail li span {
  font-size: 12px;
  line-height: 1.8;
  color: var(--muted)
}

.support-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px
}

.support-actions .button {
  font-size: 12px
}

.support-detail .support-note {
  font-size: 11px;
  line-height: 1.8;
  margin: 20px 0 10px
}

.support-source {
  font-size: 10px;
  line-height: 1.7;
  display: inline-block;
  text-decoration: underline;
  text-underline-offset: 3px;
  color: #65675d
}

/* Reserve the same space on both sides: 142px dock + 16px offset + 32px toggle + 10px clearance. */
@media(min-width: 1280px) {
  .container {
    width: min(1280px, calc(100% - 400px));
    margin-inline: auto
  }

  .hero-conversion {
    gap: 35px
  }

  .quick-panel {
    padding: 25px
  }

  .hero-conversion h1 {
    font-size: clamp(42px, 4vw, 62px)
  }
}

@media(max-width: 1279px) {
  body {
    padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px))
  }

  .quick-dock, .quick-dock.is-collapsed {
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    width: auto;
    transform: none;
    background: var(--white);
    padding: 0 12px env(safe-area-inset-bottom, 0px);
    border-top: 1px solid #e4e0d7;
    box-shadow: 0 -5px 22px #25262013;
    transition: none
  }

  .quick-dock-links, .quick-dock.is-collapsed .quick-dock-links {
    display: grid;
    grid-template-columns: 1.25fr 1fr 1fr;
    visibility: visible;
    overflow: visible;
    box-shadow: none;
    border: 0;
    border-radius: 0;
    background: transparent
  }

  .quick-dock-links>a {
    min-height: 76px;
    flex-direction: column;
    gap: 5px;
    border: 0;
    padding: 10px 4px;
    font-size: 12px
  }

  .quick-dock-links .dock-apply {
    min-height: 76px;
    flex-direction: row;
    gap: 7px;
    margin: 7px 5px 7px 0;
    border-radius: 8px;
    padding: 8px;
    min-height: 62px
  }

  .dock-apply small {
    font-size: 10px
  }

  .dock-apply strong {
    font-size: 14px
  }

  .quick-dock-links svg {
    width: 23px;
    height: 23px
  }

  .quick-dock-links .dock-apply svg {
    width: 21px;
    height: 21px
  }

  .dock-toggle {
    display: none
  }

  .quick-dock-links>a:focus-visible {
    outline-offset: -2px
  }

  .support-panel {
    padding: 35px;
    gap: 30px
  }
}

@media(max-width: 900px) {
  .support-panel {
    grid-template-columns: 1fr;
    gap: 24px
  }

  .support-panel h2 {
    font-size: 29px
  }

  .support-detail ol {
    margin-bottom: 10px
  }
}

@media(max-width: 600px) {
  .quick-dock, .quick-dock.is-collapsed {
    padding-inline: 7px
  }

  .quick-dock-links .dock-apply {
    flex-direction: column;
    gap: 2px;
    margin-right: 3px
  }

  .quick-dock-links .dock-apply svg {
    display: none
  }

  .dock-apply small {
    font-size: 10px
  }

  .dock-apply strong {
    font-size: 14px
  }

  .quick-dock-links>a {
    font-size: 12px;
    letter-spacing: -.4px
  }

  .support-panel {
    padding: 25px
  }

  .support-panel h2 {
    font-size: 27px
  }

  .support-panel p {
    font-size: 12px
  }

  .support-actions {
    flex-direction: column
  }

  .support-source {
    font-size: 9px
  }
}

@media(max-width: 360px) {
  .quick-dock-links>a {
    font-size: 11px
  }

  .dock-apply strong {
    font-size: 13px
  }
}

@media(prefers-reduced-motion:reduce) {
  .quick-dock, .hero-motion video {
    transition: none
  }
}

/* The supplied site footage fills the entire hero, behind copy and the form. */
.hero.hero-background {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 0;
  background: #171d19
}

.hero-background .hero-motion {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
  background: #171d19
}

.hero-background .hero-motion>img, .hero-background .hero-motion video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 54%;
  filter: none;
  pointer-events: none
}

.hero-background .hero-motion video {
  opacity: 1
}

.hero-background .hero-motion:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(12, 19, 15, .78) 0%, rgba(12, 19, 15, .63) 42%, rgba(12, 19, 15, .36) 100%), linear-gradient(180deg, rgba(9, 14, 11, .14) 0%, transparent 50%, rgba(9, 14, 11, .68) 100%)
}

.hero-background .hero-content {
  position: relative;
  z-index: 1;
  padding-top: 28px
}

.hero-background .hero-topline {
  color: #f6f5ee
}

.hero-background .edition {
  color: #e4e7df
}

.hero-background .hero-conversion {
  min-height: 650px;
  align-items: center;
  padding: 54px 0;
  gap: 48px
}

.hero-background .hero-main {
  min-width: 0;
  padding: 20px 0 48px;
  color: #fff
}

.hero-background .hero-kicker {
  color: #f0f2eb;
  font-size: 13px;
  letter-spacing: .15px;
  margin-bottom: 25px
}

.hero-background h1 {
  color: #fff;
  text-shadow: 0 2px 22px #0003;
  line-height: 1.35
}

.hero-background .underlined:after {
  background: #ff7954;
  height: 4px;
  bottom: -7px
}

.hero-background .hero-description {
  color: #f2f2ed;
  font-size: 16px;
  line-height: 1.95;
  margin: 32px 0
}

.hero-background .hero-apply {
  box-shadow: 0 10px 30px #0003
}

.hero-background .quick-panel {
  align-self: center;
  background: #fffefa;
  box-shadow: 0 20px 60px #0003
}

.hero-background .hero-bottom {
  border-color: #ffffff38;
  color: #f2f3ed;
  padding: 22px 0 26px
}

.hero-background .hero-bottom>span:before {
  color: #ff987a
}

.hero-background .hero-bottom a {
  color: #e0e4da
}

@media(min-width: 1680px) {
  .hero-background .hero-conversion {
    min-height: 730px;
    gap: 70px
  }

  .hero-background h1 {
    font-size: 68px
  }
}

@media(max-width: 1100px) {
  .hero-background .hero-conversion {
    gap: 32px
  }

  .hero-background .hero-description {
    font-size: 15px
  }
}

@media(max-width: 900px) {
  .hero-background .hero-conversion {
    gap: 24px
  }

  .hero-background .hero-kicker {
    font-size: 11px
  }

  .hero-background .hero-description {
    font-size: 14px
  }
}

@media(max-width: 600px) {
  .hero-background .hero-content {
    padding-top: 23px
  }

  .hero-background .hero-topline {
    font-size: 9px;
    letter-spacing: 1.2px
  }

  .hero-background .edition {
    font-size: 10px
  }

  .hero-background .hero-motion>img, .hero-background .hero-motion video {
    object-position: center;
    filter: none
  }

  .hero-background .hero-motion:after {
    background: linear-gradient(180deg, rgba(12, 19, 15, .66) 0%, rgba(12, 19, 15, .57) 30%, rgba(12, 19, 15, .77) 58%, rgba(12, 19, 15, .95) 100%)
  }

  .hero-background .hero-conversion {
    min-height: 0;
    padding: 0 0 26px;
    gap: 0
  }

  .hero-background .hero-main {
    padding: 61px 0 48px
  }

  .hero-background .hero-kicker {
    margin-bottom: 22px;
    font-size: 11px
  }

  .hero-background h1 {
    font-size: clamp(37px, 10.8vw, 52px);
    letter-spacing: -2px;
    line-height: 1.35
  }

  .hero-background .hero-description {
    font-size: 14px;
    margin: 27px 0
  }

  .hero-background .hero-apply {
    min-height: 62px;
    font-size: 17px
  }

  .hero-background .quick-panel {
    width: 100%;
    padding: 24px
  }

  .hero-background .hero-bottom {
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px 18px;
    padding: 20px 0 24px;
    font-size: 10px
  }

  .hero-background .hero-bottom a {
    margin-left: 0
  }
}

@media(max-width: 360px) {
  .hero-background .hero-topline .edition {
    display: none
  }

  .hero-background .hero-kicker {
    font-size: 10px
  }

  .hero-background .hero-main {
    padding-top: 50px
  }
}