/* Contact keeps the path from a first question to a reply short. */
.ca-contact-page { --contact-blue:#1264c3; --contact-ink:#142e47; --contact-muted:#52677b; background:#fff; }
.contact-hero { position:relative; isolation:isolate; overflow:hidden; padding:26px 0 72px; background:linear-gradient(118deg,#f4f8fd 0%,#edf6ff 53%,#f5f8fc 100%); border-bottom:1px solid #dae5ef; }
.contact-hero::before { content:""; position:absolute; z-index:-1; width:740px; height:740px; right:-360px; top:-260px; border:1px solid #dceafa; border-radius:50%; box-shadow:0 0 0 90px #e8f1fc,0 0 0 91px #dceafa; pointer-events:none; }
.contact-hero .breadcrumbs { margin:0 0 32px; color:#5e7285; font-size:12px; }
.contact-layout { display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:clamp(36px,6vw,88px); align-items:start; }
.contact-intro { padding-top:30px; min-width:0; }
.contact-intro .section-label { color:#38658c; letter-spacing:.13em; margin-bottom:22px; }
.contact-intro h1 { margin:0; color:var(--contact-ink); font-size:clamp(40px,4.25vw,60px); font-weight:540; line-height:1.09; letter-spacing:-.045em; }
.contact-intro h1 span { display:block; color:var(--contact-blue); }
.contact-intro .contact-lead { max-width:440px; margin:26px 0 0; color:var(--contact-muted); font-size:17px; line-height:1.8; }
.contact-reply { display:flex; gap:17px; align-items:center; max-width:440px; margin-top:38px; padding:24px 0; border-top:1px solid #cbdcec; border-bottom:1px solid #cbdcec; }
.contact-reply-icon { display:grid; place-items:center; flex:0 0 48px; width:48px; height:48px; color:var(--contact-blue); background:#fff; border:1px solid #d5e4f3; border-radius:14px; }
.contact-reply-icon svg { width:25px; height:25px; }
.contact-reply strong { display:block; color:var(--contact-ink); font-size:20px; font-weight:650; line-height:1.4; letter-spacing:-.02em; }
.contact-reply p { margin:5px 0 0; color:var(--contact-muted); font-size:13px; line-height:1.6; }
.contact-intro .contact-simple { display:flex; align-items:flex-start; gap:10px; max-width:400px; margin:25px 0 0; color:#486882; font-size:13px; line-height:1.7; }
.contact-simple svg { flex:0 0 17px; width:17px; height:17px; margin-top:2px; }
.contact-form-card { min-width:0; padding:32px; border:1px solid #d6e2ed; border-radius:18px; background:#fff; box-shadow:0 16px 52px -26px #1c49763b,0 3px 8px #1c497608; }
.contact-form-heading { margin-bottom:23px; }
.contact-form-heading h2 { margin:0; color:var(--contact-ink); font-size:25px; font-weight:620; letter-spacing:-.03em; line-height:1.25; }
.contact-form-heading p { margin:7px 0 0; color:var(--contact-muted); font-size:13px; line-height:1.7; }
.contact-form { margin:0; }
.contact-field { margin-bottom:17px; }
.contact-field label,.contact-topic legend { display:block; margin-bottom:7px; padding:0; color:#243c52; font-size:13px; font-weight:600; line-height:1.6; }
.contact-field label span { margin-left:6px; color:#607487; font-size:12px; font-weight:400; }
.contact-field input,.contact-field textarea { display:block; width:100%; min-height:46px; padding:11px 13px; color:var(--contact-ink); border:1px solid #bdcbd8; border-radius:7px; background:#fff; font:inherit; font-size:16px; line-height:1.5; transition:border-color .15s,box-shadow .15s; }
.contact-field textarea { min-height:116px; resize:vertical; }
.contact-field input::placeholder,.contact-field textarea::placeholder { color:#63788b; opacity:1; }
.contact-field input:focus,.contact-field textarea:focus { border-color:var(--contact-blue); outline:2px solid #b5d5f8; outline-offset:1px; }
.contact-field [aria-invalid="true"] { border-color:#b63c37; }
.contact-field-error { margin:6px 0 0; color:#a32b2b; font-size:12px; line-height:1.6; }
.contact-field-error:empty { display:none; }
.contact-field-help { margin:7px 0 0; color:#63788b; font-size:12px; line-height:1.6; }
.contact-topic { min-width:0; margin:0 0 17px; padding:0; border:0; }
.contact-topic-options { display:flex; flex-wrap:wrap; gap:8px; }
.contact-topic-option { position:relative; display:block; cursor:pointer; }
.contact-topic-option input { position:absolute; width:1px; height:1px; margin:0; overflow:hidden; clip-path:inset(50%); }
.contact-topic-option span { display:flex; min-height:40px; align-items:center; justify-content:center; padding:8px 12px; border:1px solid #cbd7e2; border-radius:6px; background:#fff; color:#4c6377; font-size:12px; font-weight:500; line-height:1.5; transition:background .15s,border-color .15s; }
.contact-topic-option span:hover { border-color:#80a9d1; background:#f6faff; }
.contact-topic-option input:checked + span { color:#145a9e; background:#eaf4ff; border-color:#80b3e6; box-shadow:inset 0 0 0 1px #80b3e6; }
.contact-topic-option input:focus-visible + span { outline:2px solid var(--contact-blue); outline-offset:3px; }
.contact-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.contact-submit { display:flex; justify-content:center; align-items:center; gap:12px; width:100%; min-height:50px; padding:13px 18px; border:1px solid #1264c3; border-radius:7px; color:#fff; background:#1264c3; font:inherit; font-size:15px; font-weight:600; line-height:1.5; cursor:pointer; box-shadow:0 3px 6px #1264c31c; transition:background .15s,box-shadow .15s; }
.contact-submit svg { width:18px; height:18px; flex:0 0 18px; }
.contact-submit:hover { background:#0d51a0; border-color:#0d51a0; box-shadow:0 4px 12px #1264c330; }
.contact-submit:focus-visible { outline:3px solid #8ac0f4; outline-offset:3px; }
.contact-submit:disabled { background:#6c8dac; border-color:#6c8dac; box-shadow:none; cursor:wait; }
.contact-status { margin:12px 0 0; padding:12px 14px; border-radius:7px; background:#eef5fc; color:#234d73; font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.contact-status:empty { display:none; }
.contact-status[data-state="error"] { color:#862b2b; background:#fff0ee; }
.contact-status[data-state="success"] { color:#185b45; background:#eef9f4; }
.contact-privacy { margin:13px 0 0; color:#5a7184; font-size:11px; line-height:1.7; }
.contact-privacy a { color:#235f91; text-decoration:underline; text-underline-offset:3px; }
.contact-noscript { margin:0 0 16px; padding:12px; border:1px solid #cbd7e2; border-radius:6px; color:#52677b; font-size:13px; line-height:1.7; }
.contact-noscript a { color:#1264c3; text-decoration:underline; }
.contact-other { padding-top:46px; padding-bottom:24px; }
.contact-other-heading { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 25px; margin-bottom:22px; }
.contact-other-heading h2 { margin:0; color:var(--contact-ink); font-size:22px; font-weight:550; letter-spacing:-.02em; line-height:1.35; }
.contact-other-heading p { margin:0; color:var(--contact-muted); font-size:13px; line-height:1.6; }
.contact-channels { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:20px; }
.contact-channel { display:flex; align-items:center; gap:16px; min-width:0; padding:21px 23px; border:1px solid #dce5ed; border-radius:10px; background:#fbfcfe; }
.contact-channel > svg { flex:0 0 25px; width:25px; height:25px; color:#3d6b90; }
.contact-channel > div { min-width:0; }
.contact-channel h3 { margin:0 0 4px; color:#607589; font-size:12px; font-weight:500; line-height:1.5; }
.contact-channel a { display:inline-flex; align-items:center; min-height:36px; color:#145f9f; font-size:19px; font-weight:530; line-height:1.5; overflow-wrap:anywhere; }
.contact-channel a:hover { text-decoration:underline; text-underline-offset:4px; }
.ca-contact-page .ca-resource-row { padding-top:8px; padding-bottom:38px; gap:36px; }
.ca-contact-page .ca-resource-row strong { font-size:15px; }
html[lang="zh-CN"] .contact-intro h1 { font-size:clamp(38px,3.8vw,54px); line-height:1.24; letter-spacing:-.025em; font-weight:550; }
html[lang="zh-CN"] .contact-intro .contact-lead { line-height:1.9; }
html[lang="zh-CN"] .contact-form-heading h2 { line-height:1.4; font-size:24px; }
@media (max-width:1050px) {
 .contact-layout { gap:36px; grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr); }
 .contact-form-card { padding:28px; }
 .contact-topic-options { gap:7px; }
 .contact-topic-option span { padding-inline:10px; }
}
@media (max-width:780px) {
 .contact-hero { padding-top:20px; padding-bottom:42px; }
 .contact-hero .breadcrumbs { margin-bottom:24px; }
 .contact-layout { grid-template-columns:minmax(0,1fr); gap:27px; }
 .contact-intro { padding-top:0; }
 .contact-intro .section-label { margin-bottom:13px; font-size:10px; }
 .contact-intro h1 { max-width:570px; font-size:42px; line-height:1.12; }
 .contact-intro h1 span { display:inline; }
 .contact-intro .contact-lead { max-width:600px; margin-top:16px; font-size:15px; line-height:1.75; }
 .contact-reply { gap:11px; max-width:none; margin-top:19px; padding:0; border:0; }
 .contact-reply-icon { flex-basis:37px; width:37px; height:37px; border-radius:10px; }
 .contact-reply-icon svg { width:20px; height:20px; }
 .contact-reply strong { font-size:15px; }
 .contact-reply p { margin-top:2px; font-size:12px; }
 .contact-intro .contact-simple { display:none; }
 .contact-form-card { padding:28px; }
 .contact-other { padding-top:35px; }
 html[lang="zh-CN"] .contact-intro h1 { max-width:560px; font-size:36px; line-height:1.3; }
}
@media (max-width:520px) {
 .contact-hero .container,.ca-contact-page > .container { width:calc(100% - 32px); }
 .contact-hero .breadcrumbs { margin-bottom:20px; }
 .contact-intro { padding-inline:4px; }
 .contact-intro h1 { font-size:36px; }
 .contact-intro .contact-lead { font-size:14px; }
 .contact-form-card { padding:24px 20px; border-radius:13px; }
 .contact-form-heading { margin-bottom:19px; }
 .contact-form-heading h2 { font-size:23px; }
 .contact-field { margin-bottom:16px; }
 .contact-topic-options { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
 .contact-topic-option span { min-height:42px; }
 .contact-field textarea { min-height:126px; }
 .contact-channels { grid-template-columns:minmax(0,1fr); gap:12px; }
 .contact-channel { padding:17px 19px; }
 .contact-other-heading { margin-bottom:18px; }
 .contact-other-heading h2 { font-size:20px; }
 .ca-contact-page .ca-resource-row { gap:0; padding-bottom:25px; }
 .ca-contact-page .ca-resource-row strong { font-size:14px; }
 html[lang="zh-CN"] .contact-intro h1 { font-size:32px; }
}
