.sln-cafe-banner {
    position: relative;
    isolation: isolate;
    cursor: pointer;
    display: grid;
    grid-template-columns: 3fr 2fr;
    overflow: hidden;
    margin: 40px 0;
    border: 1px solid #d4dacb;
    border-radius: 22px;
    background: #f6f4eb;
    color: #253b32;
    font-size: 18px;
    line-height: 1.65;
}
.sln-cafe-banner .sln-cafe-banner__copy { padding: clamp(24px, 4vw, 44px); align-self: center; min-width: 0; }
.sln-cafe-banner .sln-cafe-banner__eyebrow { margin: 0 0 12px; font-size: 18px; color: #49634f; font-weight: 700; }
body .entry-content .sln-cafe-banner h2 { margin: 0 0 18px; padding: 0; border: 0; background: transparent; color: #253b32; font-size: clamp(26px, 3vw, 34px); font-weight: 700; line-height: 1.35; word-break: keep-all; overflow-wrap: anywhere; }
.sln-cafe-banner .sln-cafe-banner__description { margin: 0 0 24px; font-size: 18px; word-break: keep-all; overflow-wrap: anywhere; }
.entry-content .sln-cafe-banner .sln-cafe-banner__cta { display: inline-flex; align-items: center; justify-content: center; gap: 10px; box-sizing: border-box; max-width: 100%; min-height: 52px; padding: 12px 20px; border-radius: 10px; background: #285840; color: #fff; font-size: 18px; font-weight: 700; line-height: 1.5; text-decoration: none; overflow-wrap: anywhere; }
.entry-content .sln-cafe-banner .sln-cafe-banner__cta:hover { background: #1e4431; color: #fff; }
.entry-content .sln-cafe-banner .sln-cafe-banner__cta:focus-visible { outline: 3px solid #253b32; outline-offset: 4px; }
.sln-cafe-banner .sln-cafe-banner__notice { margin: 10px 0 0; font-size: 18px; color: #526052; }
.sln-cafe-banner .sln-cafe-banner__visual { display: flex; flex-direction: column; margin: 0; min-width: 0; background: #e9e9de; }
.sln-cafe-banner picture { display: block; flex: 1; min-height: 260px; position: relative; }
.sln-cafe-banner img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
/* Stretch the existing native link over the card: one tab stop, no nested links. */
.entry-content .sln-cafe-banner .sln-cafe-banner__cta { position: static; }
.entry-content .sln-cafe-banner .sln-cafe-banner__cta::after { content: ""; position: absolute; inset: 0; z-index: 2; }
.sln-cafe-banner:focus-within { outline: 3px solid #253b32; outline-offset: 4px; }
.entry-content .sln-cafe-banner:hover .sln-cafe-banner__cta { background: #1e4431; color: #fff; }
@media (max-width: 640px) {
    .sln-cafe-banner { grid-template-columns: 1fr; margin: 28px 0; border-radius: 16px; }
    .sln-cafe-banner .sln-cafe-banner__copy { padding: 24px; }
    .entry-content .sln-cafe-banner .sln-cafe-banner__cta { width: 100%; }
    .sln-cafe-banner picture { aspect-ratio: 3 / 2; min-height: 0; }
}
/* Home hub rules are emitted later in wp_head; override their scoped type rules. */
body.home .silver-hub .sln-cafe-banner h2 { margin: 0 0 18px; color: #253b32; font-size: clamp(26px, 3vw, 34px); line-height: 1.35; letter-spacing: normal; }
body.home .silver-hub .sln-cafe-banner h2 + p { max-width: none; margin: 0 0 24px; padding: 0; border: 0; border-radius: 0; background: transparent; color: #253b32; line-height: 1.65; }
body.home .silver-hub .sln-cafe-banner .sln-cafe-banner__cta { color: #fff; text-decoration: none; border-radius: 10px; }
body.home .silver-hub .sln-cafe-banner .sln-cafe-banner__cta:hover { color: #fff; }
body.home .silver-hub .sln-cafe-banner .sln-cafe-banner__cta:focus-visible { outline: 3px solid #253b32; outline-offset: 4px; border-radius: 10px; }
