.contact-main { padding-bottom:3rem; }
.contact-intro { padding-top:2.5rem; padding-bottom:2rem; }
.contact-intro h1 { max-width:1050px; color:#263126; font-size:clamp(2rem,4vw,3.3rem); line-height:1.16; margin:.5rem 0 1.2rem; }
.contact-intro .lead { max-width:990px; font-size:1.18rem; line-height:1.7; }
.contact-intro > p:not(.eyebrow) { max-width:990px; line-height:1.7; }
.contact-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.4rem; margin-top:2rem; }
.contact-choice { display:flex; flex-direction:column; align-items:flex-start; padding:1.7rem; border-radius:10px; background:#fff; border-top:4px solid #b8c6b5; box-shadow:0 5px 18px #0000000a; }
.contact-choice--project { border-top-color:var(--ms-color1); background:#f2f8f0; }
.contact-choice h2 { color:#2e3c2d; font-size:1.4rem; line-height:1.4; margin:.2rem 0 .6rem; }
.contact-choice p { line-height:1.65; }
.contact-choice .btn { margin-top:auto; }
.contact-layout { display:grid; grid-template-columns:minmax(230px,.7fr) minmax(0,1.8fr); align-items:start; gap:2rem; scroll-margin-top:6rem; }
.contact-aside { padding:1.6rem 0; min-width:0; }
.contact-aside h2 { color:#2e3c2d; font-size:1.65rem; line-height:1.35; }
.contact-aside p { line-height:1.7; }
.contact-direct { color:#287c26; font-weight:600; text-underline-offset:4px; overflow-wrap:anywhere; }
.contact-next { margin-top:1.7rem; border-top:1px solid #bcc6b9; padding-top:1.2rem; }
.contact-next h3 { color:#374536; font-size:1.12rem; }
.contact-form-panel { background:#fff; border-radius:10px; border-top:4px solid var(--ms-color1); box-shadow:0 6px 22px #0000000b; padding:1.8rem; min-width:0; }
.contact-form-panel h2 { color:#263126; margin:.4rem 0 1.4rem; font-size:1.7rem; line-height:1.35; }
.jotform-embed { width:100%; min-width:0; }
.jotform-mount iframe { display:block; width:100% !important; min-width:0 !important; max-width:100%; border:0; }
.jotform-loading { line-height:1.6; padding:1rem; background:#f3f6f1; border-radius:6px; }
.contact-form-note { font-size:.84rem; line-height:1.65; margin:1rem 0 0; }
.contact-form-note a,.contact-back { color:#287c26; text-underline-offset:3px; }
.contact-back { display:inline-block; margin-top:.8rem; line-height:1.65; }
.contact-context { padding:.8rem 1rem; background:#eef6eb; border-left:3px solid var(--ms-color1); color:#365332; border-radius:3px; }
.contact-context[hidden],.jotform-loading[hidden] { display:none !important; }
.contact-steps { list-style:none; padding:0; margin:1.5rem 0; counter-reset:contact; }
.contact-steps li { position:relative; padding-left:2.5rem; margin:0 0 1.5rem; line-height:1.65; counter-increment:contact; }
.contact-steps li::before { content:counter(contact); position:absolute; left:0; top:.1rem; width:1.7rem; height:1.7rem; line-height:1.7rem; text-align:center; border-radius:50%; background:#e5f1df; color:#287c26; font-weight:700; }
.contact-steps strong { display:block; color:#374536; }
.contact-steps span { display:block; margin-top:.25rem; }
@media(max-width:991px) { .contact-layout { grid-template-columns:1fr; gap:1rem; } .contact-aside { order:2; } .contact-form-panel { order:1; } }
@media(max-width:575px) { .contact-intro { padding-top:1.3rem; } .contact-intro h1 { font-size:2rem; } .contact-choices { grid-template-columns:1fr; gap:1rem; } .contact-choice { padding:1.3rem; } .contact-form-panel { padding:1rem .6rem; } .contact-form-panel > h2,.contact-form-panel > .eyebrow,.contact-form-note { margin-left:.5rem; margin-right:.5rem; } .contact-intro .lead { font-size:1.08rem; } }
