/* house-ads.js: featured articles on the landing page, and the partner-programme banners in their slots */
.ha-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr;gap:16px}
.ha-card a{display:grid;gap:8px;height:100%;padding:14px;border:1px solid var(--line);border-radius:20px;background:var(--glass);text-decoration:none;color:inherit;transition:transform .25s var(--ease),border-color .25s}
.ha-card a:hover{transform:translateY(-3px);border-color:var(--line2)}
.ha-img{display:block;aspect-ratio:1200/630;border-radius:14px;overflow:hidden;background:var(--tint)}.ha-img img{width:100%;height:100%;object-fit:cover;display:block}
.ha-noimg{background:linear-gradient(135deg,rgba(34,227,255,.18),rgba(143,91,255,.2))}
.ha-tag{justify-self:start;font:700 10.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--accent-ink)}
.ha-card h3{margin:0;font:700 19px/1.25 var(--display);letter-spacing:-.01em;color:var(--ink)}.ha-card.lead h3{font-size:22px}
.ha-card p{margin:0;color:var(--ink2);font-size:14.5px;line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.ha-card small{color:var(--ink3);font-size:12.5px;margin-top:auto}
.ha-more{text-align:center;margin:22px 0 0}
@media (max-width:980px){.ha-grid{grid-template-columns:1fr 1fr}.ha-card.lead{grid-column:1/-1}}
@media (max-width:620px){.ha-grid{grid-template-columns:1fr}}

.ha-slot{position:relative;display:grid;justify-items:center;gap:4px;max-width:1240px;margin:8px auto;padding:10px 16px}
.ha-slot img{display:block;max-width:100%;height:auto;border-radius:12px;box-shadow:0 14px 40px rgba(2,6,24,.35)}
.ha-slot a{display:block;line-height:0;max-width:100%}
.ha-label{font:600 10px var(--mono, monospace);letter-spacing:.14em;text-transform:uppercase;color:var(--ink3)}
.ha-inline{float:none;margin:26px auto}
.ha-side{position:fixed;top:50%;transform:translateY(-50%);z-index:40;margin:0;padding:0}
.ha-side-left{left:max(12px,calc((100vw - 1240px) / 2 - 190px))}.ha-side-right{right:max(12px,calc((100vw - 1240px) / 2 - 190px))}
.ha-side[hidden]{display:none}
.ha-x{position:absolute;top:-10px;right:-10px;width:26px;height:26px;border-radius:50%;border:1px solid var(--line2);background:var(--bg2);color:var(--ink);cursor:pointer;font-size:15px;line-height:1}
@media print{.ha-slot{display:none}}
