/* Contact section only: preserve app.js validation and estimate.js handoff hooks. */
.g-contact.consultation{display:grid;grid-template-columns:.9fr 1.2fr;gap:6%;padding:78px 7%;background:#e9eee2;align-items:start;color:#173e38;scroll-margin-top:25px}
.g-contact .consultation-intro{min-width:0}
.g-contact .eyebrow{font-size:12px;font-weight:700;letter-spacing:.13em;line-height:1.7}
.g-contact .consultation-intro .serif-heading{font-size:clamp(28px,2.6vw,39px);line-height:1.65;font-weight:500;letter-spacing:.035em;margin:17px 0 20px;text-wrap:balance}
.g-contact .consultation-intro .g-contact-lead{font-size:15px;line-height:2;letter-spacing:.025em;margin:0}
.g-contact-photo{margin:25px 0 24px;width:100%;height:260px;overflow:hidden;background:#d4ddcf}
.g-contact-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 50%}
.g-contact-steps{padding:0;margin:0;list-style:none}
.g-contact-steps li{display:flex;gap:17px;align-items:start;padding:13px 0;border-top:1px solid #b3c1ae}
.g-contact-steps li>span{font-size:14px;font-weight:700;letter-spacing:.03em;padding-top:1px;flex:0 0 25px}
.g-contact-steps h3{font-size:16px;line-height:1.8;font-weight:700;margin:0 0 3px}
.g-contact-steps p{font-size:14px;line-height:1.9;margin:0}
.g-contact .g-contact-form.demo-form{padding:33px 32px 25px;background:#fffdf8;border:1px solid #9eaf98;margin:0;min-width:0}
.g-contact-form-heading{padding-bottom:23px;margin-bottom:25px;border-bottom:1px solid #ccd4c6}
.g-contact-form-heading h3{font-size:20px;line-height:1.7;font-weight:700;letter-spacing:.02em;margin:0 0 9px}
.g-contact-form-heading p{font-size:13px;line-height:1.9;margin:0}
.g-contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:24px 20px}
.g-contact .form-row{min-width:0;margin:0}
.g-contact-full{grid-column:1/-1}
.g-contact .form-row label{font-size:16px;line-height:1.8;font-weight:500;display:flex;align-items:center;flex-wrap:wrap;gap:9px;margin:0 0 9px;letter-spacing:.015em}
.g-contact .form-row label>span,.g-contact .g-required{display:inline-block;font-size:11px;line-height:1.6;padding:2px 6px;background:#e7eddf;color:#173e38;letter-spacing:.02em;font-weight:500;border:0;margin:0;vertical-align:baseline}
.g-contact .g-required{margin-right:5px}
.g-contact .form-row label small{font-size:12px;font-weight:400;color:#526a58}
.g-contact .form-row input,.g-contact .form-row select,.g-contact .form-row textarea{display:block;width:100%;min-width:0;max-width:100%;font-family:var(--sans);font-size:16px;line-height:1.6;letter-spacing:.015em;color:#173e38;border:1px solid #96a78d;border-radius:0;background:#fff;padding:13px 12px;box-shadow:none}
.g-contact .form-row input{height:53px}
.g-contact .form-row select{min-height:53px;padding-right:30px}
.g-contact .form-row textarea{resize:vertical;min-height:185px}
.g-contact .form-row input::placeholder,.g-contact .form-row textarea::placeholder{color:#6d7b70;opacity:1;font-size:14px}
.g-contact .form-row input:focus-visible,.g-contact .form-row select:focus-visible,.g-contact .form-row textarea:focus-visible{outline:2px solid #173e38;outline-offset:3px}
.g-contact-hint{font-size:13px;line-height:1.9;color:#526a58;margin:8px 0 0}
.g-contact .form-privacy{font-size:13px;line-height:1.9;color:#455d4d;margin:22px 0 18px;padding:0}
.g-contact .submit-button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:15px;background:#173e38;color:#fffdf8;font-size:16px;line-height:1.8;font-weight:700;padding:17px 20px;letter-spacing:.025em;border:0;cursor:pointer}
.g-contact .submit-button span{font-size:23px;line-height:1;transition:transform .2s}
.g-contact .submit-button:hover span,.g-contact .submit-button:focus-visible span{transform:translateX(4px)}
.g-contact .submit-button:disabled{opacity:.5;cursor:not-allowed}
.g-contact .form-result{font-size:14px;line-height:1.9;min-height:0;margin:13px 0 0;color:#173e38}
.g-contact .form-result:empty{margin:0}
@media(max-width:1050px){.g-contact.consultation{padding:65px 6%;gap:4%;grid-template-columns:.85fr 1.2fr}.g-contact .g-contact-form.demo-form{padding:27px 24px 24px}.g-contact-fields{grid-template-columns:1fr;gap:22px}.g-contact-photo{height:240px}.g-contact .consultation-intro .serif-heading{font-size:29px}.g-contact-form-heading h3{font-size:19px}}
@media(max-width:760px){.g-contact.consultation{grid-template-columns:1fr;gap:27px;padding:52px 6%}.g-contact .consultation-intro .serif-heading{font-size:30px;margin:12px 0 14px}.g-contact .consultation-intro .g-contact-lead{font-size:15px;line-height:1.95}.g-contact-photo{height:120px;margin:21px 0 0}.g-contact-photo img{object-position:50% 56%}.g-contact-steps{display:flex;gap:16px;margin-top:17px}.g-contact-steps li{flex:1;min-width:0;display:block;border:0;padding:0}.g-contact-steps li>span{font-size:12px;display:block;margin-bottom:4px}.g-contact-steps h3{font-size:14px;line-height:1.7;margin-bottom:0}.g-contact-steps p{display:none}.g-contact .g-contact-form.demo-form{padding:25px 22px 23px}.g-contact-fields{grid-template-columns:1fr 1fr;gap:23px 18px}}
@media(max-width:540px){.g-contact .g-contact-form.demo-form{padding:25px 19px 23px}.g-contact-fields{grid-template-columns:1fr;gap:22px}.g-contact-form-heading{padding-bottom:19px;margin-bottom:22px}.g-contact-form-heading h3{font-size:18px}.g-contact .form-row label{font-size:16px}.g-contact .form-row input,.g-contact .form-row select,.g-contact .form-row textarea{font-size:16px}.g-contact .form-row textarea{min-height:175px}.g-contact .submit-button{font-size:16px;padding:16px}.g-contact .consultation-intro .serif-heading{font-size:28px}.g-contact-steps{gap:10px}.g-contact-steps h3{font-size:13px}}
@media(prefers-reduced-motion:reduce){.g-contact .submit-button span{transition:none}}
