.nazar-visual-identity {
    position: relative;
    container-type: inline-size;
    display: block;
    width: 100%;
    aspect-ratio: 1.2;
    overflow: hidden;
    background: var(--nvi-background);
    box-sizing: border-box;
}
.nazar-visual-identity-responsive { display: block; width: 100%; }
.nazar-visual-identity-responsive__mobile { display: none; }
@media (max-width: 767px) {
    .nazar-visual-identity-responsive__desktop { display: none; }
    .nazar-visual-identity-responsive__mobile { display: block; }
}

.nazar-visual-identity--authors { aspect-ratio: 2.03125; }
.nazar-visual-identity--banner { aspect-ratio: 3.88; }
.nazar-visual-identity--button { aspect-ratio: 4.79167; }
.nazar-visual-identity--mobile { aspect-ratio: 1.77778; }

.nazar-visual-identity__overlay {
    position: absolute;
    z-index: 0;
    inset: 0;
    pointer-events: none;
}

.nazar-visual-identity__layer {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    min-width: 1px;
    min-height: 1px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-decoration: none;
    box-sizing: border-box;
    z-index: 1;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
    font-style: normal;
    text-transform: none;
}

.nazar-visual-identity__text {
    display: block;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit !important;
    line-height: inherit !important;
    letter-spacing: inherit !important;
    text-align: inherit !important;
    color: inherit !important;
    text-transform: inherit !important;
    white-space: pre-wrap;
}

.nazar-visual-identity__layer--shape { border-radius: 50%; }
.nazar-visual-identity__layer--title,
.nazar-visual-identity__layer--description { align-items: flex-start; }
.nazar-visual-identity__layer--title { line-height: 1.04; }
.nazar-visual-identity__layer--description { line-height: 1.35; }
.nazar-visual-identity__layer--eyebrow { font-weight: 700; letter-spacing: .13em; text-transform: uppercase; }
.nazar-visual-identity__layer--cta { font-weight: 700; }
.nazar-visual-identity__layer--image img { width: 100%; height: 100%; object-fit: contain; border-radius: 0; }
.nazar-visual-identity__svg { display: block; width: 100%; height: 100%; mask-repeat: no-repeat; -webkit-mask-repeat: no-repeat; mask-position: center; -webkit-mask-position: center; mask-size: contain; -webkit-mask-size: contain; }
.nazar-visual-identity__layer--icon { justify-content: center; }
.nazar-visual-identity__icon { width: 1em; height: 1em; font-size: 1em; }

