/* Landing contact section — also inlined from home/index.php when CSS cache is stale */

.contact-section{
  padding:88px 0 72px;
}

.contact-layout{
  display:grid;
  grid-template-columns:minmax(0,.92fr) minmax(380px,1.08fr);
  gap:clamp(36px,5vw,64px);
  align-items:start;
}

.contact-intro h2{
  margin:0 0 14px;
  font-size:clamp(2rem,3.5vw,3rem);
  line-height:1.05;
  letter-spacing:-.055em;
}

.contact-intro p{
  margin:0 0 22px;
  max-width:520px;
  color:var(--muted);
  font-size:16px;
  line-height:1.72;
}

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

.contact-points li{
  position:relative;
  padding-left:22px;
  color:#c5d3df;
  font-size:14px;
  line-height:1.55;
}

.contact-points li::before{
  content:"";
  position:absolute;
  left:0;
  top:.55em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--gold);
  box-shadow:0 0 12px rgba(241,195,81,.45);
}

.contact-card{
  padding:clamp(24px,3vw,32px);
  border-radius:28px;
  border:1px solid rgba(241,195,81,.18);
  background:
    linear-gradient(155deg, rgba(241,195,81,.08) 0%, rgba(255,255,255,.02) 42%, rgba(6,18,33,.75) 100%),
    rgba(6,20,36,.65);
  box-shadow:
    0 1px 0 rgba(255,255,255,.06) inset,
    0 28px 70px rgba(0,0,0,.32);
}

.contact-alert{
  margin:0 0 18px;
  padding:12px 14px;
  border-radius:12px;
  font-size:14px;
  line-height:1.5;
}

.contact-alert ul{
  margin:6px 0 0;
  padding-left:18px;
}

.contact-alert--ok{
  color:#d4edc8;
  border:1px solid rgba(120,200,100,.35);
  background:rgba(80,160,70,.12);
}

.contact-alert--err{
  color:#ffd4d0;
  border:1px solid rgba(255,120,110,.35);
  background:rgba(255,90,80,.1);
}

.contact-form-landing{
  display:grid;
  gap:16px;
}

.contact-form-landing .field{
  display:flex;
  flex-direction:column;
  min-width:0;
}

.contact-form-landing .field label{
  display:block;
  margin:0 0 7px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:#b8c8d6;
}

.contact-form-landing .field input,
.contact-form-landing .field select,
.contact-form-landing .field textarea{
  width:100%;
  box-sizing:border-box;
  border-radius:12px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(3,12,22,.55);
  color:var(--text);
  outline:none;
  transition:border-color .15s ease, box-shadow .15s ease;
}

.contact-form-landing .field input,
.contact-form-landing .field select{
  min-height:48px;
  padding:0 14px;
}

.contact-form-landing .field select{
  appearance:none;
  cursor:pointer;
}

.contact-form-landing .field textarea{
  min-height:130px;
  padding:14px;
  resize:vertical;
  line-height:1.55;
}

.contact-form-landing .field input:focus,
.contact-form-landing .field select:focus,
.contact-form-landing .field textarea:focus{
  border-color:rgba(241,195,81,.42);
  box-shadow:0 0 0 3px rgba(241,195,81,.1);
}

.contact-form-landing .contact-submit{
  width:100%;
  min-height:52px;
  margin-top:4px;
  justify-content:center;
}

@media(max-width:640px){
  .contact-layout{grid-template-columns:1fr}
  .contact-card{padding:22px 18px;border-radius:22px}
}
