/* Contact: institutional typography, configured colors, responsive and dark mode. */
.portal-contact{--ct-bg:#fff;--ct-soft:#f2f7fc;--ct-text:var(--portal-heading,#061638);--ct-muted:#536887;--ct-border:#dce6f1;color:var(--ct-text)}
.contact-content{padding-top:32px;padding-bottom:36px}.portal-contact h2{font-size:1.45rem;margin:0 0 5px}.portal-contact h3{font-size:1rem;margin:0 0 7px}.portal-contact p{line-height:1.55}.contact-main-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(0,1.9fr);gap:30px}.contact-heading{display:flex;align-items:center;gap:14px;margin-bottom:20px}.contact-heading>span{display:grid;place-items:center;flex:0 0 48px;height:48px;border-radius:14px;background:var(--portal-primary,#0056b3);color:var(--portal-on-primary,#fff);font-size:1.45rem}.contact-heading p{margin:0;color:var(--ct-muted);font-size:.9rem}.contact-card{background:var(--ct-bg);border:1px solid var(--ct-border);border-radius:12px;box-shadow:0 4px 14px #07356108}.contact-message{padding:24px;scroll-margin-top:110px}.contact-channel{display:flex;align-items:center;gap:15px;padding:14px 18px;border:1px solid var(--ct-border);border-radius:10px;background:var(--ct-bg);color:var(--ct-text);margin-bottom:10px;transition:transform .18s,box-shadow .18s,border-color .18s}.contact-channel>i:first-child{font-size:1.65rem;width:34px;text-align:center;color:var(--portal-primary)}.contact-channel>i:last-child{font-size:.8rem;color:var(--portal-primary);margin-left:auto}.contact-channel span{min-width:0}.contact-channel strong,.contact-channel small{display:block}.contact-channel small{color:var(--ct-muted);margin-top:3px}.contact-channel.selected{background:var(--portal-primary-soft,#eaf4ff)}.contact-channel:hover{transform:translateY(-2px);border-color:var(--portal-primary);box-shadow:0 5px 15px #07356112;text-decoration:none;color:var(--ct-text)}.contact-email{display:block;overflow-wrap:anywhere;font-size:.9rem;margin-top:18px}.contact-fields{display:grid;grid-template-columns:1fr 1fr;gap:16px}.contact-fields label{font-weight:700;font-size:.9rem;margin:0}.contact-fields label>span{color:#c12434}.contact-fields label>small{font-weight:400;color:var(--ct-muted)}.contact-fields .full{grid-column:1/-1}.portal-contact .contact-fields input,.portal-contact .contact-fields select,.portal-contact .contact-fields textarea{display:block;width:100%;min-width:0;min-height:42px;margin-top:6px;border:1px solid var(--ct-border);border-radius:7px;padding:10px 12px;background:var(--ct-bg);color:var(--ct-text);font:inherit;font-weight:400;box-shadow:none}.portal-contact :is(a,button,input,textarea,select,summary):focus-visible{outline:2px solid var(--portal-primary);outline-offset:3px}.contact-fields textarea{resize:vertical}#message-count{display:block;text-align:right;margin-top:4px}.contact-consent{display:flex;gap:10px;align-items:flex-start;margin:15px 0;font-size:.82rem;color:var(--ct-muted)}.contact-consent input{flex:0 0 auto;margin-top:3px;width:17px;height:17px}.contact-form-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px}.contact-form-bottom small{color:var(--ct-muted);font-size:.8rem}.contact-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:7px;padding:11px 20px;background:var(--portal-primary,#0056b3);color:var(--portal-on-primary,#fff);font-size:.9rem;font-weight:700;cursor:pointer}.contact-button:hover{color:var(--portal-on-primary,#fff);text-decoration:none;filter:brightness(.95)}.contact-button:disabled{opacity:.65;cursor:wait}.contact-disclaimer{font-size:.78rem;margin:17px 0 0;border-top:1px solid var(--ct-border);padding-top:12px;color:var(--ct-muted)}.contact-info-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:26px 0}.contact-info-grid article{padding:20px 16px;display:flex;align-items:flex-start;gap:12px}.contact-info-grid article>i{font-size:1.55rem;color:var(--portal-primary);margin-top:3px}.contact-info-grid p{font-size:.84rem;color:var(--ct-muted);margin-bottom:8px}.contact-info-grid a{font-size:.86rem;font-weight:700}.contact-map-wrap{position:relative;overflow:hidden;height:300px;scroll-margin-top:110px}#contact-map{height:100%;width:100%;background:var(--ct-soft)}.contact-map-info{position:absolute;z-index:450;top:22px;left:22px;width:280px;max-width:calc(100% - 75px);padding:20px;background:var(--ct-bg);border:1px solid var(--ct-border);border-radius:10px;box-shadow:0 3px 12px #0002}.contact-map-info h2{font-size:1.1rem}.contact-map-info p{font-size:.85rem;margin:12px 0}.contact-map-info .contact-button{font-size:.82rem;width:100%}.contact-sites{margin-top:20px;padding:16px 20px;scroll-margin-top:110px}.contact-sites summary{font-weight:700;cursor:pointer}.contact-sites>div{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding-top:18px}.contact-sites p{font-size:.85rem;color:var(--ct-muted);margin:0}.contact-socials{text-align:center;margin-top:26px}.contact-socials h2{font-size:1rem;margin-bottom:15px}.contact-socials>div{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.contact-socials a{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--portal-primary);color:var(--portal-on-primary);font-size:1.2rem;transition:transform .18s}.contact-socials a:hover{transform:translateY(-3px);text-decoration:none}.contact-socials strong{font-size:.65rem}.contact-feedback{display:flex;gap:12px;padding:14px;border-radius:8px;background:var(--ct-soft);margin-bottom:16px;color:var(--ct-text);font-size:.9rem}.contact-feedback i{font-size:1.3rem;margin-top:2px}.contact-feedback p{margin:5px 0 0}.contact-feedback.success{border:1px solid #55ac86}.contact-feedback.error{border:1px solid #ce4d5b}.contact-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
html[data-portal-theme=dark] .portal-contact{--ct-bg:#14243b;--ct-soft:#1b304b;--ct-text:#edf3fc;--ct-muted:#bdcce0;--ct-border:#344761}html[data-portal-theme=dark] .contact-channel.selected{background:#1c3552}html[data-portal-theme=dark] .portal-contact :is(h2,h3,strong){color:var(--ct-text)}
@media(max-width:991px){.contact-main-grid{grid-template-columns:1fr 1.6fr;gap:20px}.contact-info-grid{grid-template-columns:repeat(2,1fr)}.contact-fields{grid-template-columns:1fr}.contact-heading{align-items:flex-start}.contact-message{padding:20px}}
@media(max-width:767px){.contact-main-grid{grid-template-columns:1fr}.contact-content{padding-top:24px}.contact-channels{display:grid;grid-template-columns:1fr 1fr;gap:10px}.contact-channels>header,.contact-channels>.contact-email{grid-column:1/-1}.contact-channel{padding:12px;margin:0;gap:9px}.contact-channel>i:first-child{font-size:1.3rem;width:24px}.contact-channel strong{font-size:.9rem}.contact-channel small{font-size:.75rem}.contact-sites>div{grid-template-columns:1fr}.contact-map-wrap{height:auto}.contact-map-info{position:relative;top:auto;left:auto;width:auto;max-width:none;margin:12px;box-shadow:none}#contact-map{height:260px}.contact-fields{grid-template-columns:1fr 1fr}.contact-heading h2{font-size:1.25rem}}
@media(max-width:479px){.contact-fields{grid-template-columns:1fr}.contact-info-grid{grid-template-columns:1fr}.contact-form-bottom{align-items:stretch;flex-direction:column}.contact-channels{grid-template-columns:1fr}.contact-message{padding:18px}.contact-info-grid article{padding:16px}}
@media(prefers-reduced-motion:reduce){.contact-channel,.contact-socials a{transition:none}}

.portal-contact .pageMainHead>.alignHolder{width:100%}.portal-contact a.contact-button,.portal-contact a.contact-button:hover,.portal-contact a.contact-button:focus{color:var(--portal-on-primary,#fff)!important}.contact-map-status{position:absolute;z-index:450;bottom:8px;left:12px;right:55px;background:var(--ct-bg);color:var(--ct-text);padding:8px 12px;border-radius:6px;font-size:.8rem}

html[data-portal-theme=dark] .portal-contact :is(.contact-channel>i,.contact-info-grid article>i){color:#83c3ff}html[data-portal-theme=dark] .portal-contact .contact-fields :is(input,textarea)::placeholder{color:#b8c9de!important;opacity:1}
