/* ============================================================
   CYNETRIX — SHARED CONTACT + FOOTER
   Loaded after each page's own stylesheet. Self-contained:
   all colours are explicit so it renders identically on every page.
   ============================================================ */
.site-contact, .site-footer {
  --sc-blue:#2563eb; --sc-cyan:#06b6d4; --sc-blue-l:#38bdf8;
  --sc-text:#f1f5f9; --sc-mut:#94a3b8; --sc-faint:#64748b;
  --sc-bd:rgba(255,255,255,.07); --sc-glass:rgba(255,255,255,.04);
  font-family:'Space Grotesk','Inter',system-ui,sans-serif;
}

/* ---- CONTACT ---------------------------------------------- */
.site-contact { background:#050508; padding:6rem 1.5rem; border-top:1px solid var(--sc-bd); }
.site-contact__inner { max-width:1200px; margin:0 auto; }
.site-contact__head { text-align:center; margin-bottom:3rem; }
.site-contact__eyebrow {
  display:inline-block; background:rgba(37,99,235,.1); border:1px solid rgba(37,99,235,.22);
  color:var(--sc-blue-l); font-size:.74rem; font-weight:600; letter-spacing:2px;
  text-transform:uppercase; padding:.32rem .95rem; border-radius:50px; margin-bottom:.9rem;
}
.site-contact__title { font-size:clamp(1.6rem,3.5vw,2.4rem); font-weight:700; line-height:1.2; color:var(--sc-text); margin-bottom:.8rem; }
.site-contact__title span {
  background:linear-gradient(135deg,var(--sc-blue),var(--sc-cyan));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent;
}
.site-contact__sub { color:var(--sc-mut); font-size:1rem; max-width:520px; margin:0 auto; line-height:1.65; }
.site-contact__grid { display:grid; grid-template-columns:1.4fr 1fr; gap:3.5rem; align-items:start; }
.site-contact__form { background:var(--sc-glass); border:1px solid var(--sc-bd); border-radius:22px; padding:2.4rem; }
.site-fg { margin-bottom:1.2rem; }
.site-row2 { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.site-fg label { display:block; font-size:.78rem; font-weight:600; color:var(--sc-mut); margin-bottom:.38rem; text-transform:uppercase; letter-spacing:.5px; }
.site-fg input, .site-fg select, .site-fg textarea {
  width:100%; background:rgba(255,255,255,.03); border:1px solid var(--sc-bd); border-radius:10px;
  padding:.7rem 1rem; color:var(--sc-text); font-size:.93rem; font-family:inherit; outline:none;
  transition:border-color .2s, box-shadow .2s;
}
.site-fg input:focus, .site-fg select:focus, .site-fg textarea:focus { border-color:var(--sc-blue); box-shadow:0 0 0 3px rgba(37,99,235,.12); }
.site-fg select option { background:#050508; color:var(--sc-text); }
.site-fg textarea { resize:vertical; min-height:120px; }
.site-submit {
  width:100%; justify-content:center; display:inline-flex; align-items:center; gap:.5rem;
  background:linear-gradient(135deg,var(--sc-blue),var(--sc-cyan)); color:#fff;
  padding:.85rem 1.75rem; border-radius:50px; border:none; cursor:pointer;
  font-weight:600; font-size:.93rem; font-family:inherit; transition:transform .25s, box-shadow .25s;
}
.site-submit:hover { transform:translateY(-2px); box-shadow:0 14px 40px rgba(37,99,235,.4); }
.site-contact__info { display:flex; flex-direction:column; gap:1.6rem; }
.site-ib { display:flex; gap:.9rem; align-items:flex-start; }
.site-ib__icon {
  width:42px; height:42px; border-radius:10px; flex-shrink:0;
  background:linear-gradient(135deg,rgba(37,99,235,.14),rgba(59,130,246,.08));
  display:flex; align-items:center; justify-content:center; color:var(--sc-blue-l); font-size:.95rem;
}
.site-ib h4 { font-size:.8rem; font-weight:600; color:var(--sc-mut); text-transform:uppercase; letter-spacing:.5px; margin-bottom:.22rem; }
.site-ib p { font-size:.92rem; color:var(--sc-text); line-height:1.6; }
.site-social { display:flex; gap:.7rem; margin-top:.3rem; }
.site-social a {
  width:40px; height:40px; background:var(--sc-glass); border:1px solid var(--sc-bd); border-radius:10px;
  display:flex; align-items:center; justify-content:center; color:var(--sc-mut); font-size:.95rem;
  text-decoration:none; transition:all .22s;
}
.site-social a:hover { background:linear-gradient(135deg,var(--sc-blue),var(--sc-cyan)); border-color:transparent; color:#fff; transform:translateY(-2px); }

/* ---- FOOTER ---------------------------------------------- */
.site-footer { background:#000; border-top:1px solid var(--sc-bd); padding:4rem 1.5rem 2rem; }
.site-footer__inner { max-width:1200px; margin:0 auto; }
.site-footer__top { display:grid; grid-template-columns:1.4fr 1fr; gap:4rem; margin-bottom:3rem; }
.site-footer__logo { height:34px; display:block; margin-bottom:.9rem; }
.site-footer__brand p { color:var(--sc-faint); font-size:.86rem; line-height:1.7; max-width:340px; margin-bottom:1.25rem; }
.site-footer__social { display:flex; gap:.65rem; }
.site-footer__social a {
  width:34px; height:34px; background:var(--sc-glass); border:1px solid var(--sc-bd); border-radius:8px;
  display:flex; align-items:center; justify-content:center; color:var(--sc-faint); font-size:.82rem;
  text-decoration:none; transition:all .2s;
}
.site-footer__social a:hover { background:rgba(37,99,235,.18); color:var(--sc-blue-l); }
.site-footer__links { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5rem; }
.site-footer__col h4 { font-size:.78rem; font-weight:700; color:var(--sc-mut); text-transform:uppercase; letter-spacing:1px; margin-bottom:1.1rem; }
.site-footer__col a { display:block; color:var(--sc-faint); text-decoration:none; font-size:.86rem; margin-bottom:.55rem; transition:color .2s; }
.site-footer__col a:hover { color:var(--sc-text); }
.site-footer__bottom {
  border-top:1px solid var(--sc-bd); padding-top:1.75rem;
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:.75rem;
}
.site-footer__bottom span { color:var(--sc-faint); font-size:.82rem; }
.site-footer__legal { display:flex; align-items:center; gap:.6rem; }
.site-footer__legal a { color:var(--sc-faint); font-size:.82rem; text-decoration:none; transition:color .2s; }
.site-footer__legal a:hover { color:var(--sc-blue-l); }
.site-footer__legal .sep { color:var(--sc-faint); font-size:.7rem; }

@media (max-width:768px){
  .site-contact { padding:4rem 1.2rem; }
  .site-contact__grid { grid-template-columns:1fr; gap:2.5rem; }
  .site-row2 { grid-template-columns:1fr; }
  .site-contact__form { padding:1.6rem 1.2rem; }
  .site-footer__top { grid-template-columns:1fr; gap:2rem; }
  .site-footer__links { grid-template-columns:repeat(2,1fr); }
  .site-footer__bottom { flex-direction:column; text-align:center; }
}
@media (max-width:480px){ .site-footer__links { grid-template-columns:1fr; } }
