.promotion-invite,.homepage-partners,.directory-promoted-area{--ad-panel:var(--panel);--ad-text:var(--text);--ad-muted:var(--muted);--ad-line:var(--line);--ad-accent:var(--blue);min-width:0;overflow-wrap:anywhere}
.promotion-invite{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px;background:linear-gradient(110deg,var(--panel),var(--bg));border:1px solid var(--line);border-left:3px solid var(--blue);border-radius:18px;margin:24px 0 32px;box-shadow:0 8px 30px #00000008}.promotion-invite-kicker{display:block;color:var(--blue);font-size:10px;font-weight:700;letter-spacing:1.4px;margin-bottom:9px}.promotion-invite h2{font-size:clamp(22px,2vw,30px);line-height:1.25;letter-spacing:-.5px;color:var(--text);margin:0 0 10px;max-width:650px}.promotion-invite p{font-size:14px;line-height:1.65;margin:0;color:var(--muted);max-width:680px}.promotion-invite .primary{display:inline-flex;align-items:center;justify-content:center;gap:24px;min-height:46px;flex-shrink:0;padding:13px 20px;border-radius:11px;white-space:nowrap;background:var(--blue);color:var(--bg);transition:transform .16s,box-shadow .16s}.promotion-invite .primary:hover{transform:translateY(-2px);box-shadow:0 5px 16px #00000012}.promotion-invite a:focus-visible,.directory-promotion-empty a:focus-visible,.sponsored-card a:focus-visible{outline:2px solid var(--blue);outline-offset:4px}
.homepage-partners{margin:34px 0;padding:24px;border:1px solid var(--line);border-radius:18px;background:var(--panel)}.homepage-partners header{margin-bottom:20px}.homepage-partners h2{margin:0;font-size:23px;color:var(--text)}.homepage-partners header p{font-size:13px;margin:9px 0 0;color:var(--muted);line-height:1.6}.homepage-partners .sponsored-placements,#directorySponsored.directory-promoted-grid:not([hidden]){display:grid;grid-template-columns:1fr;gap:16px}.homepage-partners .sponsored-card,.directory-promoted-grid .sponsored-card{background:var(--bg);border:1px solid var(--line);min-width:0;display:flex;flex-direction:column;box-shadow:0 6px 18px #00000006}.homepage-partners .sponsor-banner,.directory-promoted-grid .sponsor-banner{position:static;width:100%;height:auto;max-height:180px;aspect-ratio:2/1;object-fit:cover;filter:none}.homepage-partners .sponsored-body,.directory-promoted-grid .sponsored-body{flex:1;display:flex;align-items:flex-start;flex-direction:column;min-width:0;padding:20px}.sponsored-body .sponsor-logo{position:static;object-fit:contain;filter:none;flex-shrink:0}.homepage-partners .sponsored-body h3,.directory-promoted-grid .sponsored-body h3{font-size:18px;line-height:1.4;margin:13px 0 10px;color:var(--text)}.homepage-partners .sponsored-body p,.directory-promoted-grid .sponsored-body p{font-size:13px;line-height:1.65;margin:0 0 18px;color:var(--muted)}.homepage-partners .sponsored-body .outline,.directory-promoted-grid .sponsored-body .outline{min-height:44px;display:inline-flex;align-items:center;justify-content:center;margin-top:auto;color:var(--text);border-color:var(--line)}.sponsored-card>.sponsor-pill{max-width:calc(100% - 24px);line-height:1.3}
.directory-promoted-area{margin:0 0 28px}.directory-promoted-heading{margin-bottom:18px}.directory-promotion-empty{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px;background:var(--bg);border:1px solid var(--line);border-radius:12px}.directory-promotion-empty h3{font-size:18px;line-height:1.4;margin:0 0 7px;color:var(--text)}.directory-promotion-empty p{font-size:13px;line-height:1.65;margin:0;color:var(--muted)}.directory-promotion-empty .outline{display:inline-flex;align-items:center;gap:22px;justify-content:center;min-height:44px;white-space:nowrap;flex-shrink:0;color:var(--text);border-color:var(--line)}
@media(min-width:768px){.homepage-partners .sponsored-placements,#directorySponsored.directory-promoted-grid:not([hidden]){grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:1180px){.homepage-partners .sponsored-placements,#directorySponsored.directory-promoted-grid:not([hidden]){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:740px){.promotion-invite{align-items:flex-start;flex-direction:column;padding:20px;gap:18px;margin:22px 0 28px;border-radius:15px}.promotion-invite h2{font-size:23px}.promotion-invite p{font-size:13px}.homepage-partners{padding:17px;margin:28px 0;border-radius:15px}.homepage-partners h2{font-size:21px}.directory-promotion-empty{align-items:flex-start;flex-direction:column;padding:18px;gap:17px}.directory-promotion-empty h3{font-size:17px}.homepage-partners .sponsored-body,.directory-promoted-grid .sponsored-body{padding:18px}}
@media(prefers-reduced-motion:reduce){.promotion-invite .primary{transition:none;transform:none!important}}
/* Directory placements form a dynamic grid; homepage positions retain their own grid. */
#directorySponsored .sponsored-body{padding:16px}
#directorySponsored .sponsored-body h3{font-size:16px;margin:10px 0 7px}
#directorySponsored .sponsored-body p{margin-bottom:12px;line-height:1.5}
#directorySponsored .sponsor-banner{max-height:130px;object-fit:contain}
@media(min-width:1024px){#directorySponsored.directory-promoted-grid:not([hidden]){grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1440px){#directorySponsored.directory-promoted-grid:not([hidden]){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1920px){#directorySponsored.directory-promoted-grid:not([hidden]){grid-template-columns:repeat(5,minmax(0,1fr))}}

/* Compact sponsored businesses on phones; desktop/tablet layouts stay unchanged. */
@media(max-width:740px){
 .homepage-partners{padding:12px}
 .homepage-partners header{margin-bottom:16px}
 .homepage-partners .sponsored-placements,
 #directorySponsored.directory-promoted-grid:not([hidden]){grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
 .homepage-partners .sponsored-card,
 #directorySponsored .sponsored-card{min-width:0;border-radius:12px;overflow:hidden}
 .homepage-partners .sponsor-banner,
 #directorySponsored .sponsor-banner{width:100%;height:auto;max-height:90px;aspect-ratio:2/1;object-fit:contain}
 .homepage-partners .sponsor-backdrop,
 #directorySponsored .sponsor-backdrop{height:auto;min-height:0;max-height:90px;aspect-ratio:2/1}
 .homepage-partners .sponsored-body,
 #directorySponsored .sponsored-body{padding:10px}
 .homepage-partners .sponsor-logo,
 #directorySponsored .sponsor-logo{width:40px;height:32px;max-width:100%;object-fit:contain}
 .homepage-partners .sponsor-monogram,
 #directorySponsored .sponsor-monogram{width:40px;height:32px;max-width:100%;font-size:15px}
 .homepage-partners .sponsored-body h3,
 #directorySponsored .sponsored-body h3{font-size:14px;line-height:1.4;margin:9px 0 7px;overflow-wrap:anywhere}
 .homepage-partners .sponsored-body p,
 #directorySponsored .sponsored-body p{font-size:12px;line-height:1.5;margin:0 0 10px;overflow-wrap:anywhere}
 .homepage-partners .sponsored-body .outline,
 #directorySponsored .sponsored-body .outline{width:100%;min-width:0;min-height:44px;padding:8px 5px;font-size:12px;line-height:1.4;white-space:normal;text-align:center;overflow-wrap:anywhere}
 .homepage-partners .sponsor-pill,
 #directorySponsored .sponsor-pill{top:7px;left:7px;max-width:calc(100% - 14px);padding:4px 5px;font-size:10px;line-height:1.3}
}

/* Full copy stays in the DOM; public cards offer an accessible inline expansion. */
.homepage-partners .sponsor-description:not(.is-expanded),
#directorySponsored .sponsor-description:not(.is-expanded){display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.homepage-partners .sponsor-description-toggle,
#directorySponsored .sponsor-description-toggle{display:block;min-width:44px;min-height:44px;align-self:stretch;padding:6px 0;margin:0 0 8px;border:0;border-radius:4px;background:transparent;color:var(--text);text-align:left;font-size:12px;line-height:1.4;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.homepage-partners .sponsor-description-toggle[hidden],
#directorySponsored .sponsor-description-toggle[hidden]{display:none}
.homepage-partners .sponsor-description-toggle:focus-visible,
#directorySponsored .sponsor-description-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

/* Expanding one description must not stretch its neighbouring card. */
.homepage-partners .sponsored-card,
#directorySponsored .sponsored-card{align-self:start}
