/* Feature-image fill treatment (post hero + cards).
   Small/off-aspect images show at native size, centered, over a blurred copy of
   themselves (never upscaled); big images fill the frame so the blur never shows.
   No-image posts get a branded slate. Aspect comes from each element's own class.
   Hand-authored static asset (like nsa-search.css) so it ships with the theme,
   survives a strict Content-Security-Policy, and does not depend on the build.
   Colors/fonts come from the theme's @theme CSS variables (defined in built/css.css). */

.nsam-fill{position:relative;overflow:hidden;container-type:inline-size;background:var(--color-ink)}
.nsam-fill__bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scale(1.16);filter:blur(30px) saturate(1.05) brightness(.88);opacity:0}
.nsam-fill.is-blur .nsam-fill__bg{opacity:1}
.nsam-fill__fg{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
/* default: image fills the box (cover), like before; JS adds .is-blur only when too small */
.nsam-fill__fg img{width:100%;height:100%;object-fit:cover;display:block}
.nsam-fill.is-blur .nsam-fill__fg img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.nsam-fill__video-frame{position:relative;overflow:hidden}
.nsam-fill__video-preview{position:absolute;inset:0;z-index:0;width:100%;height:100%;border:0;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .2s ease}
.nsam-fill__video-preview.is-playing{opacity:1}

/* branded slate for no-image posts */
.nsam-fill--brand{display:flex;align-items:center;justify-content:center;background:var(--color-band)}
.nsam-slate{text-align:center;padding:7% 8%;max-width:100%}
.nsam-slate__logo{display:block;margin:0 auto;width:auto;height:auto;max-width:min(62%,300px);max-height:46%}
.nsam-slate__flag{display:block;font-family:var(--font-heading);font-weight:800;letter-spacing:-.01em;line-height:1.05;color:var(--color-band-ink);font-size:clamp(18px,5cqi,46px)}
.nsam-slate__rule{display:block;width:52px;height:3px;margin:14px auto;background:var(--color-accent)}
.nsam-slate__section{display:block;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.18em;font-size:11px;color:color-mix(in oklab,var(--color-band-ink),transparent 35%)}
@container (max-width:230px){.nsam-slate{padding:8%}.nsam-slate__rule,.nsam-slate__section{display:none}.nsam-slate__logo{max-width:76%;max-height:56%}}
