.contact-hub{--contact-ink:#292231;--contact-muted:#665d70;--contact-line:#ded5e4;--contact-card:#fff;--contact-soft:#f4eef7;--contact-plum:#5e2f73;--contact-alert:#94344e;color:var(--contact-ink);padding:44px 0 80px}
.contact-hub .contact-shell{width:min(1240px,calc(100% - 64px));margin:auto}
.contact-hub *, .contact-hub *::before,.contact-hub *::after{box-sizing:border-box}
.contact-hub h1,.contact-hub h2,.contact-hub h3,.contact-hub h4,.contact-hub p{margin:0}
.contact-hub a{color:var(--contact-plum);text-decoration:none}
.contact-hub a:focus-visible,.contact-hub button:focus-visible,.contact-hub input:focus-visible,.contact-hub summary:focus-visible{outline:3px solid #9563b0;outline-offset:4px}
.contact-hub [hidden]{display:none!important}
.contact-hub .contact-masthead{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:28px}
.contact-hub .contact-kicker{font-size:13px;color:var(--contact-muted);margin-bottom:8px;border-left:3px solid #d6ae5c;padding-left:12px}
.contact-hub h1{font-size:clamp(32px,4vw,50px);font-weight:600;line-height:1.2;letter-spacing:-.02em}
.contact-hub .contact-intro{font-size:15px;color:var(--contact-muted);margin-top:12px}
.contact-hub .contact-location-short{font-size:13px;color:var(--contact-muted);text-align:right;max-width:250px}
.contact-hub .contact-emergency{padding:24px;background:#faf0f2;border:1px solid #e4c7ce;border-top:4px solid var(--contact-alert);margin-bottom:22px}
.contact-hub .contact-section-heading h2{font-size:24px;font-weight:600;line-height:1.4}
.contact-hub .contact-section-heading p{font-size:14px;color:var(--contact-muted);margin-top:5px}
.contact-hub .contact-emergency .contact-section-heading h2{font-size:20px;color:#70263b}
.contact-hub .contact-emergency-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.contact-hub .contact-emergency-call{display:grid;grid-template-columns:1fr auto;align-items:center;gap:4px 14px;background:var(--contact-card);border:1px solid #e6cbd2;padding:17px 20px;color:var(--contact-alert);transition:background .2s ease,border-color .2s ease}
.contact-hub .contact-emergency-call:hover{border-color:var(--contact-alert);background:#fff8fa}
.contact-hub .contact-emergency-label{font-size:17px;font-weight:500;line-height:1.4;color:var(--contact-ink)}
.contact-hub .contact-emergency-label small{display:block;font-size:12px;color:var(--contact-muted);font-weight:400;margin-top:4px}
.contact-hub .contact-emergency-call strong{font-family:Inter,Kanit,sans-serif;font-size:clamp(32px,3vw,44px);font-weight:600;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.contact-hub .contact-call-caption{font-size:12px;grid-column:1/-1;color:var(--contact-alert)}
.contact-hub .contact-switchboard{display:grid;grid-template-columns:1fr 1fr;gap:32px;background:#342040;color:#fff;padding:30px 34px;margin-bottom:40px}
.contact-hub .contact-switchboard h2{font-size:16px;font-weight:400;color:#e2cee9}
.contact-hub .contact-central-phone{display:inline-block;color:#fff!important;font-family:Inter,Kanit,sans-serif;font-size:clamp(32px,4.3vw,54px);font-weight:600;letter-spacing:-.03em;line-height:1.4;font-variant-numeric:tabular-nums}
.contact-hub .contact-dial-note{font-size:14px;color:#f2e9f7;margin-top:8px}
.contact-hub .contact-office-hours{border-left:1px solid #785782;padding-left:30px;align-self:center;font-size:14px;color:#f2e9f7}
.contact-hub .contact-office-hours h3{font-size:16px;color:#fff;margin-bottom:8px;font-weight:500}
.contact-hub .contact-office-hours small{display:block;color:#d9c3e2;font-size:12px;margin-top:10px}
.contact-hub .contact-directory-tools{margin:22px 0 32px}
.contact-hub .contact-directory-tools label{display:block;font-size:14px;font-weight:500;margin-bottom:9px}
.contact-hub .contact-search-wrap{display:flex;gap:8px;max-width:780px}
.contact-hub #contact-search{width:100%;min-width:0;min-height:54px;padding:12px 16px;background:var(--contact-card);border:1px solid var(--contact-line);border-radius:6px;color:var(--contact-ink);font:inherit;font-size:16px}
.contact-hub #contact-search::placeholder{color:var(--contact-muted);opacity:1}
.contact-hub .contact-filters{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.contact-hub .contact-filters button,.contact-hub .contact-clear-search,.contact-hub .contact-empty button{min-height:44px;border:1px solid var(--contact-line);background:var(--contact-card);color:var(--contact-plum);font:inherit;font-size:13px;padding:9px 15px;border-radius:6px;cursor:pointer;transition:background .2s ease,color .2s ease}
.contact-hub .contact-clear-search{flex-shrink:0}
.contact-hub .contact-filters button[aria-pressed=true]{background:#5e2f73;color:#fff;border-color:#5e2f73}
.contact-hub .contact-filters button:hover:not([aria-pressed=true]){background:var(--contact-soft)}
.contact-hub .contact-result-count{font-size:13px;color:var(--contact-muted);margin-top:12px}
.contact-hub .contact-group{margin:30px 0 38px;scroll-margin-top:100px}
.contact-hub .contact-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap;border-bottom:2px solid var(--contact-plum);padding-bottom:12px;margin-bottom:14px}
.contact-hub .contact-group-heading h3{font-size:21px;font-weight:500;color:var(--contact-plum)}
.contact-hub .contact-group-heading p{font-size:12px;color:var(--contact-muted)}
.contact-hub .contact-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.contact-hub .contact-record{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:20px;background:var(--contact-card);border:1px solid var(--contact-line);min-width:0;scroll-margin-top:115px}
.contact-hub .contact-record:target{border-color:#9462ac;box-shadow:0 0 0 3px #9462ac40}
.contact-hub .contact-record-copy{min-width:0;flex:1}
.contact-hub .contact-record h4{font-size:16px;line-height:1.55;font-weight:500;color:var(--contact-ink);overflow-wrap:anywhere}
.contact-hub .contact-extension{font-size:12px;color:var(--contact-muted);margin-top:8px}
.contact-hub .contact-extension strong{font-family:Inter,Kanit,sans-serif;color:var(--contact-plum);font-size:15px;font-weight:600}
.contact-hub .contact-extension span{display:block;font-size:11px;margin-top:2px}
.contact-hub .contact-record-calls{flex-shrink:0;display:flex;flex-direction:column;align-items:stretch;gap:6px;width:144px}
.contact-hub .contact-phone{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:54px;padding:7px 9px;background:var(--contact-soft);border:1px solid var(--contact-line);border-radius:6px}
.contact-hub .contact-phone span{font:600 16px/1.5 Inter,Kanit,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--contact-plum)}
.contact-hub .contact-phone small{font-size:11px;color:var(--contact-muted)}
.contact-hub .contact-phone:hover{border-color:var(--contact-plum)}
.contact-hub .contact-hotline{display:flex;gap:7px;align-items:center;justify-content:center;min-height:44px;border:1px solid var(--contact-line);font-size:12px;border-radius:6px}
.contact-hub .contact-hotline strong{font-family:Inter,Kanit,sans-serif;font-size:16px}
.contact-hub .contact-empty{border:1px solid var(--contact-line);padding:30px;text-align:center;background:var(--contact-card)}
.contact-hub .contact-empty p{margin:0 0 16px}.contact-hub .contact-empty p:last-child{margin:16px 0 0;font-size:14px}
.contact-hub .contact-noscript{padding:15px;background:var(--contact-soft);font-size:14px}
.contact-hub .contact-visit{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;margin-top:44px;padding-top:30px;border-top:1px solid var(--contact-line)}
.contact-hub .contact-visit h2{font-size:24px;font-weight:500;margin-bottom:15px}
.contact-hub .contact-visit address{font-style:normal;font-size:15px;line-height:1.8;margin-bottom:20px}
.contact-hub .contact-visit p{font-size:14px;margin-top:10px;overflow-wrap:anywhere}
.contact-hub .contact-map-link{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:8px 16px;background:#5e2f73;color:#fff!important;border-radius:6px;margin-top:20px;font-size:14px}
.contact-hub .contact-map{width:100%;height:330px;border:1px solid var(--contact-line);background:var(--contact-soft)}
.contact-hub .contact-originals{margin-top:36px;border-top:1px solid var(--contact-line);padding-top:20px}
.contact-hub .contact-originals summary{cursor:pointer;min-height:44px;padding:8px 0;color:var(--contact-plum);font-size:15px;font-weight:500}
.contact-hub .contact-originals p{font-size:13px;color:var(--contact-muted);margin:10px 0 18px}
.contact-hub .contact-poster-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;max-width:850px}
.contact-hub .contact-poster-grid a{border:1px solid var(--contact-line);padding:8px;background:var(--contact-card)}
.contact-hub .contact-poster-grid img{display:block;width:100%;height:auto}.contact-hub .contact-poster-grid span{display:block;padding:9px 4px;font-size:12px}
html.nsm-color-dark .contact-hub{--contact-ink:#f4edf8;--contact-muted:#c8b9d1;--contact-line:#594261;--contact-card:#2a2032;--contact-soft:#382940;--contact-plum:#e2bdf3;background:#1b1421}
html.nsm-color-dark .contact-hub .contact-emergency{background:#35212c;border-color:#794357}
html.nsm-color-dark .contact-hub .contact-emergency .contact-section-heading h2{color:#ffd5df}
html.nsm-color-dark .contact-hub .contact-emergency-call{border-color:#794357;color:#ffa9bf;background:#2a2032}
html.nsm-color-dark .contact-hub .contact-call-caption{color:#f7bdce}
html.nsm-color-dark .contact-hub .contact-emergency-call:hover{background:#3b2532}
@media(max-width:1050px){.contact-hub .contact-emergency-call{padding:16px}.contact-hub .contact-emergency-label{font-size:15px}.contact-hub .contact-record{flex-direction:column;align-items:stretch;gap:14px}.contact-hub .contact-record-calls{width:auto;flex-direction:row}.contact-hub .contact-phone{flex:1}.contact-hub .contact-hotline{padding:7px 10px}.contact-hub .contact-extension span{display:inline;margin-left:6px}}
@media(max-width:760px){.contact-hub{padding-top:28px}.contact-hub .contact-shell{width:calc(100% - 32px)}.contact-hub .contact-location-short{display:none}.contact-hub .contact-emergency{padding:18px}.contact-hub .contact-emergency-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.contact-hub .contact-emergency-call{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;padding:14px 6px}.contact-hub .contact-emergency-label{font-size:14px}.contact-hub .contact-emergency-label small{font-size:10px;min-height:40px;line-height:1.45}.contact-hub .contact-emergency-call strong{font-size:32px}.contact-hub .contact-call-caption{font-size:12px}.contact-hub .contact-switchboard{grid-template-columns:1fr;gap:22px;padding:25px;margin-bottom:30px}.contact-hub .contact-office-hours{border-left:0;border-top:1px solid #785782;padding:18px 0 0}.contact-hub .contact-records{grid-template-columns:1fr}.contact-hub .contact-record{flex-direction:row;align-items:center}.contact-hub .contact-record-calls{width:143px;flex-direction:column}.contact-hub .contact-extension span{display:block;margin-left:0}.contact-hub .contact-visit{grid-template-columns:1fr}.contact-hub .contact-poster-grid{gap:10px}.contact-hub .contact-directory-tools{margin-bottom:24px}}
@media(max-width:420px){.contact-hub .contact-shell{width:calc(100% - 24px)}.contact-hub .contact-emergency{padding:15px 12px}.contact-hub .contact-emergency-call{gap:6px}.contact-hub .contact-emergency-call strong{font-size:28px}.contact-hub .contact-emergency-grid{gap:6px}.contact-hub .contact-section-heading h2{font-size:22px}.contact-hub .contact-record{padding:16px;flex-direction:column;align-items:stretch}.contact-hub .contact-record h4{font-size:16px}.contact-hub .contact-record-calls{width:auto;flex-direction:row}.contact-hub .contact-hotline{padding:6px 10px}.contact-hub .contact-filters button{flex:1 1 auto;padding:9px 10px}.contact-hub .contact-search-wrap{flex-wrap:wrap}.contact-hub .contact-clear-search{width:100%}.contact-hub .contact-poster-grid{grid-template-columns:1fr;max-width:320px}.contact-hub .contact-originals summary{font-size:14px}}
@media(prefers-reduced-motion:reduce){.contact-hub *{transition:none!important;scroll-behavior:auto!important}}
