.page_area{width:100%;padding:48px 120px;background:var(--gray);box-sizing:border-box}
.page_title{color:var(--primary);font-size:28px;font-weight:600;line-height:1.2;letter-spacing:.04em;text-align:left;margin:24px 0 24px}
.person_name,.person_position,.person_meta,.contact_text{word-wrap:break-word;overflow-wrap:anywhere}
.contact_row{display:flex;gap:10px;align-items:center}
.contact_icon{width:18px;height:18px;flex:0 0 18px}
.cards_grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;align-items:stretch}
.cards_grid.single-card{justify-content:center}
.cards_grid.single-card .person_card{max-width:420px;width:100%}
@media(min-width:1600px){.cards_grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}
.person_card{display:flex;flex-direction:column;gap:16px;padding:16px;border-radius:8px;background:var(--white);border:.5px solid var(--secondary);box-sizing:border-box;width:100%;transition:border-color .2s ease,box-shadow .2s ease}
.person_card:hover{border-color:rgba(76,120,232,.7);box-shadow:0 6px 20px rgba(0,0,0,.06)}
.person_header{display:flex;align-items:center;gap:10px;width:100%}
.person_icon{width:20px;height:20px}
.person_header_right{display:flex;flex-direction:column;gap:6px}
.person_name{color:var(--secondary);font-size:clamp(18px,2vw,20px);font-weight:600;letter-spacing:.04em;line-height:1.2;text-align:left}
.person_position{color:var(--primary);font-size:clamp(14px,1.6vw,16px);font-weight:600;letter-spacing:.04em;line-height:1.2;text-align:left;margin-top:2px}
.person_meta{color:var(--secondary);font-size:clamp(13px,1.5vw,14px);line-height:1.35;font-weight:700;letter-spacing:.04em;text-align:left}
.person_contacts{display:flex;flex-direction:column;gap:15px;width:100%}
.contact_text{color:var(--secondary);font-size:clamp(14px,1.7vw,18px);font-weight:700;letter-spacing:.04em;text-align:left}
.person_card_small{padding:12px;gap:12px;border-radius:4px}
.person_card_small .person_name{font-size:clamp(15px,4.2vw,16px)}
.person_card_small .person_position{font-size:clamp(13px,3.7vw,14px)}
.person_card_small .person_contacts{display:none}
.person_card_large{padding:16px;gap:16px;border-radius:8px}
.person_card_large .person_name{font-size:20px}
.person_card_large .person_position{font-size:16px}
.person_card_large .person_contacts{display:flex}
@media(max-width:1024px){.person_card{padding:14px;gap:14px}}
@media(max-width:900px){.cards_grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}}
@media(max-width:600px){
  .page_area{padding:32px 16px}
  .page_title{font-size:24px;margin:18px 0}
  .person_card{padding:12px;gap:12px;border-radius:6px}
  .person_header{gap:12px}
  .person_icon{width:18px;height:18px}
  .cards_grid.single-card .person_card{max-width:360px}
}
@media(max-width:360px){
  .page_area{padding:24px 12px}
  .cards_grid{grid-template-columns:1fr;gap:12px}
  .person_card{padding:10px;gap:10px}
  .contact_row{gap:8px}
  .contact_text{font-size:13.5px;line-height:1.3}
  .cards_grid.single-card .person_card{max-width:340px}
}
@media(hover:none){.person_card:hover{box-shadow:none;border-color:rgba(84,84,84,.6)}}
.general_block .cards_grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}
.general_block--management .cards_grid{grid-template-columns:1fr}
.general_block--management .person_card{border-radius:8px}
.general_block--management .person_card .person_contacts{display:flex}
.general_block--teachers .cards_grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media(max-width:900px){.general_block--teachers .cards_grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.general_block--teachers .cards_grid{grid-template-columns:1fr}}
.ts_tools{margin:0 0 16px}
.ts_tools .search_sort{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.ts_tools .search input{height:40px;padding:0 12px 0 14px;border:1px solid rgba(84,84,84,.25);border-radius:8px;background:var(--white);color:#2b2b2b;font:600 14px/1 Inter,Arial,sans-serif;width:260px;max-width:100%;transition:border-color .2s,box-shadow .2s}
.ts_tools .search input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(76,120,232,.14)}
.select{position:relative}
.select select{appearance:none;-webkit-appearance:none;-moz-appearance:none;height:40px;padding:0 38px 0 12px;min-width:220px;border:1px solid rgba(84,84,84,.25);border-radius:8px;background:var(--white);color:#2b2b2b;font:700 14px/1 Inter,Arial,sans-serif;background-image:url("../media/images/svg/chevron-down.svg");background-repeat:no-repeat;background-position:right 12px center;background-size:16px 16px;transition:border-color .2s,box-shadow .2s}
.select select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(76,120,232,.14)}
.select.is-enhanced select{position:absolute;inset:0;width:100%;height:100%;opacity:0;pointer-events:none}
.fancy-select__btn{position:relative;height:40px;min-width:220px;width:auto;padding:0 38px 0 12px;border:1px solid rgba(84,84,84,.25);border-radius:8px;background:var(--white);color:#2b2b2b;font:700 14px/1 Inter,Arial,sans-serif;display:flex;align-items:center;gap:8px;cursor:pointer;transition:border-color .2s,box-shadow .2s,color .2s,background .2s}
.fancy-select__btn:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(76,120,232,.14)}
.fancy-select__btn::after{content:"";position:absolute;right:12px;width:16px;height:16px;background:url("../media/images/svg/arrow_down_black.svg") no-repeat center/16px 16px}
.select.is-open .fancy-select__btn{border-color:var(--primary);box-shadow:0 6px 18px rgba(76,120,232,.18)}
.select.is-open .fancy-select__btn::after{background-image:url("../media/images/svg/arrow_up_primary.svg")}
.fancy-select__menu{position:absolute;left:0;top:calc(100% + 6px);z-index:1001;min-width:100%;background:var(--white);border:1px solid rgba(84,84,84,.22);border-radius:10px;box-shadow:0 12px 30px rgba(0,0,0,.12),0 2px 6px rgba(0,0,0,.06);padding:6px;list-style:none;max-height:240px;overflow:auto;opacity:0;transform:translateY(-4px);pointer-events:none;transition:opacity .16s ease,transform .16s ease}
.select.is-open .fancy-select__menu{opacity:1;transform:translateY(0);pointer-events:auto}
.fancy-select__option{border-radius:8px;padding:10px 12px;font:700 14px/1 Inter,Arial,sans-serif;color:#2b2b2b;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none}
.fancy-select__option:hover{background:#f4f7ff}
.fancy-select__option[aria-selected=true]{background:var(--primary);color:var(--white)}
.fancy-select__option[aria-selected=true]::after{content:"";width:10px;height:10px;border-radius:999px;background:var(--white);margin-left:12px}
.ts_empty{margin:8px 0 0;color:var(--secondary);font:700 16px/1.3 Inter,Arial,sans-serif}
@media(max-width:560px){
  .ts_tools .search_sort{width:100%}
  .ts_tools .search input{width:100%}
  .fancy-select__btn,.select select{min-width:0;width:100%}
}
.person_additional_info{list-style:none;margin:6px 0 0;display:flex;flex-wrap:wrap;gap:6px}
.person_info_item{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:#f6f9ff;border:1px solid #e1e8ff;color:var(--primary);font:800 12px/1 Inter,Arial,sans-serif;white-space:nowrap;max-width:100%}
.person_info_item .info_type{color:#6f8ff3;font-weight:800}
.person_info_item .info_value{color:#2b2b2b;font-weight:800}
.person_info_item .info_value,.person_info_item .info_type{overflow:hidden;text-overflow:ellipsis}
@media(max-width:560px){.person_info_item{padding:5px 8px;font-size:11.5px}}
.person_additional_info.person_additional_info--rows{flex-direction:column;gap:6px}
.person_additional_info--rows .person_info_item{background:transparent;border:0;border-radius:0;padding:0 0 0 14px;color:var(--secondary);font:700 13.5px/1.3 Inter,Arial,sans-serif;position:relative}
.person_additional_info--rows .person_info_item::before{content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;background:var(--primary)}
.person_additional_info--rows .info_type{color:var(--primary)}
.person_additional_info--rows .info_value{color:#2b2b2b}
