.contacts-page{
  --brand:#d6b25e;
  --brand-2:#ffd700;
  --panel:#0f1526;
  --panel-2:#0b1020;
  --ink:#e9edf7;
  --muted:#b9c0d6;
  --wrap:1200px;
  --stroke:rgba(214,178,94,.18);
  --stroke-2:rgba(214,178,94,.32);
  --shadow:0 18px 46px rgba(0,0,0,.55);
  padding:56px 16px 78px;
}

.contacts-page .wrap{
  max-width:var(--wrap);
  margin:0 auto;
}

.contacts-page .page-head{
  text-align:center;
  margin-bottom:28px;
}

.contacts-page .page-head h1{
  margin:0 0 12px;
  font-size:clamp(2.05rem,2.3vw,2.65rem);
  font-weight:650;
  letter-spacing:.12em;
  color:rgba(255,255,255,.92);
}

.contacts-page .page-head h1::after{
  content:"";
  display:block;
  width:min(520px,72%);
  height:1px;
  margin:14px auto 0;
  background:linear-gradient(90deg,transparent,rgba(214,178,94,.70),transparent);
}

.contacts-page .page-head .lead{
  color:rgba(233,237,247,.82);
  margin:0 auto;
  max-width:840px;
  font-size:clamp(.96rem,1.9vw,1.05rem);
  line-height:1.55;
}

.contacts-page .grid{
  display:grid;
  grid-template-columns:360px 1fr;
  gap:24px;
  align-items:start;
}

@media (max-width: 960px){
  .contacts-page .grid{
    grid-template-columns:1fr;
  }
}

.contacts-page .info,
.contacts-page .form-block{
  border-radius:18px;
  padding:22px 20px 20px;
  background:
radial-gradient(1200px 260px at 15% -10%, rgba(255, 255, 255, 0.12), transparent 55%), radial-gradient(900px 240px at 95% 0%, rgba(0, 0, 0, 0.5), transparent 55%), linear-gradient(180deg, rgba(255,255,255,.03), rgba(0, 0, 0, 0.14)), linear-gradient(180deg, var(--panel), var(--panel-2));
  box-shadow:var(--shadow);
  border:1px solid var(--stroke);
  color:var(--ink);
}

.contacts-page .info h2{
  margin:0 0 12px;
  font-size:1.15rem;
  font-weight:720;
  letter-spacing:.03em;
  color:rgba(255,255,255,.95);
}

.contacts-page .info h2::after{
  content:"";
  display:block;
  width:60px;
  height:1px;
  background:linear-gradient(90deg, rgba(214,178,94,.9), rgba(214,178,94,.2));
  margin-top:12px;
}

.contacts-page .info .list{
  list-style:none;
  margin:14px 0 0 0;
  padding:0;
}

.contacts-page .info .list li{
  padding:10px 0;
  border-bottom:1px dashed rgba(255,255,255,.08);
  color:rgba(233,237,247,.82);
}

.contacts-page .info .list li:last-child{
  border-bottom:0;
}

.contacts-page .info a{
  color:rgba(255,255,255,.92);
  text-decoration:underline;
}

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

.contacts-page .alert{
  border-radius:14px;
  padding:12px 14px;
  margin-bottom:14px;
  background:rgba(255,255,255,.03);
  color:rgba(233,237,247,.88);
  border:1px solid rgba(214,178,94,.22);
}

.contacts-page .alert.success{
  border-color:rgba(23,201,100,.55);
  background:rgba(23,201,100,.08);
}

.contacts-page .alert.error{
  border-color:rgba(239,68,68,.55);
  background:rgba(239,68,68,.08);
}

