/* Contact — one full-bleed section, 1639 @1440. bg image + #383838 overlay @0.78.
   Left (col 1-12): rule +191, H2 +212, intro +392, "Email inquiries" +673, email +741.
   Right (col 15-24): title +232, rule +272, form +312, submit +1195, social +1485. Bottom 106. */
.ct-main { background: var(--charcoal); color: var(--ice); min-height: 1639px; }
.ct-bg { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; filter: grayscale(1); }
.ct-overlay { position: absolute; inset: 0; background: #383838; opacity: .78; z-index: 1; }
.ct-main .inner { padding-top: calc(var(--header-h) + 100px); padding-bottom: 106px; }
.ct-main .rule { background: var(--ice); opacity: .75; }
.ct-main .left { grid-column: 1 / span 12; }
.ct-main .left .rule { max-width: 558px; }
.ct-main .left h2 { margin-top: 2px; }
.ct-main .intro { margin-top: 110px; max-width: 614px; }
.ct-main .direct { margin-top: 184px; }
.ct-main .email { margin-top: 36px; max-width: 671px; }
.ct-main .email a { color: inherit; text-decoration: none; }
.ct-main .email a:hover { text-decoration: underline; text-underline-offset: 6px; }
.ct-main .right { grid-column: 15 / span 10; margin-top: 30px; }
.ct-main .ftitle { font-family: var(--f-body); font-weight: 400; text-transform: none; letter-spacing: 0; font-size: var(--large); line-height: 1.8; }
.ct-main .right .rule { margin: -2px 0 0; }
.ct-main .form { margin-top: 22px; max-width: 501px; }
.ct-main .form fieldset { border: 0; padding: 0; margin: 0 0 24px; min-width: 0; }
.ct-main .form .title { display: block; font-size: var(--normal); line-height: 1.8; margin: 0 0 4px; padding: 0; }
.ct-main .form .sub { font-size: 14.4px; margin-bottom: 2px; }
.ct-main .form .req { font-size: 14.4px; opacity: .7; margin-left: 4px; }
.ct-main .form .field { margin-bottom: 24px; }
.ct-main .form input, .ct-main .form select, .ct-main .form textarea { background-color: #d9d9d9; height: 43px; }
.ct-main .form textarea { height: 100px; }
.ct-main .form input::placeholder { color: rgba(0,0,0,.55); font-size: var(--body); }
.ct-main .form .btn-solid { text-transform: none; font-size: var(--normal); margin-top: 4px; }
.ct-main .social { display: flex; align-items: center; gap: 30px; margin-top: 200px; }
.ct-main .social p { margin: 0 0 0 40px; }
.ct-main .social svg { width: 24px; height: 24px; }
.ct-main .social ul { display: flex; gap: 14px; list-style: none; margin: 0; padding: 0; }
.ct-main .social a { color: var(--ice); display: block; }
@media (max-width: 767px) {
  .ct-main { min-height: 0; }
  .ct-main .inner { padding-top: calc(var(--header-h) + 30px); padding-bottom: 60px; }
  .ct-main .intro { margin-top: 40px; }
  .ct-main .direct { margin-top: 40px; }
  .ct-main .email { font-size: 26px; word-break: break-word; }
  .ct-main .right { margin-top: 60px; }
  .ct-main .social { margin-top: 60px; flex-direction: column; gap: 12px; }
  .ct-main .social p { margin: 0; }
}
