.ftpd-directory{width:100%;max-width:100%;margin:1.5rem 0;box-sizing:border-box;clear:both}.ftpd-controls{display:flex;flex-wrap:wrap;gap:1rem;margin:0 0 1rem}.ftpd-control-label{display:grid;gap:.35rem;font-weight:600;flex:1 1 240px}.ftpd-control-label input,.ftpd-control-label select,.ftpd-department-jump{width:100%;max-width:100%;padding:.6rem;border:1px solid #ccd0d4;border-radius:4px;background:#fff}.ftpd-table-wrap{overflow-x:auto}.ftpd-table{width:100%;border-collapse:collapse}.ftpd-table th,.ftpd-table td{text-align:left;padding:.75rem;border-bottom:1px solid #e5e5e5;vertical-align:top}.ftpd-table th[data-sort]{cursor:pointer}.ftpd-table th[aria-sort=ascending]::after{content:' ▲';font-size:.75em}.ftpd-table th[aria-sort=descending]::after{content:' ▼';font-size:.75em}.ftpd-grid{display:grid!important;width:100%;max-width:100%;grid-template-columns:repeat(var(--ftpd-columns,3),minmax(0,1fr));gap:1.25rem;align-items:stretch;box-sizing:border-box}.ftpd-card{width:100%;max-width:none;min-width:0;height:100%;box-sizing:border-box;border:1px solid #e5e5e5;border-radius:12px;background:#fff;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.045)}.ftpd-card-image{display:block;background:#f6f7f7;overflow:hidden}.ftpd-image-aspect-portrait .ftpd-card-image{aspect-ratio:3/4}.ftpd-image-aspect-square .ftpd-card-image{aspect-ratio:1/1}.ftpd-image-aspect-landscape .ftpd-card-image{aspect-ratio:4/3}.ftpd-image-aspect-natural .ftpd-card-image{aspect-ratio:auto}.ftpd-card-image img{width:100%;height:100%;display:block}.ftpd-image-fit-cover .ftpd-card-image img{object-fit:cover}.ftpd-image-fit-contain .ftpd-card-image img{object-fit:contain}.ftpd-image-aspect-natural .ftpd-card-image img{height:auto;object-fit:contain}.ftpd-card-body{padding:1rem}.ftpd-card-title{font-size:1.2rem;line-height:1.25;margin:0 0 .35rem}.ftpd-card-job-title,.ftpd-card-department{margin:.25rem 0}.ftpd-card-contact{display:grid;gap:.25rem;margin-top:.75rem}.ftpd-page-wrap{width:100%;max-width:1100px;margin:0 auto;padding:2rem 1rem;box-sizing:border-box}.ftpd-person-single{box-sizing:border-box;background:#fff;border:1px solid #e8e8e8;border-radius:16px;box-shadow:0 8px 30px rgba(0,0,0,.06);padding:clamp(1.25rem,3vw,2.5rem)}.ftpd-single-layout-side{display:grid!important;grid-template-columns:minmax(220px,300px) minmax(0,1fr);gap:clamp(1.5rem,4vw,3rem);align-items:start}.ftpd-single-layout-top{display:block!important;max-width:820px;margin-inline:auto}.ftpd-person-single-image{margin:0 auto 1.25rem;max-width:300px;width:100%;background:#f6f7f7;border-radius:14px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.08)}.ftpd-single-layout-side .ftpd-person-single-image{margin:0;max-width:300px}.ftpd-person-single-image img{display:block;width:100%;height:auto}.ftpd-person-single.ftpd-image-aspect-portrait .ftpd-person-single-image{aspect-ratio:3/4}.ftpd-person-single.ftpd-image-aspect-square .ftpd-person-single-image{aspect-ratio:1/1}.ftpd-person-single.ftpd-image-aspect-landscape .ftpd-person-single-image{aspect-ratio:4/3;max-width:300px}.ftpd-person-single.ftpd-image-aspect-portrait .ftpd-person-single-image img,.ftpd-person-single.ftpd-image-aspect-square .ftpd-person-single-image img,.ftpd-person-single.ftpd-image-aspect-landscape .ftpd-person-single-image img{height:100%;object-fit:cover}.ftpd-person-single.ftpd-image-aspect-natural .ftpd-person-single-image{aspect-ratio:auto}.ftpd-person-single-content{min-width:0}.ftpd-person-single-header{margin:0 0 1.25rem}.ftpd-person-single-header h1{margin:0 0 .35rem;line-height:1.05}.ftpd-single-job-title{font-size:clamp(1.15rem,2vw,1.45rem);font-weight:700;margin:.5rem 0 0}.ftpd-person-meta-card{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;margin:1.25rem 0;padding:1rem;background:#f8f9fa;border:1px solid #ececec;border-radius:12px}.ftpd-person-meta-item{display:grid;gap:.15rem}.ftpd-person-meta-label{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;font-weight:700;opacity:.7}.ftpd-person-meta-value{font-size:1rem;line-height:1.35}.ftpd-person-bio{margin-top:1.5rem}.ftpd-person-bio>:first-child{margin-top:0}.ftpd-term-contact{display:flex;flex-wrap:wrap;gap:1rem}.ftpd-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;margin-top:2rem}.ftpd-related-section{border-top:1px solid #e5e5e5;padding-top:1rem}.ftpd-button{display:inline-block;padding:.6rem .9rem;border-radius:4px;text-decoration:none;border:1px solid currentColor}.ftpd-no-results{font-weight:600}@media(max-width:800px){.ftpd-grid,.ftpd-related-grid{grid-template-columns:1fr}.ftpd-single-layout-side{grid-template-columns:1fr}.ftpd-single-layout-side .ftpd-person-single-image{margin:0 auto 1.25rem}.ftpd-person-meta-card{grid-template-columns:1fr}.ftpd-table thead{display:none}.ftpd-table,.ftpd-table tbody,.ftpd-table tr,.ftpd-table td{display:block;width:100%}.ftpd-table tr{border-bottom:1px solid #e5e5e5;padding:.75rem 0}.ftpd-table td{border:0;padding:.35rem 0}.ftpd-table td::before{content:attr(data-label) ': ';font-weight:700}}/* Astra/Spectra compatibility and stronger layout enforcement */
.ast-separate-container .ast-article-single .ftpd-page-wrap,.ast-separate-container .ast-article-post .ftpd-page-wrap,.entry-content .ftpd-directory,.wp-block-ft-people-directory-people-directory,.wp-block-ft-people-directory-person-card{width:100%;max-width:100%;box-sizing:border-box}.entry-content .ftpd-grid,.ast-container .ftpd-grid,.uagb-container .ftpd-grid{display:grid!important;width:100%!important;max-width:100%!important}.entry-content .ftpd-grid .ftpd-card,.ast-container .ftpd-grid .ftpd-card,.uagb-container .ftpd-grid .ftpd-card{width:100%!important;max-width:none!important}.single-people .ftpd-person-single.ftpd-single-layout-side,.post-type-archive-people .ftpd-grid,.tax-departments .ftpd-grid{width:100%;max-width:100%}.single-people .ftpd-person-single.ftpd-single-layout-side{display:grid!important}.single-people .ftpd-person-single-image{max-width:300px!important}.single-people .ftpd-person-single-image img{max-width:300px!important;margin:0 auto}.ftpd-card *,.ftpd-person-single *{box-sizing:border-box}
@media(max-width:800px){.ftpd-person-single-image,.single-people .ftpd-person-single-image{max-width:260px!important}.ftpd-single-layout-side{display:block!important}}


/* v1.0.6: force single bio image/card layout even when Astra/Spectra image rules are aggressive. */
.single-people .ftpd-page-wrap.ftpd-single-wrap,
.ftpd-page-wrap.ftpd-single-wrap{max-width:1100px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}
.single-people .ftpd-person-single.ftpd-single-layout-side,
.ftpd-person-single.ftpd-single-layout-side{display:grid!important;grid-template-columns:minmax(180px,300px) minmax(0,1fr)!important;gap:clamp(1.5rem,4vw,3rem)!important;align-items:start!important}
.single-people .ftpd-person-single-image,
.ftpd-person-single-image{width:100%!important;max-width:300px!important;min-width:0!important;margin:0!important}
.single-people .ftpd-single-layout-top .ftpd-person-single-image,
.ftpd-single-layout-top .ftpd-person-single-image{margin:0 auto 1.5rem!important}
.single-people .ftpd-person-single-image img,
.ftpd-person-single-image img{display:block!important;width:100%!important;max-width:300px!important;height:auto!important;margin:0!important}
.ftpd-person-single.ftpd-image-aspect-portrait .ftpd-person-single-image img,
.ftpd-person-single.ftpd-image-aspect-square .ftpd-person-single-image img,
.ftpd-person-single.ftpd-image-aspect-landscape .ftpd-person-single-image img{height:100%!important;object-fit:cover!important}
.ftpd-person-contact-separator{border:0!important;border-top:1px solid #e5e5e5!important;margin:1.25rem 0!important;background:transparent!important;height:0!important}
@media(max-width:800px){.single-people .ftpd-person-single.ftpd-single-layout-side,.ftpd-person-single.ftpd-single-layout-side{display:block!important}.single-people .ftpd-person-single-image,.ftpd-person-single-image{max-width:260px!important;margin:0 auto 1.25rem!important}.single-people .ftpd-person-single-image img,.ftpd-person-single-image img{max-width:260px!important}}

/* v1.0.7: wider directory/grid behavior for Astra/Spectra containers. */
.ftpd-department-wrap{max-width:1200px!important;width:100%!important;margin-left:auto!important;margin-right:auto!important}
.ftpd-directory{display:block!important;width:100%!important;max-width:none!important;min-width:0!important}
.wp-block-forwardtrends-people-directory,
.wp-block-ft-people-directory-people-directory,
.entry-content > .ftpd-directory,
.entry-content .ftpd-directory,
.ast-container .ftpd-directory,
.uagb-container .ftpd-directory,
.wp-block-uagb-container .ftpd-directory{width:100%!important;max-width:none!important;min-width:0!important;margin-left:0!important;margin-right:0!important;box-sizing:border-box!important}
.ftpd-directory .ftpd-grid{width:100%!important;max-width:none!important;min-width:0!important;display:grid!important;grid-template-columns:repeat(var(--ftpd-columns,3),minmax(0,1fr))!important;justify-content:stretch!important;justify-items:stretch!important;align-items:stretch!important}
.ftpd-directory .ftpd-grid > .ftpd-card{width:100%!important;max-width:none!important;min-width:0!important;justify-self:stretch!important}
.tax-departments .ftpd-directory,
.tax-departments .ftpd-grid{width:100%!important;max-width:none!important}
@media(min-width:1025px){.ftpd-view-grid .ftpd-grid{gap:1.5rem!important}}
@media(max-width:800px){.ftpd-department-wrap{max-width:100%!important}}

/* v1.0.8: truly responsive directory grids with Astra/Spectra-safe breakpoints. */
.ftpd-directory.ftpd-view-grid .ftpd-grid,
.entry-content .ftpd-directory.ftpd-view-grid .ftpd-grid,
.ast-container .ftpd-directory.ftpd-view-grid .ftpd-grid,
.uagb-container .ftpd-directory.ftpd-view-grid .ftpd-grid,
.wp-block-uagb-container .ftpd-directory.ftpd-view-grid .ftpd-grid{
  display:grid!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  grid-template-columns:repeat(var(--ftpd-columns,3),minmax(0,1fr))!important;
  gap:clamp(1rem,2.2vw,1.5rem)!important;
}
.ftpd-directory.ftpd-view-grid .ftpd-grid > .ftpd-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
@media (max-width: 1180px){
  .ftpd-directory.ftpd-view-grid.ftpd-cols-4 .ftpd-grid,
  .ftpd-directory.ftpd-view-grid.ftpd-cols-5 .ftpd-grid,
  .ftpd-directory.ftpd-view-grid.ftpd-cols-6 .ftpd-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media (max-width: 980px){
  .ftpd-directory.ftpd-view-grid.ftpd-cols-3 .ftpd-grid,
  .ftpd-directory.ftpd-view-grid.ftpd-cols-4 .ftpd-grid,
  .ftpd-directory.ftpd-view-grid.ftpd-cols-5 .ftpd-grid,
  .ftpd-directory.ftpd-view-grid.ftpd-cols-6 .ftpd-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media (max-width: 640px){
  .ftpd-directory.ftpd-view-grid .ftpd-grid,
  .entry-content .ftpd-directory.ftpd-view-grid .ftpd-grid,
  .ast-container .ftpd-directory.ftpd-view-grid .ftpd-grid,
  .uagb-container .ftpd-directory.ftpd-view-grid .ftpd-grid,
  .wp-block-uagb-container .ftpd-directory.ftpd-view-grid .ftpd-grid{grid-template-columns:1fr!important;}
  .ftpd-card{max-width:100%!important;}
}

/* v1.2.0: theme-aware palette; scoped to FT People Directory only. */
.ftpd-directory,.ftpd-page-wrap,.ftpd-department-wrap,.ftpd-person-single,.ftpd-card,.ftpd-related-section{color:var(--ftpd-text,inherit)}
.ftpd-directory a,.ftpd-page-wrap a,.ftpd-department-wrap a{color:var(--ftpd-link,inherit)}
.ftpd-card,.ftpd-person-single{background:var(--ftpd-surface,transparent);border-color:var(--ftpd-border,currentColor);color:var(--ftpd-text,inherit)}
.ftpd-person-meta-card,.ftpd-card-image,.ftpd-person-single-image{background:var(--ftpd-surface-alt,transparent);border-color:var(--ftpd-border,currentColor)}
.ftpd-person-meta-label,.ftpd-card-job-title,.ftpd-card-department{color:var(--ftpd-muted,inherit)}
.ftpd-person-meta-value,.ftpd-person-single-header,.ftpd-person-bio,.ftpd-card-title,.ftpd-card-body,.ftpd-table{color:var(--ftpd-text,inherit)}
.ftpd-directory .ftpd-control-label input,.ftpd-directory .ftpd-control-label select,.ftpd-department-jump{background:var(--ftpd-surface-alt,transparent);color:var(--ftpd-input-text,var(--ftpd-text,inherit));border-color:var(--ftpd-border,currentColor)}
.ftpd-directory input::placeholder{color:var(--ftpd-muted,inherit);opacity:.8}
.ftpd-table th,.ftpd-table td,.ftpd-related-section,.ftpd-person-contact-separator{border-color:var(--ftpd-border,currentColor)!important}
.ftpd-button{color:var(--ftpd-link,inherit);border-color:var(--ftpd-border,currentColor)}
.ftpd-directory a:hover,.ftpd-page-wrap a:hover{opacity:.85}

/* v1.2.1: individual profile palette and hardcoded border overrides. */
.single-people .ftpd-page-wrap.ftpd-single-wrap .ftpd-person-single,
.single-people .ftpd-page-wrap.ftpd-single-wrap .ftpd-person-single-content{color:var(--ftpd-text,inherit);background:var(--ftpd-surface,transparent)}
.single-people .ftpd-page-wrap .ftpd-person-meta-card{background:var(--ftpd-surface-alt,transparent)!important;border:1px solid var(--ftpd-border,transparent)!important;color:var(--ftpd-text,inherit)!important}
.single-people .ftpd-page-wrap .ftpd-person-meta-label,
.single-people .ftpd-page-wrap .ftpd-single-job-title{color:var(--ftpd-muted,inherit)!important}
.single-people .ftpd-page-wrap .ftpd-person-meta-value,
.single-people .ftpd-page-wrap .ftpd-person-single-header h1,
.single-people .ftpd-page-wrap .ftpd-person-bio{color:var(--ftpd-text,inherit)!important}
.single-people .ftpd-page-wrap .ftpd-person-meta-card a,
.single-people .ftpd-page-wrap .ftpd-person-bio a{color:var(--ftpd-link,inherit)!important}
.single-people .ftpd-page-wrap .ftpd-person-contact-separator{border:0!important;border-top:1px solid var(--ftpd-border,transparent)!important;background:transparent!important}
.single-people .ftpd-page-wrap .ftpd-person-single-image{background:var(--ftpd-surface-alt,transparent);border-color:var(--ftpd-border,transparent)}

/* v1.2.2: accessible, theme-colored social icon links on single profiles. */
.ftpd-person-meta-card .ftpd-person-social-item{display:flex;align-items:center;justify-content:flex-start}
.ftpd-person-meta-card .ftpd-social-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;min-width:44px;color:var(--ftpd-link,currentColor);text-decoration:none!important;background:transparent;border:0;border-radius:6px;transition:opacity .15s ease}
.ftpd-person-meta-card .ftpd-social-link svg{display:block;width:26px;height:26px;fill:currentColor}
.ftpd-person-meta-card .ftpd-social-link:hover{opacity:.7}
.ftpd-person-meta-card .ftpd-social-link:focus-visible{outline:2px solid currentColor;outline-offset:2px}