.nazar-visual-identity__image-fx { display: flex; width: 100%; height: 100%; align-items: inherit; justify-content: inherit; border-radius: inherit; transform-origin: center; }
.nazar-visual-identity__layer--icon > .nazar-visual-identity__image-fx { align-items: center; justify-content: center; }
.nazar-visual-identity__image-fx img,
.nazar-visual-identity__image-fx .nazar-visual-identity__svg { display: block; width: 100%; height: 100%; }
.nazar-visual-identity__element-fill { display: block; width: 100%; height: 100%; min-height: 1px; border-radius: inherit; }
.nazar-visual-identity__layer--marquee { overflow: hidden; }
.nazar-visual-identity__image-fx--marquee-left,
.nazar-visual-identity__image-fx--marquee-right { overflow: hidden; animation: none !important; }
.nazar-visual-identity__marquee-track { display: flex; flex: 0 0 auto; width: max-content; height: 100%; align-items: inherit; will-change: transform; }
.nazar-visual-identity__marquee-group { display: flex; flex: 0 0 auto; width: max-content; min-width: 0; height: 100%; padding-right: 1.5em; align-items: inherit; justify-content: flex-start; gap: 1.5em; white-space: nowrap; box-sizing: content-box; }
.nazar-visual-identity__marquee-group .nazar-visual-identity__text { flex: 0 0 auto; width: auto; white-space: nowrap; }
.nazar-visual-identity__image-fx--marquee-left.nazar-visual-identity__image-fx--mode-always .nazar-visual-identity__marquee-track,
.nazar-visual-identity__image-fx--marquee-left.nazar-visual-identity__image-fx--mode-both .nazar-visual-identity__marquee-track,
.nazar-visual-identity__layer:hover > .nazar-visual-identity__image-fx--marquee-left.nazar-visual-identity__image-fx--mode-hover .nazar-visual-identity__marquee-track { animation: nvi-image-marquee-left var(--nvi-marquee-duration, 12s) linear infinite; }
.nazar-visual-identity__image-fx--marquee-right.nazar-visual-identity__image-fx--mode-always .nazar-visual-identity__marquee-track,
.nazar-visual-identity__image-fx--marquee-right.nazar-visual-identity__image-fx--mode-both .nazar-visual-identity__marquee-track,
.nazar-visual-identity__layer:hover > .nazar-visual-identity__image-fx--marquee-right.nazar-visual-identity__image-fx--mode-hover .nazar-visual-identity__marquee-track { animation: nvi-image-marquee-right var(--nvi-marquee-duration, 12s) linear infinite; }
.nazar-visual-studio__object.is-editing .nazar-visual-identity__marquee-track { animation-play-state: paused !important; }
.nazar-visual-identity__image-fx--elevacao { --nvi-image-animation: nvi-image-elevacao; --nvi-image-duration: 1.6s; }
.nazar-visual-identity__image-fx--panorama { --nvi-image-animation: nvi-image-panorama; --nvi-image-duration: 2.2s; }
.nazar-visual-identity__image-fx--surgir { --nvi-image-animation: nvi-image-surgir; --nvi-image-duration: .55s; --nvi-image-count: 1; }
.nazar-visual-identity__image-fx--quicar { --nvi-image-animation: nvi-image-quicar; --nvi-image-duration: 1.4s; }
.nazar-visual-identity__image-fx--correnteza { --nvi-image-animation: nvi-image-correnteza; --nvi-image-duration: 2.8s; }
.nazar-visual-identity__image-fx--desfoque { --nvi-image-animation: nvi-image-desfoque; --nvi-image-duration: 1.8s; }
.nazar-visual-identity__image-fx--sequencia { --nvi-image-animation: nvi-image-sequencia; --nvi-image-duration: 1.2s; --nvi-image-timing: steps(4, end); }
.nazar-visual-identity__image-fx--sopro { --nvi-image-animation: nvi-image-sopro; --nvi-image-duration: 1.7s; }
.nazar-visual-identity__image-fx--debaixo { --nvi-image-animation: nvi-image-debaixo; --nvi-image-duration: .6s; --nvi-image-count: 1; }
.nazar-visual-identity__image-fx--deriva { --nvi-image-animation: nvi-image-deriva; --nvi-image-duration: 3.2s; }
.nazar-visual-identity__image-fx--tectonico { --nvi-image-animation: nvi-image-tectonico; --nvi-image-duration: .85s; }
.nazar-visual-identity__image-fx--cambalhota { --nvi-image-animation: nvi-image-cambalhota; --nvi-image-duration: 1.8s; }
.nazar-visual-identity__image-fx--neon { --nvi-image-animation: nvi-image-neon; --nvi-image-duration: 1.6s; }
.nazar-visual-identity__image-fx--recorte { --nvi-image-animation: nvi-image-recorte; --nvi-image-duration: .7s; --nvi-image-count: 1; }
.nazar-visual-identity__image-fx--pisada { --nvi-image-animation: nvi-image-pisada; --nvi-image-duration: .55s; --nvi-image-count: 1; }
.nazar-visual-identity__image-fx--girar { --nvi-image-animation: nvi-image-girar; --nvi-image-duration: 2.2s; }
.nazar-visual-identity__image-fx--piscar { --nvi-image-animation: nvi-image-piscar; --nvi-image-duration: .9s; }
.nazar-visual-identity__image-fx--pulsar { --nvi-image-animation: nvi-image-pulsar; --nvi-image-duration: 1.2s; }
.nazar-visual-identity__image-fx--sacudir { --nvi-image-animation: nvi-image-sacudir; --nvi-image-duration: .55s; }
.nazar-visual-identity__image-fx--marquee-left { --nvi-image-animation: nvi-image-marquee-left; --nvi-image-duration: 6s; --nvi-image-timing: linear; }
.nazar-visual-identity__image-fx--marquee-right { --nvi-image-animation: nvi-image-marquee-right; --nvi-image-duration: 6s; --nvi-image-timing: linear; }
.nazar-visual-identity__image-fx--mode-always,
.nazar-visual-identity__image-fx--mode-both,
.nazar-visual-identity__layer:hover > .nazar-visual-identity__image-fx--mode-hover {
    animation-name: var(--nvi-image-animation, none);
    animation-duration: var(--nvi-image-duration, 1.2s);
    animation-timing-function: var(--nvi-image-timing, ease-in-out);
    animation-iteration-count: var(--nvi-image-count, infinite);
    animation-fill-mode: both;
}
.nazar-visual-identity__layer:hover > .nazar-visual-identity__image-fx--mode-both { animation-duration: calc(var(--nvi-image-duration, 1.2s) * .85); }
@keyframes nvi-image-elevacao { 0%,100% { transform:translateY(0); } 50% { transform:translateY(-6px); } }
@keyframes nvi-image-panorama { 0%,100% { transform:translateX(-6px); } 50% { transform:translateX(6px); } }
@keyframes nvi-image-surgir { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:translateY(0) scale(1); } }
@keyframes nvi-image-quicar { 0%,55%,85%,100% { transform:translateY(0); } 30% { transform:translateY(-10px); } 70% { transform:translateY(-5px); } }
@keyframes nvi-image-correnteza { 0%,100% { transform:translate(-6px,-2px); } 50% { transform:translate(6px,2px); } }
@keyframes nvi-image-desfoque { 0%,100% { filter:blur(0); opacity:1; } 50% { filter:blur(2.2px); opacity:.92; } }
@keyframes nvi-image-sequencia { 0%,100% { transform:translateX(-8px); opacity:.85; } 25% { transform:translateX(-2px); opacity:.92; } 50% { transform:translateX(4px); opacity:1; } 75% { transform:translateX(8px); opacity:.92; } }
@keyframes nvi-image-sopro { 0%,100% { transform:translateX(0) rotate(0); } 50% { transform:translateX(10px) rotate(6deg); } }
@keyframes nvi-image-debaixo { from { opacity:0; transform:translateY(16px); } to { opacity:1; transform:translateY(0); } }
@keyframes nvi-image-deriva { 0%,100% { transform:translate(0,0); } 33% { transform:translate(6px,-4px); } 66% { transform:translate(-4px,4px); } }
@keyframes nvi-image-tectonico { 0%,50%,100% { transform:translate(0,0) rotate(0); } 10%,30% { transform:translate(-1px,1px) rotate(-1deg); } 20%,40% { transform:translate(1px,-1px) rotate(1deg); } }
@keyframes nvi-image-cambalhota { from { transform:rotateY(0); } to { transform:rotateY(360deg); } }
@keyframes nvi-image-neon { 0%,100% { filter:drop-shadow(0 0 0 rgba(124,58,237,0)); } 50% { filter:drop-shadow(0 0 10px rgba(124,58,237,.65)); } }
@keyframes nvi-image-recorte { from { clip-path:inset(0 100% 0 0); opacity:.9; } to { clip-path:inset(0 0 0 0); opacity:1; } }
@keyframes nvi-image-pisada { 0% { transform:scale(.92); } 55% { transform:scale(1.04); } 100% { transform:scale(1); } }
@keyframes nvi-image-girar { to { transform:rotate(360deg); } }
@keyframes nvi-image-piscar { 0%,100% { opacity:1; } 50% { opacity:.15; } }
@keyframes nvi-image-pulsar { 0%,100% { transform:scale(1); } 50% { transform:scale(1.06); } }
@keyframes nvi-image-sacudir { 0%,100% { transform:translateX(0); } 20%,60% { transform:translateX(-6px); } 40%,80% { transform:translateX(6px); } }
@keyframes nvi-image-marquee-left { from { transform:translateX(0); } to { transform:translateX(-50%); } }
@keyframes nvi-image-marquee-right { from { transform:translateX(-50%); } to { transform:translateX(0); } }

