/* UPACLICK contact page - ct2 layout + form, in the svc design language */

.ct2{
  max-width:1140px; margin:0 auto;
  display:grid; grid-template-columns:minmax(0,.82fr) minmax(0,1fr);
  gap:56px; align-items:start;
}

/* left column: email + reassurance */
.ct2__h{
  font-family:var(--font-display); font-size:1.5rem; font-weight:700;
  letter-spacing:-.02em; margin:0 0 8px; color:var(--ink);
}
.ct2__email{ margin:0 0 26px; }
.ct2__email a{
  font-family:var(--font-display); font-size:1.28rem; font-weight:500;
  color:var(--soft,#3b5bf6); text-decoration:none; letter-spacing:-.01em;
  border-bottom:1px solid rgba(59,91,246,.35); padding-bottom:1px;
}
.ct2__email a:hover{ border-bottom-color:var(--soft,#3b5bf6); }
.ct2__note{
  margin:0 0 16px; font-size:1.02rem; line-height:1.55;
  color:var(--muted,#576072); max-width:44ch;
}

/* right column: form */
.ct2-form{ display:block; }
.ct2-field{ margin:0 0 20px; }
.ct2-field label{
  display:block; margin:0 0 8px;
  font-family:var(--font-display); font-size:.92rem; font-weight:500;
  letter-spacing:-.005em; color:var(--ink);
}
.ct2-req{ color:var(--err,#b91c1c); font-weight:600; }

.ct2-field input,
.ct2-field select,
.ct2-field textarea{
  width:100%; display:block;
  font-family:var(--font-body); font-size:1rem; color:var(--ink);
  background:#fff; border:1px solid #d7dbe9; border-radius:10px;
  padding:13px 15px; line-height:1.5;
  transition:border-color .18s ease, box-shadow .18s ease;
}
.ct2-field textarea{ resize:vertical; min-height:150px; }
.ct2-field select{ appearance:none; -webkit-appearance:none; cursor:pointer; }

.ct2-field input:focus,
.ct2-field select:focus,
.ct2-field textarea:focus{
  outline:none; border-color:var(--soft,#3b5bf6);
  box-shadow:0 0 0 3px rgba(59,91,246,.18);
}

.ct2-fineprint{
  margin:10px 0 0; font-size:.86rem; line-height:1.5;
  color:var(--muted,#576072);
}

/* honeypot - visually hidden, kept in the layout for bots */
.ct2-hp{
  position:absolute; width:1px; height:1px; overflow:hidden;
  clip:rect(0 0 0 0); clip-path:inset(50%); white-space:nowrap; border:0; padding:0; margin:-1px;
}

/* submit button */
.ct2-btn{
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-display); font-size:1.02rem; font-weight:500;
  color:#fff; background:var(--soft,#3b5bf6);
  border:none; border-radius:10px; padding:14px 30px; cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
  box-shadow:0 8px 22px rgba(59,91,246,.26);
}
.ct2-btn:hover{ transform:translateY(-2px); box-shadow:0 14px 30px rgba(59,91,246,.36); }
.ct2-btn:active{ transform:scale(.98); }
.ct2-btn:focus-visible{ outline:2px solid var(--soft-deep,#6234e6); outline-offset:3px; }

/* thank-you notice */
.ct2-success{
  border:1px solid #b7e4c7; background:#eaf7ef; border-radius:12px;
  padding:20px 22px; color:var(--ok,#15803d); font-size:1.02rem; line-height:1.55;
}
.ct2-success strong{ color:#0f6a30; }

/* single column on mobile */
@media(max-width:860px){
  .ct2{ grid-template-columns:1fr; gap:40px; }
  .ct2__note{ max-width:none; }
}

.ct2-success--err{ background:#fef2f2; border-color:#fca5a5; color:#b91c1c; }
