.portfolio-contacts { margin: 20px 0; padding: 24px; border: 1px solid #29465c; border-radius: 20px; background: linear-gradient(120deg, #0c2539, #091d30); }
.portfolio-contacts-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; }
.portfolio-contacts-heading .director-eyebrow { display: block; margin-bottom: 7px; color: #7899b8; font-size: 10px; font-weight: 800; letter-spacing: .16em; }
.portfolio-contacts .portfolio-contacts-heading h4 { margin: 0; color: #e6eff9; font-size: 18px; font-weight: 750; line-height: 1.3; }
.portfolio-contact-origin { padding: 6px 11px; border: 1px solid #30546d; border-radius: 8px; color: #9cbed9; background: #112f46; font-size: 11px; font-weight: 700; }
.portfolio-contacts-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; }
.portfolio-contact-card { min-width: 0; padding: 18px 20px; border: 1px solid #28445c; border-radius: 15px; background: #0a2033; }
.portfolio-contact-card-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }
.portfolio-contact-card-heading strong { color: #b1c8dc; font-size: 12px; font-weight: 700; }
.portfolio-contact-icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex-shrink: 0; border: 1px solid #31526c; border-radius: 8px; color: #98bedd; background: #133149; }
.portfolio-contact-icon svg { width: 15px; height: 15px; }
.portfolio-contact-count { margin-left: auto; min-width: 23px; padding: 3px 7px; border-radius: 6px; background: #17364b; color: #91b4cf; text-align: center; font-size: 10px; font-weight: 700; }
.portfolio-contact-card ul { list-style: none; padding: 0; margin: 0; }
.portfolio-contact-card li { margin: 0; overflow-wrap: anywhere; }
.portfolio-contact-card li + li { border-top: 1px solid #203b50; }
.portfolio-contact-card a { display: flex; align-items: center; gap: 10px; min-height: 38px; padding: 8px 0; color: #c9def2; font-size: 13px; font-weight: 600; line-height: 1.5; text-decoration: none; }
.portfolio-contact-card a > span:first-child { min-width: 0; overflow-wrap: anywhere; }
.portfolio-contact-card a:hover { color: #a8d4ff; }
.portfolio-contact-card a:hover > span:first-child { text-decoration: underline; text-underline-offset: 3px; }
.portfolio-contact-arrow { margin-left: auto; color: #708fa9; font-size: 15px; flex-shrink: 0; }
.portfolio-contact-type { color: #87a1b7; font-size: 10px; font-weight: 500; }
.portfolio-contact-card small { display: block; color: #b6a472; font-size: 11px; }
.portfolio-contact-card p { color: #8fa7bc; font-size: 12px; margin: 12px 0 4px; }
.portfolio-contacts .portfolio-contact-source { margin: 13px 0 0; color: #7994ab; font-size: 11px; line-height: 1.5; }
.overdue-entity-link { border: 0; padding: 6px 0; background: transparent; color: #9bcaff; font: inherit; font-weight: 700; text-align: left; cursor: pointer; }
.overdue-entity-link:hover { text-decoration: underline; text-underline-offset: 3px; }
.overdue-entity-link:focus-visible, .portfolio-contacts a:focus-visible { outline: 2px solid #60d4bc; outline-offset: 4px; border-radius: 3px; }
@media(max-width:640px) { .portfolio-contacts-grid { grid-template-columns: 1fr; } .portfolio-contacts { padding: 16px; border-radius: 16px; } .portfolio-contact-card { padding: 14px 16px; } .portfolio-contacts .portfolio-contacts-heading h4 { font-size: 16px; } }