.nazar-visual-identity__layer--fx-fade-in { --nvi-animation-name: nvi-fade-in; }
.nazar-visual-identity__layer--fx-slide-up { --nvi-animation-name: nvi-slide-up; }
.nazar-visual-identity__layer--fx-slide-left { --nvi-animation-name: nvi-slide-left; }
.nazar-visual-identity__layer--fx-pulse { --nvi-animation-name: nvi-pulse; }
.nazar-visual-identity__layer--fx-float { --nvi-animation-name: nvi-float; }
.nazar-visual-identity__layer--fx-spin { --nvi-animation-name: nvi-spin; }
.nazar-visual-identity__layer--fx-blink { --nvi-animation-name: nvi-blink; }
.nazar-visual-identity__layer--motion-once,
.nazar-visual-identity__layer--motion-loop,
.nazar-visual-identity__layer--motion-hover:hover {
    animation-name: var(--nvi-animation-name, none);
    animation-duration: var(--nvi-motion-duration, 1.2s);
    animation-timing-function: ease-in-out;
    animation-fill-mode: both;
}
.nazar-visual-identity__layer--motion-loop { animation-iteration-count: infinite; }
.nazar-visual-studio__object.is-selected { animation: none !important; }

@keyframes nvi-fade-in { from { opacity: 0; } to { opacity: var(--nvi-layer-opacity, 1); } }
@keyframes nvi-slide-up { from { opacity: 0; transform: rotate(var(--nvi-rotation, 0deg)) translateY(18%); } to { opacity: var(--nvi-layer-opacity, 1); transform: rotate(var(--nvi-rotation, 0deg)) translateY(0); } }
@keyframes nvi-slide-left { from { opacity: 0; transform: rotate(var(--nvi-rotation, 0deg)) translateX(-18%); } to { opacity: var(--nvi-layer-opacity, 1); transform: rotate(var(--nvi-rotation, 0deg)) translateX(0); } }
@keyframes nvi-pulse { 0%, 100% { transform: rotate(var(--nvi-rotation, 0deg)) scale(1); } 50% { transform: rotate(var(--nvi-rotation, 0deg)) scale(1.06); } }
@keyframes nvi-float { 0%, 100% { transform: rotate(var(--nvi-rotation, 0deg)) translateY(0); } 50% { transform: rotate(var(--nvi-rotation, 0deg)) translateY(-5%); } }
@keyframes nvi-spin { from { transform: rotate(var(--nvi-rotation, 0deg)); } to { transform: rotate(calc(var(--nvi-rotation, 0deg) + 360deg)); } }
@keyframes nvi-blink { 0%, 100% { opacity: var(--nvi-layer-opacity, 1); } 50% { opacity: 0.15; } }

