/* Fit the complete default artwork inside the original cover/banner/panel area. */
img[src$="/statics/images/no_pic.png"]{object-fit:contain!important;object-position:center!important;background:#fff}
.lazy-media[data-image-state="error"]>.lazy-visual.lazy-source,
.lazy-media[data-image-state="error"]>.lazy-image,
.image-frame[data-image-state="error"]>.lazy-image{opacity:1;visibility:visible;object-fit:contain;background:#fff}

/* Keep retry feedback at the bottom so it does not obscure the default image. */
.lazy-media[data-image-state="error"]>.media-failure,
.lazy-media[data-image-state="error"]>.image-feedback,
.image-frame[data-image-state="error"]>.image-status{inset:auto 0 0;padding:4px;background:#ffffffed;color:#555;gap:0;line-height:1.4}
.lazy-media[data-image-state="error"]>.media-failure>img,
.lazy-media[data-image-state="error"]>.image-feedback:before,
.image-frame[data-image-state="error"] .image-error-graphic{display:none}
.lazy-media[data-image-state="error"] .media-failure-text small,
.lazy-media[data-image-state="error"] .image-message{color:#555}

/* Announcement artwork already contains its copy: show every edge without overlays. */
[data-focus-image-ad] :is(.focus-art,.focus-image,.hero-media){filter:none!important}
[data-focus-image-ad] :is(.lazy-source,.lazy-image,.lazy-fallback,.image-nojs,.image-noscript,img.focus-art){object-fit:contain!important;object-position:center!important;filter:none!important}
[data-focus-image-ad] :is(.focus-copy,.focus-caption,.hero-copy){display:none!important}
[data-focus-image-ad] .focus-slide::after,
[data-focus-image-ad]::after,
[data-focus-image-ad]::before,
[data-focus-image-ad] #hero-link::after{display:none!important}

/* Homepage focus stage is always 1280:480, scaled within its page column. */
[data-focus-ratio]{box-sizing:border-box;width:100%!important;max-width:1280px!important;min-width:0;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:auto!important;margin:12px 0 16px!important}
[data-focus-ratio] .focus-slides{width:100%;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:8/3}
[data-focus-ratio] .focus-slide,
[data-focus-ratio] #hero-link{position:relative!important;inset:auto!important;display:block;width:100%;height:auto!important;min-height:0!important;max-height:none!important;aspect-ratio:8/3}
[data-focus-ratio] :is(.focus-art,.focus-image,.hero-media){position:absolute!important;inset:0!important;width:100%!important;height:100%!important;aspect-ratio:auto!important;mask-image:none!important;-webkit-mask-image:none!important;transform:none!important}

/* Reset the complete control row, including the theme-specific absolute children. */
[data-focus-ratio] :is(.focus-controls,.hero-controls){position:relative!important;inset:auto!important;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:space-between!important;flex-wrap:nowrap!important;box-sizing:border-box;width:100%!important;min-width:0;max-width:100%;height:auto!important;min-height:48px;transform:none!important;margin:0!important;padding:6px 12px!important;gap:8px!important;pointer-events:auto!important}
[data-focus-ratio] .focus-navigation{position:static!important;inset:auto!important;display:flex!important;flex:1 1 0;min-width:0;max-width:100%;align-items:center;justify-content:center;gap:6px;transform:none!important;pointer-events:auto!important}
[data-focus-ratio] :is(.focus-dots,.hero-dots){position:static!important;inset:auto!important;display:flex!important;flex:0 1 auto;min-width:0;max-width:100%;height:auto!important;align-items:center;justify-content:flex-start!important;flex-wrap:nowrap;gap:4px;overflow-x:auto;transform:none!important;margin:0!important;padding:0!important;pointer-events:auto!important}
[data-focus-ratio] .focus-controls>.focus-dots{flex:1 1 0;justify-content:center!important}
[data-focus-ratio] .hero-dots{margin-inline:auto!important}
[data-focus-ratio] :is(.focus-count,.focus-counter){position:static!important;inset:auto!important;flex:0 0 auto;min-width:0;width:auto!important;height:auto!important;clip:auto!important;clip-path:none!important;transform:none!important;margin:0!important;padding:0 2px;white-space:nowrap;line-height:1.5;letter-spacing:0}
[data-focus-ratio] :is(.focus-arrow,.focus-toggle,.hero-pause,[data-focus-prev],[data-focus-next],[data-focus-play]){position:static!important;inset:auto!important;display:flex!important;flex:0 0 32px;align-items:center;justify-content:center;box-sizing:border-box;width:32px!important;min-width:32px!important;height:32px!important;min-height:32px!important;transform:none!important;margin:0!important;padding:6px!important;pointer-events:auto!important}
[data-focus-ratio] .focus-dots button{flex:0 0 20px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:20px!important;min-width:20px;height:32px!important;min-height:32px!important;padding:0!important}
[data-focus-ratio] .hero-dot{flex-shrink:0}
[data-focus-ratio] [hidden]{display:none!important}

/* Book-cover fallback copy must also fit inside the shorter responsive stage. */
[data-focus-ratio] :is(.focus-copy,.focus-caption,.hero-copy){position:absolute;inset:auto 12px 12px!important;box-sizing:border-box;min-width:0;width:auto!important;max-width:calc(100% - 24px)!important;max-height:calc(100% - 24px);overflow:hidden}
[data-focus-ratio] :is(.focus-copy,.focus-caption,.hero-copy) h2{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-clamp:2;max-width:100%!important;max-height:2.6em!important;overflow:hidden;overflow-wrap:anywhere;white-space:normal;font-size:clamp(16px,2.4vw,32px)!important;line-height:1.3!important;margin:0 0 4px!important;letter-spacing:0!important}
[data-focus-ratio] :is(.focus-copy,.focus-caption,.hero-copy)>:is(p,small,.focus-kicker,.focus-eyebrow,.focus-label,.eyebrow){display:block;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.5;margin:0!important;letter-spacing:0}
@media(max-width:600px){
    [data-focus-ratio] :is(.focus-read,.focus-kicker,.focus-eyebrow,.focus-label,.eyebrow,.focus-description){display:none!important}
    [data-focus-ratio] :is(.focus-controls,.hero-controls){padding-inline:8px!important;gap:6px!important}
}
@media print{
    [data-focus-ratio] :is(.focus-controls,.hero-controls){display:none!important}
}
