.contact-page *, .contact-page *::before, .contact-page *::after {letter-spacing:0}
.contact-main *, .contact-main *::before, .contact-main *::after {box-sizing:border-box}
.contact-main a {color:#1a4671;text-decoration:none}
.contact-main a:hover {text-decoration:underline}
.contact-page :focus-visible {outline:3px solid #23889a;outline-offset:4px}
.skip-link {position:absolute;left:20px;top:-100px;z-index:100;background:white;padding:10px;color:#1a4671}
.skip-link:focus {top:10px}
.contact-page .ttl_contents h1 {line-height:1.4}
.contact-page .ttl_contents h1 span {display:inline-block;max-width:100%}
.contact-section-nav ul {grid-template-columns:repeat(2,minmax(0,1fr))}
.contact-section-nav a {flex-wrap:wrap;column-gap:8px;line-height:1.6}
.contact-section-nav a span {display:inline-block}
.contact-page .contact-section-nav a[aria-current="page"] {background:#1a4671;color:#fff;border-color:#1a4671}
.contact-page .contact-section-nav a:not([aria-current="page"]):hover {background:#edf5f7;color:#185d6c}
.contact-page .contact-section-nav a:focus-visible {outline-offset:-4px;outline-color:#23889a}
.contact-main {width:min(960px,calc(100% - 48px));margin:0 auto;padding:28px 0 80px}
.breadcrumb {font-size:12px;color:#64717c;margin-bottom:26px;overflow-wrap:anywhere}
.contact-lead {font-size:16px;line-height:2;margin-bottom:16px;color:#354454}
.contact-main .contact-lead a {font-weight:700;text-decoration:underline;text-underline-offset:3px}
.steps {display:flex;justify-content:center;gap:54px;padding:26px 0 30px;color:#73818b;font-size:14px}
.steps li {display:flex;align-items:center;gap:8px}
.steps span {display:inline-flex;align-items:center;justify-content:center;border:1px solid #c6d1d9;border-radius:50%;width:26px;height:26px;font-size:12px}
.steps [aria-current] {color:#1a4671;font-weight:700}
.steps [aria-current] span {background:#1a4671;color:#fff;border-color:#1a4671}
.sales-note {font-size:14px;background:#f1f5f7;border-left:3px solid #23889a;padding:16px 20px;color:#425466;margin-bottom:24px}
.required-note {font-size:12px;text-align:right;margin-bottom:10px}
.required-note span,.badge {font-size:10px;background:#a54454;color:#fff;padding:2px 6px;border-radius:2px;font-weight:400;white-space:nowrap;vertical-align:middle}
.form-row {display:grid;grid-template-columns:240px minmax(0,1fr);padding:24px 0;gap:32px;border-top:1px solid #d6e0e7;align-items:start}
.form-row>label {font-size:15px;font-weight:700;padding-top:10px;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#1a4671}
.field {min-width:0}
.field input,.field select,.field textarea {width:100%;border:1px solid #b9c7d1;border-radius:2px;background:#fff;color:#172331;font:inherit;line-height:1.5;padding:12px 14px;min-height:48px}
.field textarea {resize:vertical;min-height:180px}
.zip-control {display:flex;gap:12px;align-items:stretch}
.zip-control input {min-width:0;flex:1}
.zip-search {display:inline-flex;align-items:center;justify-content:center;gap:8px;flex-shrink:0;border:1px solid #1a4671;background:#fff;color:#1a4671;font:inherit;font-size:14px;padding:10px 14px;cursor:pointer}
.zip-search[hidden] {display:none}
.zip-search:hover {background:#f1f5f7}
.zip-search:disabled {opacity:.6;cursor:wait}
.zip-status {font-size:13px;color:#425466;min-height:24px;margin-top:6px;overflow-wrap:anywhere}
.field input[aria-invalid],.field select[aria-invalid],.field textarea[aria-invalid] {border-color:#b43149;background:#fffafb}
.field-note {font-size:12px;color:#667682;text-align:right;margin-top:5px}
.optional-label {font-size:12px;font-weight:400;color:#667682}
.attachment-note {font-size:12px;line-height:1.7;color:#667682;margin-top:8px}
.attachment-list {margin-top:12px;padding:0;list-style:none}
.attachment-list li {display:flex;align-items:flex-start;gap:12px;padding:10px 0;border-bottom:1px solid #d6e0e7}
.attachment-name {flex:1;min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.7}
.attachment-name small {font-size:12px;color:#667682;white-space:nowrap}
.attachment-remove {display:inline-flex;align-items:center;gap:6px;flex-shrink:0;font-size:13px;min-height:32px}
.field .attachment-remove input {width:18px;min-height:18px;accent-color:#1a4671;padding:0}
.field input[type=file] {font-size:14px;padding:10px;overflow:hidden}
.field input[type=file]::file-selector-button {font:inherit;color:#1a4671;background:#edf5f7;border:1px solid #b9c7d1;padding:6px 10px;margin-right:8px;cursor:pointer}
.attachment-clear {font:inherit;font-size:13px;border:0;background:transparent;color:#1a4671;cursor:pointer;padding:10px 0;text-decoration:underline}
.attachment-clear[hidden] {display:none}
.field-error {color:#a72c43;font-size:13px;margin-top:5px}
.privacy-check {border-top:1px solid #d6e0e7;padding:28px 0;text-align:center;font-size:14px}
.privacy-check label {display:inline-flex;gap:10px;align-items:center}
.privacy-check input {width:19px;height:19px;accent-color:#1a4671;flex-shrink:0}
.privacy-check a {text-decoration:underline}
.form-actions {display:flex;justify-content:center;gap:16px;padding:18px 0 0}
.contact-page .button {display:inline-flex;align-items:center;justify-content:center;gap:20px;padding:15px 28px;min-height:54px;min-width:170px;border:1px solid transparent;border-radius:0;font:inherit;font-size:15px;font-weight:700;cursor:pointer;line-height:1.5;white-space:normal}
.contact-page .primary {background:#1a4671;color:white}
.contact-page .primary:hover {background:#185d6c;text-decoration:none}
.contact-page .secondary {background:white;color:#1a4671;border-color:#9aafbf}
.contact-page .button i {font-size:14px}
.trap {position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.error-summary {border-left:4px solid #ad344c;padding:16px 20px;background:#fff1f2;color:#892c3e;margin-bottom:22px;font-size:14px}
.error-summary ul {margin-top:8px}
.error-summary a {color:inherit;text-decoration:underline}
.confirmed-value {white-space:pre-wrap;overflow-wrap:anywhere;padding-top:9px;font-size:15px}
.confirmation-note {padding:10px 0 20px}
.completion {text-align:center;padding:40px 0}
.completion>i {font-size:45px;color:#23889a}
.completion h2 {font-size:28px;color:#1a4671;font-weight:700;margin:20px 0}
.completion p {margin-bottom:25px}
.reference {font-size:12px;color:#63717a;overflow-wrap:anywhere}
.cf-turnstile {max-width:100%;margin:24px auto 0;width:300px}
@media(max-width:1000px) {
  .form-row {grid-template-columns:210px minmax(0,1fr);gap:24px}
}
@media(max-width:769px) {
  .contact-products .block_header_s {min-height:280px}
  .contact-section-nav ul {grid-template-columns:1fr}
  .contact-section-nav a {justify-content:flex-start}
  .contact-main {width:calc(100% - 32px);padding:20px 0 48px}
  .contact-page .ttl_contents {box-sizing:border-box;padding-right:16px}
  .contact-page .ttl_contents h1 {font-size:24px}
  .breadcrumb {margin-bottom:20px}
  .contact-lead {font-size:14px}
  .steps {gap:25px;font-size:13px;padding:23px 0}
  .sales-note {font-size:13px;padding:12px 14px}
  .form-row {display:block;padding:18px 0}
  .form-row>label {justify-content:flex-start;gap:12px;padding-top:0;margin-bottom:9px}
  .field input,.field select,.field textarea {font-size:16px}
  .privacy-check {font-size:13px}
  .form-actions {gap:10px}
  .contact-page .button {min-width:0;padding:14px 17px;gap:12px;flex:1;font-size:14px}
  .completion h2 {font-size:22px}
  .completion .button {display:inline-flex}
}
@media(max-width:480px) {
  .zip-control {flex-wrap:wrap;gap:8px}
  .zip-control input {flex-basis:100%}
  .zip-search {min-height:44px}
}
