:root{
  --ink:#12241F;
  --ink-soft:#3E5750;
  --surface:#F1F4F1;
  --card:#FFFFFF;
  --line:#D9E2DC;
  --teal:#0E4B44;
  --teal-deep:#0A332E;
  --navy:#16324F;
  --gold:#C99A3B;
  --gold-soft:#EFE1BE;
  --coral:#B8402F;
  --coral-soft:#F5E2DD;
  --shadow: 0 1px 2px rgba(15,35,30,.04), 0 8px 24px -12px rgba(15,35,30,.18);
  --radius: 14px;
}
 
.wrap{max-width:1180px;margin:0 auto;padding:0 24px;}
.mono{font-family:'IBM Plex Mono',monospace; letter-spacing:.02em;}
 
/* ============ HERO ============ */
.hero{
	margin-top: 20px;
  position:relative;
  padding:88px 0 64px;
  background:
    radial-gradient(1100px 480px at 82% -10%, rgba(201,154,59,.16), transparent 60%),
    linear-gradient(180deg, var(--teal-deep) 0%, var(--teal) 100%);
  color:#EFF6F3;
  overflow:hidden;
}
.hero h1{
  font-family:'Fraunces',serif; font-weight:600;
  font-size:clamp(34px, 5.2vw, 58px);
  line-height:1.04;
  max-width:15ch;
  color:#fff;
  margin:0;
}
.hero h1 em{font-style:italic; color:var(--gold-soft);}
.hero p.lede{
  margin-top:20px; max-width:56ch; font-size:17px; line-height:1.6;
  color:rgba(239,246,243,.82);
}
.hero-meta{
  margin-top:36px; display:flex; flex-wrap:wrap; gap:28px;
  border-top:1px solid rgba(255,255,255,.16); padding-top:24px;
}
.hero-meta div{min-width:120px;}
.hero-meta .num{font-family:'Fraunces',serif; font-weight:600; font-size:26px; color:#fff;}
.hero-meta .lbl{
  font-family:'IBM Plex Mono',monospace; font-size:11.5px; letter-spacing:.06em;
  text-transform:uppercase; color:rgba(239,246,243,.6); margin-top:2px;
}
 
/* ============ TOOLBAR ============ */
.toolbar{
  position:sticky; top:0; z-index:40;
  background:rgba(241,244,241,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.toolbar-inner{display:flex; align-items:center; gap:16px; flex-wrap:wrap; padding:16px 0;}
.search{position:relative; flex:1 1 240px; max-width:320px;}
.search input{
  width:100%; padding:11px 14px 11px 38px; border-radius:10px; border:1px solid var(--line);
  background:var(--card); font-size:14px; color:var(--ink); outline:none;
  transition:border-color .15s, box-shadow .15s;
}
.search input:focus{border-color:var(--teal); box-shadow:0 0 0 3px rgba(14,75,68,.12);}
.search svg{position:absolute; left:12px; top:50%; transform:translateY(-50%); width:15px; height:15px; color:var(--ink-soft);}
.chips{display:flex; gap:8px; flex-wrap:wrap;}
.chip{
  font-family:'IBM Plex Mono',monospace; font-size:12px; letter-spacing:.03em;
  padding:8px 13px; border-radius:999px; border:1px solid var(--line);
  background:var(--card); color:var(--ink-soft); cursor:pointer;
  transition:all .15s; white-space:nowrap;
}
.chip:hover{border-color:var(--teal);}
.chip.active{background:var(--teal); border-color:var(--teal); color:#fff;}
.view-toggle{
  margin-left:auto; display:flex; gap:2px; background:var(--card);
  border:1px solid var(--line); border-radius:10px; padding:3px;
}
.view-toggle button{
  border:none; background:transparent; padding:8px 14px; border-radius:7px;
  font-size:13px; font-weight:600; color:var(--ink-soft); cursor:pointer; transition:all .15s;
}
.view-toggle button.active{background:var(--teal); color:#fff;}
 
/* ============ SECTIONS ============ */
section.body-section{padding:56px 0;}
.section-head{display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:36px; flex-wrap:wrap;}
.section-head h2{font-family:'Fraunces',serif; font-size:clamp(24px,3vw,32px); color:var(--teal-deep); margin:0;}
.section-head p{color:var(--ink-soft); font-size:14.5px; max-width:44ch; margin-top:6px;}
 
/* ============ ORG CHART ============ */
#orgchart-view{display:none;}
#orgchart-view.active{display:block;}
.org-wrap{overflow-x:auto; padding-bottom:8px;}
.org{min-width:640px; display:flex; flex-direction:column; align-items:center; gap:0;}
.org-tier{display:flex; justify-content:center; gap:56px; position:relative; width:100%;}
.org-node{
  display:flex; flex-direction:column; align-items:center; text-align:center;
  cursor:pointer; padding:14px; border-radius:12px; transition:transform .18s ease;
}
.org-node:hover{transform:translateY(-3px);}
.org-node .photo{
  width:74px; height:74px; border-radius:50%; object-fit:cover;
  border:3px solid var(--card); box-shadow:var(--shadow); background:var(--line);
}
.org-node.tier-0 .photo{width:96px; height:96px; border-color:var(--gold);}
.org-node .name{margin-top:10px; font-weight:600; font-size:14px; max-width:150px; font-family:'Fraunces',serif;}
.org-node .role{
  margin-top:2px; font-family:'IBM Plex Mono',monospace; font-size:10.5px;
  letter-spacing:.03em; text-transform:uppercase; color:var(--ink-soft); max-width:150px;
}
.org-connector{stroke:var(--line); stroke-width:2; fill:none;}
.org-connector.draw{stroke-dasharray:400; stroke-dashoffset:400; animation:mgtteam-draw 1.1s ease forwards;}
@keyframes mgtteam-draw{to{stroke-dashoffset:0;}}
.org-svg-row{width:100%; height:46px;}
 
/* ============ GRID VIEW ============ */
#grid-view{display:none;}
#grid-view.active{display:block;}
.team-grid{display:grid; grid-template-columns:repeat(auto-fill, minmax(240px,1fr)); gap:22px;}
.card{
  background:var(--card); border-radius:var(--radius); border:1px solid var(--line);
  overflow:hidden; box-shadow:var(--shadow); cursor:pointer;
  opacity:0; transform:translateY(16px); animation:mgtteam-rise .5s ease forwards;
}
@keyframes mgtteam-rise{to{opacity:1; transform:translateY(0);}}
.card:hover .card-photo img{transform:scale(1.05);}
.card-photo{aspect-ratio:4/3.4; overflow:hidden; background:var(--line); position:relative;}
.card-photo img{width:100%; height:100%; object-fit:cover; transition:transform .4s ease;}
.card-tag{
  position:absolute; top:10px; left:10px; font-family:'IBM Plex Mono',monospace; font-size:10px;
  letter-spacing:.05em; text-transform:uppercase; background:rgba(18,36,31,.72); color:#fff;
  padding:4px 9px; border-radius:999px;
}
.card-body{padding:16px 18px 18px;}
.card-body h3{font-family:'Fraunces',serif; font-size:16.5px; line-height:1.25; margin:0;}
.card-body .role{margin-top:4px; font-size:13px; color:var(--teal); font-weight:600;}
.card-body .view-link{
  margin-top:12px; font-family:'IBM Plex Mono',monospace; font-size:11.5px;
  letter-spacing:.04em; color:var(--ink-soft); display:flex; align-items:center; gap:6px;
}
.card-body .view-link svg{width:12px; height:12px; transition:transform .15s;}
.card:hover .view-link svg{transform:translateX(3px);}
.empty-state{text-align:center; padding:60px 20px; color:var(--ink-soft); display:none;}
.empty-state.show{display:block;}
 
/* ============ MODAL (namespaced to avoid Bootstrap collision) ============ */
.mgtteam-backdrop{
  position:fixed !important;
  inset:0 !important;
  background:rgba(10,20,17,.55) !important;
  backdrop-filter:blur(3px);
  display:none !important;
  align-items:center;
  justify-content:center;
  padding:20px;
  z-index:2000 !important;
}
.mgtteam-backdrop.open{
  display:flex !important;
}
.mgtteam-modal{
  background:var(--card); border-radius:18px; max-width:560px; width:100%;
  max-height:88vh; overflow-y:auto; position:relative;
  box-shadow:0 30px 60px -20px rgba(0,0,0,.35);
  transform:translateY(14px); opacity:0; transition:all .22s ease;
}
.mgtteam-backdrop.open .mgtteam-modal{transform:translateY(0); opacity:1;}
.mgtteam-modal-top{
  display:flex; gap:18px; padding:28px 28px 20px;
  background:linear-gradient(180deg, var(--gold-soft), transparent);
}
.mgtteam-modal-top img{width:88px; height:88px; border-radius:16px; object-fit:cover; box-shadow:var(--shadow);}
.mgtteam-modal-close{
  position:absolute; top:18px; right:18px; width:32px; height:32px; border-radius:50%;
  border:1px solid var(--line); background:var(--card); cursor:pointer; font-size:16px;
  color:var(--ink-soft); display:flex; align-items:center; justify-content:center;
}
.mgtteam-modal-body{padding:0 28px 28px;}
.mgtteam-modal-body h3{font-family:'Fraunces',serif; margin:0;}
.mgtteam-modal-body .role{color:var(--teal); font-weight:600; font-size:14px; margin-top:4px;}
.mgtteam-modal-body .tag{
  display:inline-block; margin-top:10px; font-family:'IBM Plex Mono',monospace; font-size:11px;
  letter-spacing:.04em; text-transform:uppercase; color:var(--ink-soft);
  border:1px solid var(--line); padding:4px 10px; border-radius:999px;
}
.mgtteam-modal-bio{
  margin-top:18px; padding-top:18px; border-top:1px solid var(--line);
  font-size:14.5px; line-height:1.65; color:var(--ink-soft);
}
.mgtteam-modal-contact{margin-top:18px; display:flex; flex-direction:column; gap:8px;}
.mgtteam-modal-contact a{
  display:flex; align-items:center; gap:10px; font-size:13.5px; text-decoration:none;
  padding:10px 12px; border-radius:10px; background:var(--surface);
  border:1px solid var(--line); transition:border-color .15s; color:var(--ink);
}
.mgtteam-modal-contact a:hover{border-color:var(--teal);}
.mgtteam-modal-contact svg{width:15px; height:15px; color:var(--teal); flex-shrink:0;}
 
/* ============ CTA STRIP ============ */
.cta-strip{background:var(--coral-soft); border-top:1px solid var(--line); padding:40px 0;}
.cta-inner{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap;}
.cta-inner h3{font-family:'Fraunces',serif; font-size:20px; color:var(--coral); margin:0;}
.cta-inner p{margin-top:4px; font-size:14px; color:var(--ink-soft);}
.cta-btn{
  display:inline-flex; align-items:center; gap:8px; background:var(--coral); color:#fff;
  text-decoration:none; padding:12px 20px; border-radius:10px; font-weight:600; font-size:14px;
  white-space:nowrap;
}
 
@media (prefers-reduced-motion: reduce){
  *{animation-duration:.01ms !important; transition-duration:.01ms !important;}
}
 
@media (max-width:640px){
  .hero{padding:64px 0 44px;}
  .toolbar-inner{gap:10px;}
  .view-toggle{margin-left:0; order:3; width:100%;}
  .view-toggle button{flex:1;}
  .org-tier{gap:20px;}
  .org-node .name, .org-node .role{max-width:96px;}
}