/* CONTACT spatial layout only. No form, dock or fixed-height content. */
.contact-page { max-width:1320px; margin:0 auto; padding:10px 0 0; }
.contact-page *, .contact-page *::before, .contact-page *::after { box-sizing:border-box; }
.contact-page .aic-icon { width:24px; height:24px; flex:0 0 auto; }
.contact-page .contact-breadcrumb { display:flex; align-items:center; gap:5px; flex-wrap:wrap; }
.contact-page .contact-breadcrumb .aic-icon { width:14px; height:14px; }
.contact-page .contact-breadcrumb button { min-height:30px; }
.contact-page .contact-intro { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:4px 0 12px; }
.contact-page .contact-intro > div { min-width:0; }
.contact-page .contact-intro-guide { display:flex; gap:12px; align-items:center; }
.contact-page .contact-intro-guide img { width:76px; height:88px; object-fit:contain; }
.contact-page .contact-intro-guide p { text-align:right; }
.contact-page .contact-workspace { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:16px; align-items:start; }
.contact-page .contact-support { display:grid; gap:14px; min-width:0; }
.contact-page .contact-panel { min-width:0; }
.contact-page .contact-line-head { padding:12px 16px; display:flex; align-items:center; gap:12px; }
.contact-page .contact-line-icon { display:grid; place-items:center; width:44px; height:44px; flex:0 0 44px; }
.contact-page .contact-line-body { padding:14px 16px 6px; }
.contact-page .contact-line-action { display:flex; flex-wrap:wrap; align-items:center; gap:12px 16px; }
.contact-page .contact-line-action > div { flex:1 1 310px; min-width:0; }
.contact-page .contact-line-action > .contact-button { flex:0 1 auto; }
.contact-page .contact-link-note { margin-top:8px; }
.contact-page .contact-prepare { margin-top:14px; }
.contact-page .contact-prepare h3 { padding:11px 0 6px; }
.contact-page .contact-pair { display:grid; grid-template-columns:145px minmax(0,1fr); gap:10px; padding:9px 0; }
.contact-page .contact-pair :is(dt,dd) { min-width:0; overflow-wrap:anywhere; }
.contact-page .contact-secondary { padding:11px 16px 0; }
.contact-page .contact-secondary h2 { padding-bottom:8px; }
.contact-page .contact-secondary-link { display:grid; grid-template-columns:24px 78px minmax(0,1fr) 24px; align-items:center; gap:10px; padding:10px 0; min-height:48px; }
.contact-page .contact-secondary-link strong { overflow-wrap:anywhere; min-width:0; }
.contact-page .contact-panel-heading { padding:12px 16px; display:flex; align-items:center; flex-wrap:wrap; justify-content:space-between; gap:8px 12px; }
.contact-page .contact-visit-content { padding:0 16px 12px; }
.contact-page .contact-detail-row { display:grid; grid-template-columns:118px minmax(0,1fr); gap:10px; padding:11px 0; }
.contact-page .contact-detail-row dt { display:flex; align-items:center; gap:8px; }
.contact-page .contact-detail-row dd { min-width:0; overflow-wrap:anywhere; }
.contact-page .contact-map-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; min-height:130px; margin-top:12px; padding:12px; text-align:center; }
.contact-page .contact-map-placeholder > .aic-icon { width:32px; height:32px; }
.contact-page .contact-map-actions { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding-top:10px; }
.contact-page .contact-map-actions p { margin:0; flex:1 1 200px; }
.contact-page .contact-button { display:inline-flex; justify-content:center; align-items:center; gap:8px; min-height:46px; padding:10px 14px; text-align:center; }
.contact-page .contact-button .aic-icon { width:21px; height:21px; }
.contact-page .contact-pickup-note { display:flex; align-items:flex-start; gap:10px; padding-top:10px; margin-top:12px; }
.contact-page .contact-pickup-note span { display:block; }
.contact-page .contact-shortcuts { display:grid; grid-template-columns:1fr 1fr; margin-top:14px; }
.contact-page .contact-shortcut { display:flex; align-items:center; gap:12px; padding:12px 16px; min-width:0; }
.contact-page .contact-shortcut > div { flex:1; min-width:0; }
.contact-page .contact-text-link { display:inline-flex; align-items:center; gap:6px; min-height:44px; padding:6px 0; flex:0 0 auto; }
.contact-page .contact-text-link .aic-icon { width:19px; height:19px; }
@media(max-width:1390px) { .contact-page { margin-inline:24px; } }
@media(max-width:1000px) { .contact-page .contact-workspace { gap:14px; } .contact-page .contact-pair { grid-template-columns:1fr; gap:2px; } .contact-page .contact-detail-row { grid-template-columns:1fr; gap:3px; } .contact-page .contact-shortcut { flex-wrap:wrap; } .contact-page .contact-text-link { margin-left:36px; } }
@media(max-width:860px) { .contact-page .contact-workspace { grid-template-columns:1fr; } .contact-page .contact-pair { grid-template-columns:145px minmax(0,1fr); gap:10px; } .contact-page .contact-detail-row { grid-template-columns:118px minmax(0,1fr); gap:10px; } .contact-page .contact-shortcuts { grid-template-columns:1fr; } .contact-page .contact-shortcut { flex-wrap:nowrap; } .contact-page .contact-text-link { margin-left:0; } }
@media(max-width:600px) {
 .contact-page { margin-inline:12px; }
 .contact-page .contact-intro-guide p { display:none; }
 .contact-page .contact-intro-guide img { width:60px; height:70px; }
 .contact-page .contact-intro { gap:8px; padding-bottom:10px; }
 .contact-page .contact-line-head, .contact-page .contact-panel-heading { padding:12px; }
 .contact-page .contact-line-body { padding:12px 12px 4px; }
 .contact-page .contact-line-action > .contact-button { width:100%; }
 .contact-page .contact-line-action > div { flex-basis:100%; }
 .contact-page .contact-pair { grid-template-columns:1fr; gap:2px; padding:8px 0; }
 .contact-page .contact-secondary { padding:10px 12px 0; }
 .contact-page .contact-secondary-link { grid-template-columns:24px minmax(0,1fr) 20px; gap:1px 10px; }
 .contact-page .contact-secondary-link > .aic-icon:first-child { grid-column:1; grid-row:1 / 3; }
 .contact-page .contact-secondary-label { grid-column:2; }
 .contact-page .contact-secondary-link strong { grid-column:2; }
 .contact-page .contact-secondary-arrow { grid-column:3; grid-row:1 / 3; }
 .contact-page .contact-visit-content { padding:0 12px 12px; }
 .contact-page .contact-detail-row { grid-template-columns:1fr; gap:4px; }
 .contact-page .contact-shortcut { flex-wrap:wrap; padding:12px; gap:8px 10px; }
 .contact-page .contact-shortcut > div { flex-basis:calc(100% - 34px); }
 .contact-page .contact-text-link { margin-left:34px; }
}
