/* PIM Instructor Manager 1.2: only affects faculty UI and the explicitly designated directory page. */
:root{--pim-im-blue:#075a9d;--pim-im-deep:#082f57;--pim-im-green:#07854b;--pim-im-ink:#122e49;--pim-im-muted:#60778a;--pim-im-border:#e0e9f0;--pim-im-soft:#f5f9fc}
.pim-im-faculty,.pim-im-related{margin:36px 0 8px}.pim-im-faculty h2,.pim-im-related h2{font-size:clamp(21px,2.8vw,27px);margin:0 0 18px;color:var(--pim-im-deep);letter-spacing:-.6px}
.pim-im-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px;margin:16px 0 24px}.pim-im-card{height:100%;display:flex;gap:15px;align-items:flex-start;border:1px solid var(--pim-im-border);border-radius:16px;padding:18px;background:#fff;box-shadow:0 8px 26px rgba(8,47,87,.055)}
.pim-im-photo{display:block;flex:0 0 90px;width:90px;height:105px;border-radius:11px;overflow:hidden;background:#e9f3f9}.pim-im-photo img{width:100%;height:100%;object-fit:cover;display:block}.pim-im-avatar{display:flex;justify-content:center;align-items:center;width:100%;height:100%;background:linear-gradient(135deg,#d7eeec,#e8f1fb);color:var(--pim-im-blue);font-size:52px;font-weight:800}
.pim-im-info{flex:1;min-width:0}.pim-im-info h3{margin:0 0 5px;font-size:17px;line-height:1.35;font-weight:800;color:var(--pim-im-deep)}.pim-im-info h3 a{text-decoration:none;color:inherit}.pim-im-info h3 a:hover{color:var(--pim-im-green)}.pim-im-info p{font-size:12.5px;line-height:1.65;color:var(--pim-im-muted);margin:5px 0}.pim-im-info .pim-im-role{font-weight:700;color:var(--pim-im-green)}.pim-im-profile-link{display:inline-flex;align-items:center;gap:5px;color:var(--pim-im-blue);text-decoration:none;font-size:13px;font-weight:800;margin-top:9px}.pim-im-profile-link:hover{color:var(--pim-im-green)}
/* The PIM theme restricts ordinary WordPress page content to 910px inside a card. */
body.pim-im-directory-page .container.generic-page{padding-top:49px;padding-bottom:88px}
body.pim-im-directory-page .entry-content.detail-card{max-width:none;width:100%;padding:0;border:0;box-shadow:none;background:transparent;overflow:visible}
body.pim-im-directory-page .entry-content.detail-card > .pim-im-directory-wrap{max-width:100%}
.pim-im-directory-wrap{font-family:inherit;width:100%;max-width:100%;color:var(--pim-im-ink);margin:0 auto;padding:0}
.pim-im-directory-wrap *{box-sizing:border-box}.pim-im-directory-head{margin:0 0 24px}.pim-im-eyebrow{display:inline-flex;align-items:center;gap:9px;color:var(--pim-im-green);font-size:11px;font-weight:800;letter-spacing:1.8px;text-transform:uppercase;margin-bottom:9px}
.pim-im-eyebrow::before{content:"";width:7px;height:7px;border-radius:100%;background:var(--pim-im-green)}.pim-im-directory-head h2{font-size:clamp(27px,3.1vw,37px);font-weight:800;line-height:1.2;color:var(--pim-im-deep);margin:2px 0 10px;letter-spacing:-1px}.pim-im-directory-head p{max-width:740px;margin:0;line-height:1.75;color:var(--pim-im-muted);font-size:14px}
.pim-im-toolbar{display:grid;grid-template-columns:minmax(230px,1.5fr) minmax(150px,.72fr) minmax(190px,.9fr) auto;gap:13px;align-items:end;background:linear-gradient(145deg,#fff,#fbfdfe);border:1px solid var(--pim-im-border);border-radius:16px;padding:20px;box-shadow:0 14px 45px rgba(8,47,87,.06);margin:25px 0 18px}
.pim-im-searchbox,.pim-im-select{display:block;min-width:0}.pim-im-field-caption{display:block;font-size:10px;font-weight:800;letter-spacing:1.2px;color:#537189;margin-bottom:9px}.pim-im-searchbox input,.pim-im-select select{display:block;min-width:0;width:100%;height:48px;border:1px solid #dbe5ed;background:#fff;border-radius:9px;color:#29435a;padding:0 13px;font-size:13px;outline:none;font-weight:500}.pim-im-searchbox input:focus,.pim-im-select select:focus{border-color:#75b8dd;box-shadow:0 0 0 3px rgba(7,90,157,.09)}.pim-im-reset{height:48px;min-width:112px;white-space:nowrap;border:1px solid #d6e4ed;background:#f0f7fb;color:var(--pim-im-blue);border-radius:9px;font-size:12px;font-weight:800;padding:0 13px;cursor:pointer}.pim-im-reset:hover:not(:disabled){border-color:var(--pim-im-blue)}.pim-im-reset:disabled{opacity:.45;cursor:default}
.pim-im-results-bar{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 20px;padding:0 3px}.pim-im-count{font-size:12px;line-height:1.5;color:#536e80;font-weight:700}.pim-im-results-note{font-size:12px;color:#8396a3}.pim-im-empty{border:1px dashed #b5cbda;background:#f5fafc;padding:32px;border-radius:13px;color:#526f80;text-align:center}
.pim-im-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:22px;margin:0}.pim-im-directory-item{min-width:0;height:100%}.pim-im-directory-item[hidden]{display:none!important}.pim-im-directory-tile{position:relative;background:#fff;height:100%;display:flex;flex-direction:column;border:1px solid #e1eaf0;border-radius:19px;overflow:hidden;box-shadow:0 9px 32px rgba(9,49,79,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}.pim-im-directory-tile:hover{transform:translateY(-4px);border-color:#b5dacc;box-shadow:0 20px 50px rgba(9,49,79,.13)}
.pim-im-directory-portrait{display:block;position:relative;height:224px;overflow:hidden;background:radial-gradient(circle at 80% 25%,#cfe9f3,transparent 45%),linear-gradient(135deg,#e2edf8,#d5ede3)}.pim-im-directory-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:50% 26%;transition:transform .3s ease}.pim-im-directory-tile:hover .pim-im-directory-portrait img{transform:scale(1.025)}.pim-im-directory-portrait .pim-im-avatar{height:100%;font-size:80px}.pim-im-directory-location{position:absolute;z-index:1;top:185px;left:20px;display:inline-flex;background:var(--pim-im-green);color:#fff;padding:7px 12px;border-radius:6px;font-size:11px;font-weight:800;letter-spacing:.2px;box-shadow:0 5px 15px rgba(8,80,51,.16)}
.pim-im-directory-tile-body{display:flex;flex-direction:column;flex:1;padding:25px 23px 22px}.pim-im-type-label{margin:0 0 8px!important;color:var(--pim-im-green)!important;font-size:10px!important;font-weight:800!important;letter-spacing:1.1px!important;text-transform:uppercase}.pim-im-directory-tile h3{font-family:'Plus Jakarta Sans',Arial,sans-serif;font-size:20px;line-height:1.3;letter-spacing:-.6px;color:var(--pim-im-deep);font-weight:800;margin:0 0 7px}.pim-im-directory-tile h3 a{color:inherit;text-decoration:none}.pim-im-directory-tile h3 a:hover{color:var(--pim-im-green)}.pim-im-directory-role{font-size:13px!important;font-weight:700!important;color:var(--pim-im-blue)!important;margin:0 0 9px!important;line-height:1.5!important}.pim-im-directory-experience{font-size:12px!important;color:#647e90!important;margin:0 0 12px!important}.pim-im-directory-qualification,.pim-im-directory-summary{font-size:12px!important;color:#607789!important;line-height:1.65!important;margin:0 0 14px!important}.pim-im-directory-qualification strong{color:#28495e}.pim-im-specialization-tags{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 12px}.pim-im-tag,.pim-im-more-tag{display:inline-flex;align-items:center;border-radius:7px;padding:7px 9px;max-width:100%;line-height:1.35;background:#e7f5ed;color:#176747;font-size:10.5px;font-weight:700;overflow-wrap:anywhere}.pim-im-more-tag{background:#edf4f9;color:#456b87}.pim-im-directory-read{margin:auto 0 0;padding-top:16px;border-top:1px solid #e8eef2;display:flex;justify-content:space-between;align-items:center;color:var(--pim-im-blue);text-decoration:none;font-weight:800;font-size:12.5px}.pim-im-directory-read span{font-size:18px;color:var(--pim-im-green)}.pim-im-directory-read:hover{color:var(--pim-im-green)}
/* Single faculty profile: the theme already prints the name in its own banner. */
.pim-im-single-panel{display:grid;grid-template-columns:minmax(180px,255px) minmax(0,1fr);gap:28px;align-items:stretch;margin:0 0 27px;background:#f6fafc;border:1px solid #dfeaf0;border-radius:18px;padding:22px}.pim-im-single-photo{border-radius:13px;min-height:245px;overflow:hidden;background:#e1f0ef}.pim-im-single-photo img{width:100%;height:100%;min-height:245px;object-fit:cover;object-position:50% 25%;display:block}.pim-im-single-photo .pim-im-avatar{min-height:245px}.pim-im-single-intro{padding:12px 5px;min-width:0}.pim-im-single-intro h2{font-size:clamp(21px,3vw,30px);line-height:1.3;letter-spacing:-.6px;margin:0 0 13px;color:var(--pim-im-deep)}.pim-im-single-meta{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 17px}.pim-im-single-meta span{background:#e2f2e9;color:#116a45;font-size:11px;font-weight:800;border-radius:7px;padding:7px 10px}.pim-im-single-quals{font-size:13px;line-height:1.75;margin:14px 0;color:#4e6980}.pim-im-single-quals strong,.pim-im-single-specializations>strong{display:block;margin-bottom:6px;font-size:12px;color:var(--pim-im-deep)}.pim-im-single-specializations{margin:17px 0}.pim-im-linkedin{display:inline-flex;align-items:center;color:var(--pim-im-blue);font-size:12px;font-weight:800;text-decoration:none;margin-top:6px}.pim-im-biography{margin-top:10px;color:#5c7587;line-height:1.85}.pim-im-biography h2{color:var(--pim-im-deep);font-size:23px;letter-spacing:-.4px}.pim-im-biography h3{color:var(--pim-im-deep)}.pim-im-biography li,.pim-im-biography p{color:#587286;font-size:14px;line-height:1.85}
.pim-im-related-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:16px}.pim-im-related-card{padding:20px;border:1px solid #e1e9f0;border-radius:15px;background:#f8fbfd}.pim-im-related-card h3{font-size:17px;line-height:1.35;margin:0 0 7px}.pim-im-related-card h3 a{color:var(--pim-im-deep);text-decoration:none}.pim-im-related-card h3 a:hover{color:var(--pim-im-green)}.pim-im-related-card p{font-size:12.5px;line-height:1.7;color:#648092;margin:0 0 6px}
/* Archive fallback is retained; the shortcode-based /our-faculty/ page remains preferred. */
.pim-im-archive-hero{background:linear-gradient(110deg,#082f57,#075a9d 75%,#08734e);color:#fff;padding:72px 0 92px}.pim-im-archive-hero .container{width:min(1220px,calc(100% - 56px));margin:auto}.pim-im-archive-hero .eyebrow{color:#9de6c1}.pim-im-archive-hero h1{font-size:clamp(34px,4.5vw,54px);margin:4px 0 14px;line-height:1.2;max-width:850px}.pim-im-archive-hero p{font-size:14px;color:#d0e7f5;line-height:1.8}.pim-im-archive-main{padding:0 0 84px}.pim-im-archive-main .container{width:min(1220px,calc(100% - 56px));margin:auto}.pim-im-directory-shell{position:relative;z-index:2;margin-top:-43px;padding:24px;background:#fff;border-radius:18px}
@media(max-width:1100px){.pim-im-toolbar{grid-template-columns:1.2fr 1fr 1fr}.pim-im-reset{grid-column:1/-1;justify-self:start;padding:0 22px}.pim-im-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.pim-im-toolbar{grid-template-columns:1fr 1fr}.pim-im-searchbox{grid-column:1/-1}.pim-im-reset{grid-column:1/-1}.pim-im-directory-tile-body{padding:23px 19px}.pim-im-single-panel{grid-template-columns:170px minmax(0,1fr);gap:18px}}
@media(max-width:580px){body.pim-im-directory-page .container.generic-page{padding-top:30px;padding-bottom:54px}.pim-im-directory-head p{font-size:13px}.pim-im-toolbar{grid-template-columns:1fr;padding:16px;gap:12px}.pim-im-searchbox,.pim-im-reset{grid-column:auto}.pim-im-reset{width:100%}.pim-im-results-note{display:none}.pim-im-directory{grid-template-columns:1fr;gap:18px}.pim-im-directory-portrait{height:245px}.pim-im-directory-location{top:205px}.pim-im-single-panel{grid-template-columns:1fr;padding:14px;gap:15px}.pim-im-single-photo{min-height:220px;height:270px}.pim-im-single-photo img,.pim-im-single-photo .pim-im-avatar{min-height:220px}.pim-im-single-intro{padding:5px}.pim-im-card{gap:12px;padding:14px}.pim-im-photo{width:70px;height:85px;flex-basis:70px}}
@media(prefers-reduced-motion:reduce){.pim-im-directory-tile,.pim-im-directory-portrait img{transition:none}}

/* v1.3: faculty external contact/social profiles, optional per instructor. */
.pim-im-social-links{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:18px 0 3px}
.pim-im-social-link{--pim-im-social-fg:var(--pim-im-blue);display:inline-flex;gap:8px;align-items:center;justify-content:center;min-height:39px;padding:9px 13px;border:1px solid #d5e4ed;border-radius:9px;background:#fff;color:var(--pim-im-social-fg);font-size:12px;font-weight:800;line-height:1.3;text-decoration:none!important;transition:background-color .15s,border-color .15s,transform .15s;white-space:nowrap}
.pim-im-social-link svg{width:17px;height:17px;flex:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round;fill:none}
.pim-im-social-link:hover,.pim-im-social-link:focus-visible{background:#e9f5fb;border-color:#89bcd7;color:var(--pim-im-deep);transform:translateY(-1px)}
.pim-im-social-link:focus-visible{outline:2px solid var(--pim-im-blue);outline-offset:2px}
.pim-im-social-whatsapp{--pim-im-social-fg:#147344;border-color:#cfe8d9;background:#f1faf5}
.pim-im-social-whatsapp:hover,.pim-im-social-whatsapp:focus-visible{background:#dff5e9;border-color:#8bcfab;color:#0e6037}
.pim-im-social-links-compact{gap:7px;margin:12px 0 13px}
.pim-im-social-links-compact .pim-im-social-link{width:34px;height:34px;min-height:34px;padding:7px;border-radius:9px}
.pim-im-social-links-compact .pim-im-social-link svg{width:17px;height:17px}
.pim-im-social-links-compact .pim-im-social-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
@media(prefers-reduced-motion:reduce){.pim-im-social-link{transition:none}}
