/* 8 Furlong Consulting — contact.css (contact-us.html only) */

.ct-center { text-align: center; }
.ct-hero .wrap { max-width: 860px; margin: 0 auto; }
.ct-hero .lede { margin: 22px auto 0; max-width: 680px; }
.ct-narrow { max-width: 760px; margin-left: auto; margin-right: auto; }

.ct-form { display: flex; flex-direction: column; gap: 18px; }
.ct-form__row { display: grid; gap: 18px; }
.ct-form label { display: flex; flex-direction: column; gap: 8px; font-family: var(--font-label); font-weight: 600; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; color: var(--saddle); }
.ct-form input, .ct-form textarea, .ct-form select {
  font-family: var(--font-body); font-size: 14px; color: var(--navy);
  background: var(--white); border: 1px solid var(--line-card); border-radius: var(--radius-btn);
  padding: 13px 14px; min-height: 44px;
}
.ct-form textarea { resize: vertical; }
.ct-form input:focus-visible, .ct-form textarea:focus-visible, .ct-form select:focus-visible { outline: 2px solid var(--blue); outline-offset: 2px; }
.ct-form .btn { align-self: flex-start; margin-top: 6px; }
.ct-after { margin-top: 26px; }
.ct-after b { color: var(--navy); }

.ct-office__grid { display: grid; gap: 32px; }
.ct-office__body h2 { margin-bottom: 0; }
.ct-nap { font-style: normal; margin-top: 22px; line-height: 1.8; }
.ct-nap b { font-family: var(--font-display); font-weight: 600; font-size: 18px; color: var(--navy); }
.ct-lines { margin-top: 16px; line-height: 1.9; }
.ct-lines b { color: var(--navy); font-weight: 600; }
.ct-office__body p { margin-top: 16px; }
.ct-social { display: flex; gap: 22px; margin-top: 22px; }
.ct-social a { position: relative; font-family: var(--font-label); font-weight: 600; font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--saddle); }
.ct-map iframe { width: 100%; height: 320px; border: 0; border-radius: var(--radius-card); display: block; }

@media (min-width: 768px) {
  .ct-form__row { grid-template-columns: 1fr 1fr; }
  .ct-map iframe { height: 400px; }
}
@media (min-width: 1024px) {
  .ct-office__grid { grid-template-columns: 1fr 1fr; gap: 80px; align-items: center; }
}

/* Tap targets: the social row is a set of standalone controls (added 2026-09-07). */
.ct-social a { display: inline-flex; align-items: center; min-height: 44px; }
.ct-social a::after { bottom: 12px; }
.ct-form input, .ct-form textarea, .ct-form select { min-height: 44px; }
