/* ===== Contact ===== */
.ct-hero { background: linear-gradient(160deg,var(--navy),var(--navy-2)); color:#dbe7f7; padding: var(--s-8) 0 var(--s-6); }
.ct-hero h1 { color:#fff; max-width:16ch; }
.ct-hero .lead { color:#c2d3ea; }

.ct-grid { display:grid; grid-template-columns: 1.2fr .9fr; gap:2rem; align-items:start; }
@media (max-width:880px){ .ct-grid { grid-template-columns:1fr; } }

/* form */
.ct-form { padding:1.8rem; }
.ct-form h2 { margin-top:0; }
.field { margin-bottom:1rem; }
.field label { display:block; font-weight:700; font-size:.85rem; margin-bottom:.35rem; color:var(--slate); }
.field label .req { color:var(--stop); }
.field input, .field select, .field textarea {
  width:100%; font:inherit; padding:.75rem .85rem; border-radius:10px; border:1.5px solid var(--line);
  background:#fff; color:var(--ink); transition:border-color .15s, box-shadow .15s;
}
.field textarea { min-height:120px; resize:vertical; }
.field select { appearance:none; cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2345566E' stroke-width='2.5' stroke-linecap='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat; background-position:right .8rem center; }
.field input:focus, .field select:focus, .field textarea:focus { outline:none; border-color:var(--blue-bright); box-shadow:0 0 0 3px rgba(46,134,230,.15); }
.field.two { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:520px){ .field.two { grid-template-columns:1fr; } }
.ct-form__actions { display:flex; gap:.7rem; flex-wrap:wrap; align-items:center; margin-top:.4rem; }
.ct-confirm { display:none; margin-top:1rem; padding:.8rem 1rem; border-radius:10px; background:#e9f9ef; border:1px solid #bfe9cf; color:#12693a; font-size:.9rem; }
.ct-confirm.show { display:block; animation: pop .35s var(--ease); }
@keyframes pop { from{opacity:0;transform:translateY(6px)} }

/* contact cards */
.ct-cards { display:grid; gap:1rem; }
.ct-card { display:flex; gap:1rem; align-items:center; padding:1.2rem 1.3rem; }
.ct-card .ic { flex:0 0 auto; width:46px; height:46px; border-radius:12px; background:var(--blue-soft); color:var(--blue); display:grid; place-items:center; }
.ct-card .ic svg { width:22px; height:22px; }
.ct-card .k { font-size:.75rem; text-transform:uppercase; letter-spacing:.05em; color:var(--steel); }
.ct-card .v { font-weight:700; color:var(--navy); font-size:1.02rem; }
.ct-card.wa { background:#eafaf0; border-color:#c7ecd5; }
.ct-card.wa .ic { background:#25D366; color:#073b1e; }

.ct-presence { padding:1.3rem 1.4rem; }
.ct-presence h3 { margin:0 0 .8rem; }
.ct-presence ul { list-style:none; margin:0; padding:0; display:grid; gap:.6rem; }
.ct-presence li { display:flex; justify-content:space-between; border-bottom:1px dashed var(--line); padding-bottom:.5rem; }
.ct-presence li b { color:var(--navy); } .ct-presence li span { color:var(--slate); font-size:.9rem; }

.ct-foot { text-align:center; margin-top:2.5rem; color:var(--slate); }
.ct-foot .btns { display:flex; gap:.8rem; justify-content:center; flex-wrap:wrap; margin-top:1rem; }
