/* Department directory: scoped to prevent changes to other site content. */
#pmc-department-directory { --pmc-navy:#103568; --pmc-blue:#2163ae; --pmc-green:#177452; color:#21344a; padding:24px 0; font-family:inherit; }
#pmc-department-directory * { box-sizing:border-box; }
#pmc-department-directory .pmc-directory-inner { width:100%; max-width:1500px; margin:auto; padding:0 12px; }
#pmc-department-directory .pmc-directory-header { max-width:850px; margin:0 auto 36px; text-align:center; }
#pmc-department-directory .pmc-directory-tag { display:inline-block; padding:7px 14px; border-radius:20px; background:#edf3fc; color:#164785; font-size:12px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
#pmc-department-directory h1 { margin:16px 0 12px; color:var(--pmc-navy); font-size:clamp(25px,3vw,38px); font-weight:800; }
#pmc-department-directory .pmc-directory-header p { color:#52647a; line-height:1.7; margin:0; }
#pmc-department-directory .pmc-commissioner { position:relative; width:min(100%,470px); margin:auto; padding:25px 20px; border:3px solid #092c5c; border-radius:22px; background:linear-gradient(135deg,#244e87,#103568); text-align:center; color:#fff; box-shadow:0 7px 20px rgba(16,53,104,.12); }
#pmc-department-directory .pmc-commissioner h2 { margin:0 0 10px; color:#fff; font-size:clamp(23px,2.7vw,32px); line-height:1.2; font-weight:800; }
#pmc-department-directory .pmc-commissioner p { margin:0; font-size:16px; color:#fff; }
#pmc-department-directory .pmc-commissioner::after { content:""; position:absolute; top:100%; left:50%; height:43px; border-left:3px solid var(--pmc-navy); transform:translateX(-50%); }
#pmc-department-directory .pmc-divisions { position:relative; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:28px; padding-top:84px; }
#pmc-department-directory .pmc-divisions::before { content:""; position:absolute; top:40px; left:calc(25% - 7px); right:calc(25% - 7px); height:3px; background:var(--pmc-navy); }
/* Nested sections must not inherit the site's section padding or clip the connectors. */
#pmc-department-directory .pmc-division { position:relative; min-width:0; padding:0; overflow:visible; --pmc-accent:var(--pmc-blue); --pmc-tint:#f1f7ff; --pmc-line:#abc6e6; }
#pmc-department-directory .pmc-project { --pmc-accent:var(--pmc-green); --pmc-tint:#f0f9f4; --pmc-line:#9ac7b4; }
#pmc-department-directory .pmc-division::before { content:""; position:absolute; top:-44px; left:50%; height:42px; border-left:3px solid var(--pmc-navy); transform:translateX(-50%); }
#pmc-department-directory .pmc-division::after { content:""; position:absolute; top:-12px; left:50%; width:13px; height:13px; border-right:3px solid var(--pmc-navy); border-bottom:3px solid var(--pmc-navy); transform:translateX(-50%) rotate(45deg); }
#pmc-department-directory .pmc-deputy { position:relative; display:flex; flex-direction:column; justify-content:center; min-height:146px; padding:22px 14px; border:3px solid var(--pmc-accent); border-radius:20px; background:#e0edff; text-align:center; }
#pmc-department-directory .pmc-project .pmc-deputy { background:#d9f1e3; }
#pmc-department-directory .pmc-deputy h3 { margin:0 0 10px; color:var(--pmc-navy); font-size:clamp(19px,2vw,26px); line-height:1.25; font-weight:800; }
#pmc-department-directory .pmc-project .pmc-deputy h3 { color:#104f38; }
#pmc-department-directory .pmc-deputy p { margin:0; font-weight:600; font-size:15px; }
#pmc-department-directory .pmc-deputy::after { content:""; position:absolute; top:100%; left:50%; height:33px; border-left:3px solid var(--pmc-accent); transform:translateX(-50%); }
#pmc-department-directory .pmc-table-wrap { margin-top:30px; border:2px solid var(--pmc-accent); border-radius:15px; overflow:auto; background:var(--pmc-tint); }
#pmc-department-directory .pmc-table-wrap:focus-visible { outline:3px solid var(--pmc-accent); outline-offset:3px; }
#pmc-department-directory table { width:100%; border-collapse:collapse; table-layout:fixed; font-size:13px; line-height:1.55; }
#pmc-department-directory caption { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); }
#pmc-department-directory thead th { padding:15px 10px; background:var(--pmc-accent); color:#fff; text-align:left; font-size:15px; font-weight:700; border-right:1px solid rgba(255,255,255,.4); }
#pmc-department-directory tbody th,#pmc-department-directory tbody td { padding:12px 10px; border-top:1px solid var(--pmc-line); border-right:1px solid var(--pmc-line); vertical-align:top; overflow-wrap:anywhere; text-align:left; }
#pmc-department-directory tbody th { font-weight:600; }
#pmc-department-directory tr > :last-child { border-right:0; }
#pmc-department-directory .pmc-department { background:rgba(255,255,255,.55); }
#pmc-department-directory .pmc-department strong { display:block; font-size:13px; }
#pmc-department-directory .pmc-field-label { display:block; margin:8px 0 3px; font-size:10px; text-transform:uppercase; letter-spacing:.04em; font-weight:700; color:#536879; }
#pmc-department-directory td > .pmc-field-label:first-child { margin-top:0; }
#pmc-department-directory .pmc-officer { display:block; font-weight:600; color:#1a344c; }
#pmc-department-directory .pmc-officer + .pmc-officer { margin-top:6px; }
#pmc-department-directory .pmc-officer-role { display:block; margin-top:5px; color:#4b6274; font-size:12px; }
#pmc-department-directory .pmc-unspecified { color:#657788; font-style:italic; }
#pmc-department-directory .pmc-pending { color:#87590d; }
#pmc-department-directory .pmc-directory-note { margin:24px 0 0; padding:15px 18px; border:1px solid #d9e1ec; border-radius:12px; color:#52647a; background:#f8fafc; line-height:1.65; font-size:13px; }
@media(max-width:900px) {
 #pmc-department-directory .pmc-divisions { grid-template-columns:minmax(0,1fr); gap:46px; padding-top:62px; }
 #pmc-department-directory .pmc-divisions::before { display:none; }
 #pmc-department-directory .pmc-commissioner::after { height:50px; }
 #pmc-department-directory .pmc-division::before { top:-30px; height:28px; }
 #pmc-department-directory .pmc-project::before,#pmc-department-directory .pmc-project::after { display:none; }
 #pmc-department-directory .pmc-deputy { min-height:120px; }
 #pmc-department-directory table { min-width:510px; }
 #pmc-department-directory .pmc-directory-inner { padding:0 6px; }
}
@media print {
 #pmc-department-directory { padding:0; }
 #pmc-department-directory .pmc-divisions { display:block; padding-top:55px; }
 #pmc-department-directory .pmc-division { margin-bottom:30px; }
 #pmc-department-directory .pmc-divisions::before,#pmc-department-directory .pmc-division::before,#pmc-department-directory .pmc-division::after { display:none; }
 #pmc-department-directory table { min-width:0; }
 #pmc-department-directory tr { break-inside:avoid; }
 #pmc-department-directory thead { display:table-header-group; }
}

#pmc-department-directory .pmc-col-branch { width:29%; }
#pmc-department-directory .pmc-col-department { width:30%; }
#pmc-department-directory .pmc-col-officer { width:41%; }
