/* Contact page, aligned with the about-page visual language. */
body[data-page="contact"] .contact-hero .v-inner-stage{min-height:410px}
body[data-page="contact"] .contact-hero .v-inner-art{display:flex;align-items:center;justify-content:center;mask-image:none;-webkit-mask-image:none}
body[data-page="contact"] .contact-hero .v-inner-art img{width:100%;height:100%;max-height:410px;object-fit:contain;filter:drop-shadow(0 16px 25px rgba(35,93,165,.12))}
body[data-page="contact"] .content-section{scroll-margin-top:90px}
.contact-heading{text-align:center;max-width:780px;margin:0 auto 38px}
.contact-heading .v-kicker{display:block;color:#1762ce;letter-spacing:.14em}
.contact-heading h2{margin:8px 0 10px;color:var(--ink);font-size:clamp(28px,3vw,40px);font-weight:600;line-height:1.3}
.contact-heading p{margin:0;color:#718399;font-size:14px;line-height:1.8}
body[data-page="contact"] #contact-intro{background:#fff}
.contact-gallery{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.contact-gallery figure{position:relative;overflow:hidden;margin:0;background:#e5eef9;min-height:300px}
.contact-gallery img{display:block;width:100%;height:clamp(280px,26vw,390px);object-fit:cover;transition:transform .45s}
.contact-gallery figure:hover img{transform:scale(1.025)}
.contact-gallery figcaption{position:absolute;inset:auto 0 0;display:flex;align-items:end;justify-content:space-between;gap:12px;padding:40px 24px 20px;background:linear-gradient(transparent,rgba(7,33,66,.75));color:#fff}
.contact-gallery figcaption strong{font-size:17px;font-weight:600}
.contact-gallery figcaption span{font-size:11px;color:#e1edfa}
body[data-page="contact"] #cooperation{background:linear-gradient(130deg,#edf5fd,#f8fbff 65%)}
.contact-cooperation{display:grid;grid-template-columns:.85fr 1.15fr;align-items:center;gap:clamp(40px,7vw,105px)}
.contact-cooperation-copy h2{margin:15px 0 20px;color:var(--ink);font-size:clamp(30px,3.2vw,45px);font-weight:600;line-height:1.35;letter-spacing:-.035em}
.contact-cooperation-copy p{max-width:480px;color:#637a92;font-size:14px;line-height:2}
.contact-cooperation-line{display:flex;flex-wrap:wrap;align-items:center;gap:9px 12px;margin-top:35px;color:#175dbe;font-size:12px}
.contact-cooperation-line span{color:#8cb7e5;font-size:10px}
.contact-cooperation-line strong{font-weight:600;margin-right:6px}
.contact-form-panel{padding:clamp(25px,3vw,40px);background:#fff;box-shadow:0 20px 55px rgba(26,75,133,.09)}
.contact-form-panel h3{margin:0;color:#153456;font-size:21px}
.form-unavailable{margin:8px 0 22px;color:#718399;font-size:12px;line-height:1.7}
.contact-preview-form fieldset{display:grid;grid-template-columns:1fr 1fr;gap:17px;border:0;padding:0;margin:0;min-width:0}
.contact-preview-form label{display:block;min-width:0;color:#405b75;font-size:12px}
.contact-preview-form label span{color:#1762ce}
.contact-preview-form input,.contact-preview-form select,.contact-preview-form textarea{display:block;width:100%;margin-top:7px;padding:11px 13px;border:1px solid #dce7f3;border-radius:2px;background:#f8fbfe;color:#60788f;font:inherit;opacity:1;-webkit-text-fill-color:#60788f}
.contact-preview-form input::placeholder,.contact-preview-form textarea::placeholder{color:#9eacba;-webkit-text-fill-color:#9eacba}
.contact-preview-form textarea{resize:vertical}
.contact-preview-form .wide{grid-column:1/-1}
.contact-preview-form button{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:14px 17px;border:0;background:#a5bcd7;color:#fff;font:inherit;font-size:13px;cursor:not-allowed}
body[data-page="contact"] #contact-info{background:#fff}
.contact-info-layout{display:grid;grid-template-columns:.72fr 1.28fr;align-items:stretch;box-shadow:0 16px 45px rgba(31,84,147,.08)}
.contact-info-card{padding:clamp(28px,4vw,50px);background:linear-gradient(145deg,#1c6bd1,#164f9f);color:#fff}
.contact-location-tag{margin:0 0 12px;font-size:10px;letter-spacing:.15em;color:#cbe5ff}
.contact-info-card h3{margin:0 0 32px;color:#fff;font-size:22px;line-height:1.5}
.contact-info-card dl{margin:0}
.contact-info-card dl div{padding:14px 0;border-top:1px solid rgba(255,255,255,.22)}
.contact-info-card dt{color:#cbe3fb;font-size:11px}
.contact-info-card dd{margin:5px 0 0;font-size:14px}
.contact-map{position:relative;overflow:hidden;margin:0;min-height:360px;background:#eaf2fb}
.contact-map svg{display:block;width:100%;height:100%;position:absolute;inset:0}
.contact-map figcaption{position:absolute;left:18px;bottom:18px;padding:8px 12px;background:rgba(255,255,255,.92);color:#55708c;font-size:11px}
body[data-page="contact"] #careers{background:#f1f6fc}
.contact-careers{display:grid;grid-template-columns:.8fr 1.2fr;gap:18px}
.contact-career-intro{display:flex;flex-direction:column;align-items:flex-start;min-height:360px;padding:clamp(28px,4vw,48px);color:#fff;background:linear-gradient(145deg,rgba(12,55,112,.9),rgba(16,72,142,.73)),url("assets/visual-v2/future-manufacturing.jpg") center/cover}
.contact-career-intro h3{margin:0;color:#fff;font-size:26px}
.contact-career-intro>p{max-width:340px;color:#e1efff;font-size:13px;line-height:1.9}
.resume-placeholder{display:grid;gap:5px;margin-top:auto;padding-top:30px}
.resume-placeholder span{font-size:12px;color:#cfe4fc}.resume-placeholder strong{font-size:16px;color:#fff}
.contact-career-directions{padding:12px 28px;background:#fff}
.career-note{margin:10px 0 4px;color:#8b9db0;font-size:11px}
.contact-career-directions article{display:flex;gap:20px;padding:18px 0;border-bottom:1px solid #e6edf5}
.contact-career-directions article:last-child{border-bottom:0}
.contact-career-directions article>span{color:#5b94d6;font-size:11px;padding-top:4px}
.contact-career-directions h3{margin:0 0 5px;color:#17395f;font-size:15px}
.contact-career-directions article p{margin:0;color:#71869b;font-size:12px;line-height:1.7}
.contact-privacy{padding:20px 0;background:#fff}
.contact-privacy p{margin:0;color:#8092a5;font-size:12px;text-align:center;line-height:1.7}
.contact-privacy a{margin-left:8px;color:#1762ce}
@media(max-width:760px){body[data-page="contact"] .contact-hero .v-inner-stage{min-height:410px}body[data-page="contact"] .contact-hero .v-inner-art{height:220px;margin:0 -5.6%}body[data-page="contact"] .contact-hero .v-inner-art img{max-height:220px}.contact-heading{margin-bottom:26px}.contact-gallery{grid-template-columns:1fr;gap:12px}.contact-gallery figure{min-height:0}.contact-gallery img{height:230px}.contact-cooperation{grid-template-columns:1fr;gap:28px}.contact-preview-form fieldset{grid-template-columns:1fr}.contact-preview-form .wide{grid-column:1}.contact-info-layout{grid-template-columns:1fr}.contact-map{min-height:250px}.contact-careers{grid-template-columns:1fr}.contact-career-intro{min-height:260px}.contact-career-directions{padding:12px 20px}}
@media(prefers-reduced-motion:reduce){.contact-gallery img{transition:none}}

/* Keep the blue telephone number legible against the blue contact card. */
.contact-info-card .site-phone{padding:8px 12px;margin-top:4px;border-radius:3px;background:#fff;color:#1762c7;font-size:22px;box-shadow:0 4px 12px rgba(5,43,97,.1)}
.contact-info-card .contact-email{color:#fff;text-decoration:none;overflow-wrap:anywhere}
.contact-info-card .contact-email:hover{text-decoration:underline}
