/* Editorial advertising card: a single link, one disclosure, no nested interactive controls. */
.on-ad { box-sizing:border-box; grid-column:1/-1; min-width:0; width:100%; margin:28px 0; color:var(--on-ink,#002d5e); font-family:var(--on-font,system-ui,sans-serif); container-type:inline-size; }
.on-ad[hidden] { display:none; }
.on-archive-grid>.on-ad,.on-index-items>.on-ad,[data-on-home-ad] .on-ad { margin:0; }
.on-ad *,.on-ad *::before,.on-ad *::after { box-sizing:border-box; }
.on-ad .on-ad-card { display:grid; grid-template-columns:minmax(180px,30%) minmax(0,1fr) 68px; align-items:stretch; color:inherit; background:var(--on-section-tint,#f4e5d9); border:1px solid var(--on-line,#f4e5d9); text-decoration:none!important; overflow:hidden; }
.on-ad-text .on-ad-card { grid-template-columns:minmax(0,1fr) 68px; }
.on-ad-visual { display:flex; align-items:center; justify-content:center; min-width:0; background:var(--on-paper,#fff); }
.on-ad-image { display:block; width:100%; height:auto; max-width:100%; margin:0; }
.on-ad-copy { display:flex; flex-direction:column; justify-content:center; min-width:0; padding:24px; }
.on-ad-disclosure { display:flex; align-items:center; flex-wrap:wrap; gap:6px; margin-bottom:10px; font:600 10px/1.5 var(--on-font,system-ui,sans-serif); }
.on-ad-disclosure>span:first-child { text-transform:uppercase; letter-spacing:.06em; }
.on-ad-disclosure>span+span::before { content:'·'; margin-right:6px; }
.on-ad .on-ad-copy h3 { margin:0 0 7px; color:inherit; font:var(--on-heading-weight,700) var(--on-heading-current-size,var(--on-heading-size,clamp(18px,2.5cqi,26px)))/1.3 var(--on-heading-custom-font,var(--on-font,system-ui,sans-serif)); text-transform:var(--on-heading-transform,none); }
.on-ad .on-ad-copy p { margin:0; color:inherit; font:var(--on-content-weight,500) var(--on-content-size,13px)/1.65 var(--on-font,system-ui,sans-serif); overflow-wrap:anywhere; text-transform:var(--on-content-transform,none); }
.on-ad-cta { display:flex; align-items:center; justify-content:center; gap:14px; min-width:0; min-height:44px; padding:14px; background:var(--on-ink,#002d5e); color:#fff; font:var(--on-button-weight,600) var(--on-button-size,13px)/1.4 var(--on-button-font,'Poppins',system-ui,-apple-system,"Segoe UI",sans-serif); transition:inherit; text-transform:var(--on-button-transform,none); }
.on-ad-cta>span { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.on-ad-cta .on-icon { width:18px; height:18px; fill:currentColor; flex:0 0 auto; }
.on-ad-card:hover .on-ad-cta,.on-ad-card:focus-visible .on-ad-cta { background:var(--on-accent,#fab900); color:var(--on-ink,#002d5e); }
@container (max-width:639px) {
 .on-ad .on-ad-card { grid-template-columns:minmax(0,1fr); }
 .on-ad-copy { padding:16px; }.on-ad .on-ad-copy h3 { font-size:var(--on-heading-current-size,var(--on-heading-size,22px)); }.on-ad-cta { justify-content:space-between; padding:12px 16px; text-transform:var(--on-button-transform,none); }
 .on-ad-cta>span { position:static; width:auto; height:auto; clip-path:none; overflow:visible; }
}
/* Fallback for clients without container-query support. */
@media(max-width:639px) {
 .on-ad .on-ad-card { grid-template-columns:minmax(0,1fr); }.on-ad-copy { padding:16px; }.on-ad-cta { justify-content:space-between; padding:12px 16px; text-transform:var(--on-button-transform,none); }
 .on-ad-cta>span { position:static; width:auto; height:auto; clip-path:none; overflow:visible; }
}
@media print { .on-ad { display:none; } }
