.page-contact .contact-directory{margin-inline:var(--page-gutter);padding-block:var(--section-space);display:grid;grid-template-columns:1fr 2fr;gap:var(--sub-gap);border-top:1px solid var(--sub-rule)}
.page-contact .contact-label>span{display:block;font:11px/1.6 var(--type-latin);letter-spacing:.08em;color:var(--muted);margin-bottom:14px}
.page-contact .contact-label h2{font:500 16px/1.8 var(--type-body);margin:0;letter-spacing:.025em}
.page-contact .contact-directory-body{min-width:0;max-width:none;width:100%}
.page-contact .contact-intro{font:500 24px/1.7 var(--type-body);letter-spacing:.025em;margin:0 0 12px}
.page-contact .contact-form-intro{font:400 13px/2 var(--type-body);color:var(--muted);margin:0 0 36px}
#filer-contact-form{display:grid;grid-template-columns:1fr;gap:26px 24px}
.page-contact .contact-field{min-width:0;grid-column:1/-1}
.page-contact .contact-field:has(#contact-name),.page-contact .contact-field:has(#contact-email){grid-column:1/-1}
.page-contact .contact-field label{display:flex;align-items:center;gap:10px;font:500 13px/1.8 var(--type-body);margin:0 0 10px}
.page-contact .contact-field label span{font-size:9px;font-weight:400;color:var(--muted)}
.page-contact .contact-field input,.page-contact .contact-field textarea{box-sizing:border-box;display:block;width:100%;border:1px solid #c0cecf;border-radius:0;background:rgba(255,255,255,.35);padding:12px 14px;color:var(--ink);font:400 16px/1.6 var(--type-body);transition:border-color .2s,background .2s;box-shadow:none}
.page-contact .contact-field input{height:50px}
.page-contact .contact-field textarea{height:168px;min-height:140px;resize:vertical}
.page-contact .contact-field input:focus,.page-contact .contact-field textarea:focus{outline:none;border-color:#247e83;box-shadow:0 0 0 1px #247e83;background:rgba(255,255,255,.6)}
.page-contact .contact-field [aria-invalid=true]{border-color:#a23e3e}
.page-contact .contact-submit{grid-column:1/-1;justify-self:start;width:192px;margin:2px 0 0;padding:15px 24px;border:1px solid var(--ink);border-radius:0;background:var(--ink);color:var(--paper);font:500 14px/1.6 var(--type-body);cursor:pointer;transition:background .2s}
.page-contact .contact-submit:hover{background:#247e83}.page-contact .contact-submit:disabled{opacity:.55;cursor:wait}
.page-contact .contact-submit:focus-visible{outline:2px solid #247e83;outline-offset:4px}
.page-contact .contact-form-status{grid-column:1/-1;font:400 14px/1.9 var(--type-body);margin:0;white-space:pre-line}
.page-contact .contact-form-status:empty{display:none}
.page-contact .contact-form-fallback{grid-column:1/-1;text-align:left;font:400 10px/1.9 var(--type-body);color:var(--muted);margin:-12px 0 0}
.page-contact .contact-form-fallback a{color:#386d73;text-decoration:underline;text-underline-offset:3px}
.page-contact .contact-notari{display:block;border:1px solid var(--sub-rule);margin-top:48px;padding:28px 32px;transition:color .2s,background-color .2s,border-color .2s}
.page-contact .contact-route-kicker{font:10px/1.6 var(--type-latin);letter-spacing:.08em;color:var(--muted)}
.page-contact .contact-notari h3{font:500 18px/1.7 var(--type-body);margin:10px 0}
.page-contact .contact-notari p{font:400 12px/2 var(--type-body);color:var(--muted);margin:0}
.page-contact .contact-route-bottom{display:flex;align-items:baseline;justify-content:flex-end;gap:20px;margin-top:18px;font:500 12px/1.8 var(--type-body)}
.page-contact .contact-route-bottom small{white-space:nowrap;font-size:10px;font-weight:400;color:var(--muted)}
.page-contact .contact-notari:hover{color:#247e83;background:#dceae7;border-color:#7caba9}
.page-contact .contact-notari:focus-visible{outline:2px solid #247e83;outline-offset:5px}
@media(max-width:800px){
.page-contact .contact-directory{grid-template-columns:1fr;gap:32px}
.page-contact .contact-label>span{font-size:10px;margin-bottom:8px}.page-contact .contact-label h2{font-size:14px}
.page-contact .contact-intro{font-size:21px}.page-contact .contact-form-intro{font-size:12px;margin-bottom:28px}
#filer-contact-form{grid-template-columns:1fr;gap:24px}
.page-contact .contact-field:has(#contact-name),.page-contact .contact-field:has(#contact-email){grid-column:1/-1}
.page-contact .contact-submit{width:100%}.page-contact .contact-form-fallback{margin-top:-10px}
.page-contact .contact-notari{margin-top:40px;padding:24px}
}
@media(prefers-reduced-motion:reduce){.page-contact input,.page-contact textarea,.page-contact a,.page-contact button{transition:none!important}}

/* Keep the form readable while the surrounding page retains the shared gutter. */
.page-contact .contact-directory-body{max-width:720px}
.page-contact .contact-notari{max-width:540px;box-sizing:border-box;padding:26px 28px}
@media(max-width:800px){.page-contact .contact-notari{padding:24px}}

/* Route visitors before they begin filling in the corporate form. */
.page-contact .contact-notari{display:flex;align-items:center;justify-content:space-between;gap:24px;margin:0 0 44px;padding:22px 24px;max-width:540px}
.page-contact .contact-notari h3{font-size:16px;margin:0 0 6px}
.page-contact .contact-notari p{font-size:12px;line-height:1.9}
.page-contact .contact-notari>small{flex-shrink:0;font-size:10px;color:var(--muted);white-space:nowrap}
@media(max-width:600px){.page-contact .contact-notari{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:36px;padding:20px}.page-contact .contact-notari>small{align-self:flex-end}}

/* Keep service routing in the guide column, separate from the form. */
.page-contact .contact-label .contact-notari{flex-direction:column;align-items:flex-start;gap:18px;margin:32px 0 0;padding:22px;max-width:320px}
.page-contact .contact-label .contact-notari h3{font-size:15px;line-height:1.8}
.page-contact .contact-label .contact-notari>small{align-self:flex-end}
@media(max-width:800px){.page-contact .contact-label .contact-notari{max-width:540px;flex-direction:row;align-items:center;margin-top:20px;gap:20px}.page-contact .contact-label .contact-notari>small{align-self:center}}
@media(max-width:480px){.page-contact .contact-label .contact-notari{flex-direction:column;align-items:flex-start;gap:10px;padding:20px}.page-contact .contact-label .contact-notari>small{align-self:flex-end}}

/* Align guide headings with the text inside the bordered service link. */
.page-contact .contact-label>span,.page-contact .contact-label>h2{margin-left:23px}
@media(max-width:480px){.page-contact .contact-label>span,.page-contact .contact-label>h2{margin-left:21px}}

/* Align the frame with the page gutter and keep equal inner padding. */
.page-contact .contact-label>span,.page-contact .contact-label>h2{margin-left:0}
