/* Additions to JLMS style.css; loaded only for the contact-us page. */
.jl-contact-page .jl-crumbs { margin-bottom: 16px; }
.jl-contact-grid { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: 40px; align-items: start; }
.jl-contact-left, .jl-contact-copy, .jl-contact-form, .jl-contact-row > div { min-width: 0; }
.jl-contact-copy p { margin: 0 0 16px; }
.jl-contact-copy h2, .jl-contact-card h2, .jl-contact-form h2 { margin-top: 0; }
.jl-contact-card { margin-top: 28px; padding: 24px; border: 1px solid #dde2e8; border-top: 4px solid var(--jl-blue, #1d5596); border-radius: 4px; }
.jl-contact-card dl { margin: 0; }
.jl-contact-card dt { margin: 18px 0 4px; color: var(--jl-blue, #1d5596); font: 700 15px/1.4 var(--jl-head, Exo, sans-serif); }
.jl-contact-card dt:first-child { margin-top: 0; }
.jl-contact-card dd { margin: 0; overflow-wrap: anywhere; }
.jl-contact-card address { margin-bottom: 8px; font-style: normal; }
.jl-contact-card a { text-decoration: underline; text-underline-offset: 3px; }
.jl-contact-form { background: var(--jl-gray, #f3f3f3); padding: 24px; border-radius: 8px; scroll-margin-top: 160px; }
.jl-contact-form label { display: block; margin: 0 0 4px; color: var(--jl-blue, #1d5596); font: 600 14px/1.4 var(--jl-sys, sans-serif); }
.jl-contact-form input[type="text"], .jl-contact-form input[type="tel"], .jl-contact-form input[type="email"], .jl-contact-form select, .jl-contact-form textarea { display: block; width: 100%; min-width: 0; max-width: 100%; margin: 0 0 16px; padding: 10px; border: 1px solid #cfd4da; border-radius: 4px; background: #fff; color: #333; font: 16px/1.5 var(--jl-sys, sans-serif); }
.jl-contact-form select { min-height: 46px; }
.jl-contact-form textarea { resize: vertical; }
.jl-contact-form input::placeholder, .jl-contact-form textarea::placeholder { color: #626971; opacity: 1; }
.jl-contact-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.jl-contact-hint { margin: 0 0 18px; font-size: 14px; }
.jl-contact-form .jl-contact-consent { display: flex; align-items: flex-start; gap: 10px; margin: 4px 0 18px; color: #444; font-weight: 400; }
.jl-contact-consent input { flex: 0 0 auto; margin: 3px 0 0; width: 18px; height: 18px; accent-color: var(--jl-blue, #1d5596); }
.jl-contact-consent span { min-width: 0; }
.jl-contact-form .jl-contact-submit { min-height: 46px; padding: 10px 26px; font-weight: 700; max-width: 100%; white-space: normal; }
.jl-contact-page a:focus-visible, .jl-contact-form input:focus-visible, .jl-contact-form select:focus-visible, .jl-contact-form textarea:focus-visible, .jl-contact-submit:focus-visible { outline: 3px solid var(--jl-blue, #1d5596); outline-offset: 3px; }
.jl-contact-form [aria-invalid="true"] { border-color: #b3261e; }
.jl-contact-error { display: block; margin: -8px 0 16px; color: #8a1f17; font-size: 14px; }
.jl-contact-note { margin: 0 0 18px; padding: 14px; border: 1px solid; border-radius: 6px; font-size: 15px; }
.jl-contact-note p { margin: 0; }
.jl-contact-note ul { margin: 10px 0 0; }
.jl-contact-note--ok { background: #e6f4ea; color: #1e5b2f; border-color: #b7dfc2; }
.jl-contact-note--err { background: #fdecea; color: #8a1f17; border-color: #f3c1bc; }
.jl-contact-note a { color: inherit; text-decoration: underline; }
.jl-contact-hp { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 991px) {
  .jl-contact-grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
}
@media (max-width: 575px) {
  .jl-contact-page { padding: 28px 0; }
  .jl-contact-card, .jl-contact-form { padding: 20px 16px; }
  .jl-contact-row { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .jl-contact-form { scroll-margin-top: 115px; }
  .jl-contact-form .jl-contact-submit { width: 100%; }
}
