/* Quote section and quote handoff
   Reorganized from the verified working production build. */

.quote-section {
  background: radial-gradient(circle at 10% 110%,#d70b172b,#0000 35%),radial-gradient(circle at 100% 10%,#d6d9de1a,#0000 34%),#11151d;
  grid-template-columns: minmax(300px,.72fr) minmax(530px,1.28fr);
  gap: 74px;
  padding: 110px max(40px,50vw - 590px);
  display: grid;
  position: relative;
  overflow: hidden;
}

.direct-contact {
  gap: 12px;
  margin-top: 32px;
  display: grid;
}

.direct-contact .contact-card {
  background: #ffffff0b;
  border: 1px solid #ffffff26;
  border-radius: 12px;
  align-items: center;
  gap: 15px;
  width: 100%;
  min-height: 72px;
  padding: 14px 16px;
  display: flex;
  box-shadow: inset 0 1px #ffffff0d;
}

.direct-contact a.contact-card {
  transition: border-color .16s,background .16s,transform .16s;
}

.direct-contact a.contact-card:hover,.direct-contact a.contact-card:focus-visible {
  background: #ffffff14;
  border-color: #ffffff4f;
  transform: translateY(-2px);
}

.direct-contact .contact-card>.glyph {
  width: 41px;
  height: 41px;
  color: var(--blue);
  background: #d6d9de17;
  border-radius: 50%;
  flex: none;
  place-items: center;
  font-size: 19px;
  display: grid;
}

.direct-contact .email-contact>.glyph {
  color: var(--pink);
  background: #d70b1726;
}

.direct-contact span {
  gap: 3px;
  display: grid;
}

.direct-contact small {
  color: #858c9a;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 800;
}

.direct-contact strong {
  overflow-wrap: anywhere;
  color: #f4f5f8;
  font-size: 16px;
}

.mobile-phone-contact {
  display: none !important;
}

.quote-form {
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #06080c85;
  border: 1px solid #ffffff21;
  border-radius: 22px;
  padding: 31px;
  box-shadow: 0 28px 70px #00000040;
}

.field-grid {
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  display: grid;
}

.quote-form label {
  color: #c7cbd4;
  letter-spacing: .06em;
  text-transform: uppercase;
  gap: 8px;
  font-size: 11px;
  font-weight: 800;
  display: grid;
}

.field-wide {
  grid-column: 1/-1;
}

.quote-form input,.quote-form select,.quote-form textarea {
  color: #fff;
  letter-spacing: normal;
  text-transform: none;
  background: #ffffff0b;
  border: 1px solid #ffffff21;
  border-radius: 8px;
  outline: none;
  width: 100%;
  font-size: 13px;
  font-weight: 500;
  transition: border-color .15s,box-shadow .15s;
}

.quote-form input,.quote-form select {
  height: 48px;
  padding: 0 13px;
}

.quote-form textarea {
  resize: vertical;
  min-height: 104px;
  padding: 13px;
}

.quote-form input::placeholder,.quote-form textarea::placeholder {
  color: #6f7684;
}

.quote-form input:focus,.quote-form select:focus,.quote-form textarea:focus {
  border-color: #d6d9deb3;
  box-shadow: 0 0 0 3px #d6d9de1f;
}

.quote-form select option {
  background: #11151d;
}

.quote-submit {
  cursor: pointer;
  border: 0;
  width: 100%;
  margin-top: 22px;
}

.form-note {
  color: #777f8f;
  text-align: center;
  justify-content: center;
  align-items: flex-start;
  gap: 7px;
  margin: 13px 0 0;
  font-size: 10px;
  line-height: 1.5;
  display: flex;
}

.form-note .glyph {
  flex: none;
  margin-top: 1px;
}

.desktop-quote-handoff {
  border: 1px solid #d6d9de3b;
  border-left: 3px solid var(--pink);
  background: radial-gradient(circle at 100% 0,#d6d9de17,#0000 38%),#080a0fe0;
  border-radius: 16px;
  grid-template-columns: minmax(0,1fr) 210px;
  align-items: center;
  gap: 24px;
  margin-top: 24px;
  padding: 24px;
  display: grid;
  box-shadow: inset 0 1px #ffffff0f,0 20px 45px #0000003d;
}

.handoff-kicker {
  color: #ef3a45;
  letter-spacing: .13em;
  text-transform: uppercase;
  font-size: 10px;
  font-weight: 900;
}

.handoff-copy h3 {
  color: #fff;
  letter-spacing: -.025em;
  margin: 8px 0 9px;
  font-size: 23px;
  font-weight: 950;
}

.handoff-copy p {
  color: #a7adbc;
  margin: 0;
  font-size: 12px;
  line-height: 1.65;
}

.handoff-actions {
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 17px;
  display: flex;
}

.handoff-button {
  cursor: pointer;
  color: #eef0f4;
  background: #ffffff0e;
  border: 1px solid #ffffff29;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  min-height: 37px;
  padding: 0 12px;
  font-size: 11px;
  font-weight: 850;
  transition: border-color .15s,background .15s;
  display: inline-flex;
}

.handoff-button:hover,.handoff-button:focus-visible {
  background: #ffffff1a;
  border-color: #ffffff57;
}

.quote-qr {
  justify-items: center;
  gap: 9px;
  display: grid;
}

.quote-qr img {
  background: #fff;
  border-radius: 13px;
  width: 190px;
  height: 190px;
  padding: 8px;
  display: block;
}

.quote-qr strong {
  color: #d9dde4;
  letter-spacing: .025em;
  font-size: 11px;
}
