/* Nanopool — native Elementor, matched to original HTML design (CSS/JS only) */

html{scroll-behavior:smooth}
.e-con[id]{scroll-margin-top:88px}

/* =========================================================
   HERO
   ========================================================= */
#np-hero{
  min-height:88vh;
  padding-top:118px !important;
  background:
    radial-gradient(120% 95% at 75% 12%, rgba(95,140,190,.85) 0%, rgba(58,98,150,.34) 34%, rgba(20,32,52,0) 66%),
    radial-gradient(46% 55% at 12% 90%, rgba(46,81,121,.55) 0%, rgba(20,32,52,0) 70%),
    radial-gradient(34% 42% at 92% 8%, rgba(75,115,160,.40) 0%, rgba(20,32,52,0) 70%),
    linear-gradient(160deg,#18283f 0%,#0f1929 78%) !important;
}
#np-hero .e-con-inner > .elementor-element:nth-child(3) .elementor-heading-title{
  background:linear-gradient(100deg,#d4ba82 0%,#f6ead0 30%,#d4ba82 60%);
  background-size:220% 100%;
  -webkit-background-clip:text; background-clip:text;
  -webkit-text-fill-color:transparent; color:transparent !important;
  animation:npAccentShimmer 6s ease-in-out infinite;
}
@keyframes npAccentShimmer{0%,100%{background-position:0% 50%}50%{background-position:100% 50%}}
.np-el-tags{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:26px; }
.np-el-tag{ display:inline-flex; align-items:center; gap:9px; font-family:var(--font-body); font-size:15px; font-weight:600; color:#AEB9C7; }
.np-el-dot{ width:8px; height:8px; flex:none; background:#c2a36b; clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%); animation:npHexPulse 2.6s ease-in-out infinite; }
.np-el-tag:nth-child(2) .np-el-dot{animation-delay:.4s}
.np-el-tag:nth-child(3) .np-el-dot{animation-delay:.8s}
.np-el-tag:nth-child(4) .np-el-dot{animation-delay:1.2s}
@keyframes npHexPulse{0%,100%{opacity:.5;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}
.np-el-creds{ margin-top:18px; font-size:12.5px; letter-spacing:.05em; text-transform:uppercase; color:#7c899a; display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.np-el-creds i{ color:#c2a36b; font-style:normal; }

/* =========================================================
   BUTTONS — faithful .np-btn + cursor-follow spotlight
   ========================================================= */
/* Buttons: look comes from GLOBAL Kit settings (Site Settings → Theme Style → Buttons).
   CSS only adds the cursor-follow spotlight + motion that the Kit can't express. */
/* Modern gold CTA — gradient fill + glass sheen + depth glow (overrides the flat Kit fill) */
.elementor-button{
  position:relative; overflow:hidden; isolation:isolate; text-decoration:none !important;
  letter-spacing:.02em !important;
  color:var(--accent-contrast,#0a0f18) !important;
  border:1px solid rgba(255,247,225,.55) !important;
  background-color:#c2a36b !important; /* fallback for no-gradient engines */
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,0) 44%),
    linear-gradient(135deg, #e6d6b3 0%, #d4ba82 32%, #c2a36b 64%, #ab8b4c 100%) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.55) inset,
    0 -9px 20px -12px rgba(120,92,40,.65) inset,
    0 10px 26px -12px rgba(151,118,55,.55),
    0 2px 6px -2px rgba(10,15,24,.22) !important;
  transition:transform .16s cubic-bezier(.22,1,.36,1), box-shadow .28s cubic-bezier(.22,1,.36,1), filter .28s ease, border-color .28s ease;
}
.elementor-button:hover, .elementor-button:hover .elementor-button-text{ text-decoration:none !important; }
.elementor-button > *{ position:relative; z-index:2; }
/* diagonal light streak that sweeps across on hover */
.elementor-button::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:0;
  background:linear-gradient(115deg, transparent 32%, rgba(255,252,244,.55) 48%, transparent 64%);
  transform:translateX(-120%);
  transition:transform .65s cubic-bezier(.22,1,.36,1);
}
.elementor-button:hover::before{ transform:translateX(120%); }
/* cursor-follow spotlight (kept) */
.elementor-button::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; z-index:1;
  transition:opacity .25s ease;
  background:radial-gradient(95px 95px at var(--bx,50%) var(--by,50%), rgba(255,253,246,.6), transparent 70%);
}
.elementor-button:hover{
  transform:translateY(-2px);
  filter:brightness(1.04) saturate(1.04);
  border-color:rgba(255,250,236,.8) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,.65) inset,
    0 -9px 20px -12px rgba(120,92,40,.65) inset,
    0 18px 38px -14px rgba(151,118,55,.72),
    0 5px 12px -3px rgba(10,15,24,.28) !important;
}
.elementor-button:hover::after{ opacity:1; }
.elementor-button:active{ transform:translateY(0) scale(.985); }
.elementor-button .elementor-button-icon{ transition:transform .22s cubic-bezier(.22,1,.36,1); }
.elementor-button:hover .elementor-button-icon{ transform:translateX(4px); }

/* header CTA now uses the unified gold primary style (v3.43) */

/* gold-tinted glow ring on hover — matches the button accent */
.e-con-inner .e-con:has(> .e-con-inner .elementor-widget-heading h3):hover,
.e-con-inner .e-con:has(> .elementor-widget-heading h3):hover{
  border-color:#d4ba82 !important;
  box-shadow:0 20px 44px -16px rgba(12,18,28,.2), 0 0 0 1px rgba(212,186,130,.35), 0 8px 26px -12px rgba(151,118,55,.22) !important;
}
#np-hero .elementor-widget-text-editor{ max-width:36em; }

/* =========================================================
   HEADER — transparent over the hero, scrolls away with the page
   ========================================================= */
#np-site-header{
  position:absolute; top:0; left:0; right:0; width:100%; z-index:50;
  background-color:transparent !important; border-bottom-color:transparent !important; box-shadow:none !important;
}
.np-menu .elementor-icon-list-icon{ display:none!important; }
.np-menu .elementor-icon-list-items{ display:flex; flex-wrap:wrap; }
.np-menu .elementor-icon-list-item{ margin:0; }
.np-menu .elementor-icon-list-item > a{ transition:color .25s ease; font-family:var(--font-body); font-weight:600; font-size:15px; color:#fff; }
#np-site-header .np-menu .elementor-icon-list-item:hover > a{ color:#C2A36B!important; }

/* =========================================================
   FLOATING MENU — appears once the header has scrolled out of view
   ========================================================= */
/* pinned to the right edge, vertically centered (side tab) */
.np-floatnav{ position:fixed; top:50%; right:-8px; transform:translateY(-50%); z-index:1000; opacity:0; visibility:hidden; pointer-events:none; transition:opacity .3s ease, right .4s cubic-bezier(.22,1,.36,1), visibility .3s; }
.np-floatnav.is-visible{ opacity:1; visibility:visible; right:0; pointer-events:auto; }
/* vertical side tab — gold pill */
.np-floatnav__btn{ display:flex; flex-direction:column; align-items:center; justify-content:center; gap:.85em; width:52px; min-height:144px; padding:18px 0; background-image:linear-gradient(180deg, rgba(255,255,255,.22), rgba(255,255,255,0) 46%), linear-gradient(140deg, #e6d6b3 0%, #d4ba82 34%, #c2a36b 66%, #ab8b4c 100%); background-color:#c2a36b; color:#0a0f18; border:1px solid rgba(255,247,225,.4); border-right:0; border-radius:10px 0 0 10px; cursor:pointer; box-shadow:-14px 16px 38px -16px rgba(0,0,0,.5), 0 1px 0 rgba(255,255,255,.4) inset; transition:filter .25s ease, width .25s ease, box-shadow .25s ease; }
.np-floatnav__btn:hover{ filter:brightness(1.05) saturate(1.05); width:58px; box-shadow:-16px 18px 44px -16px rgba(0,0,0,.55), 0 0 0 1px rgba(255,250,236,.5) inset; }
.np-floatnav__label{ writing-mode:vertical-rl; transform:rotate(180deg); font-family:var(--font-body); font-weight:700; font-size:14px; letter-spacing:.2em; text-transform:uppercase; line-height:1; }
.np-floatnav__bars{ display:flex; flex-direction:column; gap:5px; }
.np-floatnav__bars span{ display:block; width:22px; height:2px; background:#0a0f18; border-radius:2px; transition:transform .3s cubic-bezier(.22,1,.36,1), opacity .2s ease; }
/* particle lattice now lives in the opened menu panel background */
.np-floatnav__cv{ position:absolute; inset:0; z-index:0; pointer-events:none; }
.np-floatnav__panel > a{ position:relative; z-index:1; }
.np-floatnav.is-open .np-floatnav__bars span:nth-child(1){ transform:translateY(7px) rotate(45deg); }
.np-floatnav.is-open .np-floatnav__bars span:nth-child(2){ opacity:0; }
.np-floatnav.is-open .np-floatnav__bars span:nth-child(3){ transform:translateY(-7px) rotate(-45deg); }
/* panel flies out to the LEFT of the edge button */
.np-floatnav__panel{ position:absolute; top:50%; right:calc(100% + 12px); min-width:236px; max-height:80vh; overflow:auto; background:linear-gradient(180deg,#0d1626 0%,#0a0f18 100%); border:1px solid rgba(255,255,255,.08); border-radius:12px; box-shadow:0 30px 60px -24px rgba(0,0,0,.7); padding:10px; display:flex; flex-direction:column; opacity:0; transform:translateY(-50%) translateX(14px) scale(.98); transform-origin:right center; pointer-events:none; transition:opacity .25s ease, transform .28s cubic-bezier(.22,1,.36,1); }
.np-floatnav.is-open .np-floatnav__panel{ opacity:1; transform:translateY(-50%) translateX(0) scale(1); pointer-events:auto; }
.np-floatnav__panel a{ font-family:var(--font-body); font-weight:600; font-size:15px; color:#e7ecf3; text-decoration:none; padding:11px 14px; border-radius:8px; transition:background-color .2s ease, color .2s ease, padding-left .2s ease; }
.np-floatnav__panel a:hover{ background:rgba(194,163,107,.12); color:#c2a36b; padding-left:18px; }
.np-floatnav__cta{ margin-top:6px; background-image:linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,0) 44%), linear-gradient(135deg, #e6d6b3 0%, #d4ba82 32%, #c2a36b 64%, #ab8b4c 100%) !important; background-color:#c2a36b !important; color:#0a0f18 !important; font-weight:700 !important; text-align:center; justify-content:center; border:1px solid rgba(255,247,225,.5); box-shadow:0 1px 0 rgba(255,255,255,.5) inset, 0 8px 20px -10px rgba(151,118,55,.6); transition:filter .2s ease, box-shadow .2s ease, padding-left .2s ease; }
.np-floatnav__cta:hover{ filter:brightness(1.05) saturate(1.05); color:#0a0f18 !important; padding-left:14px !important; box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 12px 26px -10px rgba(151,118,55,.72); }

/* =========================================================
   HTML PARITY POLISH — typography, rhythm, components (no block changes)
   ========================================================= */
/* section vertical rhythm — tightened to reduce whitespace (header/footer keep their own padding) */
.elementor .e-con.e-parent[id]:not(#np-site-header):not(#np-site-footer):not([id$="-hero"]):not([id$="-start"]){ padding-top:clamp(2.5rem, 1.6rem + 2vw, 3.75rem) !important; padding-bottom:clamp(2.5rem, 1.6rem + 2vw, 3.75rem) !important; }

/* prominent section headings like .lsec__head h2 (fs-h1) */
.e-con.e-parent[id]:not(#np-hero) .elementor-widget-heading h2.elementor-heading-title{
  font-size:var(--fs-h1) !important; line-height:var(--lh-heading) !important; letter-spacing:var(--ls-heading) !important;
}
.e-con.e-parent[id]:not(#np-hero) .elementor-widget-heading h3.elementor-heading-title{
  line-height:var(--lh-snug); letter-spacing:var(--ls-heading);
}

/* lead = first paragraph after a heading — like .np-lead */
.e-con.e-parent[id]:not(#np-hero) .elementor-widget-heading + .elementor-widget-text-editor .elementor-widget-container{
  font-size:var(--fs-lead); line-height:var(--lh-relaxed);
}
/* readable but space-filling measure for section copy */
.e-con.e-parent[id]:not(#np-hero) .elementor-widget-text-editor{ max-width:82ch; }
.e-con.e-parent[id]:not(#np-hero) .elementor-widget-text-editor .elementor-widget-container{ line-height:var(--lh-body); }

/* lists in a clean aligned grid (items line up in columns, no centering) */
.e-con.e-parent[id]:not(#np-hero):not(#np-site-header):not(#np-site-footer) .elementor-widget-icon-list .elementor-icon-list-items{
  display:grid !important; grid-template-columns:repeat(auto-fill, minmax(205px, 1fr)); column-gap:36px; row-gap:8px;
}
.e-con.e-parent[id]:not(#np-hero):not(#np-site-header):not(#np-site-footer) .elementor-icon-list-item{
  display:flex !important; max-width:none; margin:0;
}

/* eyebrow: brighter champagne gold on dark sections (var(--accent-on-dark)) */
#drivers .np-eyebrow .elementor-heading-title,
#certifications .np-eyebrow .elementor-heading-title,
#videos .np-eyebrow .elementor-heading-title,
#awards .np-eyebrow .elementor-heading-title,
#contact .np-eyebrow .elementor-heading-title{ color:#d4ba82 !important; }

/* cards: soft cool depth by default like .np-card --shadow-md */
.e-con-inner .e-con:has(> .e-con-inner .elementor-widget-heading h3),
.e-con-inner .e-con:has(> .elementor-widget-heading h3){
  box-shadow:0 10px 24px -8px rgba(12,18,28,.12);
}

/* icon-list: align multi-line items cleanly */
.e-con.e-parent[id]:not(#np-hero) .elementor-icon-list-item{ align-items:flex-start; }
.e-con.e-parent[id]:not(#np-hero) .elementor-icon-list-icon{ margin-top:.2em; }

/* JS-built 2-column section grids (intro left / content right) like the HTML */
.np-2col{ display:grid; gap:clamp(28px,4vw,64px); align-items:start; position:relative; z-index:1; width:100%; }
.np-2col .np-col{ min-width:0; }
.np-2col .elementor-widget-text-editor{ max-width:none !important; }
.np-2col .np-col-left{ align-self:start; }
.np-2col .np-col-right > *:not(:first-child){ margin-top:16px; }
@media (max-width:900px){ .np-2col{ grid-template-columns:1fr !important; } }
/* contact details: label above value (split from run-together text via JS) */
#contact .elementor-icon-list-text{ display:block; }
#contact .np-il-label{ display:block; font-size:11px; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:#7c899a; margin-bottom:1px; }

/* grouped sub-heading feature list (gold hex marker, like the HTML feature rows) */
.np-featlist{ display:grid; grid-template-columns:repeat(auto-fill, minmax(230px,1fr)); gap:10px 36px; margin:20px 0 0; }
.np-featlist .elementor-widget-heading{ margin:0 !important; }
.np-featlist .elementor-heading-title{ position:relative; padding-left:24px; font-size:18px !important; font-weight:600 !important; line-height:1.3 !important; letter-spacing:-.01em; }
.np-featlist .elementor-heading-title::before{ content:""; position:absolute; left:0; top:.42em; width:10px; height:10px; background:#c2a36b; clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%); }

/* award logo gallery (images from nanopool.eu) */
.np-awards-logos{ display:grid; grid-template-columns:repeat(auto-fill, minmax(148px,1fr)); gap:18px; margin-top:40px; }
.np-award{ margin:0; background:#fff; border-radius:12px; padding:18px 14px; display:flex; flex-direction:column; align-items:center; gap:12px; box-shadow:0 12px 28px -14px rgba(0,0,0,.45); transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease; }
.np-award:hover{ transform:translateY(-5px); box-shadow:0 18px 40px -16px rgba(0,0,0,.55); }
.np-award img{ height:72px; width:auto; max-width:100%; object-fit:contain; }
.np-award figcaption{ font-size:11.5px; color:#46525f; text-align:center; line-height:1.35; font-weight:600; }

/* testimonials section (above FAQ) */
.np-testimonials{ background:#FBFAF6; padding:clamp(2.75rem,1.8rem+2.4vw,4.25rem) 20px; }
.np-testi-inner{ max-width:1240px; margin:0 auto; }
.np-testi-eyebrow{ display:inline-flex; align-items:center; gap:8px; font-family:var(--font-body); font-weight:700; font-size:13px; letter-spacing:.18em; text-transform:uppercase; color:#AB8B4C; }
.np-testi-eyebrow::before{ content:""; width:22px; height:2px; background:#c2a36b; }
.np-testi-h2{ font-family:var(--font-display); font-weight:700; font-size:var(--fs-h1); line-height:1.15; letter-spacing:-.01em; color:#0C121C; margin:12px 0 6px; }
.np-testi-sub{ color:#6b7686; font-size:15px; margin-bottom:30px; }
.np-testi-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(320px,1fr)); gap:24px; }
.np-testi-card{ margin:0; background:#fff; border:1px solid #E4DED2; border-radius:14px; padding:30px; box-shadow:0 12px 28px -14px rgba(12,18,28,.12); transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease; }
.np-testi-card:hover{ transform:translateY(-4px); box-shadow:0 20px 44px -18px rgba(12,18,28,.2); }
.np-testi-stars{ font-size:18px; letter-spacing:3px; margin-bottom:16px; }
.np-testi-stars span{ color:#e0d8c8; }
.np-testi-stars span.on{ color:#c2a36b; }
.np-testi-text{ margin:0; color:#46525f; line-height:1.75; font-size:17px; font-style:normal; }
.np-testi-meta{ margin-top:20px; display:flex; flex-direction:column; }
.np-testi-name{ font-family:var(--font-display); font-weight:600; font-size:16px; color:#0c121c; }
.np-testi-role{ font-size:12.5px; color:#98a1ad; }

/* =========================================================
   FOOTER
   ========================================================= */
#np-site-footer .np-menu .elementor-icon-list-item > a{ transition:color .25s ease; }
#np-site-footer .np-menu .elementor-icon-list-item:hover > a{ color:#FFFFFF!important; }
#np-site-footer .elementor-social-icon{ transition:background-color .3s ease, transform .25s ease; }
#np-site-footer .elementor-social-icon:hover{ background-color:rgba(212,186,130,.18)!important; transform:translateY(-2px); }

/* =========================================================
   FAQ accordion
   ========================================================= */
#faq .elementor-accordion{ counter-reset:npfaq; }
#faq .elementor-accordion-item{ border:1px solid #E4DED2 !important; border-radius:8px; background:#fff; overflow:hidden; margin-bottom:12px; transition:border-color .25s ease, box-shadow .25s ease, transform .25s ease; }
#faq .elementor-accordion-item:hover{ border-color:#D6CFC1 !important; }
#faq .elementor-accordion-item:has(.elementor-tab-title.elementor-active){ border-color:#C2A36B !important; box-shadow:0 10px 26px -12px rgba(151,118,55,.32); }
#faq .elementor-tab-title{ display:flex !important; align-items:center; gap:16px; padding:19px 24px !important; background:none !important; border:0 !important; cursor:pointer; transition:color .2s ease; }
#faq .elementor-tab-title::before{ counter-increment:npfaq; content:counter(npfaq, decimal-leading-zero); font-family:var(--font-display); font-weight:700; font-size:15px; color:#C2A36B; flex:none; min-width:1.4em; }
#faq .elementor-accordion-title{ order:2; flex:1; font-family:var(--font-display); font-weight:600; font-size:17px; color:#0C121C; line-height:1.3; transition:color .2s ease; }
#faq .elementor-tab-title:hover .elementor-accordion-title,
#faq .elementor-tab-title.elementor-active .elementor-accordion-title{ color:#957637; }
#faq .elementor-accordion-icon{ order:3; position:relative; width:18px; height:18px; flex:none; margin:0 !important; }
#faq .elementor-accordion-icon *{ display:none !important; }
#faq .elementor-accordion-icon::before, #faq .elementor-accordion-icon::after{ content:""; position:absolute; top:50%; left:50%; width:14px; height:2px; background:#C2A36B; border-radius:2px; transform:translate(-50%,-50%); transition:transform .3s cubic-bezier(.22,1,.36,1), opacity .3s ease; }
#faq .elementor-accordion-icon::after{ transform:translate(-50%,-50%) rotate(90deg); }
#faq .elementor-tab-title.elementor-active .elementor-accordion-icon::after{ opacity:0; transform:translate(-50%,-50%) rotate(0deg); }
#faq .elementor-tab-content{ padding:0 24px 22px 54px !important; line-height:1.7; color:#46525F; border:0 !important; }

/* language switcher (EN / DE / FR) */
.np-lang{ display:inline-flex; align-items:center; gap:2px; }
.np-lang-btn{ background:none !important; background-image:none !important; border:0 !important; box-shadow:none !important; min-height:0 !important; cursor:pointer; font-family:var(--font-body) !important; font-weight:700 !important; font-size:13px !important; letter-spacing:.03em !important; padding:6px 8px !important; border-radius:6px !important; opacity:.65; transition:opacity .2s ease, color .2s ease, background-color .2s ease; line-height:1 !important; }
.np-lang-btn:hover{ opacity:1; }
.np-lang-btn.is-active{ opacity:1; color:#0a0f18 !important; background:#c2a36b !important; }
#np-site-header .np-lang{ margin-left:10px; }
#np-site-header .np-lang-btn{ color:#fff; }
.np-floatnav__panel .np-lang{ margin:8px 6px 2px; padding-top:12px; border-top:1px solid rgba(255,255,255,.12); justify-content:center; gap:6px; position:relative; z-index:1; }
.np-floatnav__panel .np-lang-btn{ color:#e7ecf3; }

/* scroll-reveal entrance — base always visible (graceful), animates in on scroll */
.np-reveal{ opacity:1; }
.np-reveal.in-view{ animation:npRevealUp .7s cubic-bezier(.22,1,.36,1) backwards; animation-delay:var(--np-delay,0ms); }
@keyframes npRevealUp{ from{ opacity:0; transform:translateY(26px); } to{ opacity:1; transform:none; } }

/* =========================================================
   CARD DYNAMICS — glass sheen sweep + gold glow (matches the buttons)
   ========================================================= */
.np-award, .np-testi-card{ position:relative; overflow:hidden; }
.np-award > *, .np-testi-card > *{ position:relative; z-index:2; }
.np-award::before, .np-testi-card::before{
  content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(115deg, transparent 38%, rgba(212,186,130,.20) 50%, transparent 62%);
  transform:translateX(-130%);
  transition:transform .85s cubic-bezier(.22,1,.36,1);
}
.np-award:hover::before, .np-testi-card:hover::before{ transform:translateX(130%); }
.np-award:hover{
  transform:translateY(-5px);
  box-shadow:0 20px 44px -16px rgba(0,0,0,.5), 0 0 0 1px rgba(212,186,130,.55), 0 10px 30px -12px rgba(151,118,55,.3) !important;
}
.np-testi-card:hover{
  transform:translateY(-5px);
  border-color:#d4ba82 !important;
  box-shadow:0 22px 46px -18px rgba(12,18,28,.2), 0 0 0 1px rgba(212,186,130,.4), 0 10px 30px -14px rgba(151,118,55,.22) !important;
}

/* =========================================================
   PRODUCT-LINE ROUNDS — floating icon strip in #solutions
   ========================================================= */
.np-rounds{ width:100%; margin-top:38px; position:relative; z-index:1; }
.np-rounds__head{ display:flex; align-items:center; gap:12px; font-family:var(--font-body); font-weight:700; font-size:12px; letter-spacing:.18em; text-transform:uppercase; color:#ab8b4c; margin-bottom:20px; }
.np-rounds__head::after{ content:""; flex:1; height:1px; background:linear-gradient(90deg,#e0d8c8,transparent); }
.np-rounds__row{ display:grid; grid-template-columns:repeat(auto-fit,minmax(96px,1fr)); gap:20px 10px; }
.np-round{ margin:0; display:flex; flex-direction:column; align-items:center; gap:10px; text-align:center; animation:npFloat 5.5s ease-in-out infinite; animation-delay:calc(var(--i,0)*-.7s); }
.np-round img{ width:88px; height:88px; border-radius:50%; box-shadow:0 10px 24px -10px rgba(12,18,28,.35); transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; }
.np-round:hover img{ transform:scale(1.14) rotate(3deg); box-shadow:0 16px 34px -12px rgba(151,118,55,.5), 0 0 0 3px rgba(212,186,130,.55); }
.np-round figcaption{ font-size:12.5px; font-weight:600; color:#46525f; line-height:1.3; }
@keyframes npFloat{ 0%,100%{ transform:translateY(0); } 50%{ transform:translateY(-7px); } }

/* =========================================================
   STATS — animated count-up cards in #approach
   ========================================================= */
.np-stats{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:14px; margin-top:40px; width:100%; position:relative; z-index:1; }
.np-stat{ background:#fff; border:1px solid #E4DED2; border-radius:14px; padding:24px 18px; text-align:center; box-shadow:0 10px 24px -12px rgba(12,18,28,.12); transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, border-color .25s ease; }
.np-stat:hover{ transform:translateY(-4px); border-color:#d4ba82; box-shadow:0 16px 34px -14px rgba(151,118,55,.28); }
.np-stat__num{ display:block; font-family:var(--font-display); font-weight:700; font-size:clamp(30px,3.4vw,44px); line-height:1; color:#0c121c; font-variant-numeric:tabular-nums; }
.np-stat__num i{ font-style:normal; color:#c2a36b; }
.np-stat__lab{ display:block; margin-top:9px; font-size:13px; font-weight:600; color:#6b7686; letter-spacing:.02em; }

/* =========================================================
   AWARDS — grayscale-to-color + zoom affordance
   ========================================================= */
.np-award{ cursor:zoom-in; }
.np-award img{ filter:grayscale(1); opacity:.82; transition:filter .35s ease, opacity .35s ease, transform .35s cubic-bezier(.22,1,.36,1); }
.np-award:hover img, .np-award:focus-visible img{ filter:none; opacity:1; transform:scale(1.06); }
.np-award:focus-visible{ outline:2px solid #c2a36b; outline-offset:3px; }

/* =========================================================
   LIGHTBOX — award logo zoom
   ========================================================= */
.np-lb{ position:fixed; inset:0; z-index:2000; background:rgba(10,15,24,.78); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); display:flex; align-items:center; justify-content:center; padding:24px; opacity:0; visibility:hidden; transition:opacity .25s ease, visibility .25s; cursor:zoom-out; }
.np-lb.is-open{ opacity:1; visibility:visible; }
.np-lb__card{ margin:0; background:#fff; border-radius:16px; padding:28px; max-width:min(86vw,680px); display:flex; flex-direction:column; align-items:center; gap:16px; transform:scale(.94); transition:transform .28s cubic-bezier(.22,1,.36,1); box-shadow:0 40px 90px -30px rgba(0,0,0,.6); }
.np-lb.is-open .np-lb__card{ transform:scale(1); }
.np-lb__card img{ max-width:100%; max-height:60vh; object-fit:contain; }
.np-lb__card figcaption{ font-family:var(--font-body); font-weight:600; color:#2a3442; font-size:14px; text-align:center; }

/* =========================================================
   SCROLL CUE — animated „mouse“ at the hero bottom
   ========================================================= */
.np-scrollcue{ position:absolute; left:50%; bottom:26px; transform:translateX(-50%); z-index:2; width:26px; height:42px; border:2px solid rgba(255,255,255,.45); border-radius:14px; display:flex; justify-content:center; padding-top:7px; transition:border-color .25s ease; }
.np-scrollcue:hover{ border-color:#d4ba82; }
.np-scrollcue span{ width:4px; height:9px; border-radius:2px; background:#d4ba82; animation:npCue 1.8s cubic-bezier(.4,0,.2,1) infinite; }
@keyframes npCue{ 0%{ transform:translateY(0); opacity:1; } 70%{ transform:translateY(13px); opacity:0; } 100%{ transform:translateY(0); opacity:0; } }

/* section h2: gold underline draws in on reveal */
.e-con.e-parent[id]:not(#np-hero):not(#np-site-header):not(#np-site-footer) .elementor-widget-heading h2.elementor-heading-title::after{
  content:""; display:block; width:64px; height:3px; margin-top:16px; border-radius:2px;
  background:linear-gradient(90deg,#c2a36b,#e6d6b3);
  transform-origin:left center; transition:transform .8s cubic-bezier(.22,1,.36,1) .2s;
}
.elementor-widget-heading.np-reveal:not(.in-view) h2.elementor-heading-title::after{ transform:scaleX(0); }

/* materials marquee: pause on hover */
.np-matmarquee:hover .np-matmarquee__track{ animation-play-state:paused; }

/* =========================================================
   BLOG / PRESSE — post cards (Elementor Pro posts widget, classic skin)
   ========================================================= */
.elementor-posts--skin-classic .elementor-post{
  background:#fff; border:1px solid #E4DED2; border-radius:14px; overflow:hidden;
  box-shadow:0 10px 24px -12px rgba(12,18,28,.12);
  transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, border-color .25s ease;
}
.elementor-posts--skin-classic .elementor-post:hover{
  transform:translateY(-5px); border-color:#d4ba82;
  box-shadow:0 20px 44px -16px rgba(12,18,28,.2), 0 0 0 1px rgba(212,186,130,.4), 0 8px 26px -12px rgba(151,118,55,.22);
}
.elementor-post__thumbnail__link{ display:block; width:100%; }
/* override Elementor's item-ratio padding box — fixed 16/10 frame, image fills it */
.elementor-posts--skin-classic .elementor-post__thumbnail{ aspect-ratio:16/10; height:auto !important; padding-bottom:0 !important; position:relative; overflow:hidden; background:#EEF1F4; }
.elementor-posts--skin-classic .elementor-post__thumbnail img{ position:absolute !important; inset:0 !important; width:100% !important; height:100% !important; max-width:none; object-fit:cover; transform:none !important; transition:transform .5s cubic-bezier(.22,1,.36,1) !important; }
.elementor-posts--skin-classic .elementor-post:hover .elementor-post__thumbnail img{ transform:scale(1.06) !important; }
.elementor-post__text{ padding:20px 22px 24px; }
.elementor-post__title{ font-family:var(--font-display); font-size:19px; font-weight:600; line-height:1.3; margin:0 0 10px; }
.elementor-post__title a{ color:#0C121C; text-decoration:none; transition:color .2s ease; }
.elementor-post__title a:hover{ color:#957637; }
.elementor-post__meta-data{ font-size:12px; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:#AB8B4C; margin-bottom:10px; }
.elementor-post__excerpt p{ color:#46525F; font-size:14.5px; line-height:1.65; }
.elementor-post__read-more{ font-weight:700; font-size:13.5px; color:#AB8B4C; text-decoration:none; transition:color .2s ease, padding-left .2s ease; }
.elementor-post__read-more:hover{ color:#957637; padding-left:4px; }
.elementor-pagination{ margin-top:44px; text-align:center; }
.elementor-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:38px; height:38px; padding:0 12px; margin:0 3px; border-radius:10px; border:1px solid #E4DED2; background:#fff; color:#46525F; font-weight:600; font-size:14px; text-decoration:none; transition:all .2s ease; }
.elementor-pagination .page-numbers.current{ background-image:linear-gradient(135deg,#e6d6b3,#c2a36b); border-color:rgba(255,247,225,.5); color:#0a0f18; }
.elementor-pagination a.page-numbers:hover{ border-color:#d4ba82; color:#957637; transform:translateY(-2px); }

/* =========================================================
   POST FILTER BAR — pills + live search (blog & presse)
   ========================================================= */
.np-filterbar{ display:flex; flex-wrap:wrap; align-items:center; gap:10px; margin:0 0 32px; width:100%; position:relative; z-index:2; }
.np-filterbar button.np-fpill{ border:1px solid #E4DED2 !important; background:#fff !important; color:#46525F !important; font-weight:600; font-size:13.5px; line-height:1; padding:11px 18px !important; border-radius:999px !important; cursor:pointer; font-family:var(--font-body); box-shadow:none; transition:border-color .2s ease, color .2s ease, transform .18s ease, box-shadow .25s ease, background .25s ease; }
.np-filterbar button.np-fpill:hover{ border-color:#d4ba82 !important; color:#957637 !important; transform:translateY(-1px); }
.np-filterbar button.np-fpill.is-active{ background:linear-gradient(135deg,#e6d6b3,#c2a36b) !important; border-color:rgba(255,247,225,.6) !important; color:#0a0f18 !important; box-shadow:0 8px 18px -8px rgba(151,118,55,.55); }
.np-fsearch{ margin-left:auto; position:relative; }
.np-fsearch input{ width:250px; max-width:100%; padding:11px 16px 11px 40px; border:1px solid #E4DED2; border-radius:999px; background:#fff; font-family:var(--font-body); font-size:14px; color:#2A3442; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }
.np-fsearch input::placeholder{ color:#98a1ad; }
.np-fsearch input:focus{ border-color:#d4ba82; box-shadow:0 0 0 3px rgba(212,186,130,.25); }
.np-fsearch .np-fsearch__ic{ position:absolute; left:15px; top:50%; transform:translateY(-50%); width:15px; height:15px; border:2px solid #98a1ad; border-radius:50%; pointer-events:none; }
.np-fsearch .np-fsearch__ic::after{ content:""; position:absolute; width:6px; height:2px; background:#98a1ad; transform:rotate(45deg); right:-5px; bottom:-2px; border-radius:2px; }
.np-fetching{ opacity:.35; pointer-events:none; }
.elementor-posts-container{ transition:opacity .25s ease; }
.np-loadmore{ display:inline-block; margin:38px auto 0; border:1px solid #E4DED2; background-image:linear-gradient(135deg,#e6d6b3,#c2a36b); color:#0a0f18; font-weight:700; font-size:14px; padding:13px 30px; border-radius:999px; cursor:pointer; font-family:var(--font-body); box-shadow:0 10px 24px -12px rgba(151,118,55,.55); transition:transform .18s ease, box-shadow .25s ease, filter .25s ease; }
.np-loadmore:hover{ transform:translateY(-2px); filter:brightness(1.05); box-shadow:0 16px 32px -12px rgba(151,118,55,.7); }
.np-loadmore-wrap{ text-align:center; width:100%; }
.np-fstate{ text-align:center; color:#6b7686; font-size:14.5px; margin:30px 0 0; width:100%; }
@media (max-width:700px){ .np-fsearch{ margin-left:0; width:100%; } .np-fsearch input{ width:100%; } }

/* =========================================================
   SINGLE POST — article layout
   ========================================================= */
#post-hero .elementor-widget-post-info .elementor-icon-list-item{ font-size:12.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; margin-right:22px !important; position:relative; }
#post-hero .elementor-widget-post-info .elementor-icon-list-item:not(:last-child)::after{ content:"·"; position:absolute; right:-14px; color:#c2a36b; font-size:16px; }
#post-hero .elementor-widget-post-info a{ color:#D4BA82; text-decoration:none; }
#post-hero .elementor-widget-post-info a:hover{ color:#F6EAD0; }
#post-hero .elementor-heading-title{ max-width:20em; }
.np-article{ max-width:860px !important; margin:0 auto !important; }
.np-article__img img{ width:100%; border-radius:18px; box-shadow:0 24px 50px -22px rgba(12,18,28,.35); }
.np-article .elementor-widget-theme-post-content{ font-size:17px; line-height:1.8; color:#2A3442; margin-top:36px; }
.np-article .elementor-widget-theme-post-content h2,
.np-article .elementor-widget-theme-post-content h3{ font-family:var(--font-display); color:#0C121C; line-height:1.25; margin:1.6em 0 .6em; }
.np-article .elementor-widget-theme-post-content h2{ font-size:30px; }
.np-article .elementor-widget-theme-post-content h3{ font-size:23px; }
.np-article .elementor-widget-theme-post-content p{ margin:0 0 1.15em; }
.np-article .elementor-widget-theme-post-content a{ color:#957637; text-decoration:underline; text-decoration-color:rgba(194,163,107,.45); text-underline-offset:3px; transition:text-decoration-color .2s; }
.np-article .elementor-widget-theme-post-content a:hover{ text-decoration-color:#957637; }
.np-article .elementor-widget-theme-post-content img{ border-radius:14px; height:auto; max-width:100%; box-shadow:0 16px 36px -18px rgba(12,18,28,.3); }
.np-article .elementor-widget-theme-post-content ul,
.np-article .elementor-widget-theme-post-content ol{ margin:0 0 1.2em 1.3em; }
.np-article .elementor-widget-theme-post-content li{ margin-bottom:.45em; }
.np-article .elementor-widget-theme-post-content blockquote{ border-left:3px solid #c2a36b; padding:6px 0 6px 20px; margin:1.4em 0; color:#46525F; font-style:italic; }

@media (prefers-reduced-motion:reduce){
  #np-hero .e-con-inner > .elementor-element:nth-child(3) .elementor-heading-title{ animation:none; }
  .np-el-dot{ animation:none; }
  .np-reveal, .np-reveal.in-view{ animation:none !important; opacity:1 !important; transform:none !important; }
  .elementor-button::before, .np-award::before, .np-testi-card::before{ display:none !important; }
  .np-round{ animation:none; }
  .np-scrollcue span{ animation:none; }
  .elementor-widget-heading h2.elementor-heading-title::after{ transform:none !important; }
}

/* ---- MENU side tab: tucked into the edge (it used to hang over images),
       slides out on hover/focus/tap ---- */
.np-floatnav.is-visible{ right:-22px !important; }
.np-floatnav.is-visible:hover,
.np-floatnav.is-visible:focus-within,
.np-floatnav.is-visible.is-open{ right:0 !important; }
@media (hover:none){
  .np-floatnav.is-visible{ right:-14px !important; }
}

/* any open overlay (solution sheets lock the body): the MENU tab must never
   cover a popup's close control */
body.np-lock .np-floatnav{ opacity:0 !important; visibility:hidden !important; pointer-events:none !important; }

/* =========================================================
   SPOTLIGHT CARDS — champagne-gold glow that follows the cursor
   (class + --mx/--my set by nanopool-fx.js, desktop pointers only)
   ========================================================= */
.np-spot{ position:relative; }
.np-spot:not(.np-appcard)::after{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:1;
  opacity:0; transition:opacity .4s ease;
  background:radial-gradient(320px circle at var(--mx,50%) var(--my,50%),
    rgba(212,186,130,.24), rgba(212,186,130,.07) 45%, transparent 70%);
}
.np-spot:not(.np-appcard):hover::after{ opacity:1; }
/* photo cards (.np-appcard) already use ::after for their dark scrim — use ::before */
.np-appcard.np-spot::before{
  content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; z-index:1;
  opacity:0; transition:opacity .4s ease;
  background:radial-gradient(360px circle at var(--mx,50%) var(--my,50%),
    rgba(212,186,130,.22), rgba(212,186,130,.06) 45%, transparent 70%);
}
.np-appcard.np-spot:hover::before{ opacity:1; }
@media (prefers-reduced-motion:reduce){
  .np-spot::after, .np-appcard.np-spot::before{ display:none !important; }
}

/* =========================================================
   MOBILE — compact header (logo only); the floating MENU tab
   carries the whole navigation (JS keeps it visible on phones)
   ========================================================= */
@media (max-width:880px){
  /* the inline nav links + header CTA wrap over the hero content on phones */
  #np-site-header .np-menu,
  #np-site-header .elementor-widget-button{ display:none !important; }
  #np-site-header .elementor-widget-image img{ width:min(210px, 52vw); height:auto; }
  #np-hero{ min-height:72vh; padding-top:96px !important; }
  /* prevent stray horizontal scroll from decorative full-width layers */
  html, body{ overflow-x:clip; }
  /* footer link columns: the flex rows ran into each other — stack one per line */
  #np-site-footer .np-menu .elementor-icon-list-items{ display:block !important; }
  #np-site-footer .np-menu .elementor-icon-list-item{ display:block !important; margin:0 0 12px !important; }
  #np-site-footer .np-menu .elementor-icon-list-item:last-child{ margin-bottom:0 !important; }
}

/* hero + banner display headings: fixed 64px/52px/40px desktop sizes with no
   mobile variant in the widget settings — scale them down on phones */
@media (max-width:640px){
  #np-hero .elementor-heading-title{ overflow-wrap:break-word; }
  #np-hero h1.elementor-heading-title,
  #np-hero h2.elementor-heading-title{ font-size:clamp(2.1rem, 8.6vw, 2.75rem) !important; line-height:1.06 !important; }
  #np-hero .np-eyebrow .elementor-heading-title{ font-size:12px !important; }
  /* Blog title / Press title / "Let's build the future together." */
  .elementor-element-6474ea2 .elementor-heading-title,
  .elementor-element-4c52077 .elementor-heading-title{ font-size:clamp(2.1rem, 9vw, 2.75rem) !important; line-height:1.08 !important; }
  .elementor-element-25d11a9 .elementor-heading-title{ font-size:clamp(1.7rem, 7.4vw, 2.2rem) !important; line-height:1.15 !important; }
}
/* ---- "Products" dropdown in the header menu ---- */
.np-prodmenu{ position:relative; }
.np-prodmenu > a::after{ content:""; display:inline-block; margin-left:7px; margin-bottom:2px; width:6px; height:6px;
  border-right:2px solid currentColor; border-bottom:2px solid currentColor;
  transform:rotate(45deg); transition:transform .25s ease; }
.np-prodmenu:hover > a::after,
.np-prodmenu.is-open > a::after{ transform:rotate(225deg) translateY(-3px); }
.np-prodmenu__panel{ position:absolute; top:100%; left:50%; min-width:264px; padding:16px 10px 10px;
  background:linear-gradient(180deg,#0d1626 0%,#0a0f18 100%); border:1px solid rgba(255,255,255,.09);
  border-radius:12px; box-shadow:0 26px 60px -22px rgba(4,8,16,.65); z-index:220;
  opacity:0; visibility:hidden; pointer-events:none;
  transform:translate(-50%,10px); transition:opacity .22s ease, transform .3s cubic-bezier(.22,1,.36,1), visibility .22s; }
.np-prodmenu:hover .np-prodmenu__panel,
.np-prodmenu:focus-within .np-prodmenu__panel,
.np-prodmenu.is-open .np-prodmenu__panel{ opacity:1; visibility:visible; pointer-events:auto; transform:translate(-50%,4px); }
.np-prodmenu__panel a{ display:block; padding:11px 14px; border-radius:8px;
  font-family:'Source Sans 3',sans-serif; font-weight:600; font-size:15px;
  color:#E7ECF3 !important; text-decoration:none;
  transition:background .2s ease, color .2s ease, padding-left .2s ease; }
.np-prodmenu__panel a:hover{ background:rgba(194,163,107,.14); color:#E6D6B3 !important; padding-left:19px; }

/* floating menu: indented product sub-links */
.np-floatnav__sub{ padding-left:28px !important; font-size:14px !important; opacity:.92; position:relative; }
.np-floatnav__sub::before{ content:""; position:absolute; left:14px; top:50%; transform:translateY(-50%);
  width:7px; height:7px; background:#C2A36B; clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%); }
/* =========================================================
   CONTACT FORM (Elementor Pro form widget, .np-form)
   Sits on the dark ink panel / dark contact band.
   ========================================================= */
.np-form .elementor-form{ display:block; width:100%; }
.np-form .elementor-form-fields-wrapper{ display:grid !important; grid-template-columns:1fr 1fr; gap:14px 16px; width:100%; margin:0; }
.np-form .elementor-form-fields-wrapper > .elementor-field-group{ min-width:0; }
@media (max-width:640px){ .np-form .elementor-form-fields-wrapper{ grid-template-columns:1fr; gap:12px; } .np-form .elementor-field-type-submit .elementor-button{ width:100%; min-width:0; } }
/* landing: form pulled out of the 2-col grid -> full-width row below intro */
#contact .np-2col + .elementor-widget-form, #contact .np-formrow{ width:100%; margin-top:34px; padding-top:34px; border-top:1px solid rgba(255,255,255,.10); }
.np-form .elementor-field-group{ margin:0; padding:0 !important; width:100% !important; flex-direction:column; align-items:stretch; justify-content:flex-start; }
.np-form .elementor-field-group .elementor-field-textual{ flex:0 0 auto !important; height:auto !important; }
.np-form .elementor-select-wrapper{ flex:0 0 auto !important; height:auto !important; }
.np-form textarea.elementor-field-textual{ height:auto !important; }
.np-form .elementor-field-group.np-field-full,
.np-form .elementor-field-group.elementor-field-type-textarea,
.np-form .elementor-field-group.elementor-field-type-acceptance,
.np-form .elementor-field-group.elementor-field-type-submit{ grid-column:1 / -1; }
.np-form .elementor-field-group > .elementor-field-label,
.np-form .elementor-field-label{
  font-family:'Source Sans 3',sans-serif; font-weight:700; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; color:#AEB9C7 !important; margin-bottom:7px; }
.np-form .elementor-field-textual{
  width:100%; background:rgba(255,255,255,.06) !important; color:#FFFFFF !important;
  border:1px solid rgba(255,255,255,.16) !important; border-radius:8px !important;
  padding:13px 15px !important; font-family:'Source Sans 3',sans-serif !important; font-size:15.5px !important;
  line-height:1.5 !important; box-shadow:none !important;
  transition:border-color .22s ease, background .22s ease; }
.np-form .elementor-field-textual::placeholder{ color:#7C8899 !important; opacity:1; }
.np-form .elementor-field-textual:focus{
  background:rgba(255,255,255,.10) !important; border-color:#C2A36B !important; outline:none;
  box-shadow:0 0 0 3px rgba(194,163,107,.18) !important; }
.np-form textarea.elementor-field-textual{ min-height:132px; resize:vertical; }
.np-form select.elementor-field-textual{ appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#C2A36B 50%),linear-gradient(135deg,#C2A36B 50%,transparent 50%) !important;
  background-position:calc(100% - 19px) calc(50% + 2px), calc(100% - 13px) calc(50% + 2px) !important;
  background-size:6px 6px, 6px 6px !important; background-repeat:no-repeat !important;
  background-color:rgba(255,255,255,.06) !important; padding-right:40px !important; }
.np-form select.elementor-field-textual option{ background:#0F1929; color:#fff; }
/* consent checkbox */
.np-form .elementor-field-type-acceptance .elementor-field-subgroup{ display:flex; align-items:flex-start; gap:10px; }
.np-form .elementor-field-type-acceptance input[type=checkbox]{ margin-top:3px; accent-color:#C2A36B; width:17px; height:17px; flex:none; }
.np-form .elementor-field-type-acceptance .elementor-field-option label,
.np-form .elementor-field-type-acceptance .elementor-acceptance-field + label{
  font-family:'Source Sans 3',sans-serif; font-size:14px; line-height:1.5; color:#AEB9C7; }
.np-form .elementor-field-type-acceptance a{ color:#D4BA82; text-decoration:underline; }
/* submit */
.np-form .elementor-field-type-submit{ justify-content:flex-start; }
.np-form .elementor-field-type-submit .elementor-button{ width:auto; min-width:210px; }
/* messages */
.np-form .elementor-message{ font-family:'Source Sans 3',sans-serif; font-size:15px; margin-top:10px; }
.np-form .elementor-message.elementor-message-success{ color:#8FD3A8; }
.np-form .elementor-message.elementor-message-danger{ color:#E8A49C; }
.np-form .elementor-message-danger{ color:#E8A49C; }
@media (max-width:900px){
  .np-form .elementor-form{ grid-template-columns:1fr; }
}

/* contact panel on solution pages: text left, form right */
.np-ctapanel-con .np-cta-grid{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); align-items:start; width:100%; }
@media (max-width:980px){ .np-ctapanel-con .np-cta-grid{ grid-template-columns:1fr; } }
/* ---- product rounds: caption + linked variant (→ solution pages) ---- */
.np-round figcaption,
.np-round .np-round__cap{ font-size:12.5px; font-weight:600; color:#46525f; line-height:1.3;
  font-family:'Source Sans 3',sans-serif; }
a.np-round{ text-decoration:none; cursor:pointer; border-radius:12px;
  transition:transform .25s cubic-bezier(.22,1,.36,1); }
a.np-round:hover{ transform:translateY(-3px); }
a.np-round:hover .np-round__cap,
a.np-round:focus-visible .np-round__cap{ color:#957637; }
a.np-round:focus-visible{ outline:2px solid #C2A36B; outline-offset:6px; }

/* ---- YouTube playlist CTA (in #videos) ---- */
.np-ytcta{ display:inline-flex; align-items:center; gap:16px; margin-top:26px; padding:16px 22px;
  border:1px solid #E4DED2; border-radius:14px; background:#fff; text-decoration:none; max-width:560px;
  box-shadow:0 12px 30px -16px rgba(12,18,28,.22);
  transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, border-color .25s ease; }
.np-ytcta:hover{ transform:translateY(-3px); border-color:#D4BA82;
  box-shadow:0 20px 40px -18px rgba(151,118,55,.34); }
.np-ytcta__mark{ flex:none; display:grid; place-items:center; width:46px; height:34px; }
.np-ytcta__txt{ display:flex; flex-direction:column; gap:3px; font-family:'Source Sans 3',sans-serif; }
.np-ytcta__txt strong{ font-family:'Nohemi',sans-serif; font-weight:600; font-size:17px;
  letter-spacing:-.01em; color:#0A0F18; }
.np-ytcta__txt span{ font-size:13.5px; line-height:1.45; color:#6B7686; }
.np-ytcta__arrow{ margin-left:auto; padding-left:10px; color:#C2A36B; font-size:20px; font-weight:700;
  transition:transform .25s cubic-bezier(.22,1,.36,1); }
.np-ytcta:hover .np-ytcta__arrow{ transform:translateX(4px); }
/* on dark sections */
.np-on-dark .np-ytcta, #videos.np-dark .np-ytcta{ background:#1B2A3D; border-color:rgba(255,255,255,.12); }
@media (max-width:560px){
  .np-ytcta{ width:100%; gap:12px; padding:14px 16px; }
  .np-ytcta__txt strong{ font-size:15.5px; }
}
/* ---- references teaser on the landing (replaces the old testimonials block) ---- */
.np-reftease{ background:#F5F2EC; padding:clamp(3rem,2rem+3vw,4.5rem) 20px; }
.np-reftease__inner{ max-width:1240px; margin:0 auto; }
.np-reftease__eyebrow{ font-family:'Source Sans 3',sans-serif; font-weight:700; font-size:13px;
  letter-spacing:.18em; text-transform:uppercase; color:#957637; margin-bottom:10px; }
.np-reftease__h2{ font-family:'Nohemi',sans-serif; font-weight:700; font-size:clamp(30px,3.4vw,44px);
  line-height:1.08; letter-spacing:-.02em; color:#0A0F18; margin:0 0 10px; }
.np-reftease__sub{ font-family:'Source Sans 3',sans-serif; font-size:17px; line-height:1.6;
  color:#46525F; margin:0; max-width:70ch; }
.np-reftease__grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(210px,1fr)); gap:16px; margin-top:30px; }
.np-reftease__card{ position:relative; display:block; aspect-ratio:4/3; border-radius:14px; overflow:hidden;
  text-decoration:none; border:1px solid #E4DED2; background:#ECE7DD;
  transition:transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s ease, border-color .28s ease; }
.np-reftease__card:hover{ transform:translateY(-4px); border-color:#D4BA82;
  box-shadow:0 22px 44px -20px rgba(151,118,55,.34); }
.np-reftease__card img{ width:100%; height:100%; object-fit:cover; display:block;
  transition:transform .55s cubic-bezier(.22,1,.36,1); }
.np-reftease__card:hover img{ transform:scale(1.06); }
.np-reftease__card span{ position:absolute; left:0; right:0; bottom:0; z-index:2; padding:26px 16px 14px;
  font-family:'Source Sans 3',sans-serif; font-weight:700; font-size:14px; color:#fff;
  background:linear-gradient(180deg,rgba(10,15,24,0),rgba(10,15,24,.82)); }
.np-reftease__cta{ display:inline-flex; align-items:center; gap:9px; margin-top:26px; padding:13px 26px;
  font-family:'Source Sans 3',sans-serif; font-weight:700; font-size:16px; letter-spacing:.02em; color:#0A0F18; text-decoration:none;
  border-radius:6px; border:1px solid rgba(255,247,225,.55); background-color:#C2A36B;
  background-image:linear-gradient(180deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,0) 44%), linear-gradient(135deg, #E6D6B3 0%, #D4BA82 32%, #C2A36B 64%, #AB8B4C 100%);
  box-shadow:0 1px 0 rgba(255,255,255,.55) inset, 0 10px 26px -12px rgba(151,118,55,.55), 0 2px 6px -2px rgba(10,15,24,.22);
  transition:transform .16s cubic-bezier(.22,1,.36,1), box-shadow .28s cubic-bezier(.22,1,.36,1), filter .28s ease; }
.np-reftease__cta:hover{ color:#0A0F18; transform:translateY(-2px); filter:brightness(1.04) saturate(1.04);
  box-shadow:0 1px 0 rgba(255,255,255,.65) inset, 0 18px 38px -14px rgba(151,118,55,.72), 0 5px 12px -3px rgba(10,15,24,.28); }
.np-reftease__cta i{ font-style:normal; transition:transform .25s cubic-bezier(.22,1,.36,1); }
.np-reftease__cta:hover i{ transform:translateX(5px); }

/* awards teaser strip (landing) — eine Reihe; mobil horizontal wischbar */
.np-awardstrip{ display:grid; grid-auto-flow:column; grid-auto-columns:minmax(110px,1fr); gap:14px;
  width:100%; margin-top:8px; overflow-x:auto; -webkit-overflow-scrolling:touch;
  scrollbar-width:none; padding-bottom:4px; }
.np-awardstrip::-webkit-scrollbar{ display:none; }
.np-awardstrip figure{ margin:0; display:grid; place-items:center; height:104px; padding:12px;
  background:#fff; border:1px solid #E4DED2; border-radius:12px;
  transition:transform .25s cubic-bezier(.22,1,.36,1), border-color .25s ease, box-shadow .25s ease; }
.np-awardstrip figure:hover{ transform:translateY(-3px); border-color:#D4BA82;
  box-shadow:0 16px 32px -18px rgba(151,118,55,.34); }
.np-awardstrip img{ max-width:100%; max-height:80px; object-fit:contain; display:block; }

/* form submit: natural width on desktop, full on phones; compact dark panel padding on phones */
.np-form .e-form__buttons .elementor-button, .np-form .elementor-field-type-submit .elementor-button{ width:auto !important; flex:0 0 auto !important; min-width:220px; }
@media (max-width:640px){ .np-form .e-form__buttons .elementor-button, .np-form .elementor-field-type-submit .elementor-button{ width:100% !important; min-width:0; }
  #contact .np-ctapanel-con{ padding:32px 22px !important; } }

.np-form .elementor-field-group.elementor-field-type-submit{ flex-direction:row !important; align-items:flex-start !important; justify-content:flex-start !important; }

/* ===== chapter quick-nav under the hero (sitewide; was solution.css) ===== */
[id$="-nav"]{ padding:0 !important; position:sticky; top:0; z-index:140; }
[id$="-nav"] .e-con-inner{ max-width:none; }
.np-solnav{ display:flex; gap:2px; align-items:center; justify-content:center; flex-wrap:nowrap;
  background:rgba(251,250,246,.9); -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px);
  border-bottom:1px solid #E4DED2; padding:9px 16px; overflow-x:auto; scrollbar-width:none; width:100%; }
.np-solnav::-webkit-scrollbar{ display:none; }
.np-solnav a{ padding:8px 15px; border-radius:999px; font-family:'Source Sans 3',sans-serif; font-weight:600;
  font-size:14px; color:#46525F; white-space:nowrap; text-decoration:none; transition:color .2s,background .2s; }
.np-solnav a:hover{ color:#0A0F18; }
.np-solnav a.is-active{ background:#0A0F18; color:#E6D6B3; }
.np-solnav a.np-solnav__cta{ font-weight:700; color:#0A0F18; background-color:#C2A36B;
  background-image:linear-gradient(180deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,0) 44%), linear-gradient(135deg, #E6D6B3 0%, #D4BA82 32%, #C2A36B 64%, #AB8B4C 100%);
  border:1px solid rgba(255,247,225,.55); box-shadow:0 1px 0 rgba(255,255,255,.5) inset, 0 6px 14px -8px rgba(151,118,55,.5);
  transition:transform .16s cubic-bezier(.22,1,.36,1), box-shadow .25s ease, filter .25s ease; }
.np-solnav a.np-solnav__cta:hover{ color:#0A0F18; transform:translateY(-1px); filter:brightness(1.05);
  box-shadow:0 1px 0 rgba(255,255,255,.6) inset, 0 10px 20px -8px rgba(151,118,55,.6); }
.np-solnav a.np-solnav__cta.is-active{ color:#0A0F18; filter:brightness(1.05); }
@media (max-width:768px){
  /* phones: no chapter nav at all — the floating MENU tab is the single navigation */
  [id$="-nav"]{ display:none !important; }
}


/* quick-nav container: beat the rhythm-padding rule (higher specificity than the [id] rhythm rule) */
.elementor .e-con.e-parent.e-flex[id$="-nav"]:not(#np-site-header):not(#np-site-footer):not([id$="-hero"]),
body .elementor .e-con.e-parent[id$="-nav"]:not(#np-site-header):not(#np-site-footer):not([id$="-hero"]){ padding:0 !important; margin:0 !important; min-height:0 !important; gap:0 !important; }

/* ===== editorial image next to text (np-split right column / .np-techimg) =====
   sources are small (<=800px): never stretch to column width; frame + round instead */
.np-split .elementor-widget-image, .np-techimg{ width:100% !important; max-width:440px !important; margin:0 auto !important; }
.np-split .elementor-widget-image .elementor-widget-container, .np-techimg .elementor-widget-container{
  position:relative; padding:10px; background:#fff; border:1px solid #E4DED2; border-radius:18px;
  box-shadow:0 24px 50px -28px rgba(10,15,24,.35); }
.np-split .elementor-widget-image .elementor-widget-container::after, .np-techimg .elementor-widget-container::after{
  content:""; position:absolute; right:-10px; top:-10px; width:26px; height:26px;
  background:linear-gradient(135deg,#E6D6B3,#C2A36B 60%,#AB8B4C);
  clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%); }
.np-split .elementor-widget-image img, .np-techimg img{ display:block; width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:10px !important; }
@media (max-width:1024px){ .np-split .elementor-widget-image, .np-techimg{ max-width:520px !important; } }

/* floating panel: must scroll (makeLattice sets inline overflow:hidden) + CTA pinned at the bottom */
.np-floatnav__panel{ max-height:calc(100vh - 40px) !important; max-height:calc(100dvh - 40px) !important; overflow-y:auto !important; overflow-x:hidden !important; overscroll-behavior:contain; scrollbar-width:thin; }
.np-floatnav__panel .np-floatnav__cta{ position:sticky; bottom:0; z-index:2; margin-top:8px; }
@media (max-height:700px){ .np-floatnav__panel a{ padding:8px 12px; font-size:14px; } }

/* =========================================================
   UNIFIED BUTTON SYSTEM (v3.43) — one colour family, one motion
   Primary  : gold gradient (default .elementor-button + kit)
   Secondary: .np-btn-outline — transparent, ink text, gold hover
   Ghost    : .np-btn-ghost — dark panels, gold-tinted
   (lift, press, cursor spotlight come from the base rules)
   ========================================================= */
.np-btn-outline .elementor-button{ background-color:transparent !important; background-image:none !important;
  color:#131F30 !important; border:1px solid #B9AE97 !important; box-shadow:none !important; }
.np-btn-outline .elementor-button:hover{ background-color:rgba(194,163,107,.14) !important; color:#0A0F18 !important;
  border-color:#C2A36B !important; filter:none;
  box-shadow:0 12px 26px -14px rgba(151,118,55,.45) !important; }
.np-btn-ghost .elementor-button{ background-color:transparent !important; background-image:none !important;
  color:#E6D6B3 !important; border:1px solid rgba(230,214,179,.42) !important; box-shadow:none !important; }
.np-btn-ghost .elementor-button:hover{ background-color:rgba(194,163,107,.16) !important; color:#F1E3C3 !important;
  border-color:#C2A36B !important; filter:none;
  box-shadow:0 12px 26px -14px rgba(0,0,0,.5) !important; }
.elementor-button:focus-visible{ outline:2px solid #C2A36B !important; outline-offset:2px; }
.np-solnav a.np-solnav__cta:focus-visible, .np-reftease__cta:focus-visible, .np-floatnav__cta:focus-visible{ outline:2px solid #C2A36B; outline-offset:2px; }

/* Elementor's background-image lazy-load (.e-con.e-parent:nth-of-type(n+3/4):not(.e-lazyloaded) *
   {background-image:none!important}) strips the gold gradient from buttons below the fold until scroll.
   Buttons are tiny gradients, not hero images — exclude them (selector needs >5 class-level simple selectors). */
.e-con.e-parent:not(.e-lazyloaded):not(.e-no-lazyload) .elementor-button.elementor-button:not(.x):not(.y){
  background-image:
    linear-gradient(180deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,0) 44%),
    linear-gradient(135deg, #e6d6b3 0%, #d4ba82 32%, #c2a36b 64%, #ab8b4c 100%) !important;
}
.e-con.e-parent:not(.e-lazyloaded):not(.e-no-lazyload) .np-btn-outline .elementor-button.elementor-button:not(.x):not(.y),
.e-con.e-parent:not(.e-lazyloaded):not(.e-no-lazyload) .np-btn-ghost .elementor-button.elementor-button:not(.x):not(.y){
  background-image:none !important;
}

/* ===== FLOAT MENU v2 (3.46) — fixed bottom-right FAB: always fully visible when active,
   no hover slide-out (it used to stick via :focus-within and sit in the scrollbar zone) ===== */
.np-floatnav, .np-floatnav.is-visible{ top:auto !important; bottom:26px !important; right:22px !important; left:auto !important; transform:none !important; }
.np-floatnav.is-visible:hover, .np-floatnav.is-visible:focus-within, .np-floatnav.is-visible.is-open{ right:22px !important; }
.np-floatnav__btn{ width:56px !important; height:56px; min-height:0 !important; padding:0 !important; border-radius:14px !important;
  box-shadow:0 14px 34px -14px rgba(10,15,24,.6), 0 0 0 1px rgba(255,250,236,.45) inset !important; }
.np-floatnav__btn:hover{ width:56px !important; filter:brightness(1.06) saturate(1.05); }
.np-floatnav__label{ display:none !important; }
.np-floatnav__panel{ top:auto !important; bottom:calc(100% + 12px) !important; right:0 !important;
  transform:translateY(10px) scale(.98) !important; transform-origin:bottom right !important;
  max-height:calc(100vh - 120px) !important; max-height:calc(100dvh - 120px) !important; }
.np-floatnav.is-open .np-floatnav__panel{ transform:translateY(0) scale(1) !important; }
@media (max-width:880px){ .np-floatnav, .np-floatnav.is-visible{ bottom:18px !important; right:16px !important; } }

/* ===== PRODUCT ROUNDS v2 (3.48) - brand hexagon monograms instead of the colored PNGs ===== */
.np-round__hexwrap{ display:grid; place-items:center; width:88px; height:78px; padding:2.5px;
  clip-path:polygon(25% 3%,75% 3%,99% 50%,75% 97%,25% 97%,1% 50%);
  background:linear-gradient(150deg,#E6D6B3 0%,#C2A36B 55%,#957637 100%);
  transition:transform .28s cubic-bezier(.22,1,.36,1), filter .28s ease; }
.np-round__hex{ display:grid; place-items:center; width:100%; height:100%;
  clip-path:polygon(25% 3%,75% 3%,99% 50%,75% 97%,25% 97%,1% 50%);
  background:linear-gradient(160deg,#16233A 0%,#0A0F18 72%);
  color:#E6D6B3; font:700 30px/1 'Nohemi',sans-serif;
  transition:background .28s ease, color .28s ease; }
.np-round--link:hover .np-round__hexwrap{ transform:translateY(-4px); filter:drop-shadow(0 14px 22px rgba(151,118,55,.38)); }
.np-round--link:hover .np-round__hex{ background:linear-gradient(160deg,#E6D6B3 0%,#C2A36B 80%); color:#0A0F18; }

/* ===== FLOAT MENU panel v3 (3.48) - grouped, two-column sub-links ===== */
.np-floatnav__panel{ display:grid !important; grid-template-columns:1fr 1fr; gap:1px 10px; min-width:340px; }
.np-floatnav__panel > a{ grid-column:1 / -1; }
.np-floatnav__panel > a.np-floatnav__group{ margin-top:8px; padding-bottom:4px !important;
  font-size:12px !important; letter-spacing:.16em; text-transform:uppercase; color:#D4BA82 !important; }
.np-floatnav__panel > a.np-floatnav__sub{ grid-column:auto; padding:7px 8px 7px 22px !important; font-size:13.5px !important; line-height:1.35; }
.np-floatnav__panel > a.np-floatnav__sub::before{ left:8px; }
.np-floatnav__panel .np-lang, .np-floatnav__panel .np-floatnav__cta{ grid-column:1 / -1; }

/* ===== RIGHT RAIL scroll menu (3.48) - clickable section anchors with scrollspy, desktop only ===== */
.np-railnav{ position:fixed; right:20px; top:50%; transform:translateY(-50%); z-index:900;
  display:flex; flex-direction:column; gap:5px; align-items:flex-end;
  opacity:0; visibility:hidden; transition:opacity .3s ease, visibility 0s linear .3s; }
.np-railnav.is-visible{ opacity:1; visibility:visible; transition:opacity .3s ease; }
.np-railnav__item{ display:flex; align-items:center; gap:9px; text-decoration:none; padding:3px 0; }
.np-railnav__dot{ width:11px; height:11px; flex:none; background:#B9AE97;
  clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%);
  transition:background .2s ease, transform .2s ease; }
.np-railnav__item:hover .np-railnav__dot{ background:#C2A36B; }
.np-railnav__label{ font:600 12.5px/1 'Source Sans 3',sans-serif; color:#131F30;
  background:rgba(255,255,255,.94); border:1px solid #E4DED2; border-radius:999px; padding:6px 11px;
  opacity:0; transform:translateX(6px); transition:opacity .2s ease, transform .2s ease;
  pointer-events:none; white-space:nowrap; box-shadow:0 8px 20px -10px rgba(12,18,28,.3); }
.np-railnav__item:hover .np-railnav__label, .np-railnav__item.is-active .np-railnav__label{ opacity:1; transform:none; }
.np-railnav__item.is-active .np-railnav__dot{ background:#C2A36B; transform:scale(1.3); }
body.np-lock .np-railnav{ opacity:0 !important; visibility:hidden !important; }
@media (max-width:1199px){ .np-railnav{ display:none; } }
/* the rail replaces the sticky top chapter bar on wide screens */
@media (min-width:1200px){ .elementor .e-con.e-parent[id$="-nav"].e-flex:not(#np-site-header):not(#np-site-footer){ display:none !important; } }

/* ===== MOBILE HEADER (3.49) - logo left, EN|DE switch + burger right ===== */
.np-hdrburger{ display:none; }
@media (max-width:880px){
  .np-hdrburger{ display:grid; place-items:center; width:44px; height:44px; margin-left:6px;
    background-image:linear-gradient(180deg, rgba(255,255,255,.28), rgba(255,255,255,0) 46%), linear-gradient(140deg,#e6d6b3 0%,#d4ba82 34%,#c2a36b 66%,#ab8b4c 100%) !important;
    background-color:#c2a36b !important; border:1px solid rgba(255,247,225,.55) !important; border-radius:12px !important;
    box-shadow:0 8px 20px -10px rgba(10,15,24,.5) !important; cursor:pointer; padding:0 !important; min-height:0 !important; }
  .np-hdrburger .np-floatnav__bars span{ width:19px; }
  #np-site-header .np-lang{ display:inline-flex !important; margin-left:auto; }
  #np-site-header .np-lang-btn{ padding:7px 10px !important; font-size:12.5px !important; }
  #np-site-header .e-con-inner > .e-con{ flex-wrap:nowrap !important; align-items:center; width:auto !important; }
  #np-site-header .e-con-inner{ display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
    align-items:center !important; justify-content:space-between !important; gap:10px; }
  #np-site-header .elementor-widget-image{ flex:0 0 auto; max-width:150px; }
}

/* landing hero clearance follows the real mobile header height */
@media (max-width:880px){ #np-hero{ padding-top:calc(var(--np-hdr-h,113px) + 22px) !important; } }

/* empco-hero-chips */
.np-el-tags{ max-width:820px; gap:8px 22px; margin-top:24px; }
.np-el-tag{ font-size:13.5px; line-height:1.35; }
.np-el-creds{ margin-top:22px; position:relative; z-index:2; }

/* ===== vision restructure (EmpCo-Neufassung 3.55.0) ===== */
/* linke Spalte haftet beim Scrollen */
@media (min-width:901px){
  #vision .np-col-left{ position:sticky; top:120px; }
}
/* Forschungs-Story als Featured Card (weiss, Haarlinie, Goldkante links) */
#vision .elementor-element-25c0eee{
  background:#FFFFFF; border:1px solid #E4DED2; border-left:3px solid #C2A36B;
  border-radius:0 10px 10px 0; padding:24px 28px; margin:8px 0;
  box-shadow:0 16px 36px -20px rgba(10,15,24,.20);
}
#vision .elementor-element-25c0eee p{ margin:0; }
/* Industrie-Satz als betonte Zwischenzeile */
#vision .elementor-element-25c0f9f p{
  margin:0; font-size:1.14em; line-height:1.5; font-weight:600; color:#131F30;
}
/* Mission als dunkles Panel mit Nano-Glow */
#vision .elementor-element-25c1175{
  background:radial-gradient(90% 130% at 88% -12%, rgba(64,120,200,.20), rgba(64,120,200,0) 62%),
             linear-gradient(135deg,#0A0F18 0%,#131F30 100%);
  border-radius:14px; padding:30px 34px; margin-top:12px;
}
#vision .elementor-element-25c1175 p{ margin:0; }
#vision .elementor-element-25c1175 p:first-child{ margin-bottom:12px; }
#vision .elementor-element-25c1175 p:first-child{
  font-family:'Source Sans 3',sans-serif !important; font-weight:700 !important;
  font-size:12.5px !important; letter-spacing:.18em; text-transform:uppercase; color:#D4BA82 !important;
  line-height:1.4 !important;
}
#vision .elementor-element-25c1175 p:first-child strong{ font:inherit; color:inherit; }
#vision .elementor-element-25c1175 p:last-child{
  color:#EDF1F6; font-family:var(--font-display,'Nohemi',sans-serif); font-weight:600;
  font-size:clamp(19px,1.55vw,23px); line-height:1.38; letter-spacing:-.01em; max-width:34ch;
}
/* Pfeiler-Raster klar absetzen */
#vision .np-featlist{ border-top:1px solid #E4DED2; padding-top:24px; margin-top:28px; }
@media (max-width:640px){
  #vision .elementor-element-25c0eee{ padding:20px 20px; }
  #vision .elementor-element-25c1175{ padding:24px 22px; }
}
/* materials marquee: basis (wiederhergestellt 3.55.4) */
.np-matmarquee{ overflow:hidden; width:100%; margin:34px 0 0;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
  mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent); }
.np-matmarquee__track{ display:inline-flex; white-space:nowrap; padding:4px 0;
  animation:npMatScroll 36s linear infinite; will-change:transform; }
.np-mat{ display:inline-flex; align-items:center; gap:9px; margin-right:12px;
  padding:9px 16px; background:#FFFFFF; border:1px solid #E4DED2; border-radius:999px;
  font-size:14.5px; font-weight:600; color:#131F30; }
.np-mat__dot{ width:9px; height:9px; background:#C2A36B; flex:none;
  clip-path:polygon(25% 5%,75% 5%,100% 50%,75% 95%,25% 95%,0% 50%); }
@keyframes npMatScroll{ from{transform:translateX(0)} to{transform:translateX(-50%)} }
@media (prefers-reduced-motion: reduce){
  .np-matmarquee__track{ animation:none; flex-wrap:wrap; white-space:normal; }
}
/* ===== delivery-kaesten (Korrekturtabelle 10.09.2026) ===== */
#delivery .np-dmgrid{ gap:18px; align-items:stretch; }
#delivery .np-dmgrid > .e-con{ min-width:0; }
#delivery .np-dmcard{ background:#FFFFFF; border:1px solid #E4DED2; border-top:3px solid #C2A36B; border-radius:12px; padding:26px 24px; }
#delivery .np-dmcard .elementor-heading-title{ font-size:1.05rem; margin-bottom:6px; }
@media(max-width:860px){ #delivery .np-dmgrid{ flex-direction:column; } }

/* ===== archive note (EmpCo 15.09.2026) ===== */
.np-archive-note{ font-size:.92em; color:#6C7683; border-left:3px solid #C2A36B; background:#F5F2EC; padding:10px 14px; border-radius:0 8px 8px 0; margin-bottom:1.6em; }

/* =========================================================
   PRESS CLIPPINGS WITH PDF — compact document layout (single) + PDF cards
   ========================================================= */
body.pdf-clipping .elementor-element-a1b0005{ display:grid !important; grid-template-columns:200px minmax(0,1fr); column-gap:52px; align-items:start; max-width:920px !important; }
body.pdf-clipping .elementor-element-a1b0005 > .elementor-element{ width:auto !important; max-width:none !important; min-width:0; margin:0 !important; }
body.pdf-clipping .np-article__img{ position:sticky; top:120px; }
body.pdf-clipping .np-article__img img{ display:block; width:100% !important; height:auto !important; max-height:300px; object-fit:contain; border-radius:0 !important; box-shadow:none !important; background:#fff; }
.np-doccover{ display:block; position:relative; border-radius:6px; overflow:hidden; background:#fff; box-shadow:0 0 0 1px #E4DED2, 0 22px 40px -22px rgba(12,18,28,.45); transition:transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s ease; }
.np-doccover:hover{ transform:translateY(-4px); box-shadow:0 0 0 1px #d4ba82, 0 30px 52px -24px rgba(12,18,28,.5); }
.np-doccover__tag,
.elementor-posts--skin-classic .elementor-post.np-has-pdf .elementor-post__thumbnail::after{ position:absolute; top:10px; left:10px; z-index:2; padding:5px 10px 5px 25px; border-radius:999px; background:#0C121C url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 14'%3E%3Cpath d='M1 1h6l4 4v8H1z' fill='none' stroke='%23d4ba82' stroke-width='1.4' stroke-linejoin='round'/%3E%3Cpath d='M7 1v4h4' fill='none' stroke='%23d4ba82' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat 9px 50%/10px 12px; color:#d4ba82; font-size:10.5px; font-weight:800; letter-spacing:.14em; line-height:1.2; pointer-events:none; }
.elementor-posts--skin-classic .elementor-post.np-has-pdf .elementor-post__thumbnail::after{ content:'PDF'; }
.np-doccover__open{ position:absolute; left:0; right:0; bottom:0; padding:26px 12px 11px; background:linear-gradient(180deg,rgba(12,18,28,0),rgba(12,18,28,.8)); color:#fff; font-size:12.5px; font-weight:700; letter-spacing:.02em; text-align:center; opacity:0; transition:opacity .25s ease; }
.np-doccover:hover .np-doccover__open, .np-doccover:focus-visible .np-doccover__open{ opacity:1; }
@media (hover:none){ .np-doccover__open{ opacity:1; } }

body.pdf-clipping .elementor-element-a1b0005 .elementor-widget-theme-post-content{ margin-top:0 !important; }
body.pdf-clipping .elementor-element-a1b0005 .fusion-fullwidth,
body.pdf-clipping .elementor-element-a1b0005 .fusion-builder-row,
body.pdf-clipping .elementor-element-a1b0005 .fusion-layout-column,
body.pdf-clipping .elementor-element-a1b0005 .fusion-column-wrapper{ margin:0 !important; padding:0 !important; max-width:none !important; width:auto !important; }
body.pdf-clipping .elementor-element-a1b0005 .fusion-text p{ font-family:var(--font-display); font-size:26px; font-weight:600; line-height:1.3; color:#0C121C; margin:0 0 28px; }
body.pdf-clipping .elementor-element-a1b0005 .fusion-button i{ display:none; }
body.pdf-clipping .elementor-element-a1b0005 .elementor-widget-theme-post-content a.fusion-button:not(.np-docbtn){ display:inline-block; margin-top:20px; font-size:15px; }
body.pdf-clipping .elementor-widget-theme-post-content a.np-docbtn{ display:inline-flex; align-items:center; gap:14px; padding:14px 26px 14px 16px; border-radius:12px; background:linear-gradient(135deg,#dcc48f,#c2a36b); color:#0C121C; text-decoration:none; box-shadow:0 14px 30px -14px rgba(151,118,55,.65); transition:transform .25s cubic-bezier(.22,1,.36,1), box-shadow .25s ease; }
body.pdf-clipping .elementor-widget-theme-post-content a.np-docbtn:hover{ transform:translateY(-2px); box-shadow:0 20px 36px -14px rgba(151,118,55,.75); color:#0C121C; text-decoration:none; }
.np-docbtn__ic{ flex:none; width:32px; height:38px; }
.np-docbtn__txt{ display:flex; flex-direction:column; line-height:1.25; text-align:left; }
.np-docbtn__label{ font-weight:700; font-size:16px; }
.np-docbtn__meta{ font-size:12.5px; font-weight:600; opacity:.72; margin-top:2px; }
@media (max-width:767px){
  body.pdf-clipping .elementor-element-a1b0005{ grid-template-columns:1fr; row-gap:28px; }
  body.pdf-clipping .elementor-element-a1b0005 > .np-article__img{ position:static; max-width:130px !important; }
  body.pdf-clipping .elementor-element-a1b0005 .fusion-text p{ font-size:21px; margin-bottom:22px; }
  body.pdf-clipping .elementor-widget-theme-post-content a.np-docbtn{ display:flex; width:100%; box-sizing:border-box; }
}

.elementor-posts--skin-classic .elementor-post.np-has-pdf .elementor-post__thumbnail{ background:linear-gradient(160deg,#F4F0E7,#E7E0D0); }
.elementor-posts--skin-classic .elementor-post.np-has-pdf .elementor-post__thumbnail img{ object-fit:contain; padding:18px 18px 16px; box-sizing:border-box; filter:drop-shadow(0 10px 14px rgba(12,18,28,.25)); }
.elementor-posts--skin-classic .elementor-post.np-has-pdf:hover .elementor-post__thumbnail img{ transform:scale(1.04) !important; }
.elementor-post.np-has-pdf .elementor-post__read-more{ display:inline-flex; align-items:center; gap:8px; }
.elementor-post.np-has-pdf .elementor-post__read-more::before{ content:''; flex:none; width:11px; height:13px; background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 14'%3E%3Cpath d='M1 1h6l4 4v8H1z' fill='none' stroke='%23AB8B4C' stroke-width='1.4' stroke-linejoin='round'/%3E%3Cpath d='M7 1v4h4' fill='none' stroke='%23AB8B4C' stroke-width='1.4' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat center/contain; }
/* ===== delivery: compact rows on desktop (Feedback 15.09.2026) ===== */
@media (min-width:861px){
  #delivery .np-dmgrid{ flex-direction:column !important; flex-wrap:nowrap !important; gap:10px !important; padding:0 !important; margin-top:24px !important; }
  #delivery .np-dmgrid > .np-dmcard{ width:100% !important; --width:100%; display:grid !important; grid-template-columns:210px minmax(0,1fr); column-gap:24px; align-items:baseline; padding:16px 22px !important; border-top:1px solid #E4DED2 !important; border-left:3px solid #C2A36B !important; border-radius:10px !important; }
  #delivery .np-dmcard > .elementor-element{ width:auto !important; }
  #delivery .np-dmcard .elementor-heading-title{ margin:0 !important; line-height:1.35; }
  #delivery .np-dmcard .elementor-widget-text-editor p{ margin:0 !important; font-size:15px; line-height:1.55; }
}
/* =========================================================
   LEGAL PAGES (imprint / privacy) — own legal nav: switch + chapter TOC
   ========================================================= */
.np-legal{ display:grid; grid-template-columns:250px minmax(0,1fr); gap:48px; align-items:start; width:100%; max-width:1140px; margin:0 auto; }
.np-legal__nav{ position:sticky; top:110px; display:flex; flex-direction:column; gap:18px; min-width:0; }
.np-legal__switch{ display:flex; gap:4px; padding:4px; background:#fff; border:1px solid #E4DED2; border-radius:999px; }
.np-legal__switch a{ flex:1; text-align:center; padding:9px 10px; border-radius:999px; font-size:13.5px; font-weight:700; line-height:1.2; color:#46525F; text-decoration:none; transition:background .2s ease, color .2s ease; }
.np-legal__switch a:hover{ color:#0C121C; }
.np-legal__switch a.is-active{ background:#0C121C; color:#D4BA82; }
.np-legal__toclabel{ font-size:11.5px; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#957637; }
.np-legal__toc{ list-style:none; margin:0; padding:0; border-left:1px solid #E4DED2; display:flex; flex-direction:column; }
.np-legal__toc li{ margin:0; }
.np-legal__toc a{ display:block; padding:6px 0 6px 16px; margin-left:-1px; border-left:2px solid transparent; font-size:14px; line-height:1.4; color:#5B6574; text-decoration:none; transition:color .2s ease, border-color .2s ease; }
.np-legal__toc a:hover{ color:#0C121C; }
.np-legal__toc a.is-active{ color:#0C121C; border-left-color:#C2A36B; font-weight:600; }
.np-legal__doc{ display:flex; flex-direction:column; gap:16px; min-width:0; }
.np-legal__sec{ background:#fff; border:1px solid #E4DED2; border-radius:14px; padding:26px 30px; scroll-margin-top:110px; }
.np-legal__sec h2{ font-family:var(--font-display); font-size:21px; font-weight:600; line-height:1.3; color:#0C121C; margin:0 0 12px; }
.np-legal__sec p, .np-legal__sec li{ font-size:16px; line-height:1.7; color:#2A3442; }
.np-legal__sec p{ margin:0 0 12px; }
.np-legal__sec p:last-child{ margin-bottom:0; }
.np-legal__sec ul{ margin:0 0 12px; padding-left:1.2em; }
.np-legal__sec li{ margin-bottom:4px; }
.np-legal__sec li::marker{ color:#C2A36B; }
.np-legal__sec a{ color:#957637; text-decoration:underline; text-decoration-color:rgba(194,163,107,.45); text-underline-offset:3px; overflow-wrap:anywhere; }
.np-legal__sec a:hover{ text-decoration-color:#957637; }
.np-legal__sec .np-legal__box{ background:#F7F1E4; border-left:3px solid #C2A36B; border-radius:8px; padding:14px 16px; margin:4px 0 12px; }
@media (max-width:900px){
  .np-legal{ grid-template-columns:1fr; gap:22px; }
  .np-legal__nav{ position:static; }
  .np-legal__toclabel{ display:none; }
  .np-legal__toc{ flex-direction:row; flex-wrap:nowrap; overflow-x:auto; gap:6px; border-left:0; padding-bottom:4px; scrollbar-width:none; }
  .np-legal__toc a{ white-space:nowrap; margin:0; padding:7px 12px; border:1px solid #E4DED2; border-radius:999px; background:#fff; font-size:13px; }
  .np-legal__toc a.is-active{ border-color:#C2A36B; }
  .np-legal__sec{ padding:20px 18px; }
}
/* =========================================================
   SUB-PAGE STRUCTURE — cards for titled text runs, note boxes, list panels, ink accent section (fx.js structureSections)
   ========================================================= */
.np-tgrid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; width:100%; margin:6px 0; }
.np-tgrid--single{ grid-template-columns:1fr; }
.np-tgrid--odd > .np-tcard:last-child{ grid-column:1 / -1; }
.np-tcard{ display:flex; flex-direction:column; gap:10px; min-width:0; background:#FFFFFF; border:1px solid #E4DED2; border-top:3px solid #C2A36B; border-radius:12px; padding:22px 24px; box-shadow:0 12px 26px -20px rgba(12,18,28,.22); }
.np-sec--white .np-tcard{ background:#FAF8F3; }
.np-tcard > .elementor-element{ margin:0 !important; width:100% !important; max-width:100% !important; }
.np-tcard .elementor-widget-text-editor p:last-child{ margin-bottom:0; }
.np-tcard__title p{ margin:0 !important; }
.np-tcard__title b, .np-tcard__title strong{ font-family:var(--font-display); font-size:19px; font-weight:600; line-height:1.3; color:#0C121C; }
.np-notebox{ border-left:3px solid #C2A36B; background:rgba(194,163,107,.09); border-radius:8px; padding:12px 16px !important; }
.np-notebox p{ margin:0 !important; }
.np-tcard .np-notebox{ margin-top:auto !important; background:transparent; border-left:0; border-top:1px solid #E4DED2; border-radius:0; padding:12px 0 0 !important; }
.np-listpanel{ background:#FFFFFF; border:1px solid #E4DED2; border-radius:14px; padding:20px 22px !important; }
.np-sec--white .np-listpanel{ background:#FAF8F3; }
.e-con.e-parent.np-sec--ink.np-sec--ink.np-sec--ink{ background:#132036 linear-gradient(180deg,#18283F 0%,#0F1929 100%) !important; }
.np-sec--ink .elementor-heading-title{ color:#FFFFFF !important; }
.np-sec--ink .np-eyebrow .elementor-heading-title{ color:#D4BA82 !important; }
.np-sec--ink .elementor-widget-text-editor, .np-sec--ink .elementor-widget-text-editor p{ color:#B9C3D0 !important; }
.np-sec--ink .np-notebox{ background:rgba(212,186,130,.08); }
.np-sec--ink .np-notebox p{ color:#95A1B2 !important; }
.np-sec--ink .elementor-icon-list-text{ color:#E3E7EC !important; }
.np-sec--ink .np-listpanel, .np-sec--ink .np-tcard{ background:rgba(255,255,255,.04) !important; border-color:rgba(255,255,255,.1) !important; box-shadow:none; }
.np-sec--ink .np-tcard{ border-top-color:#C2A36B !important; }
.np-sec--ink .np-tcard__title b, .np-sec--ink .np-tcard__title strong{ color:#FFFFFF; }
.np-sec--ink .np-chip{ background:rgba(255,255,255,.06) !important; color:#E8E2D4 !important; border-color:rgba(255,255,255,.16) !important; }
.np-sec--ink .elementor-widget-text-editor a{ color:#D4BA82 !important; }
@media (max-width:860px){ .np-tgrid{ grid-template-columns:1fr; } .np-tcard{ padding:18px; } .np-listpanel{ padding:16px 16px !important; } }
/* ===== ICON-LIST CHECKS — aligned to the first text line, gold and visible on light and dark grounds (Feedback 15.09.2026) ===== */
.e-con.e-parent:not(#np-site-header):not(#np-site-footer) .elementor-widget-icon-list:not(.np-menu) .elementor-icon-list-item{ align-items:flex-start !important; }
.e-con.e-parent:not(#np-site-header):not(#np-site-footer) .elementor-widget-icon-list:not(.np-menu) .elementor-icon-list-item > .elementor-icon-list-text{ align-self:flex-start !important; }
.e-con.e-parent:not(#np-site-header):not(#np-site-footer) .elementor-widget-icon-list:not(.np-menu) .elementor-icon-list-item > .elementor-icon-list-icon{ align-self:flex-start !important; margin-top:calc((1lh - 14px) / 2) !important; }
@supports not (height:1lh){ .e-con.e-parent:not(#np-site-header):not(#np-site-footer) .elementor-widget-icon-list:not(.np-menu) .elementor-icon-list-item > .elementor-icon-list-icon{ margin-top:.36em !important; } }
.elementor-widget-icon-list svg.e-fas-check{ fill:#AB8B4C !important; }
.np-sec--ink svg.e-fas-check,
.e-con.e-parent:has(.np-amb-canvas) svg.e-fas-check,
.np-ctapanel-con svg.e-fas-check,
#np-site-footer svg.e-fas-check{ fill:#D4BA82 !important; }
/* ===== references: AI label + image note (client wording) ===== */
.np-ref__img{ position:relative; }
.np-ref__ai{ position:absolute; left:10px; bottom:10px; z-index:2; padding:4px 10px; border-radius:999px; background:rgba(12,18,28,.74); color:#FFFFFF; font-size:11px; font-weight:700; letter-spacing:.03em; line-height:1.3; pointer-events:none; }
.np-refnote{ margin-top:32px; padding:14px 18px; border-left:3px solid #C2A36B; background:rgba(194,163,107,.09); border-radius:8px; font-size:14px; line-height:1.6; color:#46525F; }
.np-refnote__t{ display:block; color:#0C121C; margin-bottom:2px; }
.np-refnote p{ margin:0; }

/* ===== Startseite: obere Aufzaehlung wie die Feature-Liste (Hexagon + fett), klickbare Anwendungs-Kacheln (Korrekturen 16.09.) ===== */
.np-hexlist{ list-style:none !important; margin:0 0 1.15em !important; padding:0 !important; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 28px; }
.np-hexlist li{ position:relative; margin:0 !important; padding-left:26px; font-weight:700; color:#0C121C; line-height:1.4; }
.np-hexlist li::marker{ content:''; }
.np-hexlist li::before{ content:''; position:absolute; left:0; top:.42em; width:12px; height:13px; background:#C2A36B; clip-path:polygon(50% 0, 100% 25%, 100% 75%, 50% 100%, 0 75%, 0 25%); }
.np-sec--ink .np-hexlist li, #np-hero .np-hexlist li{ color:#FFFFFF; }
@media (max-width:640px){ .np-hexlist{ grid-template-columns:1fr; } }
.np-apptile__link .elementor-heading-title a{ color:inherit; text-decoration:none; display:block; }
.np-apptile__link .elementor-heading-title a:hover{ color:#957637; }

/* ===== Kartentitel immer fett (Korrektur Kundin 16.09.): beim Sprachwechsel geht <b> im Absatz verloren ===== */
.np-tcard__title, .np-tcard__title p, .np-tcard__title b, .np-tcard__title strong{ font-family:var(--font-display); font-weight:700 !important; font-size:19px; line-height:1.3; color:#0C121C; }
.np-sec--ink .np-tcard__title, .np-sec--ink .np-tcard__title p, .np-sec--ink .np-tcard__title b, .np-sec--ink .np-tcard__title strong{ color:#FFFFFF; }
.np-col-right > .np-lead-into-list{ margin:0 0 14px; }
.np-col-right > .np-lead-into-list p{ margin:0; }

/* FIX 17.09 — Scroll ohne Flimmern: Einblende-Animationen aus */
.np-reveal, .np-reveal.in-view{ animation:none !important; opacity:1 !important; transform:none !important; }
.elementor-widget-heading.np-reveal:not(.in-view) h2.elementor-heading-title::after{ transform:none !important; }

/* FIX 17.09 — lange deutsche Woerter in Ueberschriften trennen statt ueberlaufen */
.np-col, .np-2col > *, .e-con > .e-con-inner > .e-con{ min-width:0; }
.elementor-heading-title, .np-indcard h3, .np-tcard__title, .np-legal h1, .np-legal h2{ overflow-wrap:break-word; }
html[lang="de"] .elementor-heading-title, html[lang="de"] .np-indcard h3, html[lang="de"] .np-tcard__title, html[lang="de"] .np-legal h1, html[lang="de"] .np-legal h2{ -webkit-hyphens:auto; hyphens:auto; hyphenate-limit-chars:12 5 5; }

/* FIX 17.09 — dezente KI-Kennzeichnung */
.np-ai-tag{ position:absolute; top:10px; right:10px; z-index:6; pointer-events:none; font-family:'Source Sans 3',sans-serif; font-size:10px; font-weight:600; line-height:1; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.86); background:rgba(10,15,24,.34); padding:4px 7px; border-radius:4px; }
.np-ai-tag::after{ content:"AI-generated"; }
html[lang="de"] .np-ai-tag::after{ content:"KI-generiert"; }
.np-ref__ai{ padding:3px 8px !important; font-size:10px !important; font-weight:600 !important; background:rgba(10,15,24,.34) !important; color:rgba(255,255,255,.86) !important; letter-spacing:.05em !important; }

/* FIX 17.09 — Formular: Erfolgsmeldung im Seitenstil */
.elementor-form .elementor-message.elementor-message-success{ display:flex; gap:12px; align-items:flex-start; margin-top:16px; padding:14px 18px; border-radius:10px; border:1px solid rgba(212,186,130,.45); border-left:3px solid #C2A36B; background:rgba(194,163,107,.10); color:#EDE6D6 !important; font-size:15px; line-height:1.5; }
.elementor-form .elementor-message.elementor-message-success::before{ content:""; flex:0 0 18px; height:18px; margin-top:2px; font-family:inherit; background:#C2A36B; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 16.2 4.8 12l-1.4 1.4L9 19 21 7l-1.4-1.4z'/%3E%3C/svg%3E") center/contain no-repeat; }
.elementor-form .elementor-message.elementor-message-danger{ margin-top:16px; padding:12px 16px; border-radius:10px; border:1px solid rgba(232,164,156,.4); background:rgba(232,164,156,.08); }
/* FIX 17.09b - Wischerbilder: Hinweis frei, alle Punkte sichtbar */
.np-compare .np-compare__pane{ padding-bottom:66px; }\n.np-compare--hero .np-compare__pane{ padding-bottom:92px; }\n@media (min-width:861px){ .np-compare--hero{ min-height:600px; } }
@media (min-width:861px){ .np-compare--hero{ min-height:560px; } }

/* FIX 17.09b - Referenzkarten ohne KI-Label (Kennzeichnung im Popup + Bildhinweis bleiben) */
article .np-ref__ai{ display:none !important; }

/* FIX 17.09b - Branchenseite Metall: strukturierte Loesungskarten */
.np-metgrid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin-top:6px; }
@media (max-width:1100px){ .np-metgrid{ grid-template-columns:1fr; } }
.np-metcard{ background:#FFFFFF; border:1px solid #E4DED2; border-top:3px solid #C2A36B; border-radius:14px; padding:22px 22px 18px; min-width:0; }
.np-metcard h3{ margin:0 0 4px; font-size:19px; letter-spacing:-.01em; color:#0A0F18; }
.np-metcard__lbl{ font:700 12px/1.4 'Source Sans 3',sans-serif; letter-spacing:.12em; text-transform:uppercase; color:#957637; margin:14px 0 9px; }
.np-metcard__lead{ font-size:14.5px; line-height:1.55; color:#46525F; margin:16px 0 6px; }
.np-metlist{ list-style:none; margin:0; padding:0; }
.np-metlist li{ position:relative; padding:4px 0 4px 24px; font-size:15px; line-height:1.5; color:#131F30; }
.np-metlist li::before{ content:""; position:absolute; left:2px; top:11px; width:8px; height:8px; background:#AB8B4C; clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%); }
.np-sec--ink .np-metcard{ background:rgba(255,255,255,.04); border-color:rgba(255,255,255,.1); }
/* TranslatePress: nur der eigene EN/DE-Umschalter im Header */
.trp-language-switcher.trp-floating-switcher{ display:none !important; }
