.wechat-contact{display:grid;grid-template-columns:1fr 300px;align-items:center;gap:65px;background:#e8efe5;border:1px solid #c8d5c2;padding:48px}.wechat-contact h2{font-size:34px;line-height:1.45;margin:12px 0 20px;letter-spacing:-.035em}.wechat-contact p{font-size:13px;line-height:2;color:var(--muted);max-width:620px}.wechat-contact .eyebrow{font-size:10px;color:#657c5d}.wechat-contact .wechat-steps{padding-left:20px;margin:20px 0;font-size:13px;line-height:2;color:var(--muted)}.wechat-qr{margin:0;text-align:center;min-width:0}.wechat-qr a.qr-image-link{display:block;background:white;border:1px solid #d5ddd1;line-height:0}.wechat-qr img{width:100%;height:auto;aspect-ratio:1;object-fit:contain}.wechat-qr figcaption{font-size:11px;color:var(--muted);margin:12px 0;line-height:1.8}.wechat-actions{display:flex;justify-content:center;gap:20px;flex-wrap:wrap}.wechat-actions .text-link{font-size:12px}.contact-channel-links{display:flex;gap:15px;flex-wrap:wrap;margin-top:22px}.contact-channel-links .btn{gap:15px}.footer-wechat{display:inline-block;margin-top:14px;font-size:12px;border-bottom:1px solid currentColor}.contact-handoff{font-size:12px;line-height:2}.contact-handoff a{text-decoration:underline;text-underline-offset:4px}.wechat-contact{scroll-margin-top:25px}@media(max-width:760px){.wechat-contact{grid-template-columns:1fr;gap:28px;padding:28px 23px}.wechat-contact h2{font-size:27px}.wechat-qr{width:min(100%,300px);justify-self:center}.wechat-contact p,.wechat-contact .wechat-steps{font-size:12px}.contact-channel-links .btn{padding:13px 18px;font-size:12px;min-height:48px}}
/* Campus visit: a real map beside a readable arrival card. */
.visit-section{scroll-margin-top:28px;padding-top:18px}
.visit-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);border:1px solid #cbd4c7;background:#f1f2e9}
.visit-map-panel{min-width:0;display:flex;flex-direction:column;background:#e7ede2}
.visit-map-heading{display:flex;align-items:center;gap:12px;padding:20px 24px;font-size:13px;border-bottom:1px solid #cbd4c7}.visit-map-heading>span:last-child{margin-left:auto;color:var(--muted)}
.visit-location-dot{width:9px;height:9px;background:#2c7255;border-radius:50%;box-shadow:0 0 0 5px #2c725514}
.visit-map{width:100%;height:460px;flex:1;min-height:400px;border:0;background:#e5e9df}
.visit-map-caption{margin:0;padding:17px 24px;font-size:12px;line-height:1.8;color:var(--muted);border-top:1px solid #cbd4c7}
.visit-details{padding:42px;min-width:0}.visit-details .eyebrow{margin-top:0;font-size:12px;letter-spacing:.12em}.visit-details h3{font-size:30px;line-height:1.55;letter-spacing:-.03em;margin:18px 0}.visit-details h3 span{white-space:nowrap}.visit-details address{font-size:13px;line-height:1.9;font-style:normal;color:var(--muted)}
.visit-actions{display:flex;flex-wrap:wrap;gap:12px;margin:26px 0 0}.visit-actions .btn{font-size:12px;min-height:48px;padding:14px 19px;gap:10px}.visit-copy{display:flex;justify-content:space-between;gap:20px;align-items:center;min-height:44px;width:100%;background:transparent;border:0;border-bottom:1px solid #b7c4b2;padding:12px 0;color:inherit;text-align:left;font:inherit;font-size:12px;cursor:pointer}.visit-copy:hover{color:#397a54}.visit-copy:focus-visible{outline:2px solid #0b332d;outline-offset:4px}
#address-copy-status{font-size:12px;line-height:1.7;min-height:21px;margin:8px 0 18px}.visit-arrival{display:flex;align-items:center;gap:20px;padding-top:24px;border-top:1px solid #cbd4c7}.visit-floor{font-family:Arial,sans-serif;font-size:38px;font-weight:400;color:#587453}.visit-arrival strong{font-size:15px}.visit-arrival p{font-size:12px;color:var(--muted);margin:7px 0;line-height:1.8}.visit-arrival a{font-size:17px;letter-spacing:.03em}.visit-hours{font-size:11px;color:var(--muted);line-height:1.8;margin:22px 0 0}
@media(max-width:1000px){.visit-details{padding:28px}.visit-details h3{font-size:26px}.visit-layout{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.visit-layout{grid-template-columns:1fr}.visit-map{height:360px;min-height:360px;flex:none}.visit-map-heading{padding:18px}.visit-map-caption{padding:14px 18px}.visit-details{padding:28px 22px}.visit-details h3{font-size:27px}.visit-section{scroll-margin-top:15px}.visit-actions .btn{flex:1;white-space:nowrap}.visit-section .section-heading h2{font-size:30px}}

.visit-campus{position:relative;margin:0;min-height:420px;flex:1;overflow:hidden;background:#dce3d7}.visit-campus img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:56% center}.visit-campus:after{content:"";position:absolute;inset:40% 0 0;background:linear-gradient(transparent,rgba(5,32,27,.85));pointer-events:none}.visit-campus figcaption{position:absolute;z-index:1;left:28px;right:28px;bottom:28px;color:white;display:grid;gap:12px}.visit-campus figcaption span{font-size:10px;letter-spacing:.14em}.visit-campus figcaption strong{font-size:23px;font-weight:500;line-height:1.5}@media(max-width:760px){.visit-campus{min-height:310px}.visit-campus figcaption{left:22px;bottom:22px}.visit-campus figcaption strong{font-size:21px}}