.contacts-page .hp{
  position:absolute;
  left:-10000px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

.contacts-page label{
  display:block;
  margin:10px 0 6px 0;
  color:rgba(233,237,247,.80);
  font-size:.95rem;
}

.contacts-page .req{
  color:rgba(255,215,0,.92);
  font-weight:800;
}

.contacts-page input[type="text"],
.contacts-page input[type="email"],
.contacts-page input[type="tel"],
.contacts-page input[type="number"],
.contacts-page input[type="date"],
.contacts-page input[type="time"],
.contacts-page input[type="file"],
.contacts-page select,
.contacts-page textarea{
  width:100%;
  padding:11px 12px;
  border-radius:12px;
  border:1px solid rgba(214,178,94,.26);
  background:rgba(255,255,255,.02);
  color:rgba(255,255,255,.92);
  outline:none;
  box-sizing:border-box;
  font-size:16px;
  transition:border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.contacts-page textarea{
  resize:vertical;
  min-height:140px;
}

.contacts-page input:focus,
.contacts-page select:focus,
.contacts-page textarea:focus{
  border-color:rgba(214,178,94,.70);
  box-shadow:0 0 0 3px rgba(214,178,94,.12);
}

.contacts-page select:disabled{
  opacity:.78;
  cursor:not-allowed;
}

.contacts-page .row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
}

@media (max-width: 680px){
  .contacts-page .row{
    grid-template-columns:1fr;
  }
}

.contacts-page .form-actions{
  margin-top:14px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}

.contacts-page .btn-primary,
.contacts-page .btn-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:44px;
  padding:0 18px;
  border-radius:12px;
  font-weight:760;
  font-size:.9rem;
  text-decoration:none;
  cursor:pointer;
  transition:transform .14s ease, background .2s ease, color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.contacts-page .btn-primary{
  background:linear-gradient(180deg, rgba(255,215,0,.98), rgba(214,178,94,.92));
  color:#1a1a1a;
  border:1px solid rgba(214,178,94,.60);
}

.contacts-page .btn-primary:hover{
  transform:translateY(-2px);
}

.contacts-page .btn-secondary{
  background:rgba(255,255,255,.02);
  border:1px solid rgba(214,178,94,.45);
  color:rgba(214,178,94,.96);
}

.contacts-page .btn-secondary:hover{
  transform:translateY(-2px);
  background:rgba(214,178,94,.10);
  border-color:rgba(214,178,94,.70);
}

.contacts-page .preselected-service,
.contacts-page .selected-service-banner{
  display:flex;
  align-items:center;
  gap:10px;
  border-radius:16px;
  padding:14px 14px;
  background:
radial-gradient(900px 240px at 95% 0%, rgba(0, 0, 0, 0.5), transparent 55%), linear-gradient(180deg, rgba(255,255,255,.03), rgba(0, 0, 0, 0.14)), linear-gradient(180deg, var(--panel), var(--panel-2));
  box-shadow:var(--shadow);
  border:1px solid var(--stroke);
  color:rgba(233,237,247,.86);
  margin:0 0 16px 0;
}

.contacts-page .selected-service-banner{
  display:none;
}

.contacts-page .selected-service-banner.is-visible{
  display:flex;
}

.contacts-page .preselected-service .label,
.contacts-page .selected-service-banner .label{
  font-weight:760;
}

.contacts-page .preselected-service strong,
.contacts-page .selected-service-banner strong{
  color:rgba(255,215,0,.92);
  font-weight:900;
}

.contacts-page .preselected-service .badge,
.contacts-page .selected-service-banner .badge{
  margin-left:auto;
  background:rgba(214,178,94,.10);
  border:1px solid rgba(214,178,94,.28);
  border-radius:999px;
  padding:6px 10px;
  font-size:.82rem;
  font-weight:760;
  white-space:nowrap;
}

@media (max-width: 560px){
  .contacts-page .selected-service-banner,
  .contacts-page .preselected-service{
    flex-wrap:wrap;
    justify-content:center;
    text-align:center;
    gap:8px 10px;
  }
  .contacts-page .selected-service-banner .badge,
  .contacts-page .preselected-service .badge{
    margin-left:0;
  }
}

@media (prefers-reduced-motion: reduce){
  .contacts-page .btn-primary,
  .contacts-page .btn-secondary{
    transition:none;
  }
}