/* Form screens are a task flow; the page's primary information stays scroll-readable. */
.consultation-page .contact-opening{grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:6%}
.contact-panel{min-width:0;background:#efefea;padding:36px;scroll-margin-top:130px}
.contact-panel [hidden]{display:none!important}
.contact-panel h2,.form-errors{scroll-margin-top:130px}
.contact-panel .eyebrow{margin-bottom:18px}
.contact-steps{display:flex;list-style:none;margin:0 0 24px;padding:0;border-bottom:1px solid #bfc1b7;gap:24px}
.contact-steps li{padding-bottom:12px;font-size:13px;color:#575b52;position:relative}
.contact-steps span{font:11px Arial,sans-serif;margin-right:7px}
.contact-steps [aria-current]{color:#20251e;font-weight:600}
.contact-steps [aria-current]::after{content:"";position:absolute;inset:auto 0 -1px;height:3px;background:var(--red)}
.contact-panel .form-preview-note{font-size:11px!important;line-height:1.8!important;margin:0 0 25px!important;padding-left:12px;border-left:2px solid #90958a;color:#50564b}
.form-lead{font-size:13px;line-height:1.9;margin:15px 0 28px}
.form-field{margin-top:23px}
.form-field>label{display:flex;align-items:baseline;gap:12px;margin-bottom:9px;font-size:14px;font-weight:600}
.field-required,.field-optional{font-size:10px;font-weight:400;letter-spacing:.04em;white-space:nowrap}
.field-required{color:#8c261a}.field-optional{color:#555e51}
.form-field input:not([type=checkbox]),.form-field textarea,.form-preview-tools select{display:block;box-sizing:border-box;width:100%;min-width:0;border:1px solid #7c8376;border-radius:3px;background:#fff;color:var(--ink);font:inherit;font-size:16px;line-height:1.7;padding:12px 14px;transition:border-color .15s}
.form-field textarea{resize:vertical;min-height:160px;max-height:650px}
.form-field input[aria-invalid=true],.form-field textarea[aria-invalid=true]{border:2px solid #a82e21}
.contact-panel :is(input,textarea,button,select,a,summary):focus-visible{outline:3px solid #28645e;outline-offset:4px}
.contact-panel h2:focus-visible,.form-errors:focus-visible{outline:2px solid #28645e;outline-offset:6px}
.field-hint,.field-error{font-size:12px;line-height:1.8;margin-top:8px;overflow-wrap:anywhere}
.field-hint{color:#50564b}.field-error{color:#982719;font-weight:600}
.form-errors{margin-top:22px;padding:18px;background:#fff8f3;border-left:3px solid #a82e21;color:#812218;font-size:13px;line-height:1.8}
.form-errors p{font-weight:600}.form-errors ul{margin:9px 0 0;padding-left:20px}.form-errors a{text-underline-offset:3px;display:inline-block;padding-block:5px}
.form-privacy{border-top:1px solid #bfc1b7;margin-top:28px;padding-top:21px;font-size:12px;line-height:1.9}
.form-privacy h3{font-size:13px;font-weight:600;letter-spacing:0;margin-bottom:9px}
.form-privacy .privacy-draft{font-size:11px;color:#50564b;margin-top:10px}
.consent-field>label{align-items:flex-start;min-height:44px;cursor:pointer;font-size:12px;line-height:1.9;gap:12px}
.consent-field input{appearance:auto;accent-color:#344a40;flex:0 0 20px;width:20px;height:20px;margin:2px 0 0}
.consent-field .field-required{margin-left:5px}
.contact-panel .form-primary{border:0;cursor:pointer;margin-top:18px;font-family:inherit;background:#263e32;color:white;min-height:60px}
.contact-panel .form-primary:hover{background:#345642}.contact-panel .form-primary:disabled{background:#62695f;cursor:wait}
.contact-summary{margin:26px 0 22px}.contact-summary>div{border-bottom:1px solid #bfc1b7;padding-block:18px}
.contact-summary dt{font-size:12px;color:#50564b;margin-bottom:8px}
.contact-summary dd{font-size:15px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;line-height:1.9}
.form-back{display:block;min-height:44px;margin:12px auto 0;padding:10px 14px;font:inherit;font-size:13px;border:0;background:transparent;color:var(--ink);text-decoration:underline;text-underline-offset:5px;cursor:pointer}
.form-back:disabled{opacity:.65;cursor:wait}
.form-status{font-size:12px;color:#50564b;margin-top:15px;line-height:1.9;overflow-wrap:anywhere}
.form-status:empty{margin:0}
.contact-complete-mark{display:grid;place-items:center;width:60px;height:60px;margin:12px 0 32px;border:1px solid #8f9d8c;border-radius:50%;font-size:25px;color:#263e32}
#contact-complete .form-lead{margin-bottom:24px}
.completion-preview,.form-unavailable{padding:16px;background:#fff;font-size:12px;line-height:1.9;border-left:2px solid #90958a}
.form-preview-tools{border-top:1px solid #bfc1b7;margin-top:28px;padding-top:8px;color:#50564b;font-size:11px;line-height:1.8}
.form-preview-tools summary{cursor:pointer;padding-block:14px;min-height:44px}.form-preview-tools label{display:block;margin-block:8px}.form-preview-tools p{margin-top:10px}
@media(min-width:1101px){.contact-intro{padding-top:12px}.consultation-page .contact-intro h1{font-size:clamp(32px,3.6vw,54px)}}
@media(max-width:1100px){.consultation-page .contact-opening{gap:4%}.contact-panel{padding:28px 24px}.contact-panel .form-primary{font-size:14px}}
@media(max-width:900px){.consultation-page .contact-opening{grid-template-columns:1fr;gap:34px}.contact-intro{max-width:660px}.contact-panel{width:100%;max-width:680px;margin:0 auto;padding:32px}.contact-intro h1{font-size:clamp(30px,5vw,42px)}}
@media(max-width:480px){.contact-panel{padding:25px 20px}.contact-steps{gap:22px}.contact-steps li{font-size:12px}.contact-panel h2{font-size:24px}.form-lead{font-size:12px}.form-field{margin-top:22px}.form-field>label{font-size:13px}.form-field input:not([type=checkbox]),.form-field textarea{padding:11px 12px}.contact-panel .form-primary{padding:17px 14px;font-size:13px}.contact-panel{scroll-margin-top:125px}}
@media(prefers-reduced-motion:no-preference){.contact-panel[data-stage=complete] .contact-complete-mark{animation:contact-arrival .35s ease-out}@keyframes contact-arrival{from{transform:translateY(7px)}to{transform:none}}}
