.personnel-directory { padding:12px 0 36px; font-size:14px; }
.personnel-breadcrumb { display:flex; flex-wrap:wrap; gap:12px; color:var(--site-muted,#677360); font-size:14px; margin-bottom:32px; }
.personnel-public-heading { border-bottom:1px solid #d9ddcf; padding-bottom:28px; margin-bottom:24px; }
.personnel-public-heading > span { color:#917642; font-size:14px; }
.personnel-public-heading h1 { font-size:clamp(26px,3vw,38px); font-weight:500; line-height:1.65; margin:8px 0; }
.personnel-public-heading p { margin:8px 0 0; color:#67745f; }
.personnel-filter { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin:24px 0; }
.personnel-filter select,.personnel-filter button { font:inherit; border:1px solid #cfd8c9; border-radius:7px; padding:10px 14px; background:#fffefa; color:#385a44; min-height:44px; max-width:100%; }
.personnel-filter button { background:#254d39; color:#fffefa; cursor:pointer; }
.personnel-group-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr)); gap:20px; }
.personnel-group-grid > a { display:block; padding:28px; border:1px solid #dce1d4; border-top:3px solid #b89d67; border-radius:10px; color:#2c503c; background:#fffefa; text-decoration:none; }
.personnel-group-grid > a:hover { border-color:#b89d67; text-decoration:none; }
.personnel-group-grid h2 { font-size:20px; line-height:1.7; font-weight:500; margin:10px 0 22px; }
.personnel-group-grid p { display:flex; justify-content:space-between; margin:0; color:#6e7c62; }
.personnel-group-grid > a > span { color:#927941; }
.personnel-scroll { max-width:100%; overflow:auto; padding:24px; background:#f7f8f2; border:1px solid #dde3d6; border-radius:10px; overscroll-behavior:contain; }
.personnel-scroll:focus-visible { outline:2px solid #a78d55; outline-offset:3px; }
.personnel-board { font-family:var(--font-family-sans,"Kodchasan",Tahoma,sans-serif); font-size:14px; line-height:1.7; color:#294b39; min-width:100%; zoom:var(--personnel-zoom,1); }
.personnel-board * { box-sizing:border-box; }
.personnel-board .person-card { --branch-color:#567961; position:relative; display:flex; align-items:center; gap:14px; width:248px; padding:18px; background:#fffefa; border:1px solid #d7dfd1; border-top:3px solid var(--branch-color); border-radius:12px; text-align:left; box-shadow:0 4px 14px #22382e06; }
.personnel-board .branch-1 > .person-card { --branch-color:#526d8d; }.personnel-board .branch-2 > .person-card { --branch-color:#aa8953; }.personnel-board .branch-3 > .person-card { --branch-color:#946273; }
.person-photo { flex:none; width:64px; height:76px; overflow:hidden; border-radius:8px; border:1px solid #e0e2d7; background:#eaf0e4; }
.person-photo img { display:block; width:100%; height:100%; object-fit:cover; object-position:center 25%; }
.person-avatar { display:flex; justify-content:center; align-items:center; width:100%; height:100%; color:#8a794e; font-size:28px; background:linear-gradient(145deg,#f7f2e4,#e2ebdc); }
.person-copy { min-width:0; flex:1; }.personnel-board .person-copy h3 { font-size:15px; font-weight:600; line-height:1.7; margin:0 0 5px; color:#284c39; overflow-wrap:anywhere; }
.personnel-board .person-copy p { margin:0; font-size:14px; line-height:1.8; color:#65775d; overflow-wrap:anywhere; }
.person-boss { display:none; font-size:14px; color:#8b7953; margin-top:10px; overflow-wrap:anywhere; }
.personnel-board .person-tree { position:relative; display:flex; justify-content:center; width:max-content; list-style:none; margin:0 auto; padding:32px 0 0; }
.personnel-board > .person-tree { padding-top:0; }
.person-tree > .person-branch { position:relative; display:flex; flex-direction:column; align-items:center; padding:32px 12px 0; }
.person-tree > .person-branch::before,.person-tree > .person-branch::after { content:''; position:absolute; top:0; right:50%; width:50%; height:32px; border-top:1px solid #aebcaa; }
.person-tree > .person-branch::after { right:auto; left:50%; border-left:1px solid #aebcaa; }
.person-tree > .person-branch:only-child::before,.person-tree > .person-branch:only-child::after { display:none; }
.person-tree > .person-branch:only-child { padding-top:0; }
.person-tree > .person-branch:first-child::before,.person-tree > .person-branch:last-child::after { border:0; }
.person-tree > .person-branch:last-child::before { border-right:1px solid #aebcaa; border-radius:0 8px 0 0; }
.person-tree > .person-branch:first-child::after { border-radius:8px 0 0 0; }
.person-tree .person-tree::before { content:''; position:absolute; top:0; left:50%; width:0; height:32px; border-left:1px solid #aebcaa; }
.personnel-board > .person-tree > .person-branch { padding-top:0; }.personnel-board > .person-tree > .person-branch::before,.personnel-board > .person-tree > .person-branch::after { display:none; }
.personnel-layout-portraits .person-card { flex-direction:column; text-align:center; background:transparent; border:0; box-shadow:none; width:206px; padding:12px; gap:15px; }
.personnel-layout-portraits .person-photo { width:110px; height:110px; border-radius:50%; border:5px solid #fffefa; outline:2px solid var(--branch-color); box-shadow:0 6px 14px #24403110; }
.personnel-layout-portraits .person-copy { width:100%; }.personnel-layout-portraits .person-copy h3 { color:var(--branch-color); }
.personnel-layout-horizontal .person-tree { flex-direction:column; padding:0 0 0 36px; margin:0; }
.personnel-layout-horizontal > .person-tree { padding:0; }
.personnel-layout-horizontal .person-tree > .person-branch { flex-direction:row; padding:12px 0 12px 36px; }
.personnel-layout-horizontal .person-tree > .person-branch::before { display:block; border:0; border-top:1px solid #aebcaa; width:36px; height:0; left:0; right:auto; top:50%; border-radius:0; }
.personnel-layout-horizontal .person-tree > .person-branch::after { display:block; border:0; border-left:1px solid #aebcaa; width:0; height:100%; top:0; left:0; border-radius:0; }
.personnel-layout-horizontal .person-tree > .person-branch:first-child::after { top:50%; height:50%; }.personnel-layout-horizontal .person-tree > .person-branch:last-child::after { height:50%; }.personnel-layout-horizontal .person-tree > .person-branch:only-child::after { display:none; }
.personnel-layout-horizontal .person-tree .person-tree::before { top:50%; left:0; width:36px; height:0; border:0; border-top:1px solid #aebcaa; }
.personnel-layout-horizontal > .person-tree > .person-branch { padding-left:0; }.personnel-layout-horizontal > .person-tree > .person-branch::before,.personnel-layout-horizontal > .person-tree > .person-branch::after { display:none; }
.person-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr)); gap:20px; }
.person-grid .person-card { width:100%; min-width:0; height:100%; flex-direction:column; text-align:center; padding:24px; }
.person-grid .person-photo { width:100px; height:120px; }.person-grid .person-boss { display:block; }
.person-level { margin-bottom:28px; padding:22px; background:#edf1e7; border-radius:12px; }.person-level:last-child { margin-bottom:0; }
.person-level > h2 { font-size:14px; font-weight:500; color:#8b7953; margin:0 0 18px; }.personnel-layout-levels .person-level:first-child .person-grid { max-width:400px; margin:auto; }
.personnel-layout-levels .person-card { flex-direction:row; text-align:left; }.personnel-layout-levels .person-photo { width:60px; height:72px; }
.person-table { width:100%; min-width:620px; border-collapse:collapse; text-align:left; font-size:14px; }.person-table th { padding:16px 22px; background:#e7eddf; font-weight:500; color:#4a6446; }.person-table td { padding:16px; border-bottom:1px solid #dce2d4; vertical-align:middle; }.person-table tbody tr:nth-child(even) { background:#f0f3e9; }.person-table .person-card { width:100%; min-width:290px; border:0; padding:0; background:none; box-shadow:none; }.person-table .person-photo { width:50px; height:60px; }
.personnel-empty { padding:50px 24px; text-align:center; border:1px dashed #cbd6c1; border-radius:12px; background:#fbfcf7; color:#718565; font-size:14px; }
.personnel-chart-hint { font-size:14px; color:#728265; margin-bottom:12px; }.personnel-sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
@media(max-width:600px) { .personnel-filter { align-items:stretch; }.personnel-filter label { width:100%; }.personnel-filter select { width:100%; font-size:16px; }.personnel-filter button { width:100%; }.personnel-scroll { padding:18px 12px; }.person-grid { grid-template-columns:1fr; }.person-level { padding:16px; }.personnel-public-heading { margin-bottom:16px; } }
