/* Company contact information and map share one balanced, responsive panel. */
#contact-us .about-contact-grid{grid-template-columns:minmax(0,.88fr) minmax(0,1.12fr);align-items:stretch;gap:48px;padding:38px;border-radius:24px;box-shadow:0 16px 55px #14365405}
.about-contact-copy{min-width:0}
#contact-us .about-contact-copy h3{font-size:21px;line-height:1.6;margin:0;color:#1a2d45}
#contact-us .about-phone{font-size:clamp(23px,2.25vw,30px);font-weight:650;letter-spacing:-.6px;margin:18px 0 26px}
#contact-us .about-contact-grid dl{grid-template-columns:68px minmax(0,1fr);gap:14px;font-size:12px;margin:0 0 24px}
#contact-us .about-contact-grid dd{overflow-wrap:anywhere;color:#607995}
#contact-us .about-contact-social{border-left:0;border-top:1px solid #e7eef7;justify-content:flex-start;align-items:flex-start;padding:24px 0 0;margin-top:28px;gap:24px}
#contact-us .about-contact-social .social-channel{margin:0;min-width:0;flex:1;display:flex;flex-direction:column;align-items:center}
#contact-us .about-contact-social .social-qr-window{width:clamp(66px,6.5vw,91px);height:clamp(66px,6.5vw,91px)}
#contact-us .about-contact-social figcaption{font-size:12px;margin-top:10px;color:#304967}
#contact-us .about-contact-social .social-scan-hint{font-size:9px;line-height:1.6;color:#859ab4;text-align:center;white-space:normal}
.about-map-card{display:flex;flex-direction:column;min-width:0;border:1px solid #dce8f8;border-radius:18px;overflow:hidden;background:#f7faff}
.about-map-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;background:#f7faff}
.about-map-heading small{font-size:9px;letter-spacing:2px;color:#8ca1bd;display:block;margin-bottom:6px}
#contact-us .about-map-heading h3{margin:0;font-size:18px;font-weight:600;color:#203953}
.about-map-city{font-size:11px;color:#5484bd;background:#e9f2ff;padding:6px 10px;border-radius:7px;white-space:nowrap}
.about-map-stage{position:relative;flex:1;min-height:320px;background:#eef4fc}
.about-map-canvas{position:absolute;inset:0;outline:0}
.about-map-canvas:focus-visible{outline:2px solid #0878ff;outline-offset:-2px}
.about-map-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;text-align:center;background:linear-gradient(135deg,#edf5ff,#f9fbff);color:#6686ac;padding:25px}
.about-map-fallback[hidden],.about-map-card [hidden]{display:none!important}
.about-map-fallback>svg{width:40px;height:40px;color:#3786fa;fill:none;stroke:currentColor;stroke-width:1.4}
.about-map-fallback>p{font-size:12px;line-height:1.8;margin:0}
.about-map-retry{font:inherit;font-size:11px;border:1px solid #d2e2f6;border-radius:7px;padding:7px 12px;background:#fff;color:#0878ff;cursor:pointer}
.about-map-controls{position:absolute;right:14px;bottom:20px;display:grid;gap:5px;z-index:100}
.about-map-controls button{display:grid;place-items:center;width:35px;height:35px;border:1px solid #deE7f3;border-radius:8px;background:#fff;box-shadow:0 3px 12px #23477512;color:#416d9f;font-size:20px;cursor:pointer}
.about-map-controls button:disabled{opacity:.4;cursor:default}
.about-map-controls button:hover:not(:disabled){color:#006cff;background:#f0f6ff}
.about-map-controls svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.about-map-pin{display:flex;flex-direction:column;align-items:center;gap:6px;filter:drop-shadow(0 4px 7px #064bb12a)}
.about-map-pin>span{font-size:12px;font-weight:650;white-space:nowrap;background:#fff;border:1px solid #b9d5ff;border-radius:8px;padding:7px 12px;color:#1266d6}
.about-map-pin>i{display:block;width:35px;height:40px}
.about-map-pin svg{width:100%;height:100%;fill:#0c76ff;stroke:#fff;stroke-width:1.5}
.about-map-pin circle{fill:#fff;stroke:none}
.about-map-footer{padding:17px 22px 18px;background:#fff;border-top:1px solid #e2ebf6}
.about-map-footer>div{display:flex;gap:12px;align-items:flex-start;justify-content:space-between}
.about-map-footer p{font-size:11px;color:#6e85a2;margin:0;line-height:1.8}
.about-map-footer a{display:flex;gap:5px;align-items:center;white-space:nowrap;font-size:12px;color:#0878ff;font-weight:600;text-decoration:none;padding-top:1px}
.about-map-footer a svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.7}
.about-map-status{display:block;font-size:9px;color:#91a4bb;line-height:1.7;margin-top:7px}
.about-map-card button:focus-visible,.about-map-footer a:focus-visible{outline:2px solid #0878ff;outline-offset:3px}
/* Banner artwork is separate from copy so even wide screens keep an intentional composition. */
.detail-banner.support-illustrated-banner{background:radial-gradient(ellipse at 81% 42%,#dcecff 0%,#eff5ff 38%,transparent 67%),linear-gradient(110deg,#f8faff,#eef4fd);min-height:340px;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center;padding:48px max(8%,calc((100% - 1240px)/2));padding-right:48%;isolation:isolate}
.support-illustrated-banner>.column-banner-fx{display:none}
.support-illustrated-banner>h1,.support-illustrated-banner>p,.support-illustrated-banner>.breadcrumbs{position:relative;z-index:1}
.support-illustrated-banner>h1{font-size:clamp(28px,3vw,42px);line-height:1.45;letter-spacing:-.7px;margin:12px 0 16px;color:#1d314b}
.support-illustrated-banner>p{font-size:14px;color:#728aa8;max-width:560px;line-height:1.9;margin:0}
.support-illustrated-banner>p.eyebrow{color:#0878ff;font-size:10px;letter-spacing:2.8px}
.support-illustrated-banner>.breadcrumbs{margin-bottom:17px;font-size:11px}
.support-banner-art{position:absolute;right:max(6%,calc((100% - 1280px)/2));top:50%;width:460px;height:310px;transform:translateY(-50%);pointer-events:none;z-index:0;color:#3281f5}
.support-banner-glow{position:absolute;inset:20px 35px 30px;background:radial-gradient(ellipse,#87b8ff45,transparent 68%);filter:blur(8px)}
.support-banner-orbit{position:absolute;border:1px solid #b3d4fd77;border-radius:50%;width:400px;height:210px;top:42px;left:32px;transform:rotate(-23deg)}
.support-banner-orbit.orbit-two{width:325px;height:168px;top:64px;left:69px}
.support-banner-plane{position:absolute;left:108px;top:79px;width:230px;height:157px;background:linear-gradient(140deg,#ffffffaa,#c9dfff77);border:1px solid #ffffffdd;border-radius:25px;transform:rotate(-12deg) skewY(5deg);box-shadow:0 23px 35px #377cd311}
.support-banner-core{position:absolute;left:161px;top:45px;width:154px;height:177px;border-radius:29px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:linear-gradient(145deg,#fbfdff,#e0edff);border:1px solid #fff;box-shadow:inset 0 0 0 5px #ffffff59,8px 12px 0 #afcefa35,0 23px 45px #3982dc23;transform:rotate(-9deg)}
.support-banner-core>svg{width:66px;height:66px;color:#337af2;filter:drop-shadow(0 7px 4px #508fff29)}
.support-banner-core>span{font-size:13px;font-weight:650;letter-spacing:1.5px;color:#4e73a6}
.support-banner-mini{position:absolute;display:flex;align-items:center;gap:10px;padding:13px 15px;border:1px solid #fff;border-radius:14px;background:#ffffffc9;box-shadow:0 12px 26px #3777c217;backdrop-filter:blur(8px);min-width:130px;animation:support-banner-float 7s ease-in-out infinite}
.support-banner-mini>i{display:grid;place-items:center;width:34px;height:34px;border-radius:10px;background:#eaf3ff;color:#4389ee}
.support-banner-mini svg{width:20px;height:20px}
.support-banner-mini>span{font-size:12px;letter-spacing:.5px;color:#476a99;font-weight:550}
.support-banner-mini>b{margin-left:auto;color:#8bb8f6;font-size:16px;font-weight:400}
.support-banner-mini.mini-one{left:23px;top:122px;transform:rotate(-4deg)}
.support-banner-mini.mini-two{right:6px;top:192px;animation-delay:-3.5s;transform:rotate(3deg)}
.support-banner-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:linear-gradient(140deg,#fff,#85b6fc);box-shadow:0 4px 10px #407ed11f}
.support-banner-dot.dot-one{left:93px;top:38px}
.support-banner-dot.dot-two{right:54px;top:86px;width:17px;height:17px}
.support-banner-caption{position:absolute;bottom:0;left:115px;font-size:8px;letter-spacing:3px;color:#8ba8cb}
@keyframes support-banner-float{0%,100%{translate:0 0}50%{translate:0 -9px}}
@media(min-width:1800px){.support-banner-art{right:max(12%,calc((100% - 1160px)/2));transform:translateY(-50%) scale(1.12)}}
@media(max-width:1100px){#contact-us .about-contact-grid{gap:28px;padding:28px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}#contact-us .about-contact-copy h3{font-size:18px}#contact-us .about-contact-social{gap:12px}.about-map-stage{min-height:335px}.support-banner-art{right:3%;transform:translateY(-50%) scale(.88);transform-origin:right center}.detail-banner.support-illustrated-banner{padding-right:48%;min-height:315px}}
@media(max-width:800px){#contact-us .about-contact-grid{grid-template-columns:1fr;gap:30px}#contact-us .about-contact-social .social-qr-window{width:95px;height:95px}.about-map-stage{min-height:330px}.detail-banner.support-illustrated-banner{padding-right:44%;min-height:285px}.support-banner-art{right:0;transform:translateY(-50%) scale(.65)}.support-illustrated-banner>p{font-size:12px}.support-illustrated-banner>h1{font-size:29px}}
@media(max-width:600px){#contact-us .about-contact-grid{padding:23px;border-radius:18px;gap:28px}#contact-us .about-contact-copy h3{font-size:19px}#contact-us .about-phone{font-size:26px}#contact-us .about-contact-social{gap:8px;margin-top:24px;padding-top:22px}#contact-us .about-contact-social .social-qr-window{width:76px;height:76px}#contact-us .about-contact-social .social-scan-hint{font-size:8px}.about-map-heading{padding:17px}.about-map-footer{padding:15px 17px}.about-map-footer>div{flex-direction:column;gap:8px}.about-map-stage{min-height:290px}.about-map-heading small{font-size:8px}#contact-us .about-map-heading h3{font-size:17px}.about-map-city{font-size:10px}.detail-banner.support-illustrated-banner{padding:30px 7% 196px;min-height:380px}.support-illustrated-banner>h1{font-size:28px;max-width:none;margin:10px 0}.support-illustrated-banner>p{max-width:100%;font-size:12px}.support-banner-art{top:auto;bottom:-2px;right:50%;transform:translateX(50%) scale(.62);transform-origin:center bottom}.support-banner-caption{display:none}.support-illustrated-banner>.breadcrumbs{margin-bottom:15px}.support-banner-mini{animation:none}}
@media(max-width:360px){#contact-us .about-contact-grid{padding:18px}#contact-us .about-contact-copy h3{font-size:17px}#contact-us .about-phone{font-size:23px}#contact-us .about-contact-social .social-qr-window{width:65px;height:65px}.about-map-city{display:none}.support-illustrated-banner>h1{font-size:25px}}
@media(prefers-reduced-motion:reduce){.support-banner-mini{animation:none}}
