/* Contact page */
.ct-hero{padding-bottom:clamp(48px,5vw,72px)}
.ct-sec{padding-top:clamp(56px,6vw,88px)!important}
.ct-g{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:clamp(24px,3vw,40px);align-items:start}
.ct-form{min-height:600px;padding:clamp(4px,1vw,12px);overflow:hidden;background:#fff;border:1px solid var(--card-line);border-radius:var(--r-card);box-shadow:var(--card-sh)}
.ct-form .hs-form-frame{min-height:560px}
.ct-side{display:grid;gap:16px}
.ct-box{padding:28px 28px 30px;background:#fff;border:1px solid var(--card-line);border-radius:var(--r-card);box-shadow:var(--card-sh)}
.ct-box .k{margin:0;font:600 13px/1.2 var(--head);letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ct-big{margin:14px 0 0;font:800 22px/1.3 var(--head);letter-spacing:-.015em;color:#003466}
.ct-sc{border-color:rgba(56,182,255,.45);position:relative;overflow:hidden}
.ct-sc:before{content:"";position:absolute;left:0;right:0;top:0;height:3px;background:var(--sky)}
.ct-sc h2{margin:14px 0 0!important;font:800 clamp(24px,2vw,28px)/1.15 var(--head)!important;letter-spacing:-.02em!important;color:#003466}
.ct-sc .meta{margin:8px 0 0;font:700 15px/1.4 var(--head);color:#003466}
.ct-sc p:not(.k):not(.meta){margin:12px 0 0;font-size:17px;line-height:1.55;color:var(--muted)}
.ct-sc .btn{margin-top:22px;white-space:normal;text-align:center;min-height:52px;padding:12px 22px;line-height:1.2;font-size:16px}
.ct-list{list-style:none;margin:14px 0 0;padding:0}
.ct-list li{display:grid;grid-template-columns:84px 1fr;gap:12px;align-items:baseline;padding:12px 0;border-top:1px solid #E4EAF3}
.ct-list li:first-child{border-top:0;padding-top:4px}
.ct-list span{font:600 14px/1.3 var(--head);color:var(--muted)}
.ct-list a{font:700 17px/1.3 var(--head);color:#003466;text-decoration:underline;text-decoration-color:var(--sky);text-underline-offset:4px;overflow-wrap:anywhere}
@media (max-width:900px){.ct-g{grid-template-columns:1fr}.ct-form{min-height:560px}}

/* branded contact form */
.ct-form{min-height:0!important;padding:clamp(28px,3.5vw,44px)!important}
.cf-h{margin:0 0 24px!important;font:800 clamp(24px,2.2vw,30px)/1.15 var(--head)!important;letter-spacing:-.02em!important;color:#003466}
.cf-g{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}
.cf-w{grid-column:1/-1}
.cf-f label{display:block;margin:0 0 8px;font:700 15px/1.3 var(--head);color:#0D1117}
.cf-f label span{font-weight:500;color:#5B6B80}
.cf-f input,.cf-f select,.cf-f textarea{width:100%;box-sizing:border-box;height:52px;padding:0 16px;border:1px solid rgba(0,52,102,.2);border-radius:10px;background:#fff;font:400 17px/1.4 var(--body);color:#0D1117;outline:none;transition:border-color .2s,box-shadow .2s}
.cf-f textarea{height:auto;min-height:132px;padding:14px 16px;resize:vertical}
.cf-f select{appearance:none;-webkit-appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%23003466' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 16px center;padding-right:44px}
.cf-f input::placeholder,.cf-f textarea::placeholder{color:#8391A6}
.cf-f input:focus,.cf-f select:focus,.cf-f textarea:focus{border-color:#38B6FF;box-shadow:0 0 0 4px rgba(56,182,255,.18)}
.cf-f.bad input,.cf-f.bad select{border-color:#C2410C}
.cf-err{margin:16px 0 0;font:600 15px/1.4 var(--head);color:#C2410C}
.cf-err:empty{display:none}
.cf-btn{margin-top:24px}
.cf-btn[disabled]{opacity:.6;cursor:progress}
.cf-note{margin:14px 0 0;font:400 14px/1.4 var(--body);color:#5B6B80}
.cf-note a{color:#003466}
.cf-done h2{margin:0!important;font:800 clamp(28px,2.6vw,36px)/1.1 var(--head)!important;color:#003466}
.cf-done p{margin:12px 0 24px;font:400 18px/1.55 var(--body);color:#3A4A63}
@media (max-width:600px){.cf-g{grid-template-columns:1fr}}

/* contact form: calm, readable, roomy on phones */
.cf-intro{margin:10px 0 24px;font:400 18px/1.55 var(--body);color:#3A4A63}
html body .cf-f label{font:600 16px/1.35 var(--body)!important;color:#0D1117}
html body .cf-f input,html body .cf-f select,html body .cf-f textarea{font:400 17px/1.4 var(--body)!important}
@media (max-width:600px){
  html body .cf{padding:28px 20px!important}
  html body .cf-h{font-size:30px!important;letter-spacing:-.02em!important}
  html body .cf-f input,html body .cf-f select{min-height:52px!important}
  html body .cf-g{gap:18px!important}
}
