/* Discreet square AI disclosure; editable copy comes from Hero Editor. */
.novum-ai-media-label {
    display: flex;
    align-items: center;
    max-width: calc(100% - 32px);
    padding: 3px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(0,45,74,.28);
    font-family: var(--font-body,'Nunito Sans',sans-serif);
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    pointer-events: auto;
}
.novum-ai-media-label__toggle {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: rgba(0,45,74,.52);
    color: rgba(255,255,255,.82);
    font-family: var(--font-heading,'Sora',sans-serif);
    font-size: 11px;
    font-weight: 700;
    cursor: pointer;
}
.novum-ai-media-label__toggle:hover { background: rgba(0,45,74,.72); }
.novum-ai-media-label__toggle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.novum-ai-media-label__text {
    display: block;
    max-width: 0;
    max-height: 0;
    overflow: hidden;
    opacity: 0;
    color: rgba(255,255,255,.9);
    margin-inline: 0;
    white-space: nowrap;
    width: max-content;
    transition: max-width .7s cubic-bezier(.22,.61,.36,1), max-height .7s ease, opacity .55s ease, margin .7s cubic-bezier(.22,.61,.36,1);
}
.novum-ai-media-label.is-expanded .novum-ai-media-label__text {
    max-width: 340px;
    max-height: 12em;
    opacity: 1;
    margin-inline: 10px 7px;
}
@media (max-width:640px) {
    .novum-ai-media-label { right: 16px; bottom: 16px; }
    .novum-ai-media-label__text { white-space: normal; }
    .novum-ai-media-label.is-expanded .novum-ai-media-label__text { max-width: min(260px,calc(100vw - 100px)); }
}
@media (prefers-reduced-motion:reduce) { .novum-ai-media-label__text { transition: none; } }

/* Subpage photos share the same discreet disclosure and readable navy fade. */
.blog-hero--photo { position: relative; overflow: hidden; }
.blog-hero__photo, .nuxv-hero__photo { position: absolute; inset: 0; background-size: cover; background-position: center; pointer-events: none; }
.blog-hero__photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#002d4a 0%,rgba(0,45,74,.94) 38%,rgba(0,45,74,.55) 100%); }
.blog-hero--photo > .container { position: relative; z-index: 1; }
.nuxv-hero__photo { opacity: .4; }
.nuxv-hero__photo::after { content: ''; position: absolute; inset: 0; background: linear-gradient(90deg,#002d4a 0%,rgba(0,45,74,.8) 45%,rgba(0,45,74,.3)); }
