/* Responsive display placements, distinct from editorial content. */
.display-ads{padding-block:28px 36px;display:grid;gap:20px}
.display-ad{width:100%;max-width:970px;margin-inline:auto;border:1px solid var(--line);background:#fff}
.display-ad-label{padding:6px 14px;border-bottom:1px solid var(--line);font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.display-ad-body{display:grid;grid-template-columns:160px minmax(0,1fr) auto;gap:20px;align-items:center;padding:14px}
.display-ad-image{display:block;background:var(--paper)}
.display-ad-image img{display:block;width:100%;height:110px;object-fit:contain}
.display-ad-copy{min-width:0;overflow-wrap:anywhere}
.display-ad-sponsor{font-size:11px;color:var(--muted)}
.display-ad-copy h3{font-size:22px;line-height:1.2;letter-spacing:-.03em;margin:5px 0 7px}
.display-ad-description{font-size:13px;line-height:1.5;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.display-ad-description p{margin:0}
.display-ad-cta{display:flex;align-items:center;justify-content:center;gap:12px;padding:10px 16px;min-height:44px;max-width:200px;background:var(--ink);color:var(--paper);font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.display-ad-cta:hover{background:#353832}
.display-ad-cta svg,.display-ads-more svg{width:14px;height:14px;flex-shrink:0}
.display-ad-text-only{grid-template-columns:minmax(0,1fr) auto}
.display-ads-more{display:flex;align-items:center;gap:8px;justify-self:end;font-size:12px;text-decoration:underline;text-underline-offset:4px}
@media(max-width:640px){
 .display-ads{padding-block:20px 28px;gap:16px}
 .display-ad-body{grid-template-columns:88px minmax(0,1fr);gap:12px;padding:12px}
 .display-ad-image img{height:88px}
 .display-ad-copy h3{font-size:18px}
 .display-ad-description{font-size:12px}
 .display-ad-cta{grid-column:1/-1;max-width:none;justify-self:stretch}
 .display-ad-text-only{grid-template-columns:minmax(0,1fr)}
}

/* One quiet placement at a natural content break. Hidden slides reserve equal space. */
.ad-placement{padding-block:24px}
.ad-carousel-frame{max-width:970px;margin-inline:auto}
.ad-slides{display:grid}
.ad-slide{grid-area:1/1;min-width:0}
.ad-slide[hidden]{display:block!important;visibility:hidden;pointer-events:none}
.ad-slide .display-ad{height:100%}
.ad-controls{display:flex;align-items:center;justify-content:flex-end;gap:4px;border-bottom:1px solid var(--line);padding:2px 0}
.ad-controls[hidden]{display:none}
.ad-controls button{display:flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;padding:8px;background:transparent;font-size:11px;color:var(--muted)}
.ad-controls button:hover{color:var(--ink);background:#eeeeea}
.ad-controls svg{width:14px;height:14px}
.ad-position{font-size:11px;font-variant-numeric:tabular-nums;color:var(--muted);margin-right:auto}
@media(max-width:640px){.ad-placement{padding-block:18px}}
