/* Contact-only presentation. Shared pages and inquiry policy stay unchanged. */
.hc-contact { padding-top:135px; color:#203742; font:16px/1.55 Geograph-Regular,Arial,sans-serif; }
.hc-contact * { box-sizing:border-box; }
.hc-contact a { overflow-wrap:anywhere; }
.hc-contact .hc-contact-hero { position:relative; background:#75a7be; overflow:hidden; }
.hc-contact .hc-contact-hero > img { display:block; width:100%; height:auto; }
.hc-contact .hc-contact-hero-copy { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; width:min(100% - 80px,1280px); margin:auto; }
.hc-contact h1 { max-width:620px; margin:0 0 10px; color:#102b44; font:400 clamp(32px,3.4vw,54px)/1.1 Geograph-Black-Bold,Arial,sans-serif; }
.hc-contact .hc-contact-hero-copy > p { color:#102b44; font-size:20px; margin:0 0 18px; }
.hc-contact .hc-contact-methods { display:flex; flex-wrap:wrap; gap:12px 24px; }
.hc-contact .hc-contact-methods a { color:#101e43; font-weight:700; text-decoration:underline; text-underline-offset:4px; }
.hc-contact .hc-contact-methods p { margin:0; }
.hc-contact .hc-contact-breadcrumb { border-bottom:1px solid #e6edf1; padding:13px max(20px,calc((100% - 1180px)/2)); font-size:14px; }
.hc-contact .hc-contact-breadcrumb a { color:#14658b; }
.hc-contact .hc-contact-grid { display:grid; grid-template-columns:minmax(260px,.8fr) minmax(0,1.35fr); gap:64px; width:min(100% - 80px,1180px); margin:46px auto 52px; align-items:start; }
.hc-contact h2 { font:400 30px/1.2 Geograph-Black-Bold,Arial,sans-serif; margin:0 0 16px; }
.hc-contact h3 { font:400 19px/1.3 Geograph-Medium,Arial,sans-serif; margin:24px 0 8px; }
.hc-contact .hc-contact-intro p { margin:0 0 16px; }
.hc-contact .hc-contact-intro a { color:#14658b; text-decoration:underline; }
.hc-contact .hc-contact-intro figure { margin:24px 0 0; }
.hc-contact .hc-contact-intro img { display:block; width:100%; height:auto; }
.hc-contact .hc-contact-intro figcaption { font-size:13px; color:#526875; margin-top:8px; }
.hc-contact .hc-contact-card { min-width:0; padding:28px; border:1px solid #dce6ec; border-radius:8px; background:#f7fafc; }
.hc-contact .hc-contact-card > p { margin:0 0 20px; }
.hc-contact .contact.hc-contact-form { padding:0; }
.hc-contact .hc-contact-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; }
.hc-contact .hc-contact-field { min-width:0; }
.hc-contact .hc-contact-field-wide { grid-column:1/-1; }
.hc-contact label { display:block; margin-bottom:7px; font:400 15px/1.35 Geograph-Medium,Arial,sans-serif; }
.hc-contact label span { font-family:Geograph-Regular,Arial,sans-serif; color:#526875; font-size:13px; }
.hc-contact input:not([hidden]),.hc-contact textarea { width:100%; min-width:0; border:1px solid #90a6b2; border-radius:4px; padding:11px 12px; background:#fff; color:#203742; font:16px/1.5 Geograph-Regular,Arial,sans-serif; }
.hc-contact input:not([hidden]) { min-height:48px; }
.hc-contact textarea { min-height:136px; resize:vertical; }
.hc-contact input::placeholder,.hc-contact textarea::placeholder { color:#627785; opacity:1; }
.hc-contact .hc-contact-help { margin:8px 0 0; color:#526875; font-size:14px; line-height:1.45; }
.hc-contact #tijiao { display:inline-flex; justify-content:center; align-items:center; min-height:50px; margin:20px 0 0; border:0; border-radius:4px; padding:12px 24px; background:#146b9b; color:#fff; cursor:pointer; font:400 16px/1.35 Geograph-Medium,Arial,sans-serif; }
.hc-contact #tijiao:disabled { opacity:.7; cursor:wait; }
.hc-contact :is(a,button,input,textarea):focus-visible { outline:3px solid #156d9a; outline-offset:3px; }
.hc-contact .hc-contact-hero a:focus-visible { outline-color:#10203f; }
.hc-contact [aria-invalid=true] { border-color:#a31530; }
.hc-contact .hc-form-status { display:block; min-height:26px; margin:14px 0 0; font-size:16px; line-height:1.5; overflow-wrap:anywhere; }
.hc-contact .hc-form-status:is(.is-error,.is-success) { border-left:4px solid; padding:12px; background:#fff; }
.hc-contact .hc-form-status.is-success { color:#17633a; }
.hc-contact .hc-form-status.is-error { color:#a31530; }
 .hc-contact .hc-factory-contacts { width:min(100% - 80px,1180px); margin:0 auto 56px; }
.hc-contact .hc-factory-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.hc-contact .hc-factory-card { padding:24px; border:1px solid #dce6ec; border-radius:6px; background:#fff; }
.hc-contact .hc-factory-card h3 { margin:0 0 14px; color:#14658b; }
.hc-contact .hc-factory-card p { margin:0; overflow-wrap:anywhere; }
@media (max-width:1024px) {
 .hc-contact .hc-contact-grid { width:calc(100% - 48px); gap:28px; grid-template-columns:minmax(210px,.75fr) minmax(0,1.35fr); }
 .hc-contact .hc-contact-card { padding:22px; }
 .hc-contact .hc-factory-contacts { width:calc(100% - 48px); }
 .hc-contact .hc-contact-hero > img { width:100%; min-height:230px; object-fit:cover; }
 .hc-contact .hc-contact-hero-copy { width:calc(100% - 48px); }
 .hc-contact h1 { max-width:70%; }
}
@media (max-width:1200px) { .hc-contact { padding-top:60px; } }
@media (max-width:767px) {
 .hc-contact .hc-contact-hero > img { position:absolute; inset:0; width:100%; height:100%; min-height:0; object-fit:cover; }
 .hc-contact .hc-contact-hero-copy { position:relative; width:auto; padding:24px 20px; background:rgba(117,167,190,.94); }
 .hc-contact h1 { max-width:none; font-size:30px; }
 .hc-contact .hc-contact-hero-copy > p { font-size:16px; margin-bottom:12px; }
 .hc-contact .hc-contact-methods { display:grid; gap:8px; font-size:15px; }
 .hc-contact .hc-contact-grid { display:flex; flex-direction:column; gap:30px; width:calc(100% - 40px); margin:24px auto 36px; }
 .hc-contact .hc-contact-card { order:-1; width:100%; padding:20px 16px; }
 .hc-contact h2 { font-size:25px; }
 .hc-contact .hc-contact-fields { grid-template-columns:1fr; gap:16px; }
 .hc-contact .hc-contact-field-wide { grid-column:auto; }
 .hc-contact #tijiao { width:100%; }
 .hc-contact .hc-contact-intro { width:100%; }
 .hc-contact .hc-contact-intro img { max-width:420px; }
 .hc-contact .hc-factory-contacts { width:calc(100% - 40px); margin-bottom:36px; }
 .hc-contact .hc-factory-grid { grid-template-columns:1fr; gap:16px; }
 .hc-contact .hc-factory-card { padding:20px; }
}
