.contacts-page{
  background:#f5f7f9;
  color:#263746;
}
.contacts-hero{
  padding:56px 0 50px;
  background:
    linear-gradient(90deg,rgba(0,58,112,.05) 1px,transparent 1px),
    linear-gradient(#fff,#f6f8fa);
  background-size:44px 44px,auto;
  border-bottom:1px solid #dfe6eb;
}
.contacts-hero .eyebrow,
.company-details-head .eyebrow{
  margin-bottom:11px;
  color:#f7941d;
  font-size:13px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.contacts-hero h1{
  margin:0;
  max-width:850px;
  color:#003a70;
  font-size:46px;
  line-height:1.08;
  letter-spacing:-.035em;
}
.contacts-hero p{
  max-width:760px;
  margin:18px 0 0;
  color:#637582;
  font-size:17px;
  line-height:1.6;
}
.contacts-content{
  padding:58px 0 70px;
}
.contacts-grid{
  display:grid;
  grid-template-columns:minmax(360px,.8fr) minmax(500px,1.2fr);
  gap:34px;
  align-items:start;
}
.contacts-primary{
  display:grid;
  gap:20px;
}
.contact-card,
.company-details{
  background:#fff;
  border:1px solid #dce3e9;
}
.contact-card{
  padding:26px;
}
.contact-card-main{
  border-top:4px solid #f7941d;
}
.contact-card-label{
  margin-bottom:18px;
  color:#7b8b97;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.contact-row{
  display:grid;
  gap:5px;
  padding:18px 0;
  border-top:1px solid #e4e9ed;
}
.contact-row:first-of-type{
  border-top:0;
  padding-top:0;
}
.contact-row:last-child{
  padding-bottom:0;
}
.contact-row-title{
  color:#8997a2;
  font-size:11px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.05em;
}
.contact-main-value{
  width:max-content;
  max-width:100%;
  color:#003a70;
  font-size:25px;
  line-height:1.25;
  font-weight:800;
  text-decoration:none;
  word-break:break-word;
}
.contact-main-value:hover{
  color:#f7941d;
}
.contact-address{
  margin:0;
  color:#263746;
  font-size:17px;
  line-height:1.65;
  font-style:normal;
  font-weight:600;
}
.company-details{
  padding:30px;
}
.company-details-head{
  padding-bottom:20px;
  border-bottom:1px solid #dce3e9;
}
.company-details-head h2{
  margin:0;
  color:#003a70;
  font-size:32px;
  line-height:1.15;
}
.company-details-list{
  margin:0;
}
.company-details-list>div{
  display:grid;
  grid-template-columns:160px 1fr;
  gap:24px;
  padding:18px 0;
  border-bottom:1px solid #e4e9ed;
}
.company-details-list>div:last-child{
  border-bottom:0;
  padding-bottom:0;
}
.company-details-list dt{
  color:#8997a2;
  font-size:12px;
  line-height:1.5;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.company-details-list dd{
  margin:0;
  color:#263746;
  font-size:16px;
  line-height:1.55;
  font-weight:700;
}
.contacts-cta{
  background:#003a70;
  color:#fff;
}
.contacts-cta-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  min-height:132px;
  padding-top:26px;
  padding-bottom:26px;
}
.contacts-cta-inner>div:first-child{
  display:grid;
  gap:4px;
}
.contacts-cta-inner span{
  color:#bdd2e4;
  font-size:12px;
  font-weight:800;
  letter-spacing:.05em;
  text-transform:uppercase;
}
.contacts-cta-inner strong{
  font-size:20px;
  line-height:1.35;
}
.contacts-cta-actions{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.contacts-call,
.contacts-question{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:50px;
  padding:0 21px;
  border:0;
  border-radius:0;
  font:inherit;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  text-decoration:none;
}
.contacts-call{
  background:#fff;
  color:#003a70;
}
.contacts-call:hover{
  color:#f7941d;
}
.contacts-question{
  background:#f7941d;
  color:#fff;
}
.contacts-question:hover{
  background:#e98714;
}
@media(max-width:920px){
  .contacts-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .contacts-hero{
    padding:40px 0 38px;
  }
  .contacts-hero h1{
    font-size:34px;
  }
  .contacts-hero p{
    font-size:15px;
  }
  .contacts-content{
    padding:38px 0 46px;
  }
  .company-details-list>div{
    grid-template-columns:1fr;
    gap:5px;
  }
  .contacts-cta-inner{
    align-items:stretch;
    flex-direction:column;
    justify-content:center;
  }
  .contacts-cta-actions{
    align-items:stretch;
    flex-direction:column;
  }
  .contacts-call,
  .contacts-question{
    width:100%;
  }
}
@media(max-width:480px){
  .contact-card,
  .company-details{
    padding:20px;
  }
  .contact-main-value{
    font-size:21px;
  }
}
