/* Contact journey: visible enquiry, compact evidence and optional detail. */
main[data-topic="contact"] { --uc-navy:#0a1733; --uc-tint:#f3f6fb; --uc-muted:#536581; --uc-line:#dce3ec; --uc-gold:#8a6500; min-width:0; }
main[data-topic="contact"] *, main[data-topic="contact"] *::before, main[data-topic="contact"] *::after { box-sizing:border-box; }
main[data-topic="contact"] :where(a,button,summary):focus-visible { outline:3px solid #385f96; outline-offset:4px; }
main[data-topic="contact"] .topic-head > p { max-width:67ch; }
main[data-topic="contact"] .uc-hero-action { margin-top:20px; }
main[data-topic="contact"] .uc-primary-button { display:inline-flex; align-items:center; justify-content:center; gap:16px; max-width:100%; min-height:48px; padding:12px 20px; border:1px solid var(--uc-navy); border-radius:5px; background:var(--uc-navy); color:#fff; font:inherit; font-size:16px; font-weight:600; line-height:1.5; text-align:center; cursor:pointer; transition:background-color .18s ease; }
main[data-topic="contact"] .uc-primary-button > span { flex:0 0 auto; font-size:20px; }
main[data-topic="contact"] .uc-primary-button:hover { background:#243c62; border-color:#243c62; }
main[data-topic="contact"] .uc-primary-button:disabled { opacity:.55; cursor:not-allowed; }
main[data-topic="contact"] .uc-contact { min-width:0; padding-block:20px 48px; color:var(--uc-muted); font-size:16px; line-height:1.85; }
main[data-topic="contact"] .uc-contact :where(h2,h3,h4,dt) { color:var(--uc-navy); }
main[data-topic="contact"] .uc-contact :where(p,figure,dl) { margin:0; }
main[data-topic="contact"] .uc-section-inner { min-width:0; width:100%; padding-inline:0; }
main[data-topic="contact"] .uc-section + .uc-section { margin-top:32px; padding-top:30px; border-top:1px solid var(--uc-line); }
main[data-topic="contact"] .uc-section-title { margin:0 0 22px; font-size:28px; font-weight:650; line-height:1.45; }
main[data-topic="contact"] .uc-about-layout { display:grid; grid-template-columns:minmax(0,1fr) 236px; gap:28px; align-items:start; }
main[data-topic="contact"] .uc-about-copy { min-width:0; }
main[data-topic="contact"] .uc-about-links { display:flex; flex-wrap:wrap; gap:12px 26px; margin-top:16px; }
main[data-topic="contact"] .uc-text-link { display:inline-flex; align-items:center; gap:9px; min-height:36px; color:var(--uc-muted); font-size:14px; text-decoration:underline; text-underline-offset:4px; }
main[data-topic="contact"] .uc-gallery { width:100%; max-width:236px; }
main[data-topic="contact"] .uc-gallery-images { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
main[data-topic="contact"] .uc-photo { min-width:0; border-radius:4px; overflow:hidden; background:var(--uc-tint); }
main[data-topic="contact"] .uc-photo img { display:block; width:100%; height:auto; aspect-ratio:469/556; object-fit:contain; }
main[data-topic="contact"] .uc-gallery figcaption { margin-top:8px; font-size:13px; line-height:1.6; }
main[data-topic="contact"] .uc-qualifications { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; margin-top:24px; padding:22px; background:var(--uc-tint); border-top:2px solid var(--uc-navy); }
main[data-topic="contact"] .uc-qualifications > div { min-width:0; }
main[data-topic="contact"] .uc-qualifications dt { margin-bottom:8px; font-size:18px; font-weight:650; line-height:1.5; }
main[data-topic="contact"] .uc-qualifications dd { margin:0; font-size:15px; }
main[data-topic="contact"] .uc-qualification-id { display:block; margin-bottom:6px; color:var(--uc-navy); font-weight:600; }
main[data-topic="contact"] .uc-source { margin-top:12px; font-size:13px; line-height:1.75; }
main[data-topic="contact"] .uc-source a { color:inherit; text-underline-offset:4px; }
main[data-topic="contact"] .uc-service-summary { margin-top:20px; padding-left:15px; border-left:2px solid var(--uc-line); font-size:15px; }
main[data-topic="contact"] .uc-service-summary p + p { margin-top:8px; }
main[data-topic="contact"] .uc-service-summary strong { color:var(--uc-navy); font-weight:600; }
main[data-topic="contact"] .uc-credentials-intro { margin-bottom:22px; }
main[data-topic="contact"] #hanlin-credentials { padding:26px 24px; background:var(--uc-tint); border-top:0; }
main[data-topic="contact"] .uc-proof-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
main[data-topic="contact"] .uc-certificate { min-width:0; }
main[data-topic="contact"] .uc-certificate-link { display:block; max-width:100%; border:1px solid var(--uc-line); border-radius:4px; overflow:hidden; background:#fff; text-decoration:none; }
main[data-topic="contact"] .uc-certificate-link > img { display:block; width:100%; height:auto; object-fit:contain; padding:6px; }
main[data-topic="contact"] .uc-certificate-link > span { display:flex; align-items:center; justify-content:space-between; gap:6px; min-height:36px; padding:7px 10px; border-top:1px solid var(--uc-line); background:#fff; color:var(--uc-navy); font-size:13px; font-weight:600; line-height:1.5; }
main[data-topic="contact"] .uc-certificate-link:hover { border-color:#385f96; }
main[data-topic="contact"] .uc-proof-grid .uc-certificate-link > img { height:142px; aspect-ratio:auto; }
main[data-topic="contact"] .uc-certificate figcaption { margin-top:11px; }
main[data-topic="contact"] .uc-certificate h3 { margin:0; font-size:17px; font-weight:650; line-height:1.5; }
main[data-topic="contact"] .uc-certificate figcaption p { margin-top:6px; font-size:14px; line-height:1.7; }
main[data-topic="contact"] .uc-partnership { margin-top:26px; padding-top:24px; border-top:1px solid var(--uc-line); }
main[data-topic="contact"] .uc-partnership .uc-section-title { margin:0 0 18px; font-size:22px; line-height:1.5; }
main[data-topic="contact"] .uc-evidence-row { display:grid; grid-template-columns:236px minmax(0,1fr); gap:26px; align-items:center; }
main[data-topic="contact"] .uc-evidence-media { min-width:0; width:100%; }
main[data-topic="contact"] .uc-evidence-media figcaption { margin-top:8px; font-size:13px; line-height:1.6; }
main[data-topic="contact"] .uc-evidence-copy { min-width:0; }
main[data-topic="contact"] .uc-evidence-copy h4 { margin:0 0 10px; font-size:19px; line-height:1.5; }
main[data-topic="contact"] .uc-evidence-copy p + p { margin-top:12px; }
main[data-topic="contact"] #hanlin-partnership img { aspect-ratio:1080/766; }
main[data-topic="contact"] .uc-amc-detail img { aspect-ratio:1080/691; }
main[data-topic="contact"] .uc-iol-detail img { aspect-ratio:1755/1240; }
main[data-topic="contact"] .uc-partnership-photo > img { aspect-ratio:4/3; padding:0; }
main[data-topic="contact"] .uc-credential-note { margin-top:22px; font-size:14px; line-height:1.8; }
main[data-topic="contact"] .uc-disclosures { border-top:1px solid var(--uc-line); }
main[data-topic="contact"] .uc-disclosure { border-bottom:1px solid var(--uc-line); }
main[data-topic="contact"] .uc-disclosure > summary { display:grid; grid-template-columns:minmax(0,1fr) 16px; gap:5px 20px; min-height:68px; padding:18px 4px; color:var(--uc-navy); list-style:none; cursor:pointer; }
main[data-topic="contact"] .uc-disclosure > summary::-webkit-details-marker { display:none; }
main[data-topic="contact"] .uc-disclosure > summary::marker { content:""; }
main[data-topic="contact"] .uc-disclosure > summary::after { content:""; grid-column:2; grid-row:1/3; align-self:center; justify-self:center; width:8px; height:8px; border-right:2px solid currentColor; border-bottom:2px solid currentColor; transform:rotate(45deg); transition:transform .18s ease; }
main[data-topic="contact"] .uc-disclosure[open] > summary::after { transform:rotate(225deg); }
main[data-topic="contact"] .uc-disclosure > summary:hover { background:var(--uc-tint); }
main[data-topic="contact"] .uc-disclosure-title { grid-column:1; font-size:18px; font-weight:650; line-height:1.5; }
main[data-topic="contact"] .uc-disclosure-meta { grid-column:1; color:var(--uc-muted); font-size:14px; line-height:1.75; }
main[data-topic="contact"] .uc-disclosure-body { padding:4px 4px 24px; }
main[data-topic="contact"] .uc-disclosure:not([open]) > .uc-disclosure-body { display:none; }
main[data-topic="contact"] .uc-channels { display:block; }
main[data-topic="contact"] .uc-wechat { padding:24px; background:var(--uc-tint); border-left:2px solid var(--uc-navy); }
main[data-topic="contact"] .uc-wechat h3 { margin:0 0 12px; font-size:22px; line-height:1.5; }
main[data-topic="contact"] .uc-wechat .uc-primary-button { margin-top:20px; }
main[data-topic="contact"] .uc-action-note { margin-top:12px; font-size:14px; line-height:1.7; }
main[data-topic="contact"] .uc-preparation { margin-top:20px; }
main[data-topic="contact"] .uc-preparation strong { color:var(--uc-navy); font-weight:600; }
main[data-topic="contact"] .uc-campus-list { border-top:2px solid var(--uc-navy); }
main[data-topic="contact"] .uc-campus-list > div { display:grid; grid-template-columns:148px minmax(0,1fr); gap:24px; padding:17px 0; border-bottom:1px solid var(--uc-line); }
main[data-topic="contact"] .uc-campus-list dt { font-weight:600; }
main[data-topic="contact"] .uc-campus-list dd { min-width:0; margin:0; }
main[data-topic="contact"] .uc-campus-list address { margin:0; font-style:normal; overflow-wrap:anywhere; }
main[data-topic="contact"] .uc-visit-note { margin-top:20px; padding-left:13px; border-left:2px solid var(--uc-line); }
main[data-topic="contact"] :where(.uc-source,.uc-qualification-id,.uc-evidence-copy,.uc-disclosure-meta,.uc-proof-grid figcaption) { overflow-wrap:anywhere; }
@media (max-width:1199px) {
  main[data-topic="contact"] .page-anchors { display:flex; flex-wrap:nowrap; align-items:center; gap:6px; min-width:0; max-width:100%; overflow-x:auto; padding:6px; border-radius:6px; overscroll-behavior-x:contain; scrollbar-width:thin; }
  main[data-topic="contact"] .page-anchors > a { flex:0 0 auto; display:inline-flex; align-items:center; min-height:42px; padding:8px 11px; white-space:nowrap; font-size:14px; line-height:1.5; }
  main[data-topic="contact"] .page-anchors > a:focus-visible { outline-offset:-3px; }
}
@media (max-width:980px) {
  main[data-topic="contact"] .uc-about-layout { grid-template-columns:minmax(0,1fr) 200px; gap:22px; }
  main[data-topic="contact"] .uc-evidence-row { grid-template-columns:200px minmax(0,1fr); gap:22px; }
}
@media (max-width:980px) {
  main[data-topic="contact"] .uc-contact { padding-block:22px 40px; }
  main[data-topic="contact"] .uc-section + .uc-section { margin-top:28px; padding-top:26px; }
  main[data-topic="contact"] .uc-section-title { margin-bottom:18px; font-size:24px; }
  main[data-topic="contact"] .uc-about-layout { grid-template-columns:minmax(0,1fr); gap:18px; }
  main[data-topic="contact"] .uc-gallery { max-width:236px; }
  main[data-topic="contact"] .uc-qualifications { grid-template-columns:minmax(0,1fr); gap:16px; padding:20px; }
  main[data-topic="contact"] .uc-qualifications > div + div { padding-top:15px; border-top:1px solid var(--uc-line); }
  main[data-topic="contact"] #hanlin-credentials { padding:22px 0; background:#f7f9fc; }
  main[data-topic="contact"] .uc-proof-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
  main[data-topic="contact"] .uc-proof-grid > .uc-certificate { display:grid; grid-template-columns:112px minmax(0,1fr); gap:14px; align-items:start; }
  main[data-topic="contact"] .uc-proof-grid .uc-certificate-link > img { height:80px; padding:4px; }
  main[data-topic="contact"] .uc-proof-grid .uc-certificate-link > span { min-height:34px; padding:6px; font-size:12px; }
  main[data-topic="contact"] .uc-proof-grid figcaption { margin:0; }
  main[data-topic="contact"] .uc-proof-grid h3 { font-size:16px; }
  main[data-topic="contact"] .uc-partnership .uc-section-title { font-size:21px; }
  main[data-topic="contact"] .uc-evidence-row { grid-template-columns:minmax(0,1fr); gap:18px; }
  main[data-topic="contact"] .uc-evidence-media { max-width:260px; }
  main[data-topic="contact"] .uc-disclosure-title { font-size:17px; }
  main[data-topic="contact"] .uc-disclosure > summary { gap:5px 14px; }
  main[data-topic="contact"] .uc-wechat { padding:21px 20px; }
  main[data-topic="contact"] .uc-wechat h3 { font-size:21px; }
}
@media (max-width:520px) {
  main[data-topic="contact"] .uc-primary-button { width:100%; gap:12px; padding-inline:16px; }
  main[data-topic="contact"] .uc-campus-list > div { grid-template-columns:minmax(0,1fr); gap:6px; }
}
@media (prefers-reduced-motion:reduce) {
  main[data-topic="contact"] .uc-primary-button, main[data-topic="contact"] .uc-disclosure > summary::after { transition:none; }
}
