/* contact */

.contact-section{
  position: relative;
  overflow: hidden;
  padding: 78px 0;
  background:
    linear-gradient(rgba(16,43,104,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(16,43,104,.05) 1px, transparent 1px),
    linear-gradient(180deg, #ffffff 0%, #f4f8fb 100%);
  background-size: 56px 56px, 56px 56px, auto;
  border-top: 1px solid rgba(16,43,104,.08);
}
.contact-grid{
  display: grid;
  grid-template-columns: minmax(0, .85fr) minmax(320px, 1.15fr);
  gap: clamp(28px, 5vw, 72px);
  align-items: start;
}
.contact-copy{
  color: #102B68;
  padding-top: 14px;
}
.contact-kicker{
  margin: 0 0 12px;
  color: #194E8B;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.contact-copy h2{
  margin: 0 0 14px;
  color: #0A3463;
  font-size: clamp(34px, 4vw, 58px);
  line-height: 1.04;
  letter-spacing: -0.035em;
  font-weight: 650;
}
.contact-copy p:not(.contact-kicker){
  margin: 0;
  max-width: 42ch;
  color: #52617c;
  font-size: clamp(16px, 1.2vw, 19px);
  line-height: 1.75;
}
.contact-copy .contact-email-option{
  margin-top: 14px;
  color: #31405f;
  font-weight: 600;
}
.contact-email-option a{
  color: #0A3463;
  border-bottom: 1px solid rgba(10,52,99,.32);
  transition: color .2s ease, border-color .2s ease;
}
.contact-email-option a:hover{
  color: #194E8B;
  border-color: rgba(25,78,139,.72);
}
.contact-form{
  display: grid;
  gap: 16px;
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid rgba(16,43,104,.12);
  border-radius: 8px;
  background: rgba(255,255,255,.86);
  box-shadow: 0 24px 70px rgba(16,43,104,.12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
.contact-form label{
  display: grid;
  gap: 8px;
  color: #102B68;
  font-size: 13px;
  font-weight: 700;
}
.contact-form input,
.contact-form textarea{
  width: 100%;
  border: 1px solid rgba(16,43,104,.16);
  border-radius: 8px;
  background: #ffffff;
  color: #071329;
  font: inherit;
  font-size: 15px;
  line-height: 1.5;
  padding: 13px 14px;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.contact-form textarea{
  resize: vertical;
  min-height: 130px;
}
.contact-form input:focus,
.contact-form textarea:focus{
  border-color: rgba(25,78,139,.60);
  box-shadow: 0 0 0 4px rgba(25,78,139,.10);
  transform: translateY(-1px);
}
.contact-submit{
  justify-self: start;
  padding: 14px 20px;
  background: #0A3463;
  color: #ffffff;
  border-color: rgba(10,52,99,.45);
  border-radius: 999px;
}