:root{--paper:#fffaf6;--ivory:#f8f2ec;--sand:#ead9c7;--gold:#c7924f;--plum:#5a1738;--plum-deep:#44102c;--text:#3a2430;--muted:#75666c;--line:rgba(90,23,56,.16);--shadow:0 18px 50px rgba(78,38,45,.1);--max:1180px}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}
a{color:inherit}
img{display:block;max-width:100%}
h1,h2,h3{margin:0;color:var(--plum-deep);font-family:Georgia,"Times New Roman",serif;font-weight:400;line-height:1.08}
h1{font-size:clamp(2.9rem,6vw,5.4rem)}
h2{font-size:clamp(2rem,4vw,3.2rem)}
.wrap{width:min(var(--max),calc(100% - 40px));margin:auto}
.site-header{position:sticky;top:0;z-index:20;background:rgba(255,250,246,.95);border-bottom:1px solid var(--line);backdrop-filter:blur(14px)}
.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.brand{display:block;width:min(320px,42vw)}
.brand img{width:100%;height:auto}
.header-actions{display:flex;align-items:center;gap:18px;font-size:.9rem;font-weight:750}
.header-actions a{text-decoration:none}
.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:.72rem 1.15rem;border:1px solid var(--plum);border-radius:999px;background:var(--plum);color:#fff;font-weight:800;text-decoration:none}
.breadcrumb{padding:22px 0 0;font-size:.86rem;color:var(--muted)}
.breadcrumb ol{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:0;padding:0;list-style:none}
.breadcrumb a{text-decoration:none}
.hero{padding:42px 0 66px;background:linear-gradient(135deg,var(--paper),#f4e9e1)}
.hero-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:54px;align-items:end}
.eyebrow{margin:0 0 12px;color:var(--gold);font-size:.78rem;font-weight:900;letter-spacing:.15em;text-transform:uppercase}
.lead{max-width:760px;margin:24px 0 0;color:#654554;font-family:Georgia,"Times New Roman",serif;font-size:clamp(1.18rem,2vw,1.5rem);line-height:1.5}
.hero-note{padding:26px;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.72);box-shadow:var(--shadow)}
.hero-note strong{display:block;margin-bottom:7px;color:var(--plum-deep)}
.hero-note p{margin:0;color:var(--muted)}
.directory{padding:74px 0 88px}
.directory-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:30px}
.directory-head p{max-width:720px;margin:12px 0 0;color:var(--muted)}
.directory-status{min-width:260px;padding:12px 15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--muted);font-size:.86rem}
.team-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.person{display:flex;min-width:0;height:100%;overflow:hidden;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:#fff;box-shadow:0 8px 24px rgba(68,16,44,.035);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.person:hover{transform:translateY(-2px);border-color:rgba(90,23,56,.22);box-shadow:0 14px 34px rgba(68,16,44,.08)}
.team-photo{position:relative;overflow:hidden;aspect-ratio:4/3;background:#eee7e1}
.team-photo img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center 40%;border-radius:0}
.team-photo img.team-photo--warm{filter:sepia(.18) saturate(1.18) hue-rotate(-7deg) brightness(.9) contrast(1.07)}
.team-photo--portrait-fit{isolation:isolate;background:#b78967}
.team-photo--portrait-fit::before{content:"";position:absolute;z-index:0;inset:-18px;background:var(--team-photo) center/cover no-repeat;filter:blur(18px) sepia(.18) saturate(1.18) hue-rotate(-7deg) brightness(.72) contrast(1.07);transform:scale(1.08)}
.team-photo--portrait-fit::after{content:"";position:absolute;z-index:0;inset:0;background:linear-gradient(90deg,rgba(68,16,44,.14),transparent 24%,transparent 76%,rgba(68,16,44,.14))}
.team-photo--portrait-fit img{position:relative;z-index:1;object-fit:contain;object-position:center!important;box-shadow:0 0 22px rgba(38,11,27,.18)}
.team-info{display:flex;flex:1;flex-direction:column;padding:14px 14px 16px}
.team-info h3{margin:0 0 11px;font-size:1.34rem;line-height:1.05}
.badge{display:inline-flex;align-items:center;margin:0 0 9px;padding:5px 8px;border:1px solid rgba(138,106,150,.25);border-radius:999px;background:#efe7f2;color:var(--plum);font-size:.7rem;font-weight:700}
.team-facts{display:grid;grid-template-columns:1fr;gap:6px;margin:0 0 14px;padding-top:11px;border-top:1px solid var(--line)}
.team-fact{display:grid;grid-template-columns:76px 1fr;gap:7px;font-size:.78rem;line-height:1.35}
.team-fact strong{margin:0;align-self:start;color:var(--plum);font-size:.64rem;letter-spacing:.06em;text-transform:uppercase}
.team-info .link{margin-top:auto;padding-top:4px;color:var(--plum);font-size:.82rem;font-weight:800;text-decoration:none}
.team-info .link:hover,.team-info .link:focus-visible{text-decoration:underline}
.directory-foot{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-top:34px;padding:26px;border-radius:22px;background:var(--ivory);border:1px solid var(--line)}
.directory-foot p{margin:0;color:var(--muted)}
.site-footer{padding:40px 0;background:#2f1022;color:#f7e8ef}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
.footer-grid p{margin:0}.footer-grid a{color:inherit}
@media(max-width:1050px){.team-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.header-actions>a:not(.button){display:none}}
@media(max-width:820px){.hero-grid{grid-template-columns:1fr}.directory-head,.directory-foot{display:block}.directory-status{margin-top:18px}.directory-foot .button{margin-top:18px}.team-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-grid{grid-template-columns:1fr 1fr}}
@media(max-width:540px){.wrap{width:min(100% - 28px,var(--max))}.site-header{position:static}.header-inner{min-height:70px}.brand{width:215px}.header-actions .button{min-height:42px;padding:.58rem .78rem;font-size:.78rem}.hero{padding:28px 0 48px}.directory{padding:54px 0 68px}.team-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}}

.person[hidden]{display:none!important}
.directory-active-filter{display:flex;align-items:center;justify-content:space-between;gap:18px;margin:0 0 24px;padding:14px 18px;border:1px solid var(--line);border-radius:16px;background:#fff}
.directory-active-filter[hidden]{display:none}
.directory-active-filter span{display:grid;gap:2px}
.directory-active-filter span span{color:var(--muted);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.directory-active-filter strong{color:var(--plum-deep)}
.directory-active-filter a{color:var(--plum);font-size:.82rem;font-weight:800;text-underline-offset:3px}
@media(max-width:620px){.directory-active-filter{align-items:flex-start;flex-direction:column}}
