.bpd-directory { max-width: 1200px; margin: 0 auto; padding: clamp(24px, 5vw, 64px) 20px; }
.bpd-directory__header { text-align: center; margin-bottom: 30px; }
.bpd-directory__header h2 { margin: 0; color: #2f2830; font-size: clamp(1.8rem, 4vw, 2.6rem); }
.bpd-directory__header p { margin: 10px auto 0; color: #695d67; max-width: 680px; }
.bpd-location { margin-top: 42px; }
.bpd-location > h3 { margin: 0 0 18px; color: #352a31; font-size: clamp(1.4rem, 3vw, 1.9rem); }
.bpd-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.bpd-card { overflow: hidden; background: #fff; border: 1px solid #efe7ea; border-radius: 16px; box-shadow: 0 8px 26px rgba(67, 41, 54, .08); transition: transform .2s ease, box-shadow .2s ease; }
.bpd-card:hover { transform: translateY(-3px); box-shadow: 0 15px 34px rgba(67, 41, 54, .14); }
.bpd-card__image-link, .bpd-card__image, .bpd-card__placeholder { display: block; width: 100%; aspect-ratio: 4 / 3; }
.bpd-card__image { object-fit: cover; }
.bpd-card__placeholder { background: linear-gradient(135deg, #f8f0f3, #eee2e6); }
.bpd-card__body { padding: 19px; }
.bpd-card__location { margin: 0 0 8px; color: #5f535b; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bpd-card__label { margin: 0 0 8px; color: #ab6880; font-size: .78rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bpd-card h3 { margin: 0; font-size: 1.25rem; }
.bpd-card h3 a { color: #352a31; text-decoration: none; }
.bpd-card__summary { min-height: 3em; color: #635760; line-height: 1.6; }
.bpd-card__button { display: inline-flex; margin-top: 6px; padding: 9px 15px; border-radius: 999px; background: #8b4f65; color: #fff !important; font-size: .92rem; font-weight: 700; text-decoration: none; }
.bpd-profile { max-width: 980px; margin: 0 auto; padding: clamp(24px, 5vw, 64px) 20px; }
.bpd-profile__hero { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(24px, 4vw, 52px); align-items: start; }
.bpd-profile__hero-image { display: block; width: 100%; border-radius: 16px; aspect-ratio: 4 / 3; object-fit: cover; }
.bpd-profile__label { color: #ab6880; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bpd-profile h1 { margin: 8px 0 16px; color: #352a31; font-size: clamp(2rem, 5vw, 3.2rem); }
.bpd-profile__facts { margin: 20px 0; padding: 0; list-style: none; }
.bpd-profile__facts li { padding: 10px 0; border-bottom: 1px solid #eee5e8; color: #5f535b; }
.bpd-profile__content { margin-top: 36px; color: #3d353a; line-height: 1.8; }
.bpd-profile__gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 32px; }
.bpd-profile__gallery img { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 10px; }
footer .wp-block-navigation { display: none; }
@media (max-width: 800px) { .bpd-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } .bpd-profile__hero { grid-template-columns: 1fr; } }
@media (max-width: 500px) { .bpd-grid { grid-template-columns: 1fr; } .bpd-profile__gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
