/* Contact layout, scoped to FXBench's existing editorial template. */
.fxb-page--contact-us .contact-page { color:#203c32; padding-bottom:40px; }
.fxb-page--contact-us .contact-intro { max-width:740px; padding:20px 0 42px; }
.fxb-page--contact-us .contact-intro .eyebrow { margin-bottom:16px; color:#52664b; }
.fxb-page--contact-us #main-content .contact-intro h1 { font:500 clamp(36px,4.2vw,58px)/1.12 Manrope,sans-serif; letter-spacing:-.045em; margin:0; }
.fxb-page--contact-us .contact-intro em { font-family:'Instrument Serif',Georgia,serif; font-weight:400; }
.fxb-page--contact-us .contact-intro-copy { max-width:62ch; margin-top:20px; color:#59675b; font-size:15px; line-height:1.8; }
.fxb-page--contact-us .contact-layout { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); gap:64px; align-items:start; border-top:1px solid #d5decc; padding-top:36px; }
.fxb-page--contact-us .contact-aside { min-width:0; }
.fxb-page--contact-us .contact-illustration { max-width:390px; margin:0 auto 22px; }
.fxb-page--contact-us .contact-illustration svg { display:block; width:100%; height:auto; }
.fxb-page--contact-us #main-content .contact-aside h2 { font:500 30px/1.2 Manrope,sans-serif; letter-spacing:-.035em; margin-bottom:16px; }
.fxb-page--contact-us .contact-aside > p { max-width:50ch; font-size:14px; line-height:1.8; color:#59675b; }
.fxb-page--contact-us :is(.contact-direct,.contact-response) { display:flex; align-items:start; gap:14px; padding:22px 0; border-bottom:1px solid #d5decc; }
.fxb-page--contact-us .contact-direct { margin-top:14px; border-top:1px solid #d5decc; }
.fxb-page--contact-us .contact-icon { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border-radius:9px; background:#183e32; color:#fffef9; }
.fxb-page--contact-us .contact-icon svg { width:21px; height:21px; }
.fxb-page--contact-us .contact-small-label { display:block; font-size:12px; color:#59675b; margin-bottom:6px; }
.fxb-page--contact-us .contact-direct a { font-size:14px; font-weight:600; overflow-wrap:anywhere; }
.fxb-page--contact-us .contact-direct a span { margin-inline-start:10px; }
.fxb-page--contact-us #main-content .contact-response h3 { font-size:14px; font-weight:600; margin-bottom:6px; }
.fxb-page--contact-us .contact-response p { font-size:13px; line-height:1.7; color:#59675b; }
.fxb-page--contact-us .contact-form-panel { min-width:0; padding:32px; border:1px solid #d5decc; border-radius:14px; background:#fffef9; }
.fxb-page--contact-us .contact-form-heading { display:flex; justify-content:space-between; align-items:center; gap:20px; margin-bottom:16px; }
.fxb-page--contact-us .contact-form-heading .eyebrow { color:#52664b; }
.fxb-page--contact-us .contact-form-heading svg { width:30px; height:30px; }
.fxb-page--contact-us #main-content .contact-form-panel h2 { font:500 28px/1.25 Manrope,sans-serif; letter-spacing:-.035em; margin-bottom:12px; }
.fxb-page--contact-us .contact-form-description { font-size:14px; line-height:1.8; color:#59675b; }
.fxb-page--contact-us .contact-required-note { font-size:12px; color:#59675b; margin:12px 0 24px; }
.fxb-page--contact-us .contact-form-fields { display:grid; gap:20px; }
.fxb-page--contact-us .contact-field { display:grid; gap:8px; min-width:0; }
.fxb-page--contact-us .contact-field label { font-size:13px; font-weight:500; color:#304d3e; }
.fxb-page--contact-us #main-content .contact-field .form-input { width:100%; min-width:0; min-height:48px; border:1px solid #cdd7c6; border-radius:7px; padding:12px 14px; background:#fbfcf7; color:#203c32; font-size:14px; line-height:1.6; }
.fxb-page--contact-us #main-content .contact-field .form-input:focus { border-color:#416a42; background:#fff; }
.fxb-page--contact-us #main-content .contact-field textarea { min-height:140px; resize:vertical; }
.fxb-page--contact-us #contact-submit-btn { min-height:50px; background:#183e32; color:#fffef9; border-radius:7px; box-shadow:none; }
.fxb-page--contact-us #contact-submit-btn:hover { background:#2b5140; }
.fxb-page--contact-us .contact-resources { margin-top:56px; padding-top:30px; border-top:1px solid #d5decc; }
.fxb-page--contact-us .contact-resources-heading .eyebrow { color:#52664b; margin-bottom:12px; }
.fxb-page--contact-us #main-content .contact-resources-heading h2 { font:500 30px/1.25 Manrope,sans-serif; letter-spacing:-.035em; margin-bottom:24px; }
.fxb-page--contact-us .contact-resource-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.fxb-page--contact-us .contact-resource { display:flex; align-items:center; gap:20px; padding:24px; border:1px solid #d5decc; border-radius:10px; background:#edf2e4; }
.fxb-page--contact-us .contact-resource-art { width:88px; height:72px; flex-shrink:0; }
.fxb-page--contact-us #main-content .contact-resource h3 { font-size:17px; font-weight:600; margin-bottom:8px; }
.fxb-page--contact-us .contact-resource p { font-size:13px; line-height:1.7; color:#59675b; }
.fxb-page--contact-us .contact-resource-arrow { margin-inline-start:auto; font-size:22px; }
.fxb-page--contact-us .contact-resource-featured { background:#183e32; border-color:#183e32; color:#fffef9; }
.fxb-page--contact-us #main-content .contact-resource-featured h3 { color:#fffef9; }
.fxb-page--contact-us .contact-resource-featured p { color:#dbe4d5; }
.fxb-page--contact-us .contact-resource:hover { border-color:#789461; }
@media(max-width:1000px) {
 .fxb-page--contact-us .contact-layout { gap:30px; }
 .fxb-page--contact-us .contact-form-panel { padding:24px; }
 .fxb-page--contact-us .contact-resource { padding:20px; gap:14px; }
 .fxb-page--contact-us .contact-resource-art { width:64px; height:auto; }
}
@media(max-width:767px) {
 .fxb-page--contact-us .contact-intro { padding:12px 0 28px; }
 .fxb-page--contact-us .contact-layout { grid-template-columns:1fr; gap:32px; padding-top:26px; }
 .fxb-page--contact-us .contact-form-panel { grid-row:1; padding:24px 20px; }
 .fxb-page--contact-us .contact-illustration { max-width:320px; }
 .fxb-page--contact-us .contact-resource-grid { grid-template-columns:1fr; }
 .fxb-page--contact-us .contact-resources { margin-top:36px; }
}
