/* ===== Contact page styles (cosmic glass theme) ===== */

.contact-grid{
  display:grid;
  grid-template-columns:1.25fr 1fr;
  gap:40px;
  align-items:start;
}
@media (max-width:900px){
  .contact-grid{grid-template-columns:1fr;}
}

/* ---- Form panel ---- */
.form-panel{
  background:rgba(23,16,41,0.55);
  backdrop-filter:blur(14px);
  border:1px solid var(--line-dark);
  border-radius:20px;
  padding:36px 32px;
}
.form-panel h2{font-size:24px; color:var(--white); margin-bottom:8px;}
.form-panel > p{font-size:14.5px; color:var(--ink-text-secondary); margin-bottom:26px;}

.field-row{display:grid; grid-template-columns:1fr 1fr; gap:16px;}
@media (max-width:600px){ .field-row{grid-template-columns:1fr;} }

.field{margin-bottom:16px;}
.field label{
  display:block;
  font-family:'JetBrains Mono',monospace;
  font-size:11.5px; letter-spacing:0.8px; text-transform:uppercase;
  color:var(--text-muted);
  margin-bottom:7px;
}
.field input,
.field select,
.field textarea{
  width:100%;
  font-family:'Inter',sans-serif;
  font-size:15px;
  color:var(--white);
  background:rgba(15,10,31,0.7);
  border:1px solid var(--line-dark);
  border-radius:10px;
  padding:13px 14px;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.field textarea{min-height:130px; resize:vertical;}
.field select{appearance:none; background-image:linear-gradient(45deg, transparent 50%, var(--pink) 50%), linear-gradient(135deg, var(--pink) 50%, transparent 50%); background-position:calc(100% - 20px) 50%, calc(100% - 14px) 50%; background-size:6px 6px, 6px 6px; background-repeat:no-repeat;}
.field select option{background:#171029; color:var(--white);}
.field input::placeholder,
.field textarea::placeholder{color:rgba(184,172,209,0.5);}
.field input:focus,
.field select:focus,
.field textarea:focus{
  outline:none;
  border-color:var(--pink);
  box-shadow:0 0 0 3px rgba(217,115,139,0.18);
}
.field.error input,
.field.error select,
.field.error textarea{border-color:#FF6B6B;}
.field .err-msg{display:none; font-size:12.5px; color:#FF8A8A; margin-top:6px;}
.field.error .err-msg{display:block;}

/* honeypot — hidden from humans */
.hp-field{position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden;}

.form-actions{display:flex; align-items:center; gap:16px; flex-wrap:wrap; margin-top:6px;}
.form-actions .btn{border:none;}
.form-actions .btn[disabled]{opacity:0.6; cursor:not-allowed; transform:none; box-shadow:none;}
.form-note{font-size:12.5px; color:var(--text-muted);}

.form-status{
  display:none;
  margin-top:18px;
  padding:14px 16px;
  border-radius:10px;
  font-size:14px;
}
.form-status.show{display:block;}
.form-status.ok{background:rgba(74,222,128,0.08); border:1px solid rgba(74,222,128,0.35); color:#A7F3C4;}
.form-status.fail{background:rgba(255,107,107,0.08); border:1px solid rgba(255,107,107,0.35); color:#FFB3B3;}
.form-status a{color:var(--white); text-decoration:underline;}

/* ---- Channel cards ---- */
.channel-stack{display:flex; flex-direction:column; gap:16px;}
.channel-card{
  display:flex; align-items:flex-start; gap:16px;
  padding:22px 22px;
  background:rgba(23,16,41,0.5);
  backdrop-filter:blur(12px);
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
a.channel-card:hover{border-color:var(--pink); transform:translateY(-3px); box-shadow:0 12px 28px rgba(217,115,139,0.18);}
.channel-card .icon{width:40px; height:40px; color:var(--pink); flex-shrink:0;}
.channel-card .icon svg{width:100%; height:100%;}
.channel-card h3{font-size:15.5px; color:var(--white); margin-bottom:4px; font-family:'Inter',sans-serif; font-weight:600;}
.channel-card p{font-size:14px; color:var(--ink-text-secondary); line-height:1.55;}
.channel-card .meta{font-family:'JetBrains Mono',monospace; font-size:11.5px; letter-spacing:0.6px; text-transform:uppercase; color:var(--text-muted); margin-top:6px;}

/* ---- Next steps ---- */
.steps-3{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.step-card{
  padding:28px 24px;
  background:rgba(23,16,41,0.4);
  backdrop-filter:blur(10px);
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  transition:border-color .2s ease, transform .2s ease;
}
.step-card:hover{border-color:var(--pink); transform:translateY(-3px);}
.step-card .num{font-family:'Orbitron',sans-serif; font-weight:700; font-size:20px; color:var(--pink); margin-bottom:14px;}
.step-card h3{font-size:17px; color:var(--white); margin-bottom:8px;}
.step-card p{font-size:14px; color:var(--text-muted);}
.step-card.reveal:nth-child(2){transition-delay:.08s;}
.step-card.reveal:nth-child(3){transition-delay:.16s;}
@media (max-width:800px){ .steps-3{grid-template-columns:1fr;} }

/* ---- Starting points ---- */
.start-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px;
}
.start-card{
  padding:32px 28px;
  background:rgba(23,16,41,0.5);
  backdrop-filter:blur(12px);
  border:1px solid var(--line-dark);
  border-radius:var(--radius);
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.start-card:hover{border-color:var(--pink); transform:translateY(-4px); box-shadow:0 16px 32px rgba(217,115,139,0.18);}
.start-card .icon{width:48px; height:48px; color:var(--glow); margin-bottom:18px;}
.start-card .icon svg{width:100%; height:100%;}
.start-card h3{font-size:18px; color:var(--white); margin-bottom:8px;}
.start-card p{font-size:14.5px; color:var(--ink-text-secondary);}
.start-card.reveal:nth-child(2){transition-delay:.08s;}
.start-card.reveal:nth-child(3){transition-delay:.16s;}
@media (max-width:900px){ .start-grid{grid-template-columns:1fr;} }

/* ---- Location panel ---- */
.location-panel{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
}
.location-panel .section-head{margin-bottom:0;}
.location-card{
  background:radial-gradient(circle at center, #1E1440 0%, #0c0e1f 100%);
  border:1px solid var(--line-dark);
  border-radius:20px;
  padding:36px 32px;
  box-shadow:0 20px 45px rgba(0,0,0,0.4);
}
.location-card .coord{font-family:'JetBrains Mono',monospace; font-size:12px; letter-spacing:1px; text-transform:uppercase; color:var(--pink); margin-bottom:14px;}
.location-card address{font-style:normal; font-size:16px; color:var(--white); line-height:1.7;}
.location-card .sub{margin-top:14px; font-size:13.5px; color:var(--text-muted);}
@media (max-width:900px){ .location-panel{grid-template-columns:1fr; gap:32px;} }
