/* V2.3 — Direktori Dosen & Tenaga Kependidikan, scoped and responsive. */
.v23-directory{background:#f5f9fc;color:#163647;min-height:350px}
.v23-directory .container{max-width:1200px;margin-inline:auto}
.v23-hero{padding:70px 0 80px;background:linear-gradient(115deg,#072e43 0%,#0a5d73 68%,#0d8592 100%);position:relative;overflow:hidden;color:white}
.v23-hero:before{content:"";position:absolute;width:490px;height:490px;border:2px solid rgba(255,255,255,.11);border-radius:50%;right:-140px;top:-180px;pointer-events:none}
.v23-hero .container{position:relative;z-index:1}
.v23-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:10px;color:#d7ebf1;font-size:13px;margin-bottom:33px}
.v23-breadcrumb a{color:inherit;text-decoration:none}.v23-breadcrumb a:hover{text-decoration:underline}
.v23-eyebrow{font-size:12px;font-weight:850;letter-spacing:.12em;color:#147990;text-transform:uppercase}
.v23-hero .v23-eyebrow{color:#aae9e0}
.v23-hero h1{max-width:860px;font-size:clamp(32px,4.8vw,57px);font-weight:850;line-height:1.13;margin:12px 0 18px;color:white}
.v23-hero h1 em{font-style:normal;color:#acebe0}
.v23-hero p{font-size:17px;line-height:1.75;color:#e0f2f4;max-width:740px;margin:0}
.v23-hero-chips{margin-top:24px;display:flex;gap:9px;flex-wrap:wrap}
.v23-hero-chips span{border-radius:999px;border:1px solid #ffffff50;background:#ffffff1c;color:#f5faff;padding:8px 13px;font-size:12px;font-weight:750}
.v23-directory-main{padding:60px 0 83px}
.v23-filters{display:flex;flex-wrap:wrap;align-items:end;gap:13px;padding:22px;background:#fff;border:1px solid #d6e7ec;border-radius:18px;margin-bottom:48px;box-shadow:0 12px 42px #063a4d0e}
.v23-field{flex:1 1 210px;display:flex;flex-direction:column;gap:8px}
.v23-field-name{flex:2 1 310px}
.v23-field label{font-size:13px;font-weight:800;color:#315365}
.v23-field input,.v23-field select{width:100%;min-height:48px;padding:0 13px;box-sizing:border-box;border:1px solid #bdd6df;background:#f8fcfd;border-radius:9px;color:#173b4a;font-size:15px}
.v23-search-btn{min-height:48px;border:0;border-radius:10px;background:#08768c;color:white;font-size:14px;font-weight:800;padding:0 24px;cursor:pointer}
.v23-search-btn:hover{background:#055a71}
.v23-reset{color:#076b81;font-size:14px;font-weight:750;align-self:center;padding:8px}
.v23-results-title,.v23-home-head{display:flex;justify-content:space-between;align-items:end;gap:18px;flex-wrap:wrap;margin-bottom:25px}
.v23-results-title h2,.v23-home-head h2{font-size:clamp(28px,3.5vw,41px);line-height:1.2;color:#173e4f;margin:8px 0 0}
.v23-results-title h2 em,.v23-home-head h2 em{color:#087e91;font-style:normal}
.v23-count{display:inline-block;color:#21667b;background:#e1f2f6;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800}
.v23-person-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.v23-person-card{min-width:0;border-radius:16px;overflow:hidden;background:white;border:1px solid #dbeaf0;box-shadow:0 8px 34px #0a38440c;transition:transform .2s,box-shadow .2s}
.v23-person-card:hover{transform:translateY(-4px);box-shadow:0 14px 38px #0a38441d}
.v23-photo{height:220px;background:linear-gradient(135deg,#e0f0f5,#bdd9df);display:block;overflow:hidden;position:relative}
.v23-photo img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 25%}
.v23-photo svg,.v23-detail-photo svg{width:120px;height:120px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);stroke:#2e8093;fill:none;stroke-width:5;stroke-linejoin:round}
.v23-photo .v23-group-label{position:absolute;bottom:13px;left:15px;border-radius:999px;background:#fff;color:#136077;padding:7px 12px;font-size:12px;font-weight:800;box-shadow:0 2px 14px #0001}
.v23-person-info{padding:22px 23px 24px;display:flex;flex-direction:column;align-items:flex-start;min-height:210px}
.v23-person-info h3{font-size:22px;line-height:1.3;margin:0 0 7px;overflow-wrap:anywhere;color:#173d4d}
.v23-person-info h3 a{color:inherit;text-decoration:none}.v23-person-info h3 a:hover{color:#08788d}
.v23-job{font-size:15px;font-weight:800;color:#09697e;margin:0 0 7px}
.v23-unit{font-size:14px;color:#527080;margin:0 0 7px;line-height:1.5}
.v23-specialty{font-size:13px;color:#657f8a;margin:5px 0 12px;line-height:1.55}
.v23-profile-link{display:inline-flex;align-items:center;gap:8px;color:#087a8a;font-size:14px;font-weight:850;text-decoration:none;margin-top:auto;padding-top:15px}
.v23-profile-link:hover{text-decoration:underline}
.v23-empty{display:flex;align-items:center;gap:20px;background:white;border:1px dashed #a5cbd6;border-radius:17px;padding:26px}
.v23-empty-icon{font-size:45px;color:#14899c;line-height:1}
.v23-empty strong{display:block;font-size:18px;color:#174354}.v23-empty p{font-size:14px;line-height:1.65;color:#627c87;margin:5px 0 0}
.v23-pagination{display:flex;justify-content:center;align-items:center;gap:15px;flex-wrap:wrap;margin-top:30px}
.v23-pagination a{border:1px solid #b5d8e0;color:#086e83;background:white;padding:11px 14px;border-radius:9px;text-decoration:none;font-size:14px;font-weight:800}
.v23-pagination span{color:#597583;font-size:14px}
.v23-public-note{color:#617e8a;font-size:13px;line-height:1.7;margin-top:42px}
.v23-home{padding:75px 0;background:#eef5f8}
.v23-home-head>div p{font-size:15px;color:#567681;max-width:720px;margin:10px 0 0}
.v23-home-all{font-size:14px;text-decoration:none;color:#067288;font-weight:850;white-space:nowrap}
.v23-home-empty{background:white;border-radius:15px;padding:26px;border:1px dashed #a5d1db;color:#607d88;font-size:15px;line-height:1.6}
.v23-single-hero{padding-bottom:70px}.v23-detail-section{padding:67px 0 94px}
.v23-detail-layout{display:grid;grid-template-columns:minmax(250px,340px) minmax(0,1fr);gap:32px;align-items:start}
.v23-detail-side,.v23-detail-body{background:white;border:1px solid #dcebf0;border-radius:16px;overflow:hidden;box-shadow:0 12px 40px #103f540d}
.v23-detail-photo{height:330px;position:relative;background:linear-gradient(135deg,#dcedf2,#bad7df)}
.v23-detail-photo img{width:100%;height:100%;object-fit:cover;object-position:center 25%}
.v23-detail-facts{padding:25px 26px}.v23-tag{display:inline-flex;background:#e6f3f6;color:#0b6f82;font-size:12px;font-weight:800;padding:8px 12px;border-radius:999px;margin-bottom:18px}
.v23-detail-facts>div{padding:14px 0;border-top:1px solid #e7eff3;overflow-wrap:anywhere}
.v23-detail-facts small{display:block;color:#688491;font-size:12px;margin-bottom:7px}.v23-detail-facts strong,.v23-detail-facts a{font-size:15px;color:#164254;text-decoration:none;line-height:1.55}
.v23-detail-facts a:hover{text-decoration:underline}
.v23-detail-body{padding:34px 38px;min-height:290px}.v23-detail-body h2{font-size:32px;color:#143c4d;margin:10px 0 22px;overflow-wrap:anywhere}
.v23-biography{line-height:1.85;color:#3f6171;overflow-wrap:anywhere}.v23-biography h2,.v23-biography h3{color:#173d4a}.v23-biography img{max-width:100%;height:auto}
.v23-back-link{display:inline-flex;color:#08768b;text-decoration:none;font-size:14px;font-weight:850;margin-top:28px}
.v23-directory a:focus-visible,.v23-home a:focus-visible,.v23-directory button:focus-visible{outline:3px solid #0096af;outline-offset:3px}
@media(max-width:980px){.v23-person-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.v23-detail-layout{grid-template-columns:minmax(220px,300px) minmax(0,1fr)}.v23-detail-body{padding:29px}}
@media(max-width:680px){.v23-hero{padding:48px 0 56px}.v23-hero p{font-size:15px}.v23-breadcrumb{margin-bottom:23px}.v23-directory-main{padding:39px 0 60px}.v23-filters{padding:17px;margin-bottom:35px}.v23-field{flex:1 1 100%}.v23-search-btn{width:100%}.v23-person-grid{grid-template-columns:1fr}.v23-photo{height:260px}.v23-home{padding:53px 0}.v23-detail-layout{grid-template-columns:1fr}.v23-detail-photo{height:300px}.v23-detail-body{padding:26px}.v23-detail-body h2{font-size:27px}.v23-empty{padding:20px}}
@media(prefers-reduced-motion:reduce){.v23-person-card{transition:none}.v23-person-card:hover{transform:none}}