@media (prefers-reduced-motion: reduce) {
    .nazar-visual-identity__image-fx--mode-always,
    .nazar-visual-identity__image-fx--mode-both,
    .nazar-visual-identity__layer:hover > .nazar-visual-identity__image-fx--mode-hover { animation: none !important; }
    .nazar-visual-identity__marquee-track { animation: none !important; }
    .nazar-visual-identity__layer--motion-once,
    .nazar-visual-identity__layer--motion-loop,
    .nazar-visual-identity__layer--motion-hover:hover { animation: none !important; }
}

.nfhp-central-art--sidebar .nazar-visual-identity__layer--cta {
    font-size: clamp(12px, 4cqw, 18px) !important;
}

.nfhp-visual-application {
    position: relative;
    z-index: 3;
    width: min(100% - 32px, 1280px);
    margin-inline: auto;
    box-sizing: border-box;
}

.nfhp-visual-application--portal_header {
    display: flex;
    justify-content: flex-end;
    padding-block: 8px;
}

.nfhp-visual-application--portal_header .nazar-visual-identity { width: min(100%, 230px); }
.nfhp-visual-application--footer_banner { width: min(100% - 32px, 1600px); margin-block: 24px; }

@media (max-width: 640px) {
    .nfhp-visual-application { width: min(100% - 20px, 1280px); }
    .nfhp-visual-application--portal_header { justify-content: center; }
    .nfhp-visual-application--footer_banner { margin-block: 16px; }
}

/* Preserve the existing production styling for the sidebar WhatsApp artwork. */
.nfhp-central-art--sidebar a.nazar-visual-identity__layer--text[href*="whatsapp.com/channel"] {
    font-size: clamp(12px, 4cqw, 18px) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}
.nfhp-central-art--sidebar a.nazar-visual-identity__layer--text[href*="whatsapp.com/channel"] .nazar-visual-identity__text {
    font-size: 85% !important;
    white-space: nowrap !important;
    width: auto !important;
    text-align: center !important;
}
.nfhp-central-art--sidebar .nazar-visual-identity__layer--text > .nazar-visual-identity__text {
    font-size: 500% !important;
    line-height: 1.2 !important;
    overflow-wrap: normal !important;
    word-break: normal !important;
    white-space: nowrap !important;
}
