/* =================================================================
   CONTACT — Bista-style two-column layout, BHI palette
   ================================================================= */
#contact.contact-section{background:#fff;padding:88px 32px 96px;height:auto;min-height:0;overflow:visible}
#contact .container{max-width:1180px;margin:0 auto}
.ct-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:72px;align-items:start}
.ct-col{min-width:0}

.ct-h{font-family:'Geist', -apple-system, sans-serif;font-weight:400;font-size:clamp(28px,3vw,38px);line-height:1.14;letter-spacing:-.015em;color:#0F1F35;margin:0 0 14px}
.ct-rule{display:block;width:56px;height:4px;border-radius:2px;background:linear-gradient(90deg,#C9A874,#C9A874);margin:0 0 32px}
.ct-rule-sm{width:40px;height:3px;margin-bottom:18px}

/* ---------- form ---------- */
.ct-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px}
.ct-form input,.ct-form select,.ct-form textarea{width:100%;font-family:'Geist',sans-serif;font-size:14.5px;color:#0F1F35;background:#fff;border:1px solid rgba(15,31,53,.16);border-radius:6px;padding:15px 16px;transition:border-color .2s,box-shadow .2s}
.ct-form input::placeholder,.ct-form textarea::placeholder{color:#8d8d8d}
.ct-form input:focus,.ct-form select:focus,.ct-form textarea:focus{outline:none;border-color:#C9A874;box-shadow:0 0 0 3px rgba(201,168,116,.16)}
.ct-select{appearance:none;color:#8d8d8d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235c5c5c' stroke-width='1.6' d='M1 1.5 6 6.5l5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer}
.ct-select:valid{color:#0F1F35}
.ct-textarea{resize:vertical;min-height:132px;margin-bottom:22px;display:block}

.ct-submit{display:inline-flex;align-items:center;justify-content:center;min-width:150px;padding:15px 34px;border:none;border-radius:6px;background:#0F1F35;color:#fff;font-family:'Geist',sans-serif;font-size:15px;font-weight:600;cursor:pointer;transition:background .22s,transform .22s,box-shadow .22s;box-shadow:0 12px 28px -16px rgba(15,31,53,.6)}
.ct-submit:hover{background:#17304f;transform:translateY(-2px)}

.cf-confirm{display:flex;align-items:center;gap:10px;margin-top:18px;padding:14px 16px;border-radius:8px;background:rgba(201,168,116,.12);border:1px solid rgba(201,168,116,.4);color:#0F1F35;font-size:14.5px;font-weight:500}
.cf-confirm svg{color:#C9A874;flex-shrink:0}

/* ---------- info column ---------- */
.ct-info-split{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:start}
.ct-lines{display:flex;flex-direction:column;gap:20px}
.ct-line{font-size:15px;line-height:1.5;color:#39424f;white-space:nowrap}
.ct-line b{display:block;font-family:'Geist Mono',monospace;font-size:10.5px;letter-spacing:.16em;font-weight:600;color:#C9A874;margin-bottom:4px}
.ct-line a{color:#0F1F35;text-decoration:none;font-weight:500;border-bottom:1px solid rgba(201,168,116,.5);transition:color .2s,border-color .2s}
.ct-line a:hover{color:#C9A874;border-color:#C9A874}
.ct-line-txt{color:#5c5c5c}

.ct-offices{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-bottom:26px}
.ct-hq h3{font-family:'Geist', -apple-system, sans-serif;font-weight:400;font-size:21px;line-height:1.2;color:#0F1F35;margin:0 0 12px}
.ct-hq-addr{font-size:15px;line-height:1.66;color:#5c5c5c;margin:0 0 16px}
.ct-hq-meta{font-size:14.5px;line-height:1.85;color:#5c5c5c;margin:0 0 22px}
.ct-hq-meta b{font-weight:600;color:#39424f}
.ct-hq-meta a{color:#0F1F35;text-decoration:none;border-bottom:1px solid rgba(201,168,116,.5)}
.ct-hq-meta a:hover{color:#C9A874;border-color:#C9A874}
.ct-hq-social{display:flex;gap:10px}
.ct-hq-social a{display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:#F5F2EA;border:1px solid rgba(15,31,53,.1);color:#0F1F35;transition:background .2s,color .2s,transform .2s}
.ct-hq-social a:hover{background:#0F1F35;color:#fff;transform:translateY(-2px)}

/* ---------- responsive ---------- */
@media(max-width:1080px){
  .ct-grid{gap:52px}
  .ct-info-split{grid-template-columns:1fr;gap:34px}
}
@media(max-width:700px){
  .ct-offices{grid-template-columns:1fr;gap:30px}
}
@media(max-width:900px){
  #contact.contact-section{padding:64px 20px 72px}
  .ct-grid{grid-template-columns:1fr;gap:56px}
}
@media(max-width:560px){
  .ct-fields{grid-template-columns:1fr}
  .ct-submit{width:100%}
  .ct-line{white-space:normal}
}
