.nv-shero { padding:56px 0 80px; font-family:var(--nv-font-body,'Manrope',sans-serif); color:var(--nv-color-ink,#061D3A); font-size:var(--nv-fs-body,1.125rem); line-height:var(--nv-lh-body,1.56); background:radial-gradient(1100px 480px at 72% -12%, rgba(255,94,56,.14), transparent 60%), radial-gradient(900px 420px at 18% -14%, rgba(255,158,133,.12), transparent 60%), var(--nv-color-bg,#fff); }
.nv-shero *, .nv-shero *::before, .nv-shero *::after { box-sizing:border-box; }
.nv-shero__inner { max-width:var(--nv-maxw,1200px); margin:0 auto; padding:0 24px; }

.nv-shero__head { text-align:center; max-width:1100px; margin:0 auto 44px; }
.nv-shero__eyebrow { font-size:15px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:var(--nv-color-accent,#FF5E38); margin:0 0 18px; }
.nv-shero__h1 { font-family:var(--nv-font-display,'Unbounded',sans-serif); font-weight:500; font-size:clamp(1.9rem, 4vw, 3rem); line-height:1.2; margin:0 0 20px; }
.nv-shero__h1--duo .nv-shero__accent { color:var(--nv-color-accent,#FF5E38); }
/* Gradient-Schimmer wie die aktuelle Startseiten-H1 (Fallback: navy, wenn background-clip:text nicht unterstützt) */
.nv-shero__h1--gradient { color:var(--nv-color-ink,#061D3A); }
@supports ((-webkit-background-clip:text) or (background-clip:text)) {
  .nv-shero__h1--gradient { background:linear-gradient(to right, var(--nv-color-ink,#061D3A), var(--nv-color-accent,#FF5E38), var(--nv-color-ink,#061D3A)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
  .nv-shero__h1--gradient .nv-shero__accent { color:inherit; }
}
.nv-shero__subline { max-width:720px; margin:0 auto; color:rgba(6,29,58,.82); font-size:1.1875rem; }
.nv-shero__subline p { margin:0 0 12px; } .nv-shero__subline p:last-child { margin:0; }

.nv-shero__grid { display:grid; grid-template-columns:repeat(2,1fr); gap:32px; }
.nv-shero__grid--1 { grid-template-columns:1fr; max-width:720px; margin:0 auto; }
.nv-shero__grid--3 { grid-template-columns:repeat(3,1fr); }

.nv-shero__card { position:relative; display:flex; flex-direction:column; background:var(--nv-color-card,#FAFAFA); border:1px solid rgba(6,29,58,.06); border-radius:20px; overflow:hidden; isolation:isolate; text-decoration:none; color:var(--nv-color-ink,#061D3A); transition:transform .25s ease, box-shadow .25s ease; }
a.nv-shero__card, a.nv-shero__card:hover, a.nv-shero__card:focus, a.nv-shero__card:active,
a.nv-shero__card *, a.nv-shero__card:hover * { text-decoration:none !important; border-bottom:none !important; }
a.nv-shero__card:hover { transform:translateY(-6px); box-shadow:0 24px 56px rgba(6,29,58,.16); }
.nv-shero__card:focus-visible { outline:3px solid var(--nv-color-accent-soft,#FF9E85); outline-offset:3px; }

.nv-shero__media { position:relative; aspect-ratio:5/2.6; overflow:hidden; border-radius:20px 20px 0 0; transform:translateZ(0); -webkit-mask-image:-webkit-radial-gradient(white, black); }
.nv-shero__media img { width:100%; height:100%; object-fit:cover; display:block; transition:transform .5s ease; will-change:transform; backface-visibility:hidden; }
a.nv-shero__card:hover .nv-shero__media img { transform:scale(1.05); }
.nv-shero__media-fallback { width:100%; height:100%; background:linear-gradient(135deg,var(--nv-color-ink,#061D3A) 0%,#0a2c54 60%,var(--nv-color-accent,#FF5E38) 160%); }
.nv-shero__scrim { position:absolute; inset:0; background:linear-gradient(180deg,rgba(6,29,58,0) 55%,rgba(6,29,58,.35) 100%); pointer-events:none; }
.nv-shero__chip { position:absolute; left:20px; bottom:20px; display:inline-block; padding:8px 18px; border-radius:var(--nv-radius-pill,50px); background:rgba(255,255,255,.92); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px); color:var(--nv-color-ink,#061D3A); font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; }

.nv-shero__badge { position:absolute; top:20px; right:20px; display:inline-block; padding:7px 16px; border-radius:var(--nv-radius-pill,50px); background:var(--nv-color-accent,#FF5E38); color:#fff; font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; overflow:hidden; box-shadow:0 6px 16px rgba(6,29,58,.25); animation:nv-shero-badge-in .5s ease .3s both, nv-shero-badge-pulse 2.2s ease-out 1s infinite; }
.nv-shero__badge::after { content:""; position:absolute; top:0; bottom:0; left:-80%; width:50%; background:linear-gradient(105deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.65) 50%, rgba(255,255,255,0) 100%); transform:skewX(-20deg); animation:nv-shero-badge-shine 2.2s ease-in-out 1.4s infinite; }
@keyframes nv-shero-badge-in { from { opacity:0; transform:translateY(-8px) scale(.9); } to { opacity:1; transform:none; } }
@keyframes nv-shero-badge-pulse {
  0%   { transform:scale(1);    box-shadow:0 6px 16px rgba(6,29,58,.25), 0 0 0 0 rgba(255,94,56,.75); }
  30%  { transform:scale(1.08); }
  55%  { transform:scale(1);    box-shadow:0 6px 16px rgba(6,29,58,.25), 0 0 0 20px rgba(255,94,56,0); }
  100% { transform:scale(1);    box-shadow:0 6px 16px rgba(6,29,58,.25), 0 0 0 0 rgba(255,94,56,0); }
}
@keyframes nv-shero-badge-shine { 0% { left:-80%; } 60%, 100% { left:130%; } }

.nv-shero__content { padding:28px 32px 32px; display:flex; flex-direction:column; flex:1 1 auto; overflow:visible !important; }
.nv-shero__h2 { font-family:var(--nv-font-display,'Unbounded',sans-serif); font-weight:500; font-size:1.375rem; line-height:1.35; margin:0 0 12px; }
.nv-shero__copy { color:rgba(6,29,58,.8); font-size:1.0625rem; }
.nv-shero__copy p { margin:0 0 14px; } .nv-shero__copy p:last-child { margin:0; }

.nv-shero__cta { margin-top:auto; padding-top:22px; display:flex; align-items:center; justify-content:space-between; gap:16px; font-weight:700; font-size:1.0625rem; line-height:1.4; color:var(--nv-color-ink,#061D3A); overflow:visible !important; }
.nv-shero__cta-icon { flex:0 0 auto; color:var(--nv-color-accent,#FF5E38); }
.nv-shero__cta-icon svg { display:block; width:44px; height:44px; overflow:visible; transition:transform .2s ease; }
.nv-shero__cta-icon circle, .nv-shero__cta-icon path { transition:fill .2s ease, stroke .2s ease; }
a.nv-shero__card:hover .nv-shero__cta-label { color:var(--nv-color-accent,#FF5E38); }
a.nv-shero__card:hover .nv-shero__cta-icon svg { transform:translateX(4px); }
a.nv-shero__card:hover .nv-shero__cta-icon circle { fill:var(--nv-color-accent,#FF5E38); }
a.nv-shero__card:hover .nv-shero__cta-icon path { stroke:#fff; }

/* Einblend-Animation beim Laden (above the fold, kein Observer nötig) */
[data-nv-anim] { animation:nv-shero-in .7s ease both; animation-delay:var(--nv-anim-delay,0s); }
@keyframes nv-shero-in { from { opacity:0; transform:translateY(24px); } to { opacity:1; transform:none; } }

@media (prefers-reduced-motion:reduce) {
  [data-nv-anim] { animation:none; }
  .nv-shero__badge { animation:none; } .nv-shero__badge::after { display:none; }
  .nv-shero__media img, .nv-shero__card, .nv-shero__cta-icon svg { transition:none; }
}

@media (max-width:900px) {
  .nv-shero { padding:40px 0 56px; }
  .nv-shero__grid, .nv-shero__grid--3 { grid-template-columns:1fr; gap:24px; }
  .nv-shero__head { margin-bottom:32px; }
  .nv-shero__content { padding:24px 24px 28px; }
  .nv-shero__media { aspect-ratio:3/1.6; }
}
@media (max-width:640px) {
  .nv-shero__h1 { font-size:1.6rem; }
  .nv-shero__subline { font-size:1.0625rem; }
  .nv-shero__h2 { font-size:1.25rem; }
  .nv-shero__media { aspect-ratio:16/9; }
  .nv-shero__chip { left:14px; bottom:14px; }
  .nv-shero__badge { top:14px; right:14px; padding:6px 14px; font-size:12px; }
}
