/* V4.5 — Bregal-inspired People directory with Teras hierarchy as a dedicated view. */
.tl-people-page{background:#fff;color:var(--tl-navy)}
.tl-people-bregal{padding:70px 0 120px;background:#fff}
.tl-people-layout{display:grid;grid-template-columns:330px minmax(0,1fr);align-items:start;border-top:1px solid #d1d5d8}
.tl-people-sidebar{min-width:0;border-right:1px solid #aeb6bc}
.tl-people-sidebar-inner{position:sticky;top:125px;padding:48px 34px 70px 18px}
.tl-people-sidebar h1{margin:0;color:#101b2c;font-family:var(--tl-display);font-size:38px;font-weight:600;letter-spacing:-.025em}
.tl-people-sidebar-copy{margin:10px 0 0;color:#263447;font-size:15px;line-height:1.55}
.tl-people-sidebar-help{margin:38px 0 30px;color:#405063;font-size:14px;line-height:1.55}
.tl-people-search{position:relative;display:flex;align-items:center;height:42px;border:1px solid #19283a;background:#fff}
.tl-people-search input{width:100%;height:100%;border:0;outline:0;background:transparent;padding:0 42px 0 13px;color:#172638;font:500 14px var(--tl-sans)}
.tl-people-search svg{position:absolute;right:12px;width:20px;height:20px;fill:none;stroke:#14253a;stroke-width:1.6}
.tl-people-mode-toggle{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:22px 0}
.tl-people-mode-toggle button{min-height:36px;padding:0 8px;border:1px solid #1a293a;background:#fff;color:#213043;font:500 12px var(--tl-sans);cursor:pointer}
.tl-people-mode-toggle button.is-active{background:#1b2737;color:#fff}
.tl-people-filter-list{border-top:1px solid #9da7af}
.tl-people-filter-row{position:relative;display:block;border-bottom:1px solid #9da7af}
.tl-people-filter-row:after{content:'◆';position:absolute;right:13px;top:50%;transform:translateY(-50%) rotate(45deg);font-size:8px;color:#26374b;pointer-events:none}
.tl-people-filter-row select{width:100%;height:46px;border:0;outline:0;background:#fff;color:#26374b;-webkit-appearance:none;appearance:none;cursor:pointer;padding:0 38px 0 12px;font:500 13px var(--tl-sans)}
.tl-people-filter-row select option{color:#213043;background:#fff}
.tl-people-filter-row select:focus{box-shadow:inset 0 0 0 1px #7890aa}
.tl-people-clear{margin:20px 0 0;padding:0;border:0;background:none;color:#43505f;font:500 11px var(--tl-sans);letter-spacing:.03em;text-transform:uppercase;cursor:pointer}
.tl-people-clear span{display:inline-grid;place-items:center;width:15px;height:15px;margin-right:8px;border:1px solid #43505f;border-radius:50%;font-size:12px;line-height:1}
.tl-people-sidebar-stats{display:grid;gap:6px;margin-top:42px;padding-top:18px;border-top:1px solid #d2d6d8;color:#69737c;font-size:10px;letter-spacing:.06em;text-transform:uppercase}
.tl-people-sidebar-stats b{color:#17293c;font-weight:700}
.tl-people-sidebar-stats small{margin-top:8px;color:#8a939a;font-size:9px;line-height:1.45}
.tl-people-stage{min-width:0;padding:48px 0 0 36px}
.tl-people-directory-view[hidden],.tl-hierarchy-view[hidden]{display:none!important}
.tl-people-results-meta{margin:0 0 18px;color:#7d8790;font-size:10px;font-weight:600;letter-spacing:.11em;text-transform:uppercase}
.tl-people-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:34px 28px}
.tl-person-card{min-width:0}
.tl-person-open{display:block;width:100%;padding:0;border:0;background:none;text-align:left;cursor:pointer;color:inherit}
.tl-person-portrait-placeholder{position:relative;aspect-ratio:.74/1;overflow:hidden;background:#bcc1bf;isolation:isolate}
.tl-person-portrait-placeholder:before{content:'';position:absolute;left:50%;top:56%;width:62%;aspect-ratio:1;border-radius:50%;transform:translate(-50%,-50%);background:rgba(255,255,255,.20)}
.tl-person-portrait-placeholder:after{content:'';position:absolute;left:50%;bottom:-14%;width:86%;height:52%;border-radius:52% 52% 0 0;transform:translateX(-50%);background:rgba(255,255,255,.22)}
.tl-person-portrait-placeholder span{position:absolute;z-index:2;left:50%;top:53%;transform:translate(-50%,-50%);color:rgba(18,37,56,.28);font-family:var(--tl-display);font-size:clamp(74px,7vw,118px);letter-spacing:-.06em}
.tl-person-portrait-placeholder i{position:absolute;inset:0;z-index:3;background:linear-gradient(180deg,rgba(11,27,44,.26),transparent 30%,transparent 72%,rgba(11,27,44,.12));transition:background .25s ease}
.tl-person-open:hover .tl-person-portrait-placeholder i{background:linear-gradient(180deg,rgba(11,27,44,.34),transparent 34%,transparent 70%,rgba(11,27,44,.18))}
.tl-person-card-copy{position:absolute;z-index:4;left:24px;right:20px;top:22px;color:#fff}
.tl-person-card-copy h2{margin:0;color:#fff;font-family:var(--tl-display);font-size:clamp(23px,2vw,31px);font-weight:600;line-height:.98;letter-spacing:-.03em}
.tl-person-card-copy p{margin:6px 0 0;color:#fff;font-size:12px;line-height:1.35}
.tl-person-card-meta{display:flex;justify-content:space-between;gap:14px;padding-top:12px;color:#4d5b68;font-size:10px;line-height:1.35}
.tl-person-card-meta span:last-child{text-align:right;color:#879099}
.tl-people-empty{padding:70px 0;color:#40505e;font-family:var(--tl-display);font-size:34px}
.tl-people-more{display:block;margin:46px auto 0;min-width:160px;min-height:44px;padding:0 20px;border:1px solid #1b2d42;background:#fff;color:#1b2d42;font-size:12px;font-weight:600;cursor:pointer}
.tl-people-more:hover{background:#1b2d42;color:#fff}
.tl-hierarchy-view-head{display:grid;grid-template-columns:minmax(0,.9fr) minmax(260px,.45fr);gap:22px 60px;margin-bottom:38px;padding-right:12px}
.tl-hierarchy-view-head .tl-people-eyebrow{grid-column:1/-1;margin:0;color:#6b7781;font-size:10px;font-weight:700;letter-spacing:.17em;text-transform:uppercase}
.tl-hierarchy-view-head h2{margin:0;color:#0b1f36;font-family:var(--tl-display);font-size:clamp(48px,4.7vw,72px);font-weight:400;line-height:.95;letter-spacing:-.035em}
.tl-hierarchy-view-head>p:last-child{margin:5px 0 0;color:#68747d;font-size:14px;line-height:1.68}
.tl-branch-tabs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid #b9c0c5;border-bottom:1px solid #b9c0c5;margin-bottom:42px}
.tl-branch-tabs button{min-width:0;min-height:78px;padding:14px 15px;border:0;border-right:1px solid #cbd0d3;background:#fff;color:#17283c;text-align:left;cursor:pointer}
.tl-branch-tabs button:last-child{border-right:0}
.tl-branch-tabs button span{display:block;font-size:12px;font-weight:650;line-height:1.25}
.tl-branch-tabs button small{display:block;margin-top:6px;color:#8a939b;font-size:9px;letter-spacing:.06em;text-transform:uppercase}
.tl-branch-tabs button.is-active{background:#071a31;color:#fff}
.tl-branch-tabs button.is-active small{color:#c0cad3}
.tl-hierarchy-panel[hidden]{display:none!important}
.tl-hierarchy-branch-meta{display:flex;justify-content:space-between;gap:35px;align-items:end;margin-bottom:26px}
.tl-people-eyebrow{margin:0;color:#60707d;font-size:10px;font-weight:700;letter-spacing:.16em;text-transform:uppercase}
.tl-hierarchy-branch-meta h3{margin:6px 0 0;color:#0b2038;font-family:var(--tl-display);font-size:clamp(42px,4.4vw,66px);font-weight:400;line-height:.95;letter-spacing:-.035em}
.tl-branch-numbers{display:flex;gap:32px;padding-bottom:6px}
.tl-branch-numbers span{display:grid;gap:2px;color:#838d95;font-size:9px;text-transform:uppercase;letter-spacing:.09em}
.tl-branch-numbers b{color:#10273f;font-family:var(--tl-display);font-size:32px;font-weight:400}
.tl-hierarchy-tree{border-top:1px solid #bbc2c7}
.tl-hierarchy-row{position:relative;padding-left:calc(var(--tl-depth) * 48px);border-bottom:1px solid #d8dde0}
.tl-hierarchy-row[hidden]{display:none!important}
.tl-hierarchy-row:before{content:'';position:absolute;left:calc(var(--tl-depth) * 48px - 24px);top:0;bottom:0;width:1px;background:#d4dade;opacity:calc(var(--tl-depth) * 1)}
.tl-hierarchy-row:after{content:'';position:absolute;left:calc(var(--tl-depth) * 48px - 24px);top:50%;width:24px;height:1px;background:#d4dade;opacity:calc(var(--tl-depth) * 1)}
.tl-hierarchy-person{width:100%;min-height:86px;display:grid;grid-template-columns:50px minmax(0,1fr) 100px;align-items:center;gap:18px;padding:13px 0;border:0;background:none;color:inherit;text-align:left}
button.tl-hierarchy-person{cursor:pointer}
button.tl-hierarchy-person:hover .tl-hierarchy-copy strong{color:var(--tl-blue)}
.tl-hierarchy-initials{width:42px;height:42px;display:grid;place-items:center;border:1px solid #cbd1d4;border-radius:50%;background:#f1f2ef;color:#173049;font-family:var(--tl-display);font-size:18px}
.tl-hierarchy-copy strong{display:block;color:#0b2038;font-size:14px;font-weight:650;line-height:1.3}
.tl-hierarchy-copy small{display:flex;flex-wrap:wrap;gap:4px 11px;margin-top:5px;color:#7b858d;font-size:9px;line-height:1.35;letter-spacing:.05em;text-transform:uppercase}
.tl-hierarchy-copy small i{font-style:normal;text-transform:none;letter-spacing:0;color:#90989e}
.tl-hierarchy-team{justify-self:end;display:grid;gap:2px;text-align:right;color:#10273f;font-family:var(--tl-display);font-size:24px;line-height:1}
.tl-hierarchy-team small{color:#90989f;font-family:var(--tl-sans);font-size:8px;letter-spacing:.07em;text-transform:uppercase}
.tl-hierarchy-row.is-memorial{opacity:.52}
.tl-hierarchy-row.is-group{padding-left:0}
.tl-hierarchy-row.is-group:before,.tl-hierarchy-row.is-group:after{display:none}
.tl-profile-modal{position:fixed;inset:0;z-index:4000}
.tl-profile-modal[hidden]{display:none!important}
.tl-profile-backdrop{position:absolute;inset:0;border:0;background:rgba(1,12,26,.72);cursor:pointer}
.tl-profile-panel{position:absolute;top:0;right:0;width:min(940px,88vw);height:100%;overflow:auto;background:#f1f2ef;color:#0c2038;box-shadow:-30px 0 80px rgba(0,0,0,.22);transform:translateX(100%);transition:transform .52s var(--tl-ease)}
.tl-profile-modal.is-open .tl-profile-panel{transform:none}
.tl-profile-close{position:absolute;z-index:4;top:28px;right:30px;width:46px;height:46px;border:1px solid #aeb5b8;border-radius:50%;background:rgba(243,244,241,.9);cursor:pointer}
.tl-profile-close span:before,.tl-profile-close span:after{content:'';position:absolute;left:13px;top:22px;width:19px;height:1px;background:#0c2038}
.tl-profile-close span:before{transform:rotate(45deg)}
.tl-profile-close span:after{transform:rotate(-45deg)}
.tl-profile-panel-inner{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(0,1.2fr);min-height:100%}
.tl-profile-portrait-placeholder{position:relative;min-height:100vh;overflow:hidden;background:#d6dad7}
.tl-profile-portrait-placeholder:before{content:'';position:absolute;width:72%;aspect-ratio:1;border-radius:50%;left:50%;top:44%;transform:translate(-50%,-50%);background:rgba(255,255,255,.28)}
.tl-profile-portrait-placeholder:after{content:'';position:absolute;width:86%;height:48%;border-radius:50% 50% 0 0;left:50%;bottom:-18%;transform:translateX(-50%);background:rgba(255,255,255,.32)}
.tl-profile-portrait-placeholder span{position:absolute;z-index:3;left:42px;bottom:48px;color:#23384c;font-family:var(--tl-display);font-size:clamp(82px,9vw,140px);letter-spacing:-.05em}
.tl-profile-portrait-placeholder i{position:absolute;inset:0;z-index:2;background:linear-gradient(135deg,transparent 55%,rgba(1,17,44,.06))}
.tl-profile-content{padding:clamp(96px,10vw,150px) clamp(44px,7vw,90px)}
.tl-profile-org{margin:0 0 30px;color:#64707b;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase}
.tl-profile-content h2{margin:0;color:#0a1e35;font-family:var(--tl-display);font-size:clamp(54px,6.2vw,92px);font-weight:400;line-height:.92;letter-spacing:-.045em}
.tl-profile-role{margin:18px 0 0;color:#384858;font-size:16px}
.tl-profile-rule{height:1px;background:#bfc5c6;margin:48px 0}
.tl-profile-facts{margin:0}.tl-profile-facts>div{display:grid;grid-template-columns:115px 1fr;gap:20px;padding:14px 0;border-bottom:1px solid #c7cccd}
.tl-profile-facts dt{color:#7c8790;font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.tl-profile-facts dd{margin:0;color:#24384b;font-size:14px;line-height:1.45}
.tl-profile-about{margin-top:70px;padding-top:32px;border-top:1px solid #bfc5c6}.tl-profile-about h3{margin:0 0 18px;font-family:var(--tl-sans);font-size:18px;font-weight:600}.tl-profile-about p{margin:0;color:#53606c;font-size:14px;line-height:1.7}
body.tl-profile-lock{overflow:hidden}
@media(max-width:1200px){.tl-people-layout{grid-template-columns:290px minmax(0,1fr)}.tl-people-sidebar-inner{padding-right:26px}.tl-people-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tl-branch-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.tl-branch-tabs button:nth-child(n+4){border-top:1px solid #cbd0d3}}
@media(max-width:900px){.tl-people-bregal{padding-top:30px}.tl-people-layout{grid-template-columns:1fr;border-top:0}.tl-people-sidebar{border-right:0;border-bottom:1px solid #aeb6bc}.tl-people-sidebar-inner{position:static;padding:36px 0 42px}.tl-people-stage{padding:42px 0 0}.tl-people-mode-toggle{grid-template-columns:repeat(3,1fr)}.tl-hierarchy-view-head{grid-template-columns:1fr}.tl-hierarchy-view-head .tl-people-eyebrow{grid-column:auto}.tl-hierarchy-branch-meta{align-items:start}.tl-profile-panel-inner{grid-template-columns:1fr}.tl-profile-portrait-placeholder{min-height:48vh}.tl-profile-content{padding-top:70px}}
@media(max-width:640px){.tl-people-bregal{padding:18px 0 80px}.tl-people-sidebar h1{font-size:34px}.tl-people-mode-toggle{gap:5px}.tl-people-mode-toggle button{font-size:11px}.tl-people-grid{grid-template-columns:1fr;gap:34px}.tl-branch-tabs{grid-template-columns:1fr}.tl-branch-tabs button{border-right:0;border-bottom:1px solid #cbd0d3}.tl-hierarchy-branch-meta{display:block}.tl-branch-numbers{margin-top:18px}.tl-hierarchy-row{padding-left:calc(var(--tl-depth) * 18px)}.tl-hierarchy-row:before,.tl-hierarchy-row:after{display:none}.tl-hierarchy-person{grid-template-columns:42px minmax(0,1fr);gap:12px}.tl-hierarchy-team{grid-column:2;justify-self:start;text-align:left;display:flex;gap:6px;align-items:baseline;margin-top:-7px}.tl-profile-panel{width:100vw}.tl-profile-close{top:18px;right:18px}.tl-profile-content{padding:58px 24px 80px}.tl-profile-portrait-placeholder{min-height:42vh}.tl-profile-portrait-placeholder span{left:24px;bottom:24px}}
@media(prefers-reduced-motion:reduce){.tl-profile-panel,.tl-branch-tabs button,.tl-person-portrait-placeholder i{transition:none!important}}
