﻿.contact-page{
  width:min(1140px, calc(100% - 34px));
  margin:0 auto;
  padding:calc(var(--nav-h) * 2 + 20px) 0 88px;
  display:grid;
  gap:14px;
}

.contact-hero{
  border:1px solid rgba(207,169,93,.24);
  border-radius:16px;
  padding:22px 20px 20px;
  background:rgba(14,17,22,.72);
  box-shadow:none;
}

.contact-hero .eyebrow{
  letter-spacing:3px;
  font-size:11px;
  color:rgba(207,169,93,.85);
}

.contact-hero h1{
  margin:8px 0;
  color:rgba(207,169,93,.92);
  font-size:31px;
  line-height:1.2;
  letter-spacing:.1px;
  max-width:700px;
}

.contact-hero .lead{
  margin:0;
  color:rgba(207,169,93,.74);
  font-size:14px;
  line-height:1.6;
  max-width:700px;
}

.contact-grid{
  display:grid;
  grid-template-columns:repeat(12, minmax(0, 1fr));
  gap:11px;
}

.contact-card{
  grid-column:span 4;
  border:1px solid rgba(207,169,93,.26);
  border-radius:16px;
  padding:17px 15px;
  background:
    linear-gradient(175deg, rgba(22,26,32,.86) 0%, rgba(16,19,24,.94) 100%);
  box-shadow:none;
}

.contact-card-phones{
  grid-column:span 5;
}

.contact-card-wide{
  grid-column:span 7;
}

.contact-card h2{
  margin:0 0 8px;
  color:var(--gold-ivory);
  font-size:18px;
  line-height:1.25;
}

.contact-card p{
  margin:0;
  color:rgba(207,169,93,.78);
  font-size:12px;
  line-height:1.6;
}

.contact-list{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:8px;
}

.contact-list a{
  display:inline-flex;
  align-items:center;
  border:1px solid rgba(207,169,93,.28);
  border-radius:11px;
  padding:7px 11px;
  color:var(--gold);
  font-weight:600;
  letter-spacing:.3px;
  transition:border-color .25s ease, background .25s ease, transform .25s ease;
}

.contact-list a:hover{
  border-color:rgba(207,169,93,.7);
  background:rgba(207,169,93,.11);
  transform:translateY(-1px);
}

.contact-link{
  margin-top:10px;
}

.contact-link.whatsapp-cta--line{
  border-radius:11px;
  padding:8px 12px;
  font-size:12px;
  letter-spacing:.5px;
  box-shadow:none;
}

.contact-form-wrap{
  border:1px solid rgba(207,169,93,.3);
  border-radius:16px;
  padding:22px 20px;
  background:
    radial-gradient(130% 120% at 100% 0%, rgba(207,169,93,.1) 0%, rgba(207,169,93,0) 56%),
    linear-gradient(170deg, rgba(23,27,33,.9) 0%, rgba(17,20,25,.96) 100%);
}

.contact-form-wrap h2{
  margin:0 0 14px;
  color:var(--gold-ivory);
  font-size:21px;
  line-height:1.2;
}

.contact-form{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:11px 12px;
}

.contact-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:rgba(207,169,93,.9);
  font-size:12px;
  letter-spacing:.55px;
  text-transform:uppercase;
}

.contact-form textarea,
.contact-form input{
  border:1px solid rgba(207,169,93,.3);
  border-radius:10px;
  background:rgba(8,11,15,.55);
  color:var(--gold-ivory);
  padding:10px 11px;
  font-size:14px;
  line-height:1.45;
  transition:border-color .25s ease, box-shadow .25s ease;
}

.contact-form textarea{
  min-height:120px;
  resize:vertical;
}

.contact-form .field-span{
  grid-column:1 / -1;
}

.contact-form input::placeholder,
.contact-form textarea::placeholder{
  color:rgba(207,169,93,.52);
}

.contact-form input:focus,
.contact-form textarea:focus{
  outline:none;
  border-color:rgba(207,169,93,.8);
  box-shadow:0 0 0 3px rgba(207,169,93,.16);
}

.contact-form .btn.primary{
  grid-column:1 / -1;
  justify-self:start;
}

.form-note{
  margin:12px 2px 0;
  min-height:22px;
  color:rgba(207,169,93,.72);
  font-size:12px;
  letter-spacing:.35px;
}

.form-note.is-success{
  color:#a7ffce;
}

.form-note.is-error{
  color:#ffb8b8;
}

@media(max-width:1100px){
  .contact-card{
    grid-column:span 6;
  }

  .contact-card-wide,
  .contact-card-phones{
    grid-column:span 12;
  }
}

@media(max-width:768px){
  .contact-page{
    width:calc(100% - 20px);
    padding:calc(var(--nav-h) * 2 + 14px) 0 74px;
    gap:14px;
  }

  .contact-hero{
    border-radius:14px;
    padding:16px 14px;
  }

  .contact-hero h1{
    font-size:23px;
  }

  .contact-hero .lead{
    font-size:14px;
  }

  .contact-grid{
    grid-template-columns:1fr;
    gap:10px;
  }

  .contact-card{
    grid-column:auto;
    border-radius:14px;
    padding:14px 12px;
  }

  .contact-form-wrap{
    border-radius:14px;
    padding:16px 14px;
  }

  .contact-form-wrap h2{
    font-size:21px;
  }

  .contact-form{
    grid-template-columns:1fr;
    gap:11px;
  }
}


