.pp-directory{background:#FFFDF9;color:#02402C;padding:48px 24px 64px}.pp-directory *{box-sizing:border-box}.pp-directory__wrap{max-width:1200px;margin:auto}.pp-directory__header{margin-bottom:36px}.pp-directory__eyebrow{font-size:12px;line-height:1.5;letter-spacing:.12em;text-transform:uppercase;margin:0 0 14px}.pp-directory h1,.pp-directory h2{font-family:var(--font-heading-family,inherit);font-weight:var(--font-heading-weight,500);color:inherit;letter-spacing:-.025em}.pp-directory h1{font-size:clamp(32px,4vw,48px);line-height:1.15;margin:0;text-wrap:balance}.pp-directory__intro{font-size:16px;line-height:1.6;max-width:55ch;margin:18px 0 0}.pp-directory__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px 24px;align-items:start}.pp-directory__card{display:block;min-width:0;text-decoration:none;color:inherit}.pp-directory__media,.pp-directory__empty{aspect-ratio:1;overflow:hidden;border-radius:12px;background:#F3EEE8}.pp-directory__media img{width:100%;height:100%;display:block;object-fit:cover}.pp-directory__media--contain img{object-fit:contain}.pp-directory__empty{display:flex;align-items:center;justify-content:center;padding:20px;font-size:22px;text-align:center}.pp-directory__caption{display:flex;gap:12px;justify-content:space-between;align-items:baseline;margin-top:16px}.pp-directory h2{font-size:22px;line-height:1.25;margin:0;overflow-wrap:anywhere}.pp-directory__caption>span{font-size:22px;flex-shrink:0}.pp-directory__description{font-size:14px;line-height:1.5;margin:8px 0 0}.pp-directory__all{display:inline-flex;align-items:center;gap:22px;min-height:48px;margin-top:32px;color:inherit;text-decoration:underline;text-underline-offset:5px;font-size:15px}.pp-directory a:focus-visible{outline:2px solid #02402C;outline-offset:5px;border-radius:4px}.pp-directory__placeholder{padding:24px;background:#F3EEE8;border-radius:12px;font-size:14px;line-height:1.5}@media(hover:hover){.pp-directory__card:hover h2{text-decoration:underline;text-underline-offset:5px}}@media(max-width:749px){.pp-directory{padding:28px 20px 40px}.pp-directory__header{margin-bottom:26px}.pp-directory__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:26px 14px}.pp-directory__caption{margin-top:12px;gap:6px}.pp-directory h2{font-size:18px;line-height:1.3}.pp-directory__caption>span{font-size:18px}.pp-directory__description{font-size:13px}.pp-directory__eyebrow{margin-bottom:10px}.pp-directory__all{margin-top:24px}}
