/* ===== 03-contact.css ===== */
/* ===== contact-panel-fix.css ===== */
/* A light close to the page instead of a separate dark visual block. */
.contact-details{background:linear-gradient(135deg,#fff 0%,#f4f1fa 100%);color:var(--ink);border-top:1px solid #ded8e9;border-bottom:1px solid #ded8e9}
.contact-details:before{border-color:#65359326}
.contact-details h2{color:var(--ink)}
.contact-details h3{color:var(--violet)}
.contact-details a{color:var(--ink)}
.contact-details a:hover{color:var(--violet)}
.contact-details .contact-intro>p{color:var(--muted)}
.contact-details .contact-intro>a{color:var(--violet)}
.contact-details div:not(.contact-intro)>p{color:var(--ink)}
.contact-details div:not(.contact-intro)>p b{color:var(--violet)}
.contact-details div:not(.contact-intro)>p span{color:var(--muted)}
.contact-details .linkedin-link{display:inline-flex;align-items:center;gap:8px;color:#0a66c2}
.contact-details .linkedin-link svg{width:18px;height:18px;fill:currentColor}
.contact-details .location-link{display:flex;align-items:flex-start;gap:10px;color:var(--ink);font-weight:600;text-decoration:none;line-height:1.6}
.contact-details .location-link:hover{color:var(--violet)}
.contact-details .location-link img{display:block!important;width:28px!important;height:28px!important;max-width:28px!important;max-height:28px!important;flex:0 0 28px!important;margin-top:2px;object-fit:contain}
.contact-details .location-link+p{margin-top:10px}
.contact-details .map-link{display:inline-flex;margin-top:18px;color:var(--violet);font-size:13px;font-weight:700;text-decoration:underline;text-underline-offset:4px}

/* A single shared footer grid keeps its supporting content balanced. */
.contact{border-bottom:0}
.contact-details{padding:68px 0 72px;background:#fff;border:0}
.contact-details .footer-grid{display:grid;grid-template-columns:minmax(205px,1.4fr) minmax(150px,.95fr) minmax(200px,1.25fr) minmax(190px,1.2fr) minmax(185px,1.15fr);align-items:start;gap:30px}
.contact-details .footer-column{min-width:0}
.contact-details h3{margin:0 0 25px;color:var(--violet);font:700 16px/1.2 "Space Grotesk",Arial,sans-serif;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:5px}
.contact-details .footer-directory{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.contact-details .footer-directory a{margin:0;font-size:13px;line-height:1.45}
.contact-details .training-heading{margin:15px 0 2px;font-size:15px}

/* Compact legal footer. */
.site-footer{padding:0;background:#090e29;color:#eef0f7;border:0}
.site-footer .footer-bottom{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 0}
.site-footer .site-brand{color:#fff}.site-footer .site-brand small{color:#bbc0d1}
.site-footer .footer-bottom p{margin:0;color:#afb5c8;font-size:11px}
.site-footer .footer-bottom div{display:flex;gap:20px;color:#afb5c8;font-size:11px}
@media(max-width:1099px){.contact-details .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:46px 32px}.contact-details .contact-intro{grid-column:span 1}.contact-details .footer-directory a{font-size:14px}}
@media(max-width:700px){.contact-details{padding:54px 0 58px}.contact-details .footer-grid{grid-template-columns:1fr;gap:36px}.contact-details .contact-intro{grid-column:auto}.contact-details h3{margin-bottom:19px}.site-footer .footer-bottom{align-items:flex-start;flex-direction:column}.site-footer .footer-bottom div{flex-wrap:wrap;gap:8px 16px}}
