.contact-page{
  padding-bottom:24px;
}

.contact-hero__title{
  margin:0 0 14px;
  font-size:clamp(32px, 4.8vw, 52px);
  line-height:1.08;
  font-weight:var(--fw-bold);
}

.contact-hero__lead{
  margin:0 0 18px;
  max-width:62ch;
  color:#475569;
  font-size:var(--fs-3);
  line-height:1.62;
}

.notice--ok{
  border-color:rgba(31,166,67,.35);
  background:rgba(31,166,67,.08);
  color:#195e2d;
  margin-bottom:12px;
}

.notice--err{
  border-color:rgba(215,25,32,.35);
  background:rgba(215,25,32,.08);
  color:#7e1a20;
  margin-bottom:12px;
}

.contact-info-grid{
  display:block;
}

.contact-info p{
  margin:0 0 10px;
  line-height:1.62;
}

.contact-info a{
  text-decoration:none;
}

.contact-info a:hover{
  text-decoration:none;
}

.contact-info__addr{
  color:var(--muted);
}

.contact-section{
  padding-top:48px;
}

.contact-split{
  display:grid;
  grid-template-columns:minmax(0, 1fr) minmax(320px, 460px);
  gap:20px 72px;
  align-items:start;
  justify-content:space-between;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
}

.contact-split__info{
  display:flex;
  flex-direction:column;
  gap:0;
}

.contact-split__info .h2,
.contact-form-block .h2{
  font-size:clamp(28px, 4vw, 40px);
  line-height:1.12;
  font-weight:var(--fw-bold);
}

.contact-form-block__title{
  font-size:clamp(28px, 3.8vw, 38px);
  line-height:1.18;
  font-weight:var(--fw-bold);
  margin:0 0 16px;
}

.contact-split__info .h2{
  margin:0 0 14px;
}

.contact-split__lead{
  color:var(--muted);
  font-size:var(--fs-3);
  line-height:1.62;
  margin:18px 0 36px;
  max-width:760px;
}

.contact-split__map .video-embed{
  height:100%;
  min-height:300px;
  padding-bottom:0;
  border-radius:0;
  overflow:visible;
}

.contact-split__map iframe{
  border:0;
  border-radius:0;
}

.contact-meta{
  display:grid;
  grid-template-columns:1fr;
  gap:32px 20px;
}

.contact-meta__item{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:10px 12px;
  align-items:start;
}

.contact-meta__icon{
  width:44px;
  height:44px;
  border-radius:999px;
  background:#eef2f7;
  color:#9ea7b3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.contact-meta__icon svg{
  width:18px;
  height:18px;
}

.contact-meta__content{
  display:grid;
  gap:4px;
  min-width:0;
}

.contact-meta__title{
  color:#6f7783;
  font-size:12px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.contact-meta__item a{
  text-decoration:none;
  color:#1a1a1a;
  font-weight:600;
}

.contact-meta__item a:hover{
  text-decoration:none;
}

.contact-meta .contact-info__addr{
  margin-top:0;
  color:#4f5661;
}

.contact-form{
  gap:14px;
}

.contact-form-block{
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  width:min(560px, 100%);
  margin:0 auto;
}

.contact-form-block--split{
  width:100%;
  max-width:460px;
  margin:0 0 0 auto;
  padding:24px;
  border:1px solid #e4e9f0;
  border-radius:18px;
  background:#ffffff;
  box-shadow:0 14px 28px rgba(16, 24, 40, .08);
}

.contact-map-block{
  padding:0;
  margin:0;
}

.contact-map-block .contact-split__map .video-embed{
  min-height:380px;
}

.contact-form__grid{
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
}

.contact-form .btn{
  align-self:flex-start;
}

.page-template-page-send-cv .contact-section .container,
.page-template-page-request-staff .contact-section .container{
  display:flex;
  justify-content:center;
}

.page-template-page-send-cv .contact-section .container > .card,
.page-template-page-request-staff .contact-section .container > .card{
  width:50%;
  margin:0 auto;
}

.contact-form__consent{
  display:flex;
  align-items:flex-start;
  gap:10px;
  color:#5a6270;
  font-size:14px;
  line-height:1.45;
}

.contact-form__consent input{
  margin-top:2px;
}

.contact-final-cta{
  padding-top:22px;
}

.contact-final-cta__box{
  position:relative;
  overflow:visible;
  padding:0;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:2px;
  align-items:start;
}

.contact-final-cta__box::before{
  content:"";
  position:absolute;
  top:10px;
  left:50%;
  width:2px;
  height:calc(100% + 34px);
  background:rgba(255,255,255,.22);
  transform:translateX(-50%) rotate(20deg);
  transform-origin:center;
  pointer-events:none;
}

.contact-final-cta__col{
  position:relative;
  z-index:1;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:28px;
  color:#fff;
  background:
    radial-gradient(120% 120% at 0% 0%, rgba(215, 25, 32, .34), transparent 56%),
    linear-gradient(135deg, #13141a 0%, #0d0e12 100%);
}

.contact-final-cta__col h2{
  margin:0;
  font-size:clamp(22px, 3.2vw, 30px);
  line-height:1.15;
  font-weight:var(--fw-bold);
  color:#fff;
}

.contact-final-cta__col p{
  margin:0;
  color:rgba(255,255,255,.84);
  line-height:1.62;
}

.contact-final-cta__col .btn{
  margin-top:4px;
  align-self:flex-start;
  border-color:#fff;
}

.contact-final-cta__col .btn.btn--ghost{
  color:#fff;
  border-color:rgba(255,255,255,.36);
}

.contact-final-cta__col .btn.btn--ghost:hover{
  background:rgba(255,255,255,.12);
}

.contact-final-cta__col--right{
  text-align:right;
  align-items:flex-end;
  margin-top:30px;
  background:
    radial-gradient(120% 120% at 100% 0%, rgba(215, 25, 32, .22), transparent 58%),
    linear-gradient(135deg, #101217 0%, #070910 100%);
}

.contact-final-cta__col:first-child{
  clip-path:polygon(0 0, 100% 0, 92% 100%, 0 100%);
  border-radius:22px 0 0 22px;
}

.contact-final-cta__col--right{
  clip-path:polygon(8% 0, 100% 0, 100% 100%, 0 100%);
  border-radius:0 22px 22px 0;
}

.contact-final-cta__col--right .btn{
  align-self:flex-end;
}

@media (max-width: 980px){
  .contact-split{
    grid-template-columns:1fr;
    gap:28px;
  }

  .contact-form-block--split{
    max-width:none;
    margin:0;
    padding:20px;
  }

  .contact-split__map .video-embed{
    min-height:260px;
  }

  .contact-form__grid{
    grid-template-columns:1fr;
  }

  .page-template-page-send-cv .contact-section .container > .card,
  .page-template-page-request-staff .contact-section .container > .card{
    width:100%;
  }

  .contact-meta{
    grid-template-columns:1fr;
  }

  .contact-meta__item:last-child{
    grid-column:auto;
  }

  .contact-final-cta__box{
    grid-template-columns:1fr;
    gap:16px;
  }

  .contact-final-cta__box::before{
    display:none;
  }

  .contact-final-cta__col{
    clip-path:none;
  }

  .contact-final-cta__col--right{
    text-align:left;
    align-items:flex-start;
    margin-top:0;
  }

  .contact-final-cta__col--right .btn{
    align-self:flex-start;
  }
}
