:root{
  --nl-primary:#0b2a4a;
  --nl-accent:#b61d2a;
  --nl-bg:#f5f6f8;
  --nl-border:#e3e6eb;
  --nl-cta-font-family: system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  --nl-cta-font-size: 15px;
  --nl-cta-font-weight: 700;

  /* Mobile menu vars */
  --nl-mrow-h:56px;
  --nl-mgap:10px;
  --nl-mpad:14px;
  --nl-mlvl-pad:18px;
  --nl-mlvl-step:10px;
}

body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;}
.site-main{background:var(--nl-bg);}

img,svg,video,iframe{max-width:100%;height:auto;}
.card-img-top{width:100%;aspect-ratio:16/9;object-fit:cover;}

*:focus-visible{outline:2px solid rgba(182,29,42,.45);outline-offset:2px;}

@media (max-width:575.98px){
  .container{padding-left:16px;padding-right:16px;}
}

.loy{display:flex;align-items:center;}
.bg-primary{background-color:var(--nl-primary)!important;}
.btn-danger{background-color:var(--nl-accent);border-color:var(--nl-accent);}
.btn-outline-danger{border-color:var(--nl-accent);color:var(--nl-accent);}
.btn-outline-danger:hover{background:var(--nl-accent);border-color:var(--nl-accent);}

/* Unified CTA typography for order/callback/choose actions */
.btn.nl-cta-btn,
.btn[data-nl-modal],
.nl-ajax-form .btn[type="submit"],
.nl-services-showcase__actions .btn,
.nl-recommendation-card__btn{
  font-family: var(--nl-cta-font-family);
  font-size: var(--nl-cta-font-size) !important;
  font-weight: var(--nl-cta-font-weight) !important;
  line-height: 1.2;
}

/* =========================================================
   SECTION HEAD
   ========================================================= */
.nl-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.nl-section-title{
  position:relative;
  padding-bottom:10px;
  display:inline-block;
  animation:nl-section-title-in .6s ease both;
}
.nl-section-title::after{
  content:"";
  position:absolute;left:0;bottom:0;width:100%;height:2px;
  background:linear-gradient(90deg, rgba(182,29,42,.9), rgba(182,29,42,0));
  transform-origin:left;
  animation:nl-section-underline .6s ease both;
}
.nl-unified-h1,
.nl-unified-h2{
  position:relative;
  display:inline-block;
  padding-bottom:10px;
  font-size:clamp(26px,2.2vw,36px);
  font-weight:800;
  color:var(--nl-primary);
  line-height:1.2;
  margin:0;
  animation:nl-section-title-in .6s ease both;
}
.nl-unified-h1::after,
.nl-unified-h2::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg, rgba(182,29,42,.9), rgba(182,29,42,0));
  transform-origin:left;
  animation:nl-section-underline .6s ease both;
}
@media (max-width:991.98px){
  .nl-unified-h1,
.nl-unified-h2{font-size:28px;}
}

@keyframes nl-section-title-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
@keyframes nl-section-underline{from{transform:scaleX(0);}to{transform:scaleX(1);}}

.mb-4 {
    margin-bottom: 1.0rem !important;
}

/* =========================================================
   BREADCRUMBS
   ========================================================= */
.nl-breadcrumb-wrap{
  background:#fff;
  border-bottom:1px solid rgba(11,42,74,.1);
}
.nl-breadcrumb{
  padding:10px 0;
  margin:0;
  background:transparent;
  align-items:center;
  flex-wrap:wrap;
  row-gap:6px;
}
.nl-breadcrumb .breadcrumb-item{
  font-size:14px;
  line-height:1.4;
  color:#5f6d84;
}
.nl-breadcrumb .breadcrumb-item + .breadcrumb-item::before{
  color:rgba(11,42,74,.45);
}
.nl-breadcrumb a{
  color:#5f6d84;
  text-decoration:none;
  transition:color .2s ease;
}
.nl-breadcrumb a:hover{
  color:var(--nl-accent);
}
.nl-breadcrumb .breadcrumb-item.active{
  color:var(--nl-primary);
  font-weight:600;
}
@media (max-width:575.98px){
  .nl-breadcrumb{padding:8px 0;}
  .nl-breadcrumb .breadcrumb-item{font-size:13px;}
}
/* =========================================================
   FLOAT WIDGET
   ========================================================= */
/* ========= FLOAT WIDGET (как на макете) ========= */
/* ========= FLOAT WIDGET (как на макете) ========= */
/* ===========================
   NL FLOAT WIDGET — "как на макете"
   без фона, компактные пилюли, трубка
   =========================== */

.nl-float-widget{
  position: fixed;
  z-index: 1050;

  /* дефолт: справа снизу */
  left: 30px;
    bottom: 180px;

  /* размеры макета */
  --nl-float-item-w: 270px;
  --nl-float-item-h: 46px;
  --nl-float-gap: 10px;

  /* размеры иконки-кружка */
  --nl-float-icon-size: 38px;
  --nl-float-icon-wrap: 46px;

  /* тень/обводка как на скрине */
  --nl-float-pill-shadow: 0 14px 28px rgba(0,0,0,.18);
  --nl-float-pill-border: rgba(255,255,255,.22);

  /* красная кнопка */
  --nl-float-red1: #b3121f;
  --nl-float-red2: #ff2d2d;

  width: var(--nl-float-item-w);
}

/* позиции (если у вас разные значения) */
.nl-float-widget--br,
.nl-float-widget--bottom-right,
.nl-float-widget--right-bottom{
  right: 22px;
  bottom: 22px;
  left: auto;
  top: auto;
}

.nl-float-widget--bl,
.nl-float-widget--bottom-left,
.nl-float-widget--left-bottom{
  left: 22px;
  bottom: 22px;
  right: auto;
  top: auto;
}

/* список пунктов — без фона */
.nl-float-widget__items{
  position: absolute;
  right: 0;
  bottom: 74px; /* 62px кнопка + отступ */
  width: 100%;

  display: grid;
  gap: var(--nl-float-gap);

  padding: 0;
  background: transparent;

  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .18s ease, transform .18s ease;
}

.nl-float-widget.is-open .nl-float-widget__items{
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Пилюли */
.nl-float-widget__item{
  position: relative;
  display: grid;
  grid-template-columns: var(--nl-float-icon-wrap) 1fr;
  align-items: center;

  width: 75%;
  height: var(--nl-float-item-h);
  padding: 0 14px 0 0;

  border-radius: 999px;
  border: 1px solid var(--nl-float-pill-border);

  /* цвет из админки */
  background:
    linear-gradient(180deg, rgba(255,255,255,.14), rgba(0,0,0,.08)),
    var(--nl-float-bg, #2b8cff);

  box-shadow: var(--nl-float-pill-shadow);
  text-decoration: none;
  cursor: pointer;
  outline: none;

  opacity: 0;
  transform: translateY(8px) scale(.99);
  transition:
    transform .22s cubic-bezier(.2,.8,.2,1),
    opacity .22s ease,
    filter .15s ease;
}

.nl-float-widget.is-open .nl-float-widget__item{
  opacity: 1;
  transform: translateY(0) scale(1);
}

/* появление по очереди */
.nl-float-widget.is-open .nl-float-widget__item:nth-child(1){ transition-delay: 0ms; }
.nl-float-widget.is-open .nl-float-widget__item:nth-child(2){ transition-delay: 60ms; }
.nl-float-widget.is-open .nl-float-widget__item:nth-child(3){ transition-delay: 120ms; }
.nl-float-widget.is-open .nl-float-widget__item:nth-child(4){ transition-delay: 180ms; }
.nl-float-widget.is-open .nl-float-widget__item:nth-child(5){ transition-delay: 240ms; }

.nl-float-widget__item:hover{
  filter: brightness(1.05);
  transform: translateY(-1px) scale(1.01);
}

.nl-float-widget__item:active{
  transform: translateY(0) scale(1);
}

/* кружок слева */
.nl-float-widget__icon{
  width: var(--nl-float-icon-size);
  height: var(--nl-float-icon-size);
  border-radius: 999px;
  margin-left: 6px;

  display: grid;
  place-items: center;

  background: var(--nl-float-icon-bg, rgba(255,255,255,.95));
  color: var(--nl-float-icon-color, rgba(0,0,0,.78));

  border: 2px solid rgba(255,255,255,.55);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.35),
    0 10px 18px rgba(0,0,0,.22);
}

.nl-float-widget__icon i{
  font-size: 18px;
  line-height: 1;
  color: inherit;
}

/* текст внутри кружка (если нет icon_class) */
.nl-float-widget__icon-text{
  font-weight: 900;
  font-size: 14px;
  letter-spacing: .4px;
}

/* подпись */
.nl-float-widget__label{
  font-weight: 800;
  font-size: 16px;
  color: rgba(255,255,255,.95);
  text-shadow: 0 2px 10px rgba(0,0,0,.22);

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
      text-align: left;
}

/* ===== КНОПКА-ТОГГЛ снизу (красная, как на скрине) ===== */
.nl-float-widget__toggle{
  position: absolute;
  left: -6px;
  bottom: -6px;

  width: 62px;
  height: 62px;
  border-radius: 999px;
  border: none;
  cursor: pointer;

  background:
    radial-gradient(18px 18px at 30% 28%, rgba(255,255,255,.35), transparent 60%),
    linear-gradient(145deg, var(--nl-float-red1), var(--nl-float-red2));

  box-shadow:
    0 26px 55px rgba(0,0,0,.32),
    0 18px 35px rgba(179,18,31,.25),
    inset 0 2px 0 rgba(255,255,255,.22);

  display: grid;
  place-items: center;
  transition: transform .14s ease, filter .14s ease, box-shadow .14s ease;
}

.nl-float-widget__toggle:hover{
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.nl-float-widget__toggle:active{
  transform: translateY(0);
}

/* иконка внутри — svg трубка */
.nl-float-widget__toggle-icon{
  width: 26px;
  height: 26px;
  display: block;
  position: relative;
  z-index: 1;
}

/* минимальная мягкая пульсация */
.nl-float-widget__toggle::after{
  content: "";
  position: absolute;
  inset: -3px;
  border-radius: 999px;
  pointer-events: none;
  box-shadow: 0 0 0 0 rgba(182,29,42,.50);
  opacity: 0;
  animation: nlFloatPulseSoft 1.55s ease-out infinite;
}

.nl-float-widget.is-open .nl-float-widget__toggle::after{
  animation: none;
}

@keyframes nlFloatPulseSoft{
  0%{
    transform: scale(1);
    box-shadow: 0 0 0 0 rgba(182,29,42,.50);
    opacity: 0;
  }
  14%{
    opacity: .72;
  }
  62%{
    transform: scale(1.28);
    box-shadow: 0 0 0 24px rgba(182,29,42,0);
    opacity: 0;
  }
  100%{
    transform: scale(1.28);
    box-shadow: 0 0 0 24px rgba(182,29,42,0);
    opacity: 0;
  }
}

.nl-float-widget__toggle.is-boot-shake{
  animation: nlFloatBootShake .62s cubic-bezier(.36,.07,.19,.97) 1;
}

@keyframes nlFloatBootShake{
  0%,100%{transform:translateX(0) rotate(0deg);}
  12%{transform:translateX(-1.4px) rotate(-2deg);}
  24%{transform:translateX(1.4px) rotate(2deg);}
  36%{transform:translateX(-1.1px) rotate(-1.6deg);}
  48%{transform:translateX(1.1px) rotate(1.6deg);}
  60%{transform:translateX(-.8px) rotate(-1.1deg);}
  72%{transform:translateX(.8px) rotate(1.1deg);}
}

/* если слева снизу — зеркалим */
.nl-float-widget--bl .nl-float-widget__toggle,
.nl-float-widget--bottom-left .nl-float-widget__toggle,
.nl-float-widget--left-bottom .nl-float-widget__toggle{
  left: auto;
  right: -6px;
}
.nl-float-widget--bl .nl-float-widget__items,
.nl-float-widget--bottom-left .nl-float-widget__items,
.nl-float-widget--left-bottom .nl-float-widget__items{
  left: 0;
  right: auto;
}

/* mobile */
@media (max-width: 520px){
  .nl-float-widget{
    right: 15px;
    bottom: 100px;
    width: 240px;
  }
}



/* =========================================================
   COOKIE BANNER
   ========================================================= */
.nl-cookie-banner{
  position:fixed;left:0;right:0;bottom:0;
  padding:18px 0 22px;
  color:#fff;z-index:1060;
}
.nl-cookie-banner__card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  padding:16px 20px;
  border-radius:20px;
  background:linear-gradient(135deg, rgba(20,28,52,.95), rgba(10,16,32,.9));
  border:1px solid rgba(255,255,255,.14);
  box-shadow:0 16px 32px rgba(0,0,0,.4);
}
.nl-cookie-banner__icon{
  width:56px;height:56px;border-radius:18px;
  display:flex;align-items:center;justify-content:center;
  font-size:30px;
  background:rgba(255,255,255,.12);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.2);
}
.nl-cookie-banner__content{display:flex;flex-direction:column;gap:4px;}
.nl-cookie-banner__title{font-size:18px;font-weight:700;}
.nl-cookie-banner__text{font-size:15px;color:rgba(255,255,255,.85);margin:0;}
.nl-cookie-banner__link{color:#8bb5ff;font-size:14px;text-decoration:none;}
.nl-cookie-banner__link:hover{text-decoration:underline;color:#b5d2ff;}
.nl-cookie-banner__btn{
  border:none;border-radius:10px;padding:10px 18px;
  font-weight:600;color:#fff;
  background:linear-gradient(135deg, #c51e2d, #ff3b3b);
  box-shadow:0 10px 20px rgba(197,30,45,.35);
  transition:transform .2s ease, box-shadow .2s ease;
}
.nl-cookie-banner__btn:hover{transform:translateY(-1px);box-shadow:0 14px 24px rgba(197,30,45,.45);}
@media (max-width:767.98px){
  .nl-cookie-banner__card{grid-template-columns:1fr;text-align:center;}
  .nl-cookie-banner__icon{margin:0 auto;}
  .nl-cookie-banner__btn{width:100%;}
}

/* =========================================================
   SERVICES (cards)
   ========================================================= */
.nl-service-card{
  border-radius:12px;
  border:1px solid var(--nl-border);
  text-align:center;
  background:#fff;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  will-change:transform;
}
.nl-service-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 28px rgba(11,42,74,.12);
  border-color:rgba(11,42,74,.2);
}
.nl-service-icon{
  width:120px;height:120px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto;
}
.nl-service-icon img{max-width:120px;max-height:120px;object-fit:contain;}
.nl-service-icon i{font-size:34px;color:var(--nl-primary);}
.nl-service-icon__text{font-weight:700;font-size:22px;color:var(--nl-primary);}

/* =========================================================
   HOME SERVICES - EDITORIAL CORPORATE
   ========================================================= */
.nl-services-corporate-head{
  margin-bottom:18px;
}
.nl-services-corporate__subtitle{
  max-width:840px;
  margin:0 0 30px;
  color:#6d7d97;
  font-size:18px;
  line-height:1.65;
}
.nl-services-corporate__grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:26px 30px;
}
.nl-services-corporate__card{
  position:relative;
  display:grid;
  grid-template-columns:66px minmax(0, 1.08fr) minmax(240px, .88fr);
  gap:18px 20px;
  align-items:start;
  min-height:248px;
  padding:28px 28px 24px 32px;
  border:1px solid #d4deef;
  border-radius:28px;
  background:linear-gradient(180deg, #ffffff 0%, #fbfcff 100%);
  box-shadow:0 18px 42px rgba(28, 59, 106, .08);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.nl-services-corporate__card:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 46px rgba(28, 59, 106, .12);
  border-color:#c2d0e8;
}
.nl-services-corporate__accent{
  position:absolute;
  left:0;
  top:22px;
  bottom:22px;
  width:6px;
  border-radius:0 10px 10px 0;
  background:linear-gradient(180deg, #d11f31 0%, #b81d2a 100%);
  box-shadow:0 10px 24px rgba(182,29,42,.18);
}
.nl-services-corporate__icon{
  display:flex;
  align-items:center;
  justify-content:center;
  width:60px;
  height:60px;
  margin-top:4px;
  border-radius:18px;
  border:1px solid #f3dfe4;
  background:#fdf0f2;
}
.nl-services-corporate__icon img{
  width:44px;
  height:44px;
  object-fit:contain;
}
.nl-services-corporate__icon i{
  font-size:26px;
  color:#d02537;
}
.nl-services-corporate__icon-letter{
  color:#d02537;
  font-size:24px;
  font-weight:900;
}
.nl-services-corporate__main{
  min-width:0;
  min-height:100%;
  display:flex;
  flex-direction:column;
}
.nl-services-corporate__title{
  max-width:255px;
  margin:0 0 8px;
  color:var(--nl-primary);
  font-size:25px;
  font-weight:800;
  line-height:1.12;
  letter-spacing:-.02em;
}
.nl-services-corporate__text{
  margin:0;
  max-width:270px;
  color:#6c7b95;
  font-size:15px;
  line-height:1.62;
}
.nl-services-corporate__chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:auto;
  padding-top:16px;
}
.nl-services-corporate__chip{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:5px 12px;
  border-radius:999px;
  font-size:13px;
  font-weight:800;
  line-height:1.1;
  white-space:nowrap;
}
.nl-services-corporate__chip--price{
  color:#d02537;
  background:#fdecef;
  border:1px solid #f6d4da;
}
.nl-services-corporate__chip--term{
  color:#4d688f;
  background:#edf3fb;
  border:1px solid #dbe6f5;
}
.nl-services-corporate__aside{
  display:flex;
  flex-direction:column;
  align-self:stretch;
  min-width:0;
  min-height:100%;
  padding-top:4px;
}
.nl-services-corporate__points{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:12px;
}
.nl-services-corporate__points li{
  position:relative;
  padding-left:18px;
  color:#7a89a1;
  font-size:14px;
  line-height:1.48;
}
.nl-services-corporate__points li::before{
  content:"";
  position:absolute;
  left:0;
  top:.56em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:#d02537;
}
.nl-services-corporate__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:14px;
  margin-top:auto;
  padding-top:20px;
}
.nl-services-corporate__order{
  min-width:114px;
  min-height:48px;
  padding:11px 20px;
  border-radius:14px;
  font-weight:700;
  box-shadow:0 12px 20px rgba(182,29,42,.14);
}
.nl-services-corporate__detail{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--nl-primary);
  font-size:15px;
  font-weight:700;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}
.nl-services-corporate__detail:hover{
  color:#9f1826;
}
@media (max-width:1399.98px){
  .nl-services-corporate__card{
    grid-template-columns:66px minmax(0, 1fr) minmax(220px, .84fr);
    padding-right:24px;
  }
}
@media (max-width:1199.98px){
  .nl-services-corporate__grid{
    grid-template-columns:1fr;
  }
}
@media (max-width:991.98px){
  .nl-services-corporate__subtitle{
    font-size:17px;
    margin-bottom:26px;
  }
  .nl-services-corporate__card{
    grid-template-columns:60px minmax(0, 1fr);
    gap:18px 18px;
    padding:22px 22px 20px 28px;
    min-height:auto;
  }
  .nl-services-corporate__main{
    grid-column:2;
  }
  .nl-services-corporate__aside{
    grid-column:1 / -1;
    padding-left:78px;
    gap:14px;
  }
  .nl-services-corporate__actions{
    justify-content:flex-start;
    padding-top:10px;
  }
}
@media (max-width:767.98px){
  .nl-services-corporate-head{
    margin-bottom:14px;
  }
  .nl-services-corporate__subtitle{
    font-size:16px;
    line-height:1.6;
  }
  .nl-services-corporate__grid{
    gap:18px;
  }
  .nl-services-corporate__card{
    grid-template-columns:1fr;
    padding:22px 18px 18px 22px;
    border-radius:24px;
  }
  .nl-services-corporate__accent{
    top:18px;
    bottom:18px;
    width:6px;
  }
  .nl-services-corporate__icon,
  .nl-services-corporate__main,
  .nl-services-corporate__aside{
    grid-column:auto;
  }
  .nl-services-corporate__aside{
    padding-left:0;
  }
  .nl-services-corporate__title{
    font-size:22px;
    max-width:none;
  }
  .nl-services-corporate__actions{
    flex-direction:column;
    align-items:stretch;
  }
  .nl-services-corporate__order,
  .nl-services-corporate__detail{
    width:100%;
    justify-content:center;
  }
}




/* =========================================================
   TARIFFS
   ========================================================= */
.nl-tariff-matrix__subtitle{
  max-width:760px;
  margin-top:14px;
  font-size:16px;
  line-height:1.65;
  color:#6d7b92;
}
.nl-tariff-matrix{
  margin-top:18px;
}
.nl-tariff-matrix__grid{
  display:grid;
  gap:1px;
  border-radius:0;
}
.nl-tariff-matrix__corner,
.nl-tariff-matrix__head,
.nl-tariff-matrix__label,
.nl-tariff-matrix__cell{
  min-height:78px;
}
.nl-tariff-matrix__corner{
  display:flex;
  align-items:center;
  padding:18px 20px;
  font-size:18px;
  font-weight:800;
  line-height:1.2;
  color:#ffffff;
  border-radius:0;
  background:linear-gradient(135deg, #334e73 0%, #2a425f 100%);
}
.nl-tariff-matrix__head{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:18px 20px;
  border-radius:0;
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.16);
}
.nl-tariff-matrix__head--1{background:linear-gradient(135deg, #274b7d 0%, #18355f 100%);}
.nl-tariff-matrix__head--2{background:linear-gradient(135deg, #33588f 0%, #214572 100%);}
.nl-tariff-matrix__head--3{background:linear-gradient(135deg, #da7337 0%, #bf5720 100%);}
.nl-tariff-matrix__head--4{background:linear-gradient(135deg, #8e2940 0%, #6f2032 100%);}
.nl-tariff-matrix__head--popular{
  box-shadow:0 14px 26px rgba(191, 31, 44, .18);
}
.nl-tariff-matrix__head-title{
  font-size:18px;
  font-weight:800;
  line-height:1.2;
}
.nl-tariff-matrix__head-title-link{
  color:#fff;
  text-decoration:none;
}
.nl-tariff-matrix__head-title-link:hover{
  color:#fff;
  text-decoration:underline;
  text-decoration-color:rgba(255,255,255,.9);
  text-underline-offset:4px;
}
.nl-tariff-matrix__head-title-link:focus-visible{
  outline:2px solid rgba(255,255,255,.75);
  outline-offset:2px;
}
.nl-tariff-matrix__badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:28px;
  padding:0 12px;
  border-radius:999px;
  background:#be1f2c;
  color:#fff;
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}
.nl-tariff-matrix__label,
.nl-tariff-matrix__cell{
  display:flex;
  align-items:center;
  padding:18px 20px;
  background:#fff;
}
.nl-tariff-matrix__label{
  border-radius:0;
  font-size:15px;
  font-weight:700;
  line-height:1.45;
  color:#233b60;
}
.nl-tariff-matrix__label--cta{
  align-items:center;
}
.nl-tariff-matrix__cell{
  border-radius:0;
  font-size:15px;
  line-height:1.55;
  color:#5f6f87;
}
.nl-tariff-matrix__cell--price{
  gap:8px;
  color:#16375f;
}
.nl-tariff-matrix__cell--price strong{
  display:block;
  font-size:28px;
  font-weight:800;
  line-height:1;
  color:#183a63;
}
.nl-tariff-matrix__cell--price span{
  font-size:14px;
  font-weight:700;
  color:#75849c;
}
.nl-tariff-matrix__cell--cta{
  align-items:center;
}
.nl-tariff-mobile-card{
  height:100%;
  padding:20px;
  border:1px solid #dce5f0;
  border-radius:0;
  background:#fff;
  box-shadow:0 16px 34px rgba(16, 38, 68, .08);
}
.nl-tariff-mobile-card--popular{
  border-color:rgba(191, 31, 44, .28);
  box-shadow:0 16px 34px rgba(191, 31, 44, .12);
}
.nl-tariff-mobile-card__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.nl-tariff-mobile-card__title{
  font-size:22px;
  font-weight:800;
  line-height:1.2;
  color:#17375f;
}
.nl-tariff-mobile-card__title-link{
  color:#17375f;
  text-decoration:none;
}
.nl-tariff-mobile-card__title-link:hover{
  color:#17375f;
  text-decoration:underline;
  text-decoration-color:rgba(23,55,95,.6);
  text-underline-offset:4px;
}
.nl-tariff-mobile-card__price{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin-top:14px;
}
.nl-tariff-mobile-card__price strong{
  font-size:30px;
  font-weight:800;
  line-height:1;
  color:#17375f;
}
.nl-tariff-mobile-card__price span{
  margin-top:8px;
  font-size:14px;
  font-weight:700;
  color:#7b889e;
}
.nl-tariff-mobile-card__rows{
  display:grid;
  gap:10px;
  margin:18px 0 20px;
}
.nl-tariff-mobile-card__row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:12px 14px;
  border-radius:0;
  background:#f7f9fc;
}
.nl-tariff-mobile-card__row span{
  flex:0 0 120px;
  font-size:13px;
  font-weight:700;
  line-height:1.45;
  color:#6e7c93;
}
.nl-tariff-mobile-card__row strong{
  flex:1 1 auto;
  font-size:14px;
  font-weight:700;
  line-height:1.45;
  color:#263d61;
  text-align:right;
}
@media (max-width:991.98px){
  .nl-tariff-matrix__subtitle{
    font-size:15px;
    max-width:none;
  }
}
@media (max-width:575.98px){
  .nl-tariff-mobile-card{
    padding:16px;
    border-radius:0;
  }
  .nl-tariff-mobile-card__title{
    font-size:20px;
  }
  .nl-tariff-mobile-card__price strong{
    font-size:26px;
  }
  .nl-tariff-mobile-card__row{
    padding:10px 12px;
    gap:10px;
  }
  .nl-tariff-mobile-card__row span{
    flex-basis:96px;
    font-size:12px;
  }
  .nl-tariff-mobile-card__row strong{
    font-size:13px;
  }
}
.nl-tariff-card{
  border-radius:12px;border:1px solid var(--nl-border);
  overflow:hidden;background:#fff;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  will-change:transform;
}
.nl-tariff-card:hover{
  transform:translateY(-6px);
  box-shadow:0 16px 36px rgba(11,42,74,.15);
  border-color:rgba(11,42,74,.25);
}
.nl-tariff-card__header{
  padding:16px;
  display:flex;justify-content:space-between;align-items:center;
  color:#fff;
}
.nl-tariff-card--base .nl-tariff-card__header{background:linear-gradient(90deg, #1b3b67, #264a7f);}
.nl-tariff-card--standard .nl-tariff-card__header{background:linear-gradient(90deg, #0f2e56, #1e4a7a);}
.nl-tariff-card--premium .nl-tariff-card__header{background:linear-gradient(90deg, #d66b2c, #c1561f);}
.nl-tariff-card--max .nl-tariff-card__header{background:linear-gradient(90deg, #6b1f2f, #7f2537);}
.nl-tariff-card__header .badge {
    background: rgb(180 29 44) !important;
    color: #fff !important;
}
.nl-tariff-price{font-size:28px;font-weight:800;color:var(--nl-primary);margin:8px 0 12px;}
.nl-tariff-price span{font-size:13px;font-weight:600;color:#6c7a89;margin-left:4px;}
.nl-tariff-features{list-style:none;padding-left:0;margin:14px 0 0;}
.nl-tariff-features li{position:relative;padding-left:20px;margin-bottom:8px;}
.nl-tariff-features li::before{content:"\2713";color:var(--nl-accent);font-size:12px;position:absolute;left:0;top:2px;}
.nl-tariff-card--popular{box-shadow:0 12px 30px rgba(182,29,42,.2);border-color:rgba(182,29,42,.35);}
@media (max-width:767.98px){
  .nl-section-title{font-size:20px;}
  .nl-tariff-price{font-size:16px;}
}

/* =========================================================
   HEADER + MENU + MEGA — FINAL
   ========================================================= */
.nl-nav{
  --nl-nav-h:70px;
  --nl-nav-border:3px;
  --nl-mega-gap:10px;
}
@media (max-width:991.98px){ .nl-nav{ --nl-nav-h:64px; } }

header.nl-header{background:transparent;}
.nl-header__line{display:none!important;}

.nl-nav{
  background:linear-gradient(180deg, #1E3665 0%, #1E3668 100%)!important;
  border-bottom:var(--nl-nav-border) solid var(--nl-accent);
}
.nl-nav .nl-nav__container{
  max-width:1320px;
  padding-left:26px;padding-right:26px;
  min-height:var(--nl-nav-h);
  display:flex;align-items:center;
}

/* logo */
.nl-brand{flex:0 0 auto;display:inline-flex;align-items:center;gap:10px;}
.nl-brand__logo{display:block;height:50px;width:auto;object-fit:contain;image-rendering:-webkit-optimize-contrast;}
.nl-brand__name{
  display:block;line-height:1;
  font-weight:800;font-size:22px;letter-spacing:.2px;
  color:#fff;white-space:nowrap;
}

/* actions (desktop) */
.nl-actions{flex:0 0 auto;display:flex;align-items:center;gap:10px;}
.nl-actions .btn{
  height:40px;
  padding:0 14px;
  border-radius:10px;
  display:inline-flex;align-items:center;justify-content:center;
  line-height:1;font-weight:700;white-space:nowrap;
}
.nl-actions .btn.btn-outline-light,
.nl-actions .btn.btn-danger{border-width:1px;}

/* main menu */
.nl-menu{
  flex:1 1 auto;min-width:0;
  list-style:none;margin:0;padding:0;
  display:flex;align-items:center;justify-content:center;
  gap:22px;
  height:var(--nl-nav-h);
}

.nl-menu > li,
.nl-menu__dropdown{
  height:var(--nl-nav-h);
  display:flex;align-items:center;
  position:relative;
}

/* top links */
.nl-menu > li > a,
.nl-menu__dropdown-toggle{
  height:var(--nl-nav-h);
  display:inline-flex;align-items:center;gap:6px;
  padding:0 10px;
  line-height:1;
  text-decoration:none;
  font-size:14px;font-weight:600;
  text-transform:uppercase;
  color:rgba(255,255,255,.85);
  transition:color .2s ease;
}

/* underline (inside nav, not on red border) */
.nl-menu > li > a::after, .nl-menu__dropdown-toggle::after {
    content: "";
    position: absolute;
    bottom: 21px;
    width: 80%;
    height: 2px;
    background: var(--nl-accent);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform .2s ease;
    opacity: .85;
}
.nl-menu > li > a:hover,
.nl-menu__dropdown:hover > .nl-menu__dropdown-toggle{color:#fff;}
.nl-menu > li > a:hover::after,
.nl-menu__dropdown:hover > .nl-menu__dropdown-toggle::after{transform:scaleX(1);}

/* caret */
.nl-caret{font-size:12px;opacity:.75;display:inline-block;}
.nl-menu__dropdown-toggle .nl-caret{transition:transform .2s ease;}
.nl-menu__dropdown:hover .nl-caret{transform:rotate(180deg);}

/* dropdown box under red line */
.nl-menu__dropdown-menu{
  position:absolute;
  top:calc(100% + var(--nl-nav-border) + var(--nl-mega-gap));
  left:50%;
  transform:translate(-50%,-6px);
  opacity:0;visibility:hidden;pointer-events:none;
  z-index:1000;

  border-radius:22px;
  background:rgba(15,20,40,.72);
  backdrop-filter:blur(14px);
  -webkit-backdrop-filter:blur(14px);
  border:1px solid rgba(110,160,255,.35);
  box-shadow:0 18px 45px rgba(0,0,0,.55), 0 0 0 1px rgba(255,255,255,.03) inset;
  overflow:hidden;
  transition:opacity .18s ease, transform .18s ease, visibility .18s ease;
}
.nl-menu__dropdown:hover > .nl-menu__dropdown-menu,
.nl-menu__dropdown:focus-within > .nl-menu__dropdown-menu{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translate(-50%,0);
}

/* hover-bridge (cursor won't "drop") */
.nl-menu__dropdown::after{
  content:"";
  position:absolute;
  left:-24px;right:-24px;top:100%;
  height:calc(var(--nl-nav-border) + var(--nl-mega-gap) + 18px);
  background:transparent;
}

/* mega sizing */
.nl-menu__dropdown-menu.nl-mega{
  width:min(980px, calc(100vw - 32px));
  --mega-maxh:min(68vh, 560px);
  --mega-top-h:76px;
  --mega-bottom-h:64px;
  max-height:var(--mega-maxh);
}
/* remove pointer triangle */
.nl-menu__dropdown-menu.nl-mega::after{display:none!important;}

/* protect mega links */
.nl-mega a{text-transform:none!important;}
.nl-mega a::after{content:none!important;}

/* mega header */
.nl-mega__top{
  padding:14px 18px;
  display:flex;gap:14px;align-items:center;
  border-bottom:1px solid rgba(255,255,255,.08);
}
.nl-mega__hint{font-size:16px;color:rgba(210,220,255,.65);}


/* close */
.nl-mega__close{
  margin-left:auto;
  width:34px;height:34px;border-radius:10px;
  flex:0 0 34px;
  display:grid;place-items:center;
  color:rgba(210,220,255,.75);
  background:rgba(0,0,0,.14);
  border:1px solid rgba(255,255,255,.10);
  cursor:pointer;user-select:none;
  pointer-events:auto;position:relative;z-index:5;
}
.nl-mega__close:hover{background:rgba(255,255,255,.06);}

/* mega grid */
.nl-mega__grid{
  display:grid;
  grid-template-columns:290px 1fr;
  min-height:0;
  overflow:hidden;
  align-content:start;
  align-items:start;
}

/* cats (lvl2) */
.nl-mega__cats{
  padding:16px;
  border-right:1px solid rgba(255,255,255,.08);
  position:relative;
  overflow-y:auto;overflow-x:hidden;
  scrollbar-gutter: stable;
  padding-right:10px;
  max-height:calc(var(--mega-maxh) - var(--mega-top-h) - var(--mega-bottom-h));
}
.nl-mega__cats::after{
  content:"";
  position:absolute;top:18px;right:0;width:2px;
  height:calc(100% - 36px);
  background:linear-gradient(to bottom, rgba(110,160,255,0), rgba(110,160,255,.9), rgba(110,160,255,0));
  box-shadow:0 0 10px rgba(110,160,255,.55);
}

/* panes */
.nl-mega__panes{
  padding:16px 18px;
  position:relative;
  isolation:isolate;
  overflow:hidden;
}
.nl-mega__panes::before{
  content:"";position:absolute;inset:0;z-index:-2;opacity:.90;
  background:
    radial-gradient(700px 380px at 70% 30%, rgba(110,160,255,.12), rgba(110,160,255,0) 60%),
    radial-gradient(520px 320px at 85% 75%, rgba(182,29,42,.12), rgba(182,29,42,0) 60%),
    linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,0));
}
.nl-mega__panes::after{
  content:"";position:absolute;inset:0;z-index:-1;opacity:.18;
  background:
    linear-gradient(rgba(255,255,255,.06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.06) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image: radial-gradient(circle at 60% 45%, rgba(0,0,0,1), rgba(0,0,0,0) 70%);
}

/* lvl2 item: you use <a class="nl-cat" ...> */
.nl-cat{
  width:100%;
  display:flex;align-items:center;gap:10px;
  padding:14px 12px;
  border-radius:16px;
  margin-bottom:10px;
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  color:rgba(230,238,255,.9);
  text-decoration:none!important;
  transition:background .15s ease, border-color .15s ease, transform .15s ease;
}
.nl-cat:hover{background:rgba(255,255,255,.05);transform:translateY(-1px);}
.nl-cat.is-active{
  background:rgba(60,110,255,.16);
  border-color:rgba(120,180,255,.55);
  box-shadow:0 0 0 1px rgba(0,0,0,.2) inset, 0 10px 30px rgba(0,0,0,.25);
  position:relative;
}
.nl-cat.is-active::before{
  content:"";
  position:absolute;left:0;top:10px;bottom:10px;width:4px;
  border-radius:999px;
  background:rgba(160,210,255,.9);
}
.nl-dot{width:10px;height:10px;border-radius:50%;background:rgba(160,210,255,.75);box-shadow:0 0 18px rgba(110,160,255,.28);}
.nl-chevron{margin-left:auto;opacity:.7;font-size:18px;}

/* panes */
.nl-pane{display:none;}
.nl-pane.is-active{display:block;}

/* cols (lvl3) */
.nl-pane__cols{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
  gap:10px 18px;
  overflow-y:auto;overflow-x:hidden;
  scrollbar-gutter: stable;
  padding:10px;
  border-radius:16px;
  background:rgba(0,0,0,.10);
  border:1px solid rgba(255,255,255,.06);
  max-height:calc(var(--mega-maxh) - var(--mega-top-h) - var(--mega-bottom-h));
}

.nl-pane__view{display:none;}
.nl-pane__view.is-active{display:block;}

.nl-pane__view--builder{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.nl-builder-card{
  border:1px solid rgba(255,255,255,.14);
  border-radius:12px;
  background:rgba(255,255,255,.03);
  padding:12px;
}
.nl-builder-card__title{
  color:#fff;
  font-weight:700;
  text-decoration:none;
  display:inline-block;
  margin-bottom:8px;
}
.nl-builder-card__chips{display:flex;flex-wrap:wrap;gap:6px;}
.nl-builder-chip{
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  padding:4px 9px;
  color:rgba(229,236,255,.95);
  text-decoration:none;
  font-size:12px;
}
.nl-builder-chip:hover,.nl-builder-card__title:hover{color:#fff;}
.nl-builder-card__empty{font-size:12px;color:rgba(210,220,255,.75);}

@media (max-width:1199.98px){
  .nl-pane__view--builder{grid-template-columns:1fr;}
}

/* lvl3 link */
.nl-sub{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  color:rgba(232,240,255,.92);
  text-decoration:none;
  transition:background .15s ease, border-color .15s ease, transform .15s ease;
  min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.nl-sub::before{
  content:"";
  width:7px;height:7px;border-radius:50%;
  background:rgba(160,210,255,.85);
  box-shadow:0 0 16px rgba(110,160,255,.35);
}
.nl-sub:hover{
  background:rgba(255,255,255,.05);
  border-color:rgba(110,160,255,.25);
  transform:translateY(-1px);
}

/* lvl4 subgroup */
.nl-subgroup{
  border-radius:14px;
  background:rgba(255,255,255,.02);
  border:1px solid rgba(255,255,255,.06);
  overflow:hidden;
}
.nl-subgroup__head{display:flex;align-items:center;gap:8px;}
.nl-sub--parent{flex:1;border:0;background:transparent;border-radius:0;}
.nl-sub--parent::before{margin-left:12px;}
.nl-sub__toggle{
  width:44px;height:44px;border:0;
  background:rgba(255,255,255,.04);
  border-left:1px solid rgba(255,255,255,.06);
  color:rgba(232,240,255,.88);
  cursor:pointer;
  display:grid;place-items:center;
}
.nl-sub__chev{display:inline-block;transition:transform .2s ease;opacity:.9;}
.nl-subgroup__list{
  max-height:0;overflow:hidden;opacity:0;
  transform:translateY(-4px);
  transition:max-height .22s ease, opacity .18s ease, transform .18s ease;
  padding:0 12px;
}
.nl-subgroup.is-open .nl-subgroup__list{
  max-height:260px;opacity:1;transform:translateY(0);
  padding:10px 12px 12px;
}
.nl-subgroup.is-open .nl-sub__chev{transform:rotate(180deg);}
.nl-sub2{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;border-radius:12px;
  text-decoration:none;
  color:rgba(220,230,255,.9);
  background:rgba(255,255,255,.03);
  border:1px solid rgba(255,255,255,.06);
  margin-bottom:6px;
}
.nl-sub2:hover{background:rgba(255,255,255,.06);border-color:rgba(110,160,255,.25);}

/* bottom */
.nl-mega__bottom{
  padding:12px 16px;
  border-top:1px solid rgba(255,255,255,.10);
  background:linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  display:flex;
  align-items:center;
  justify-content:flex-start;
}
.nl-mega__actions{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}
.nl-quick{
  display:inline-flex;align-items:center;gap:10px;
  padding:11px 16px;border-radius:999px;
  text-decoration:none!important;
  font-weight:800;line-height:1;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.14);
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.18), rgba(255,255,255,0) 45%),
    linear-gradient(135deg, rgba(182,29,42,.95), rgba(255,59,59,.85));
  box-shadow:0 12px 26px rgba(182,29,42,.25);
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.nl-quick:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(182,29,42,.35);filter:brightness(1.05);}
.nl-quick::after{content:"\2192";font-weight:900;opacity:.95;}
.nl-quick--secondary{
  color:rgba(236,243,255,.95)!important;
  border-color:rgba(255,255,255,.22);
  background:
    radial-gradient(circle at 30% 30%, rgba(255,255,255,.12), rgba(255,255,255,0) 46%),
    linear-gradient(135deg, rgba(255,255,255,.08), rgba(255,255,255,.03));
  box-shadow:0 10px 22px rgba(0,0,0,.2);
}
.nl-quick--secondary:hover{
  box-shadow:0 14px 28px rgba(0,0,0,.24);
}
.nl-quick--secondary::after{content:"";}

/* underline to mega titles */
.nl-mega__title,
.nl-pane__head{position:relative;padding-bottom:10px;}
.nl-mega__title{
  font-size:28px;font-weight:800;letter-spacing:.02em;
  color:rgba(245,248,255,.96);text-transform:uppercase;
}
.nl-pane__head{
  font-size:26px;font-weight:800;color:rgba(245,248,255,.96);
  margin:6px 0 14px;
}
.nl-mega__title::after,
.nl-pane__head::after{
  content:"";
  position:absolute;left:0;bottom:0;width:100%;height:2px;
  background:linear-gradient(90deg, rgba(182,29,42,.9), rgba(182,29,42,0));
  transform-origin:left;
  animation:nl-section-underline .6s ease both;
}

/* active path */
.nl-menu > li.is-current > a,
.nl-menu__dropdown.is-current > .nl-menu__dropdown-toggle{color:#fff;}
.nl-menu > li.is-current > a::after,
.nl-menu__dropdown.is-current > .nl-menu__dropdown-toggle::after{transform:scaleX(1);}

.nl-cat.is-current{border-color:rgba(182,29,42,.75)!important;box-shadow:0 0 0 1px rgba(182,29,42,.25) inset, 0 10px 30px rgba(0,0,0,.25);}
.nl-cat.is-current .nl-dot{background:rgba(182,29,42,.9);box-shadow:0 0 18px rgba(182,29,42,.35);}
.nl-sub.is-current,
.nl-sub2.is-current{border-color:rgba(182,29,42,.6);background:rgba(182,29,42,.10);}
.nl-sub.is-current::before,
.nl-sub2.is-current::before{background:rgba(182,29,42,.9);box-shadow:0 0 16px rgba(182,29,42,.35);}
.nl-builder-card__title.is-current{color:#fff;text-shadow:0 0 14px rgba(182,29,42,.45);}
.nl-builder-chip.is-current{border-color:rgba(182,29,42,.65);background:rgba(182,29,42,.12);color:#fff;}

/* support JS close/open */
.nl-menu__dropdown.is-open > .nl-menu__dropdown-menu{
  opacity:1!important;visibility:visible!important;pointer-events:auto!important;
  transform:translate(-50%,0)!important;
}
.nl-menu__dropdown.nl-force-closed > .nl-menu__dropdown-menu,
.nl-menu__dropdown.nl-force-closed:hover > .nl-menu__dropdown-menu,
.nl-menu__dropdown.nl-force-closed:focus-within > .nl-menu__dropdown-menu{
  opacity:0!important;visibility:hidden!important;pointer-events:none!important;
  transform:translate(-50%,-6px)!important;
}

/* scrollbars in mega */
.nl-mega__cats::-webkit-scrollbar,
.nl-pane__cols::-webkit-scrollbar{width:10px;height:10px;}
.nl-mega__cats::-webkit-scrollbar-thumb,
.nl-pane__cols::-webkit-scrollbar-thumb{
  background:rgba(110,160,255,.25);border-radius:999px;border:2px solid rgba(0,0,0,0);
  background-clip:padding-box;
}
.nl-mega__cats::-webkit-scrollbar-track,
.nl-pane__cols::-webkit-scrollbar-track{background:transparent;}

@media (max-width:991.98px){
  .nl-nav .nl-nav__container{padding-left:16px;padding-right:16px;min-height:var(--nl-nav-h);}
  .nl-menu__dropdown-menu{left:16px;transform:none;width:calc(100vw - 32px);}
  .nl-mega__grid{grid-template-columns:1fr;}
  .nl-mega__cats{border-right:0;border-bottom:1px solid rgba(255,255,255,.08);max-height:260px;}
  .nl-mega__cats::after{display:none;}
  .nl-pane__cols{grid-template-columns:1fr;max-height:320px;}
  .nl-mega__actions .nl-quick--secondary{display:none!important;}
}
.nl-menu__dropdown.nl-force-closed > .nl-menu__dropdown-menu,
.nl-menu__dropdown.nl-force-closed:hover > .nl-menu__dropdown-menu,
.nl-menu__dropdown.nl-force-closed:focus-within > .nl-menu__dropdown-menu{
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translate(-50%, -6px) !important;
}


/* =========================================================
   MOBILE OFFCANVAS MENU — FINAL (scroll fixed)
   ========================================================= */
.nl-offcanvas{
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(110,160,255,.10), rgba(0,0,0,0) 60%),
    linear-gradient(180deg, #0f2b4b, #0b223c);
  color:#fff;
}
.nl-offcanvas .offcanvas-header{
  border-bottom:1px solid rgba(255,255,255,.10);
  padding:18px 16px;
}
.nl-offcanvas__title{font-weight:900;font-size:18px;letter-spacing:.02em;}
.nl-offcanvas .btn-close{opacity:.85;}

/* make offcanvas a column to guarantee scroll works */
#nlMobileMenu.offcanvas{
  display:flex!important;
  flex-direction:column!important;
  height:100vh!important;
}
#nlMobileMenu .offcanvas-header{flex:0 0 auto!important;}
#nlMobileMenu .offcanvas-body{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:hidden!important;
  display:flex!important;
  flex-direction:column!important;
  padding:14px var(--nl-mpad) 14px!important;
}

/* scroll only the list */
#nlMobileMenu .nl-mmenu{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  overflow-x:hidden!important;
  -webkit-overflow-scrolling:touch;
  display:flex;
  flex-direction:column;
  gap:var(--nl-mgap);
  padding-bottom:12px;
}

/* rows unified */
#nlMobileMenu .nl-mmenu__item-row,
#nlMobileMenu .nl-mmenu__item,
#nlMobileMenu .nl-mmenu__subitem{
  min-height:var(--nl-mrow-h);
  height:var(--nl-mrow-h);
  padding:0 14px;
  border-radius:16px;
  display:flex;
  align-items:center;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.06);
}
#nlMobileMenu .nl-mmenu__item-row{gap:10px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06);}

/* links */
#nlMobileMenu .nl-mmenu__item-link{
  flex:1;min-width:0;height:100%;
  display:flex;align-items:center;
  color:#fff!important;
  text-decoration:none!important;
  font-weight:800;font-size:15px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  position:relative;
}
#nlMobileMenu a.nl-mmenu__item,
#nlMobileMenu a.nl-mmenu__item:visited{
  color:#fff!important;
  text-decoration:none!important;
}

/* toggle */
#nlMobileMenu .nl-mmenu__item-toggle{
  width:36px;height:36px;border-radius:12px;margin-left:auto;flex:0 0 auto;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(0,0,0,.16);
  color:#fff;
  display:grid;place-items:center;padding:0;
}
#nlMobileMenu .nl-caret{display:inline-block;transition:transform .18s ease;font-size:14px;opacity:.9;}
#nlMobileMenu .nl-mmenu__item-row.is-open .nl-caret{transform:rotate(180deg);}

/* collapse */
#nlMobileMenu .nl-mmenu__collapse{max-height:0;overflow:hidden;transition:max-height .25s ease;}
#nlMobileMenu .nl-mmenu__collapse--open{max-height:1600px;}
#nlMobileMenu .nl-mmenu__sub{padding:10px 6px 6px;display:flex;flex-direction:column;gap:8px;}

/* leaf */
#nlMobileMenu .nl-mmenu__subitem{
  color:rgba(255,255,255,.95)!important;
  text-decoration:none!important;
  gap:10px;
  position:relative;
}
#nlMobileMenu .nl-mmenu__subitem-icon{
  width:32px;height:32px;border-radius:10px;
  background:rgba(255,255,255,.12);
  display:flex;align-items:center;justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
  flex-shrink:0;
}
#nlMobileMenu .nl-mmenu__subitem-icon img{width:20px;height:20px;object-fit:contain;}
#nlMobileMenu .nl-mmenu__subitem-label{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#nlMobileMenu .nl-mmenu__empty{color:rgba(255,255,255,.7);padding:8px 10px;}

/* remove any lines in mobile menu */
#nlMobileMenu .nl-mmenu__sub::before,
#nlMobileMenu .nl-mmenu__sub::after,
#nlMobileMenu .nl-mmenu__collapse--open > .nl-mmenu__sub::before,
#nlMobileMenu .nl-mmenu__collapse--open > .nl-mmenu__sub::after{
  display:none!important;
  content:none!important;
}

/* level group colors */
#nlMobileMenu{
  --lvl1-bg: rgba(255,255,255,.070);
  --lvl1-bd: rgba(255,255,255,.12);
  --lvl2-bg: rgba(110,160,255,.090);
  --lvl2-bd: rgba(110,160,255,.22);
  --lvl3-bg: rgba(160,210,255,.075);
  --lvl3-bd: rgba(160,210,255,.18);
  --lvl4-bg: rgba(255,255,255,.055);
  --lvl4-bd: rgba(255,255,255,.10);
}
#nlMobileMenu .nl-mmenu__row--lvl1{background:var(--lvl1-bg)!important;border-color:var(--lvl1-bd)!important;}
#nlMobileMenu .nl-mmenu__row--lvl2{background:var(--lvl2-bg)!important;border-color:var(--lvl2-bd)!important;}
#nlMobileMenu .nl-mmenu__row--lvl3{background:var(--lvl3-bg)!important;border-color:var(--lvl3-bd)!important;}
#nlMobileMenu .nl-mmenu__subitem{background:var(--lvl4-bg)!important;border-color:var(--lvl4-bd)!important;}

/* dots for level (no lines) */
#nlMobileMenu .nl-mmenu__row--lvl2 .nl-mmenu__item-link{padding-left:26px;}
#nlMobileMenu .nl-mmenu__row--lvl2 .nl-mmenu__item-link::before{
  content:"";position:absolute;left:12px;width:8px;height:8px;border-radius:99px;
  background:rgba(110,160,255,.85);box-shadow:0 0 10px rgba(110,160,255,.18);
}
#nlMobileMenu .nl-mmenu__row--lvl3 .nl-mmenu__item-link{padding-left:36px;}
#nlMobileMenu .nl-mmenu__row--lvl3 .nl-mmenu__item-link::before{
  content:"";position:absolute;left:12px;width:8px;height:8px;border-radius:99px;
  background:rgba(160,210,255,.70);box-shadow:0 0 10px rgba(110,160,255,.14);
}
#nlMobileMenu .nl-mmenu__subitem{padding-left:36px;}
#nlMobileMenu .nl-mmenu__subitem::before{
  content:"";position:absolute;left:12px;width:8px;height:8px;border-radius:99px;
  background:rgba(255,255,255,.45);box-shadow:0 0 10px rgba(110,160,255,.10);
}

/* active */
#nlMobileMenu .nl-mmenu__item-link.is-current,
#nlMobileMenu .nl-mmenu__item.is-current,
#nlMobileMenu .nl-mmenu__subitem.is-current{
  border-color:rgba(182,29,42,.55)!important;
  background:rgba(182,29,42,.14)!important;
}
#nlMobileMenu .nl-mmenu__item-link.is-current::before,
#nlMobileMenu .nl-mmenu__subitem.is-current::before{
  background:rgba(182,29,42,.85)!important;
  box-shadow:0 0 12px rgba(182,29,42,.22)!important;
}

/* actions: like before (no gradient panel), always inside */
#nlMobileMenu .nl-mmenu__actions{
  flex:0 0 auto!important;
  position:sticky!important;
  bottom:0!important;
  margin-top:12px!important;
  padding:10px 0 0!important;
  background:transparent!important;
  backdrop-filter:none!important;
  border-radius:0!important;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:10px;
}
#nlMobileMenu .nl-mmenu__actions .btn{
  width:100%;
  height:46px;
  border-radius:14px;
  font-weight:900;
}

/* optional scrollbar for list */
#nlMobileMenu .nl-mmenu::-webkit-scrollbar{width:10px;}
#nlMobileMenu .nl-mmenu::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.18);
  border-radius:999px;border:2px solid rgba(0,0,0,0);
  background-clip:padding-box;
}
#nlMobileMenu .nl-mmenu::-webkit-scrollbar-track{background:transparent;}

/* burger */
.nl-burger{
  width:44px;height:40px;border-radius:12px;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(0,0,0,.10);
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;padding:0;
  cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.nl-burger span{
  display:block!important;
  width:18px;height:2px;border-radius:999px;
  background:rgba(255,255,255,.92);
}
.nl-burger:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.30);}
/* =========================
   MOBILE OFFCANVAS — FINAL SCROLL FIX
   ========================= */

#nlMobileMenu.offcanvas{
  display:flex !important;
  flex-direction:column !important;
  height:100vh !important;
}

#nlMobileMenu .offcanvas-header{
  flex:0 0 auto !important;
}

#nlMobileMenu .offcanvas-body{
  flex:1 1 auto !important;
  min-height:0 !important;        /* ключ */
  overflow:hidden !important;      /* скролл не тут */
  display:flex !important;
  flex-direction:column !important;
  padding:14px var(--nl-mpad, 14px) 14px !important;
}

/* единственный скроллящийся контейнер */
#nlMobileMenu .nl-mmenu__scroll{
  flex:1 1 auto !important;
  min-height:0 !important;        /* ключ */
  overflow-y:auto !important;
  overflow-x:hidden !important;
  -webkit-overflow-scrolling:touch;
  touch-action: pan-y;
  padding-right:2px;
}

/* nav внутри — обычный поток, НЕ скроллим его */
#nlMobileMenu .nl-mmenu{
  overflow: visible !important;
}

/* кнопки всегда снизу, не мешают скроллу */
#nlMobileMenu .nl-mmenu__actions{
  flex:0 0 auto !important;
  position: sticky;
  bottom: 0;
  margin-top: 12px;
  padding-top: 10px;
  background: transparent;
  z-index: 2;
}
/* ===== FIX: кнопки не уходят за экран (safe-area + динамическая высота) ===== */

/* вместо 100vh — 100dvh (правильная высота на мобилках) */
#nlMobileMenu.offcanvas{
  height: 100dvh !important;
}
@supports not (height: 100dvh){
  #nlMobileMenu.offcanvas{ height: 100vh !important; }
}

#nlMobileMenu .offcanvas-body{
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

/* скролл только у списка */
#nlMobileMenu .nl-mmenu__scroll{
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  -webkit-overflow-scrolling: touch;
  touch-action: pan-y;
}

/* кнопки всегда видимы и НЕ перекрываются системной панелью */
#nlMobileMenu .nl-mmenu__actions{
  flex: 0 0 auto !important;
  position: sticky !important;
  bottom: 0 !important;

  /* важно: запас под нижнюю системную панель */
  padding-bottom: calc(12px + env(safe-area-inset-bottom)) !important;

  /* чтобы кнопки не упирались в края */
  margin-top: 12px !important;
  background: transparent !important;
  z-index: 5 !important;
}

#nlMobileMenu .nl-mmenu__actions .btn{
  width: 100% !important;
}

/* mobile menu: active/open rows should look like a single unified item */
#nlMobileMenu .nl-mmenu__item-row{
  overflow:hidden;
}
#nlMobileMenu .nl-mmenu__item-toggle{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.18);
}
#nlMobileMenu .nl-mmenu__item-row.is-open{
  border-color:rgba(255,255,255,.20)!important;
  background:rgba(255,255,255,.10)!important;
}
#nlMobileMenu .nl-mmenu__item-row.is-current,
#nlMobileMenu .nl-mmenu__item.is-current,
#nlMobileMenu .nl-mmenu__subitem.is-current{
  border-color:rgba(182,29,42,.60)!important;
  background:linear-gradient(90deg, rgba(182,29,42,.16), rgba(182,29,42,.08))!important;
}
#nlMobileMenu .nl-mmenu__item-link.is-current{
  background:transparent!important;
  border-color:transparent!important;
}
#nlMobileMenu .nl-mmenu__item-row.is-open .nl-mmenu__item-toggle{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.24)!important;
}
#nlMobileMenu .nl-mmenu__item-row.is-current .nl-mmenu__item-toggle{
  background:rgba(182,29,42,.22)!important;
  border-color:rgba(182,29,42,.55)!important;
}
#nlMobileMenu .nl-mmenu__item-row.is-current .nl-mmenu__item-link::before,
#nlMobileMenu .nl-mmenu__subitem.is-current::before{
  background:rgba(182,29,42,.88)!important;
  box-shadow:0 0 12px rgba(182,29,42,.26)!important;
}

/* =========================================================
   PARTNERS
   ========================================================= */
.nl-partners{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
  align-items:stretch;
}
.nl-partner-card{
  background:#fff;
  border:1px solid rgba(17,45,91,.12);
  border-radius:16px;
  box-shadow:0 10px 24px rgba(11,42,74,.08);
  overflow:hidden;
  min-height:210px;
  display:flex;
  flex-direction:column;
  text-decoration:none;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  will-change:transform;
}
.nl-partner-card:hover,
.nl-partner-card:focus-within,
.nl-partner-card.is-hovered{
  transform:translateY(-8px) !important;
  box-shadow:0 18px 40px rgba(11,42,74,.16) !important;
  border-color:rgba(11,42,74,.22);
}
#partners [role="listitem"]:hover .nl-partner-card,
.nl-partners-page [data-nl-reveal="1"]:hover .nl-partner-card{
  transform:translateY(-8px) !important;
  box-shadow:0 18px 40px rgba(11,42,74,.16) !important;
}
.nl-partner-card__logo{
  flex:1;
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:156px;
  padding:16px 18px;
  text-decoration:none;
  background:linear-gradient(180deg, #fff, #f8faff);
  border-bottom:1px solid rgba(17,45,91,.08);
}
.nl-partner-card__logo img{
  display:block;
  width:100%;
  height:120px;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 4px 10px rgba(17,45,91,.14));
}
.nl-partner-card__logo-fallback{
  width:56px;
  height:56px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background:rgba(182,29,42,.1);
  color:var(--nl-accent);
  font-weight:800;
  font-size:22px;
  text-transform:uppercase;
}
.nl-partner-card__actions{padding:12px 16px 16px;display:flex;justify-content:center;}
.nl-partner-btn{
  min-width:126px;
  border:0;
  background:var(--nl-accent);
  color:#fff;
  border-radius:10px;
  font-size:13px;
  font-weight:700;
  padding:9px 14px;
  text-align:center;
  display:inline-block;
  text-decoration:none;
  margin:0 auto;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease;
}
.nl-partner-btn:hover{filter:brightness(1.05);color:#fff;}
.nl-partner-btn--ghost{background:#fff;color:var(--nl-accent);border:1px solid var(--nl-accent);}
.nl-partner-btn--ghost:hover{background:var(--nl-accent);color:#fff;}
.nl-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}
.nl-section-head--light .nl-section-head__title--light{
  color:#fff;
}
.nl-section-head__title{
  margin:0;
  max-width:560px;
}
.nl-section-head__aside{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.nl-section-head__link{
  position:relative;
  display:inline-flex;
  align-items:center;
  color:#4f5f7a;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  line-height:1.3;
  white-space:nowrap;
  padding-bottom:6px;
  transition:color .2s ease, opacity .2s ease;
}
.nl-section-head__link::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:2px;
  border-radius:999px;
  background:linear-gradient(90deg, rgba(182,29,42,.95), rgba(182,29,42,.45));
}
.nl-section-head__link:hover{color:#9f1826;}
.nl-section-head__link--light{
  color:rgba(255,255,255,.94);
}
.nl-section-head__link--light:hover{
  color:#fff;
}
.nl-partners__header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin-bottom:24px;
}
.nl-partners__title{
  margin:0;
  max-width:520px;
}
.nl-partners__controls{
  display:flex;
  align-items:flex-end;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.nl-partners__more-link{
  max-width:none;
  justify-content:flex-start;
  text-align:left;
  color:#4f5f7a;
  line-height:inherit;
}
.nl-partners__more-link:hover{color:#9f1826;}
.nl-partners__wrap{position:relative;}
.nl-partners__arrows{display:none;gap:8px;}
.nl-partners__arrow{
  width:36px;
  height:36px;
  border-radius:10px;
  border:1px solid rgba(17,45,91,.14);
  background:#fff;
  box-shadow:0 6px 18px rgba(0,0,0,.06);
}

.nl-partners-page__head{max-width:840px;}
.nl-partners-page__lead{
  color:#5a667e;
  font-size:16px;
  line-height:1.65;
}
.nl-partners-stat,
.nl-partners-note{
  border:1px solid rgba(17,45,91,.1);
  border-radius:16px;
  padding:20px 22px;
  box-shadow:0 10px 30px rgba(11,42,74,.07);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  will-change:transform;
}
.nl-partners-stat{
  background:linear-gradient(145deg, rgba(11,42,74,.97), rgba(11,42,74,.9));
  color:#fff;
}
.nl-partners-stat__value{font-size:34px;font-weight:800;line-height:1;}
.nl-partners-stat__label{margin-top:6px;color:rgba(255,255,255,.8);}
.nl-partners-note{
  background:linear-gradient(180deg, #fff, #f8faff);
  color:#36435e;
  line-height:1.7;
}
.nl-partners-stat:hover,
.nl-partners-note:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 28px rgba(11,42,74,.12);
}
.nl-partner-card--page{min-height:100%;}
.nl-partner-card--page .nl-partner-card__logo{
  min-height:172px;
  padding:18px 20px;
}
.nl-partner-card--page .nl-partner-card__body{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:18px 18px 8px;
}
.nl-partner-card__title{
  margin:0;
  font-size:20px;
  line-height:1.25;
}
.nl-partner-card__title a{
  text-decoration:none;
  color:#122f59;
}
.nl-partner-card__title a:hover{color:#9f1826;}
.nl-partner-card__text{
  color:#5e6a83;
  font-size:15px;
  line-height:1.6;
}
.nl-partner-card__meta{
  margin-top:auto;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.nl-partner-chip{
  display:inline-flex;
  align-items:center;
  padding:6px 11px;
  border-radius:999px;
  background:rgba(17,45,91,.08);
  color:#233a65;
  font-size:13px;
  text-decoration:none;
}
.nl-partner-chip--link{
  background:rgba(182,29,42,.1);
  color:#9f1826;
}
.nl-partner-chip--link:hover{color:#7f101c;}
.nl-partner-card__actions--page{
  justify-content:flex-start;
  padding-top:0;
}
.nl-partners-empty{
  border:1px solid rgba(17,45,91,.1);
  border-radius:18px;
  background:linear-gradient(180deg, #fff, #f8faff);
  padding:24px 26px;
  color:#5a667e;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  will-change:transform;
}
.nl-partners-empty:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 28px rgba(11,42,74,.12);
}

.nl-partner-detail__hero,
.nl-partner-profile,
.nl-partner-detail__content,
.nl-partner-detail__side{
  border:1px solid rgba(17,45,91,.1);
  border-radius:20px;
  background:#fff;
  box-shadow:0 14px 34px rgba(11,42,74,.08);
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
  will-change:transform;
}
.nl-partner-detail__hero:hover,
.nl-partner-profile:hover,
.nl-partner-detail__content:hover,
.nl-partner-detail__side:hover{
  transform:translateY(-6px);
  border-color:rgba(17,45,91,.2);
  box-shadow:0 12px 28px rgba(11,42,74,.12);
}
.nl-partner-detail__hero{
  height:100%;
  padding:28px;
  background:linear-gradient(130deg, #ffffff 0%, #f6f9ff 100%);
}
.nl-partner-detail__lead{
  color:#5b6780;
  font-size:16px;
  line-height:1.75;
}
.nl-partner-detail__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.nl-partner-profile{
  height:100%;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:24px;
}
.nl-partner-profile__logo{
  min-height:220px;
  border-radius:16px;
  border:1px solid rgba(17,45,91,.08);
  background:linear-gradient(180deg, #fff, #f7f9ff);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px 20px;
}
.nl-partner-profile__logo img{
  display:block;
  width:100%;
  height:170px;
  max-width:none;
  max-height:none;
  object-fit:contain;
  object-position:center;
  filter:drop-shadow(0 4px 10px rgba(17,45,91,.14));
}
.nl-partner-profile__actions{
  margin-top:18px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.nl-partner-detail__content{padding:28px;}
.nl-partner-detail__side{padding:22px;}
.nl-partner-facts{
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.nl-partner-facts li{
  border:1px solid rgba(17,45,91,.08);
  background:#f8faff;
  border-radius:12px;
  padding:10px 12px;
}
.nl-partner-facts__label{
  display:block;
  font-size:12px;
  color:#68738a;
  margin-bottom:4px;
}
.nl-partner-facts__value{
  color:#1c325b;
  font-weight:600;
  text-decoration:none;
  word-break:break-word;
}
.nl-partner-facts__value--link:hover{color:#9f1826;}
.nl-partner-other-list{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.nl-partner-other-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  border:1px solid rgba(17,45,91,.08);
  border-radius:12px;
  padding:10px 12px;
  text-decoration:none;
  color:#1c325b;
  background:#f8faff;
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  will-change:transform;
}
.nl-partner-other-item:hover{
  transform:translateY(-6px);
  border-color:rgba(182,29,42,.3);
  box-shadow:0 12px 28px rgba(11,42,74,.12);
  color:#9f1826;
}
.nl-partner-other-item__name{font-weight:600;}
.nl-partner-other-item__icon{
  font-size:18px;
  line-height:1;
  opacity:.75;
  transition:transform .2s ease, opacity .2s ease;
}
.nl-partner-other-item:hover .nl-partner-other-item__icon{
  transform:translateX(3px);
  opacity:1;
}

.nl-scrollbar-hide{scrollbar-width:none;}
.nl-scrollbar-hide::-webkit-scrollbar{display:none;}
@media (max-width:991.98px){
  .nl-section-head{
    align-items:flex-start;
  }
  .nl-partners__header{
    align-items:flex-start;
  }
  .nl-partners{
    grid-auto-flow:column;
    grid-auto-columns:minmax(230px,260px);
    grid-template-columns:none;
    overflow-x:auto;
    padding-bottom:6px;
    scroll-snap-type:x mandatory;
  }
  .nl-partner-card{scroll-snap-align:start;}
  .nl-partners__arrows{display:flex;}
  .nl-partner-profile{height:auto;}
}
@media (max-width:575.98px){
  .nl-section-head{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:18px;
  }
  .nl-section-head__title{
    max-width:none;
  }
  .nl-section-head__aside{
    width:100%;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
  }
  .nl-partners__header{
    display:grid;
    grid-template-columns:1fr;
    gap:14px;
    margin-bottom:18px;
  }
  .nl-partners__title{
    max-width:none;
  }
  .nl-partners__controls{
    width:100%;
    justify-content:space-between;
    align-items:flex-start;
    gap:10px;
  }
  .nl-partners__more-link{
    max-width:none;
    justify-content:flex-start;
    text-align:left;
  }
  .nl-partner-card{height:auto;min-height:170px;}
  .nl-partner-card__logo img{height:96px;}
  .nl-partner-profile__logo img{height:120px;}
  .nl-partners-page__lead{font-size:15px;}
  .nl-partners-stat__value{font-size:30px;}
  .nl-partner-detail__hero,
  .nl-partner-detail__content,
  .nl-partner-detail__side,
  .nl-partner-profile{padding:18px;}
}

/* =========================================================
   HERO
   ========================================================= */
.hero{
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(90deg, rgba(7,27,49,.86) 0%, rgba(7,27,49,.62) 46%, rgba(7,27,49,.18) 100%),
    var(--nl-hero-bg) center/cover no-repeat;
  animation:none;
}
.hero--with-bg-media{
  background:
    linear-gradient(90deg, rgba(7,27,49,.86) 0%, rgba(7,27,49,.62) 46%, rgba(7,27,49,.18) 100%);
}
.hero__bg-media{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
  z-index:0;
  pointer-events:none;
}
.hero::after{
  content:"";
  position:absolute;
  left:-18%;bottom:-82%;
  width:78%;height:95%;
  transform:rotate(-7deg);
  background:
    radial-gradient(circle at 35% 35%, rgba(182,29,42,.55), rgba(182,29,42,0) 62%),
    radial-gradient(circle at 55% 55%, rgba(182,29,42,.22), rgba(182,29,42,0) 62%),
    repeating-radial-gradient(circle at 35% 35%, rgba(255,255,255,.08) 0 1px, rgba(255,255,255,0) 1px 12px);
  opacity:.85;
  pointer-events:none;
}
.hero > .container{max-width:1320px;position:relative;z-index:1;}
.hero .display-5{font-size:44px;line-height:1.08;text-shadow:0 2px 14px rgba(0,0,0,.25);}
.hero .lead{font-size:15px;opacity:.75!important;}
.hero .btn{height:34px;padding:0 14px;border-radius:4px;font-size:13px;font-weight:700;}
.hero .row.mt-4{margin-top:14px!important;padding-top:14px;border-top:1px solid rgba(255,255,255,.22);}
.hero .row.mt-4.g-3{--bs-gutter-x:0;}
.hero .row.mt-4 .col-4{padding-left:0;padding-right:0;}
.hero .row.mt-4 .col-4 .stat{padding-right:26px;margin-right:26px;border-right:1px solid rgba(255,255,255,.18);}
.hero .row.mt-4 .col-4:last-child .stat{border-right:0;margin-right:0;padding-right:0;}
.hero .stat-value{font-size:34px;font-weight:800;line-height:1;}
.hero .stat-label{font-size:12px;opacity:.75;margin-top:6px;}
.hero .hero-card{
  background:transparent!important;
  padding:0!important;
  box-shadow:none!important;
  border-radius:0!important;
  max-width:560px;
  margin-left:auto;
  transform:translateX(14px);
}
.hero .hero-card__media{
  position:relative;
}
.hero .hero-card--code-mode{
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  max-width:none;
  margin-left:0;
  transform:none;
  display:flex;
  align-items:stretch;
}
.hero .nl-hero-row--code{
  align-items:flex-start !important;
}
.hero .nl-hero-row--code .nl-hero-col--code-text{
  padding-top:2px;
}
.hero .nl-hero-row--code .nl-hero-col--code-visual{
  display:flex;
  align-items:stretch;
  padding-left:72px;
}
.hero .nl-hero-row--code .hero-card--code-mode .hero-card__media{
  display:flex;
  flex:1 1 auto;
}
.hero .hero-card__code-fallback{
  position:relative;
  min-height:clamp(180px, 22vw, 248px);
  padding:0;
  border-radius:0;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
  backdrop-filter:none;
  flex:1 1 auto;
  height:auto;
}
.hero .hero-card__code-fallback::after{
  display:none;
}
.hero .hero-card__code-canvas{
  display:block;
  width:100%;
  height:clamp(180px, 22vw, 248px);
  margin:0;
  border-radius:0;
  border:0;
  background:transparent;
  box-shadow:none;
  min-height:190px;
  max-height:260px;
}
.hero--code-compact{
  padding-top:44px !important;
  padding-bottom:46px !important;
}
.hero--code-compact .nl-hero-row--code{
  align-items:center !important;
}
.hero .hero-card img{
  width:100%;
  height:auto;
  border-radius:6px!important;
  box-shadow:0 16px 46px rgba(0,0,0,.38);
  transition:transform .35s ease, box-shadow .35s ease;
}
.hero .hero-card img:hover{transform:translateY(-6px) scale(1.01);box-shadow:0 22px 52px rgba(0,0,0,.45);}
@keyframes heroCodeShine{
  0%{transform:translateX(-60%) rotate(-22deg);}
  55%{transform:translateX(170%) rotate(-22deg);}
  100%{transform:translateX(170%) rotate(-22deg);}
}
.hero--services-promo{
  padding:72px 0 84px !important;
}
.hero--services-promo .display-5{
  font-size:clamp(44px, 4.6vw, 72px);
  max-width:700px;
  margin-bottom:18px;
}
.hero--services-promo .lead{
  max-width:620px;
  font-size:18px;
  line-height:1.65;
  color:rgba(236,242,255,.88) !important;
}
@media (max-width:1199.98px){
  .hero .nl-hero-row--code .nl-hero-col--code-visual{
    padding-left:54px;
  }
  .hero .hero-card__code-canvas{
    min-height:180px;
    height:clamp(180px, 24vw, 230px);
    max-height:240px;
  }
}
@media (max-width:991.98px){
		.nl-hero-col--code-visual {
		display: none !important;
	}
  .hero--code-compact{
    padding-top:34px !important;
    padding-bottom:36px !important;
  }
  .hero .nl-hero-row--code .nl-hero-col--code-visual{
    display:block;
    padding-left:0;
  }
  .hero .hero-card__code-canvas{
    min-height:170px;
    height:clamp(170px, 44vw, 250px);
    max-height:250px;
  }
}
.hero-services__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 16px;
  margin:0 0 18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(16px);
  color:#eef4ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.hero-services__eyebrow::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(180deg, #ff6776, #b61d2a);
  box-shadow:0 0 0 6px rgba(182,29,42,.12);
}
.hero-services__pills{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:22px 0 28px;
}
.hero-services__pills span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(17,36,68,.4);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
  color:#fff;
  font-size:14px;
  font-weight:600;
}
.hero--services-promo .hero-card{
  max-width:640px;
  margin-left:auto;
  transform:none;
}
.hero-card--services{
  position:relative;
}
.hero-card__media--services{
  position:relative;
  overflow:visible;
  border-radius:28px;
  padding:26px;
  background:linear-gradient(145deg, rgba(255,255,255,.12), rgba(255,255,255,.06));
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 28px 60px rgba(5,18,35,.28);
  isolation:isolate;
}
.hero-card__media--services::before{
  content:"";
  position:absolute;
  top:18px;
  left:20px;
  width:160px;
  height:160px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(182,29,42,.35), rgba(182,29,42,0) 72%);
  z-index:-1;
}
.hero-card__media--services::after{
  content:"";
  position:absolute;
  right:16px;
  bottom:16px;
  width:220px;
  height:140px;
  border-radius:24px;
  background:linear-gradient(135deg, rgba(66,193,247,.22), rgba(255,255,255,0));
  z-index:-1;
}
.hero--services-promo .hero-card img{
  display:block;
  width:100%;
  aspect-ratio:16/10;
  object-fit:contain;
  background:linear-gradient(180deg, rgba(255,255,255,.94), rgba(233,240,251,.96));
  padding:16px;
  border-radius:22px !important;
  box-shadow:0 18px 42px rgba(6,18,31,.28);
}
.hero-services-promo{
  position:absolute;
  z-index:2;
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:16px 18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.2);
  background:linear-gradient(160deg, rgba(16,35,68,.92), rgba(25,59,105,.78));
  backdrop-filter:blur(16px);
  color:#fff;
  box-shadow:0 18px 40px rgba(7,27,49,.24);
}
.hero-services-promo--top{
  top:-14px;
  right:-12px;
  max-width:260px;
}
.hero-services-promo__tag{
  display:inline-flex;
  width:fit-content;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(182,29,42,.18);
  border:1px solid rgba(255,255,255,.14);
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#ffd7dc;
}
.hero-services-promo--top strong{
  font-size:18px;
  line-height:1.3;
}
.hero-services-promo--bottom{
  left:-20px;
  bottom:28px;
  max-width:320px;
  background:linear-gradient(160deg, rgba(255,255,255,.96), rgba(242,246,255,.92));
  color:var(--nl-primary);
  border-color:rgba(11,42,74,.12);
  box-shadow:0 22px 50px rgba(7,27,49,.22);
}
.hero-services-promo__eyebrow{
  font-size:11px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  color:var(--nl-accent);
}
.hero-services-promo__title{
  font-size:18px;
  line-height:1.45;
  font-weight:700;
}
.hero-services-promo__chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.hero-services-promo__chips span{
  display:inline-flex;
  align-items:center;
  padding:7px 11px;
  border-radius:999px;
  background:rgba(11,42,74,.06);
  border:1px solid rgba(11,42,74,.08);
  font-size:12px;
  font-weight:700;
  color:var(--nl-primary);
}
@media (min-width:1600px){.hero .hero-card{max-width:600px;}}
@media (max-width:1199.98px){
  .hero--services-promo .display-5{font-size:clamp(38px, 5vw, 60px);}
  .hero-services-promo--top{top:12px;right:12px;}
  .hero-services-promo--bottom{left:12px;bottom:12px;}
}
@media (max-width:991.98px){
  .hero .display-5{font-size:32px;}
  .hero .row.mt-4{border-top:0;padding-top:0;}
  .hero .row.mt-4 .col-4 .stat{border-right:0;margin-right:0;padding-right:0;}
  .hero .hero-card{transform:none;max-width:100%;}
  .hero::after{left:-35%;bottom:-88%;width:120%;height:110%;opacity:.65;}
  .hero--services-promo{
    padding:56px 0 64px !important;
  }
  .hero-services__eyebrow{
    margin-bottom:14px;
  }
  .hero-services__pills{
    margin:18px 0 24px;
  }
  .hero-card__media--services{
    padding:18px;
  }
  .hero--services-promo .hero-card img{
    aspect-ratio:auto;
    min-height:320px;
  }
  .hero-services-promo--top{
    top:14px;
    right:14px;
    max-width:220px;
  }
  .hero-services-promo--bottom{
    left:14px;
    right:14px;
    bottom:14px;
    max-width:none;
  }
}
@media (max-width:575.98px){
  .hero .display-5{font-size:26px;}
  .hero .lead{font-size:14px;}
  .hero--services-promo .display-5{
    font-size:clamp(34px, 10vw, 46px);
  }
  .hero--services-promo .lead{
    font-size:16px;
  }
  .hero-services__pills span{
    width:100%;
    justify-content:center;
  }
  .hero-card__media--services{
    padding:14px;
    border-radius:22px;
  }
  .hero--services-promo .hero-card img{
    min-height:220px;
    padding:10px;
    border-radius:18px !important;
  }
  .hero-services-promo--top,
  .hero-services-promo--bottom{
    position:relative;
    inset:auto;
    max-width:none;
    margin-top:12px;
  }
}

/* =========================================================
   SERVICES SHOWCASE
   ========================================================= */
.nl-services-showcase{
  padding:0;
}
.nl-services-showcase__shell{
  position:relative;
  overflow:hidden;
  padding:54px 0 52px;
  border-radius:0;
  background:
    radial-gradient(circle at 14% 18%, rgba(182,29,42,.22), rgba(182,29,42,0) 28%),
    radial-gradient(circle at 86% 22%, rgba(56,154,221,.24), rgba(56,154,221,0) 24%),
    linear-gradient(135deg, #10294f 0%, #193d70 58%, #235c7b 100%);
  box-shadow:0 28px 70px rgba(9,28,52,.16);
}
.nl-services-showcase__shell > .container{
  max-width:1320px;
}
.nl-services-showcase__shell::before{
  content:"";
  position:absolute;
  inset:auto auto -24% -10%;
  width:320px;
  height:320px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.16), rgba(255,255,255,0) 68%);
  pointer-events:none;
}
.nl-services-showcase__shell::after{
  content:"";
  position:absolute;
  right:-8%;
  top:-12%;
  width:280px;
  height:280px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(255,255,255,.14), rgba(255,255,255,0) 70%);
  pointer-events:none;
}
.nl-services-showcase__row{
  align-items:stretch;
}
.nl-services-showcase__content-col,
.nl-services-showcase__visual-col{
  display:flex;
}
.nl-services-showcase__content{
  display:flex;
  flex-direction:column;
  width:100%;
  min-height:100%;
}
.nl-services-showcase__eyebrow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:42px;
  padding:10px 16px;
  margin-bottom:18px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.08);
  color:#eef4ff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  backdrop-filter:blur(14px);
}
.nl-services-showcase__eyebrow::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:999px;
  background:linear-gradient(180deg, #ff6874, #b61d2a);
  box-shadow:0 0 0 6px rgba(182,29,42,.12);
}
.nl-services-showcase__title{
  margin:0 0 18px;
  max-width:720px;
  color:#fff;
  font-size:clamp(40px, 4.2vw, 66px);
  line-height:1.04;
  font-weight:800;
}
.nl-services-showcase__title.is-typing::after{
  content:"";
  display:inline-block;
  width:3px;
  height:.88em;
  margin-left:8px;
  vertical-align:-0.08em;
  border-radius:999px;
  background:rgba(255,255,255,.95);
  animation:nlServicesCaretBlink .9s step-end infinite;
}
.nl-services-showcase__lead{
  max-width:660px;
  margin:0;
  color:rgba(235,242,255,.88);
  font-size:18px;
  line-height:1.7;
}
.nl-services-showcase__chips{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin:26px 0 28px;
}
.nl-services-showcase__chip{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.14);
  background:rgba(14,34,64,.34);
  color:#fff;
  font-size:14px;
  font-weight:600;
  text-decoration:none;
  transition:background .25s ease,border-color .25s ease,transform .25s ease;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.nl-services-showcase__chip--link:hover{
  background:rgba(31,59,102,.75);
  border-color:rgba(255,255,255,.3);
  transform:translateY(-1px);
  color:#fff;
}
.nl-services-showcase__chip--link:focus-visible{
  outline:2px solid rgba(255,255,255,.65);
  outline-offset:2px;
}
.nl-services-showcase__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  align-items:center;
}
.nl-services-showcase__actions .btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height:46px;
  padding:0 20px;
  border-radius:999px;
  font-weight:700;
}
.nl-services-showcase__actions .btn-outline-light{
  border-color:rgba(255,255,255,.38);
  color:#fff;
  background:rgba(255,255,255,.06);
}
.nl-services-showcase__actions .btn-outline-light:hover{
  color:var(--nl-primary);
  background:#fff;
  border-color:#fff;
}
.nl-services-showcase__stats{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-top:auto;
  padding-top:30px;
}
.nl-services-showcase__stat{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:112px;
  padding:18px 20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(12px);
}
.nl-services-showcase__stat-value{
  display:flex;
  align-items:flex-end;
  gap:10px;
  margin-bottom:8px;
  color:#fff;
  font-size:42px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.03em;
}
.nl-services-showcase__stat-value > span[data-nl-countup-to]{
  display:inline-block;
  color:inherit;
  font:inherit;
  line-height:inherit;
}
.nl-services-showcase__stat-value--with-unit{
  gap:12px;
}
.nl-services-showcase__stat-unit{
  display:inline-block;
  transform:translateY(-2px);
  color:#fff;
  font-size:24px;
  line-height:1;
  font-weight:800;
  letter-spacing:-.02em;
}
.nl-services-showcase__stat-label{
  display:block;
  color:rgba(230,238,251,.86);
  font-size:14px;
  line-height:1.5;
  max-width:220px;
}
@keyframes nlServicesRevealUp{
  from{
    opacity:0;
    transform:translate3d(0, 22px, 0) scale(.985);
  }
  to{
    opacity:1;
    transform:translate3d(0, 0, 0) scale(1);
  }
}
@keyframes nlServicesFloat{
  0%,100%{
    transform:translate3d(0, 0, 0);
  }
  50%{
    transform:translate3d(0, -8px, 0);
  }
}
@keyframes nlServicesFloatSoft{
  0%,100%{
    transform:translate3d(0, 0, 0);
  }
  50%{
    transform:translate3d(0, -5px, 0);
  }
}
@keyframes nlServicesShadowPulseBoard{
  0%,100%{
    box-shadow:0 26px 60px rgba(6,20,38,.22);
  }
  50%{
    box-shadow:0 30px 68px rgba(6,20,38,.3);
  }
}
@keyframes nlServicesShadowPulseLight{
  0%,100%{
    box-shadow:0 22px 50px rgba(7,27,49,.18);
  }
  50%{
    box-shadow:0 26px 58px rgba(7,27,49,.24);
  }
}
@keyframes nlServicesShadowPulseDark{
  0%,100%{
    box-shadow:0 18px 40px rgba(7,27,49,.18);
  }
  50%{
    box-shadow:0 22px 48px rgba(7,27,49,.28);
  }
}
@keyframes nlServicesGlowPulse{
  0%,100%{
    opacity:.72;
    transform:scale(1);
  }
  50%{
    opacity:1;
    transform:scale(1.06);
  }
}
@keyframes nlServicesLineShimmer{
  0%{
    background-position:0 0;
  }
  100%{
    background-position:180px 0;
  }
}
@keyframes nlServicesDotPulse{
  0%,100%{
    transform:scale(1);
    box-shadow:0 0 0 0 rgba(255,109,119,.28);
  }
  50%{
    transform:scale(1.14);
    box-shadow:0 0 0 8px rgba(255,109,119,0);
  }
}
@keyframes nlServicesCaretBlink{
  0%, 48%{
    opacity:1;
  }
  49%, 100%{
    opacity:0;
  }
}
.nl-services-showcase__visual{
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-rows:minmax(0, 1fr) auto;
  gap:18px;
  width:100%;
  min-height:100%;
  padding:0 8px 0 0;
}
.nl-services-showcase__board{
  position:relative;
  min-height:438px;
  padding:22px;
  border-radius:30px;
  border:1px solid rgba(255,255,255,.14);
  background:linear-gradient(160deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
  box-shadow:0 26px 60px rgba(6,20,38,.22);
  will-change:transform, opacity;
  animation:
    nlServicesRevealUp .82s cubic-bezier(.2,.75,.15,1) both,
    nlServicesShadowPulseBoard 6.8s ease-in-out 1s infinite;
}
.nl-services-showcase__board::before{
  content:"";
  position:absolute;
  top:20px;
  left:18px;
  width:150px;
  height:150px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(182,29,42,.28), rgba(182,29,42,0) 72%);
  z-index:-1;
  animation:nlServicesGlowPulse 6.4s ease-in-out infinite;
}
.nl-services-showcase__board-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:18px;
}
.nl-services-showcase__board-dots{
  display:flex;
  align-items:center;
  gap:8px;
}
.nl-services-showcase__board-dots span{
  width:10px;
  height:10px;
  border-radius:999px;
  background:rgba(255,255,255,.56);
}
.nl-services-showcase__board-dots span:first-child{
  background:#ff6d77;
  animation:nlServicesDotPulse 2.8s ease-in-out infinite;
}
.nl-services-showcase__board-label{
  color:rgba(233,241,255,.82);
  font-size:12px;
  font-weight:700;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nl-services-showcase__board-body{
  display:grid;
  grid-template-columns:180px 1fr;
  gap:16px;
  min-height:350px;
}
.nl-services-showcase__board-side{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:20px 18px;
  border-radius:24px;
  background:linear-gradient(180deg, rgba(14,34,64,.42), rgba(10,25,47,.58));
  border:1px solid rgba(255,255,255,.1);
}
.nl-services-showcase__board-side-kicker{
  color:#b8c8e8;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nl-services-showcase__board-side-value{
  margin:8px 0 6px;
  color:#fff;
  font-size:58px;
  line-height:.95;
  font-weight:800;
}
.nl-services-showcase__board-side-text{
  color:rgba(232,240,251,.82);
  font-size:14px;
  line-height:1.5;
}
.nl-services-showcase__board-side-tags{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.nl-services-showcase__board-side-tags span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#eef4ff;
  font-size:12px;
  font-weight:700;
}
.nl-services-showcase__board-main{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.nl-services-showcase__board-card{
  padding:22px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(255,255,255,.04));
}
.nl-services-showcase__board-card span{
  display:block;
  margin-bottom:10px;
  color:#b9c8e3;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}
.nl-services-showcase__board-card strong{
  display:block;
  color:#fff;
  font-size:24px;
  line-height:1.35;
  font-weight:800;
}
.nl-services-showcase__board-card--accent{
  background:linear-gradient(135deg, rgba(34,76,131,.64), rgba(24,55,101,.42));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.nl-services-showcase__board-metrics{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}
.nl-services-showcase__board-metric{
  padding:18px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.1);
  background:linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
}
.nl-services-showcase__board-metric strong{
  display:block;
  margin-bottom:6px;
  color:#fff;
  font-size:30px;
  line-height:1;
  font-weight:800;
}
.nl-services-showcase__board-metric span{
  display:block;
  color:rgba(230,238,251,.82);
  font-size:13px;
  line-height:1.45;
}
.nl-services-showcase__board-lines{
  display:grid;
  gap:12px;
  margin-top:auto;
}
.nl-services-showcase__board-lines span{
  display:block;
  height:16px;
  border-radius:999px;
  background:
    linear-gradient(90deg, rgba(255,255,255,.2), rgba(255,255,255,.42), rgba(255,255,255,.16));
  background-size:180px 100%;
  animation:nlServicesLineShimmer 3.8s linear infinite;
}
.nl-services-showcase__board-lines span:nth-child(1){
  width:100%;
}
.nl-services-showcase__board-lines span:nth-child(2){
  width:82%;
  animation-delay:.2s;
}
.nl-services-showcase__board-lines span:nth-child(3){
  width:66%;
  animation-delay:.4s;
}
.nl-services-showcase__offers{
  display:grid;
  grid-template-columns:minmax(0, 1fr) 220px;
  gap:18px;
  align-items:stretch;
  margin-top:auto;
}
.nl-services-showcase__offer-card{
  position:relative;
  z-index:2;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  height:100%;
  min-height:234px;
  padding:20px 20px 16px;
  border-radius:24px;
  border:1px solid rgba(11,42,74,.12);
  background:linear-gradient(160deg, rgba(255,255,255,.98), rgba(243,247,255,.94));
  color:var(--nl-primary);
  box-shadow:0 22px 50px rgba(7,27,49,.18);
  will-change:transform, opacity;
  animation:
    nlServicesRevealUp .86s cubic-bezier(.2,.75,.15,1) .12s both,
    nlServicesShadowPulseLight 6.2s ease-in-out 1.2s infinite;
}
.nl-services-showcase__offer-eyebrow{
  margin-bottom:10px;
  color:var(--nl-accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.nl-services-showcase__offer-title{
  font-size:18px;
  line-height:1.5;
  font-weight:700;
}
.nl-services-showcase__offer-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.nl-services-showcase__offer-chips span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:7px 11px;
  border-radius:999px;
  border:1px solid rgba(11,42,74,.08);
  background:rgba(11,42,74,.05);
  color:var(--nl-primary);
  font-size:12px;
  font-weight:700;
}
.nl-services-showcase__offer-badge{
  position:relative;
  z-index:3;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  height:100%;
  min-height:234px;
  padding:16px 18px;
  border-radius:20px;
  border:1px solid rgba(255,255,255,.16);
  background:linear-gradient(160deg, rgba(16,35,68,.95), rgba(30,66,115,.8));
  color:#fff;
  box-shadow:0 18px 40px rgba(7,27,49,.18);
  will-change:transform, opacity;
  animation:
    nlServicesRevealUp .92s cubic-bezier(.2,.75,.15,1) .22s both,
    nlServicesShadowPulseDark 5.6s ease-in-out 1.5s infinite;
}
.nl-services-showcase__offer-badge-tag{
  display:inline-flex;
  width:fit-content;
  padding:6px 10px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(182,29,42,.18);
  color:#ffdbe0;
  font-size:11px;
  font-weight:800;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.nl-services-showcase__offer-badge strong{
  font-size:24px;
  line-height:1.2;
  font-weight:800;
}
.nl-services-showcase__offer-badge-note{
  display:block;
  color:rgba(225,236,252,.82);
  font-size:13px;
  line-height:1.45;
}
@media (max-width:1199.98px){
  .nl-services-showcase__shell{
    padding:46px 0 44px;
  }
  .nl-services-showcase__title{
    font-size:clamp(36px, 5vw, 58px);
  }
  .nl-services-showcase__stats{
    grid-template-columns:1fr;
  }
  .nl-services-showcase__offers{
    grid-template-columns:minmax(0, 1fr) 204px;
  }
  .nl-services-showcase__board{
    min-height:404px;
  }
  .nl-services-showcase__board-body{
    grid-template-columns:156px 1fr;
  }
}
@media (max-width:991.98px){
  .nl-services-showcase__content-col,
  .nl-services-showcase__visual-col{
    display:block;
  }
  .nl-services-showcase__content{
    min-height:auto;
  }
  .nl-services-showcase__shell{
    padding:36px 0 34px;
  }
  .nl-services-showcase__lead{
    font-size:16px;
  }
  .nl-services-showcase__chips{
    margin:22px 0 24px;
  }
  .nl-services-showcase__visual{
    grid-template-rows:none;
    min-height:auto;
    padding:8px 0 24px;
  }
  .nl-services-showcase__board{
    min-height:392px;
    padding:18px;
  }
  .nl-services-showcase__board-body{
    grid-template-columns:148px 1fr;
    min-height:320px;
  }
  .nl-services-showcase__offers{
    grid-template-columns:1fr 220px;
  }
}
@media (max-width:575.98px){
  .nl-services-showcase__shell{
    padding:28px 0 28px;
  }
  .nl-services-showcase__title{
    font-size:clamp(32px, 10vw, 42px);
  }
  .nl-services-showcase__lead{
    font-size:15px;
    line-height:1.65;
  }
  .nl-services-showcase__chip{
    width:100%;
    justify-content:center;
  }
  .nl-services-showcase__actions{
    flex-direction:column;
    align-items:stretch;
  }
  .nl-services-showcase__actions .btn{
    width:100%;
  }
  .nl-services-showcase__stat{
    min-height:auto;
  }
  .nl-services-showcase__visual{
    grid-template-rows:none;
    padding:8px 0 0;
  }
  .nl-services-showcase__board{
    min-height:auto;
    padding:16px;
    border-radius:24px;
  }
  .nl-services-showcase__board-head{
    margin-bottom:14px;
  }
  .nl-services-showcase__board-body{
    grid-template-columns:1fr;
    min-height:auto;
  }
  .nl-services-showcase__board-side{
    gap:12px;
  }
  .nl-services-showcase__board-side-value{
    font-size:48px;
  }
  .nl-services-showcase__board-card strong{
    font-size:20px;
  }
  .nl-services-showcase__board-metrics{
    grid-template-columns:1fr;
  }
  .nl-services-showcase__offers{
    grid-template-columns:1fr;
  }
  .nl-services-showcase__offer-card,
  .nl-services-showcase__offer-badge{
    position:relative;
    min-height:auto;
    margin-top:0;
  }
  .nl-services-showcase__offer-badge strong{
    font-size:20px;
  }
}

/* =========================================================
   Reveal + common transitions
   ========================================================= */
[data-nl-reveal="1"]{
  opacity:0;
  transform:var(--nl-reveal-transform, translate3d(0,14px,0));
  filter:var(--nl-reveal-filter, none);
  transition:
    opacity var(--nl-reveal-duration, .62s) cubic-bezier(.2,.7,.1,1) var(--nl-reveal-delay, 0ms),
    transform var(--nl-reveal-duration, .62s) cubic-bezier(.2,.7,.1,1) var(--nl-reveal-delay, 0ms),
    filter var(--nl-reveal-duration, .62s) ease var(--nl-reveal-delay, 0ms);
  will-change:opacity, transform, filter;
}
[data-nl-reveal="1"][data-nl-reveal-type="up"]{--nl-reveal-transform:translate3d(0,14px,0);}
[data-nl-reveal="1"][data-nl-reveal-type="down"]{--nl-reveal-transform:translate3d(0,-14px,0);}
[data-nl-reveal="1"][data-nl-reveal-type="left"]{--nl-reveal-transform:translate3d(-22px,0,0);}
[data-nl-reveal="1"][data-nl-reveal-type="right"]{--nl-reveal-transform:translate3d(22px,0,0);}
[data-nl-reveal="1"][data-nl-reveal-type="zoom"]{--nl-reveal-transform:scale(.94);}
[data-nl-reveal="1"][data-nl-reveal-type="soft"]{
  --nl-reveal-transform:translate3d(0,10px,0) scale(.985);
  --nl-reveal-filter:blur(2px);
}
[data-nl-reveal="1"].nl-revealed{
  opacity:1;
  transform:translate3d(0,0,0) scale(1);
  filter:blur(0);
}
/* Keep lift effect for home services cards after reveal animation ends. */
#services .nl-services-corporate__card[data-nl-reveal="1"].nl-revealed:hover,
#services .nl-services-corporate__card[data-nl-reveal="1"].nl-revealed:focus-within{
  transform:translateY(-6px) !important;
  box-shadow:0 24px 46px rgba(28,59,106,.12);
  border-color:#c2d0e8;
}
@media (max-width:575.98px){
  html,body{
    overflow-x:hidden;
    overflow-x:clip;
  }
  [data-nl-reveal="1"][data-nl-reveal-type="left"],
  [data-nl-reveal="1"][data-nl-reveal-type="right"]{
    --nl-reveal-transform:translate3d(0,12px,0);
  }
}

.btn,.card,.form-control{transition:box-shadow .2s ease, transform .2s ease, border-color .2s ease;}
.btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,0,0,.18);}
.form-control:focus{border-color:rgba(182,29,42,.4);box-shadow:0 0 0 .2rem rgba(182,29,42,.15);}
.card:hover{transform:translateY(-6px);box-shadow:0 12px 28px rgba(11,42,74,.12);}

.nl-form--card,
.nl-contacts-info-card,
.nl-recommendation-card,
.nl-case-testimonial,
#individual-offer .service-offer-card{
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  will-change:transform;
}
.nl-form--card:hover,
.nl-contacts-info-card:hover,
.nl-recommendation-card:hover,
.nl-case-testimonial:hover,
#individual-offer .service-offer-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 28px rgba(11,42,74,.12);
}

/* =========================================================
   Forms (glass style)
   ========================================================= */
.nl-form{display:flex;flex-direction:column;gap:16px;}
.nl-form__lead{margin:0 0 12px;color:rgba(19,27,44,.7);font-size:14px;}
.modal-content{
  border-radius:22px;
  border:1px solid rgba(255,255,255,.35);
  background:linear-gradient(135deg, rgba(245,245,255,.92), rgba(225,228,245,.85));
  box-shadow:0 24px 60px rgba(12,20,40,.4);
  backdrop-filter:blur(18px);
}
.modal-header{border-bottom:1px solid rgba(0,0,0,.06);}
.modal-title{font-weight:700;font-size:22px;}
.nl-form--card{
  padding:24px;border-radius:20px;
  background:linear-gradient(135deg, rgba(245,245,255,.9), rgba(225,228,245,.8));
  border:1px solid rgba(255,255,255,.5);
  box-shadow:0 20px 50px rgba(12,20,40,.18);
  backdrop-filter:blur(14px);
}
.nl-form__grid{display:grid;gap:14px;grid-template-columns:repeat(2, minmax(0,1fr));}
.nl-form__field{padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.55);border:1px solid rgba(17,26,46,.08);}
.nl-form__field--full{grid-column:1/-1;}
.nl-form__field .form-label{font-weight:600;color:#1a233a;margin-bottom:6px;}
.nl-form__field .form-text{color:rgba(26,35,58,.6);}
.nl-form__field .form-control{border-radius:10px;border:1px solid rgba(17,26,46,.12);background:rgba(255,255,255,.75);}
.nl-form__field .form-control:focus{background:#fff;}
.nl-form__consent{padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.45);border:1px dashed rgba(182,29,42,.35);}
.nl-form__consent .form-check-input{border-radius:6px;}
.nl-form__consent .form-check-label{color:#1a233a;}
.nl-form__consent .text-muted{color:rgba(26,35,58,.65)!important;}
@media (max-width:767.98px){.nl-form__grid{grid-template-columns:1fr;}}
.nl-honeypot{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none;}

.nl-contacts-info-card{
  border:1px solid rgba(11,42,74,.12);
  border-radius:20px;
  background:linear-gradient(135deg, rgba(245,245,255,.92), rgba(225,228,245,.82));
  box-shadow:0 20px 50px rgba(12,20,40,.16);
}
.nl-contacts-info-card .card-body{
  display:flex;
  flex-direction:column;
  gap:14px;
  padding:24px;
}
.nl-contacts-info-card__title{
  font-size:28px;
  font-weight:800;
  line-height:1.1;
  color:#1a233a;
}
.nl-contacts-info-card__address{
  color:rgba(26,35,58,.72);
  font-size:14px;
}
.nl-contacts-info-card__lead{
  color:#1a233a;
  font-size:15px;
  line-height:1.72;
}
.nl-contacts-contact-list{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  gap:10px;
}
.nl-contacts-contact-list li{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:baseline;
  padding:10px 12px;
  border-radius:12px;
  background:rgba(255,255,255,.65);
  border:1px solid rgba(17,26,46,.08);
}
.nl-contacts-contact-list__label{
  min-width:88px;
  color:rgba(26,35,58,.72);
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.nl-contacts-contact-list a{
  color:#1a233a;
  text-decoration:none;
  font-weight:600;
}
.nl-contacts-contact-list a:hover{color:#b61d2a;}
.nl-contacts-note{
  margin-top:auto;
  padding:16px;
  border-radius:14px;
  background:rgba(255,255,255,.78);
  border:1px dashed rgba(182,29,42,.35);
  color:#1a233a;
  line-height:1.6;
  font-size:14px;
}
.nl-contacts-map-card{
  border:1px solid rgba(11,42,74,.12);
  border-radius:20px;
  overflow:hidden;
  background:linear-gradient(135deg, rgba(245,245,255,.92), rgba(225,228,245,.82));
  box-shadow:0 20px 50px rgba(12,20,40,.16);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.nl-contacts-map-card:hover{
  transform:translateY(-6px);
  box-shadow:0 12px 28px rgba(11,42,74,.12);
}
.nl-contacts-map-card__frame{
  position:relative;
  width:100%;
  min-height:320px;
}
.nl-contacts-map-card__frame iframe{
  display:block;
  width:100%;
  min-height:320px;
  border:0;
}
@media (max-width:991.98px){
  .nl-contacts-info-card__title{font-size:24px;}
  .nl-contacts-info-card .card-body{padding:20px;}
  .nl-contacts-map-card__frame,
  .nl-contacts-map-card__frame iframe{
    min-height:260px;
  }
}

@keyframes nl-dropdown{from{opacity:0;transform:translateY(4px);}to{opacity:1;transform:translateY(0);}}
@keyframes nl-hero-fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation-duration:.01ms!important;
    animation-iteration-count:1!important;
    transition-duration:.01ms!important;
    scroll-behavior:auto!important;
  }
}

.nl-service-showcase{border:1px solid rgba(13,39,69,.08);}

/* restore explicit styles for mega-menu list mode */
.nl-pane__view--list.is-active{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
@media (max-width:1199.98px){
  .nl-pane__view--list.is-active{grid-template-columns:1fr;}
}
.nl-pane__view--list .nl-sub,
.nl-pane__view--list .nl-subgroup{
  max-width:100%;
}
.nl-pane__view--list .nl-subgroup__list{
  margin-top:2px;
}

.nl-recommendation-card{
  position:relative;
  border:1px solid rgba(11,42,74,.12);
  border-radius:20px;
  overflow:hidden;
  background:
    linear-gradient(120deg, rgba(11,42,74,.96), rgba(11,42,74,.88)),
    var(--nl-recommendation-image, none);
  background-size:cover;
  background-position:center;
  box-shadow:0 18px 40px rgba(11,42,74,.18);
}
.nl-recommendation-card__inner{
  display:flex;
  gap:20px;
  justify-content:space-between;
  align-items:flex-end;
  padding:28px;
}
.nl-recommendation-card__content{max-width:760px;}
.nl-recommendation-card .nl-unified-h2{color:#fff;}
.nl-recommendation-card__text{
  color:rgba(255,255,255,.88);
  font-size:16px;
  line-height:1.6;
  max-width:680px;
}
.nl-recommendation-card__actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  align-items:flex-start;
  min-width:320px;
}
.nl-recommendation-card__badge{
  display:inline-flex;
  align-items:center;
  font-size:13px;
  font-weight:700;
  color:#fff;
  background:rgba(182,29,42,.92);
  border-radius:999px;
  padding:6px 12px;
  margin:0;
}
.nl-recommendation-card__cta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:14px;
  padding:12px 14px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:14px;
  background:rgba(255,255,255,.08);
}
.nl-recommendation-card__btn{
  min-width:136px;
  padding:10px 18px;
  font-weight:700;
  white-space:nowrap;
  border-radius:10px;
}
.nl-recommendation-card__hint{
  color:rgba(255,255,255,.88);
  font-size:14px;
  line-height:1.45;
  max-width:220px;
}
.nl-recommendation-card__mark{
  display:block;
  color:rgba(255,255,255,.78);
  font-size:12px;
  line-height:1.4;
  letter-spacing:.01em;
  border-top:1px dashed rgba(255,255,255,.28);
  padding-top:8px;
  margin-top:2px;
  width:100%;
  max-width:420px;
}
@media (max-width:991.98px){
  .nl-recommendation-card__inner{align-items:flex-start;}
  .nl-recommendation-card__actions{min-width:0;width:100%;}
  .nl-recommendation-card__cta{width:100%;justify-content:space-between;}
}
@media (max-width:767.98px){
  .nl-recommendation-card__inner{padding:20px;flex-direction:column;align-items:flex-start;}
  .nl-recommendation-card__actions{width:100%;}
  .nl-recommendation-card__cta{flex-direction:column;align-items:stretch;gap:10px;}
  .nl-recommendation-card__btn{width:100%;}
  .nl-recommendation-card__hint{max-width:none;}
  .nl-recommendation-card__mark{font-size:11px;}
}

.nl-home-alt--white{background:#fff;}
.nl-home-alt--gray{background:#f4f6f9;}

.nl-footer{
  background:
    radial-gradient(1200px 500px at 10% 10%, rgba(76,111,193,.18), transparent 60%),
    linear-gradient(180deg, #101f4a 0%, #0b183d 100%);
  border-top:3px solid #be1d2e;
  color:#dfe7ff;
}
.nl-footer__top{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:24px;padding:42px 0 28px;}
.nl-footer__col{padding:0 10px;}
.nl-footer__col + .nl-footer__col{border-left:1px solid rgba(255,255,255,.08);}
.nl-footer__logo{max-height:58px;max-width:220px;object-fit:contain;}
.nl-footer__brand-name{font-weight:800;line-height:1;}
.nl-footer__desc{margin-top:18px;line-height:1.6;color:rgba(223,231,255,.88);max-width:360px;}
.nl-footer__actions{display:flex;gap:10px;margin-top:20px;flex-wrap:wrap;}
.nl-footer__title{position:relative;font-weight:700;margin:0 0 14px;line-height:1.1;padding-bottom:10px;font-size: 1.25rem;}
.nl-footer__title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg, rgba(182, 29, 42, .9), rgba(182, 29, 42, 0));
  transform-origin:left;
  animation:nl-section-underline .6s ease both;
}
.nl-footer__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px;}
.nl-footer__list a,.nl-footer__list span{color:#d7e0ff;text-decoration:none;line-height:1.3;opacity:.9;}
.nl-footer__list a:hover{opacity:1;color:#fff;}
.nl-footer__contacts{display:flex;flex-direction:column;gap:12px;font-size:16px;line-height:1.35;color:#d7e0ff;}
.nl-footer__contacts a{color:#fff;text-decoration:none;font-weight:600;}
.nl-footer__bottom{border-top:1px solid rgba(255,255,255,.08);padding:16px 0 20px;display:flex;justify-content:space-between;gap:16px;align-items:center;color:rgba(223,231,255,.86);}
.nl-footer__policies{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.nl-footer__policies a{color:#dfe7ff;text-decoration:none;}
.nl-footer__policies a:hover{color:#fff;}
.nl-footer__list a,
.nl-footer__contacts a,
.nl-footer__policies a{
  position:relative;
  display:inline-flex;
  width:fit-content;
  padding-bottom:2px;
}
.nl-footer__list a::after,
.nl-footer__contacts a::after,
.nl-footer__policies a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-1px;
  width:100%;
  height:2px;
  background:var(--nl-accent);
  transform:scaleX(0);
  transform-origin:left;
  transition:transform .2s ease;
  opacity:.95;
}
.nl-footer__list a:hover::after,
.nl-footer__list a:focus-visible::after,
.nl-footer__contacts a:hover::after,
.nl-footer__contacts a:focus-visible::after,
.nl-footer__policies a:hover::after,
.nl-footer__policies a:focus-visible::after{
  transform:scaleX(1);
}
@media (max-width:1199.98px){
  .nl-footer__top{grid-template-columns:1fr 1fr;}
  .nl-footer__col + .nl-footer__col{border-left:0;}
}
@media (max-width:767.98px){
  .nl-footer__top{grid-template-columns:1fr;padding-top:28px;}
  .nl-footer__contacts{font-size:16px;}
  .nl-footer__bottom{flex-direction:column;align-items:flex-start;}
}

.nl-case-card-cover{
  max-height:320px;
  width:100%;
  object-fit:cover;
}

.nl-case-cover{
  border-radius:20px;
  background:linear-gradient(180deg,#fff,#f7f8fb);
}

.nl-case-cover-media{height:260px;background:#0b2a4a;}
.nl-case-cover-image{width:100%;height:100%;object-fit:cover;display:block;}
.nl-case-cover-overlay{
  position:absolute;inset:0;
  background:linear-gradient(160deg, rgba(11,42,74,.2) 10%, rgba(11,42,74,.85) 100%);
}
.nl-case-cover-title{
  position:absolute;left:24px;right:24px;bottom:20px;z-index:2;
}
.nl-case-inline-image img{max-height:420px;object-fit:cover;width:100%;}





.nl-cases-grid--loading{opacity:.35;transform:translateY(8px);transition:opacity .28s ease,transform .28s ease;}
.nl-cases-grid--ready{opacity:1;transform:translateY(0);}
.nl-cases-item{animation:nlCaseIn .42s ease both;}
@keyframes nlCaseIn{from{opacity:0;transform:translateY(14px) scale(.985);}to{opacity:1;transform:translateY(0) scale(1);}}


.nl-case-testimonial{
  border:1px solid rgba(17,45,91,.12);
  border-radius:18px;
  background:linear-gradient(140deg,#ffffff 0%, #f5f8ff 100%);
  box-shadow:0 16px 36px rgba(10,35,70,.10);
  padding:20px;
}
.nl-case-testimonial__head{display:flex;gap:14px;align-items:center;margin-bottom:14px;}
.nl-case-testimonial__photo,.nl-case-testimonial__avatar{
  width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;
  border:2px solid rgba(182,29,42,.2);
}
.nl-case-testimonial__avatar{display:grid;place-items:center;background:#fff;color:var(--nl-primary);font-weight:800;font-size:24px;}
.nl-case-testimonial__name{font-weight:700;color:#112d5b;line-height:1.2;}
.nl-case-testimonial__meta{font-size:14px;color:#667089;}
.nl-case-testimonial__content{position:relative;padding-left:18px;}
.nl-case-testimonial__content::before{content:"\201C";position:absolute;left:0;top:-6px;color:var(--nl-accent);font-size:28px;font-weight:800;line-height:1;}
.nl-case-testimonial__content p:last-child{margin-bottom:0;}
.nl-case-attachment-preview{max-width:220px;border-radius:12px;border:1px solid rgba(17,45,91,.12);box-shadow:0 8px 22px rgba(10,35,70,.12);}
.nl-case-attachment-link{text-decoration:none;}


.nl-case-project-link{display:inline-flex;align-items:center;gap:6px;margin-top:10px;font-weight:600;color:var(--nl-accent);text-decoration:none;}
.nl-case-project-link:hover{color:#8f1320;text-decoration:underline;}
.nl-case-stats-list{
  list-style:none;
  margin:8px 0 0;
  padding:0;
  display:grid;
  gap:8px;
}
.nl-case-stats-list__item{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(17,45,91,.10);
  border-radius:10px;
  background:#f8fafc;
}
.nl-case-stats-list__label{
  font-size:13px;
  font-weight:700;
  letter-spacing:.01em;
  text-transform:none;
  color:#5a647a;
  max-width:56%;
}
.nl-case-stats-list__value{
  color:#112d5b;
  font-weight:600;
  line-height:1.45;
  max-width:44%;
  text-align:right;
  word-break:break-word;
}
.nl-case-stats-raw{
  white-space:pre-wrap;
  word-break:break-word;
}
@media (max-width:575.98px){
  .nl-case-stats-list__item{flex-direction:column;align-items:flex-start;}
  .nl-case-stats-list__label,
  .nl-case-stats-list__value{max-width:none;text-align:left;}
}


#services-list .section-header h1{color:var(--nl-primary);}
#services-list .services-cards{overflow:visible;}
#services-list .nl-services-list__additional{
  margin-top:22px;
}
#services-list .nl-services-list__additional-title{
  position:relative;
  display:inline-block;
  margin:0 0 12px;
  padding-bottom:10px;
  color:var(--nl-primary);
  font-size:clamp(26px,2.2vw,36px);
  font-weight:800;
  line-height:1.2;
}
#services-list .nl-services-list__additional-title::after{
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:100%;
  height:2px;
  background:linear-gradient(90deg, rgba(182,29,42,.9), rgba(182,29,42,0));
}
#services-list .nl-services-list__additional-subtitle{
  margin:0 0 14px;
  color:#5e6a82;
  font-size:16px;
  line-height:1.58;
}
#services-list .service-card{display:flex;}
#services-list .service-card-item{
  width:100%;
  border-radius:16px;
  border:1px solid rgba(11,42,74,.12);
  background:linear-gradient(180deg,#fff,#f7f9fd);
  box-shadow:0 14px 32px rgba(11,42,74,.08);
  padding:22px;
  transition:transform .2s ease, box-shadow .2s ease;
}
#services-list .service-card-item:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(11,42,74,.13);}
#services-list .service-card-header{font-size:22px;line-height:1.2;font-weight:800;color:var(--nl-primary);margin-bottom:10px;}
#services-list .service-card-content{color:#4e5a71;line-height:1.6;margin-bottom:16px;}
#services-list .service-cards-buttons{display:flex;justify-content:space-between;align-items:end;gap:12px;border-top:1px dashed rgba(11,42,74,.14);padding-top:14px;}
#services-list .service-card-link a{display:inline-flex;align-items:center;gap:6px;color:var(--nl-accent);font-weight:700;text-decoration:none;}
#services-list .service-card-link a:hover{text-decoration:underline;}
#services-list .service-card-price{font-size:15px;font-weight:600;color:#5e6a82;text-align:right;}
#services-list .service-card-price span{font-size:24px;line-height:1;color:var(--nl-primary);font-weight:800;}
#services-list .service-card--help .service-card-item{background:linear-gradient(140deg,#132a52,#1e3e70);color:#fff;}
#services-list .service-card--help .service-card-header,#services-list .service-card--help .service-card-content,#services-list .service-card--help .service-card-price{color:#e9efff;}
#services-list .service-card--help .service-card-link a{color:#fff;}
#services-list .service-card--help .service-cards-buttons{border-top-color:rgba(255,255,255,.28);}
#services-list .service-card .service-card-item .service-card-header{word-break:break-word;}
#services-list .service-card .service-card-item .service-card-price,
#services-list .service-card .service-card-item .service-card-content{min-height:0;}
@media (max-width:991.98px){
  #services-list .service-card-header{font-size:20px;}
}
@media (max-width:575.98px){
  #services-list .service-card-item{padding:18px;}
  #services-list .service-cards-buttons{flex-direction:column;align-items:flex-start;}
  #services-list .service-card-price{text-align:left;}
}


#services-list .section-header h2,
#section-child-preims .section-header h2,
#advantages-list .section-header h2,
#process-steps .section-header h2,
#projects-list .section-header h2,
#faq-list .section-header h2,
#prices-list .section-header h2{font-size:clamp(26px,2.2vw,36px);font-weight:800;color:var(--nl-primary);margin:0;line-height:1.2;}
@media (max-width:991.98px){
  #services-list .section-header h2,
  #section-child-preims .section-header h2,
  #advantages-list .section-header h2,
  #process-steps .section-header h2,
  #projects-list .section-header h2,
  #faq-list .section-header h2,
  #prices-list .section-header h2{font-size:28px;}
}
#services-list .section-header,
#section-child-preims .section-header,
#advantages-list .section-header,
#process-steps .section-header,
#projects-list .section-header,
#faq-list .section-header,
#prices-list .section-header,
#individual-offer .service-offer-card__content{
  text-align:left;
}
#services-list .service-card-item,
#prices-list .service-card-item,
#advantages-list .advantage-card,
#projects-list .advantage-card,
#process-steps .process-step,
#section-child-preims .service-preim-item,
#faq-list .accordion-button,
#faq-list .accordion-body{
  text-align:left;
}
#process-steps .process-steps{display:flex;flex-direction:column;gap:14px;position:relative;}
#process-steps .process-step{position:relative;display:flex;gap:14px;align-items:flex-start;background:linear-gradient(180deg,#fff,#f8faff);border:1px solid rgba(11,42,74,.12);border-radius:16px;padding:18px;box-shadow:0 12px 28px rgba(11,42,74,.08);transition:transform .2s ease, box-shadow .2s ease;min-height:132px;}
#process-steps .process-step:hover{transform:translateY(-3px);box-shadow:0 16px 34px rgba(11,42,74,.12);}
#process-steps .step-number{flex:0 0 42px;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(140deg,#1E3665,#2f4f89);color:#fff;font-weight:800;font-size:18px;box-shadow:0 10px 20px rgba(30,54,101,.28);}
#process-steps .step-content{min-width:0;display:flex;flex-direction:column;justify-content:center;}
#process-steps .step-content h3{margin:1px 0 8px;font-size:20px;line-height:1.2;color:var(--nl-primary);font-weight:700;}
#process-steps .step-content p{margin:0;color:#4d5a72;line-height:1.6;}
#process-steps .process-steps-tree{
  position:relative;
  display:grid;
  gap:16px;
}
#process-steps .process-steps-tree::before{
  content:"";
  position:absolute;
  left:50%;
  top:38px;
  bottom:38px;
  width:1px;
  transform:translateX(-50%);
  background:linear-gradient(180deg, rgba(23,55,95,0) 0%, rgba(23,55,95,.24) 12%, rgba(23,55,95,.24) 88%, rgba(23,55,95,0) 100%);
  pointer-events:none;
}
#process-steps .process-steps-tree__row{
  display:grid;
  grid-template-columns:minmax(0,1fr) 64px minmax(0,1fr);
  align-items:stretch;
  gap:10px;
}
#process-steps .process-steps-tree__col{
  min-width:0;
  position:relative;
  z-index:2;
}
#process-steps .process-steps-tree__bridge{
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:3;
}
#process-steps .process-steps-tree__bridge::before,
#process-steps .process-steps-tree__bridge::after{
  content:"";
  position:absolute;
  top:50%;
  width:24px;
  height:1px;
  border-radius:999px;
  transform:translateY(-50%);
  background:rgba(30,54,101,.26);
}
#process-steps .process-steps-tree__bridge::before{
  left:7px;
}
#process-steps .process-steps-tree__bridge::after{
  right:7px;
}
#process-steps .process-steps-tree__dot{
  width:10px;
  height:10px;
  border-radius:50%;
  border:2px solid #1E3665;
  background:#fff;
  box-shadow:0 0 0 4px rgba(30,54,101,.10);
}
#process-steps .process-steps-tree__bridge--no-left::before{
  display:none;
}
#process-steps .process-steps-tree__bridge--no-right::after{
  display:none;
}
#process-steps .process-steps-tree__row:hover .process-steps-tree__bridge::before,
#process-steps .process-steps-tree__row:hover .process-steps-tree__bridge::after{
  background:rgba(30,54,101,.45);
}
#process-steps .process-steps-tree__row:hover .process-steps-tree__dot{
  background:#1E3665;
}
@media (max-width:767.98px){
  #process-steps .process-step{padding:14px;gap:12px;}
  #process-steps .step-number{flex-basis:36px;width:36px;height:36px;font-size:16px;}
  #process-steps .step-content h3{font-size:18px;}
}
@media (max-width:991.98px){
  #process-steps .process-steps-tree{
    gap:12px;
  }
  #process-steps .process-steps-tree__row{
    grid-template-columns:1fr;
    gap:12px;
  }
  #process-steps .process-steps-tree__bridge{
    display:none;
  }
}


#advantages-list .advantage-card{
  border-radius:16px;
  border:1px solid rgba(11,42,74,.12);
  background:linear-gradient(180deg,#fff,#f8faff);
  box-shadow:0 14px 32px rgba(11,42,74,.08);
  padding:22px;
  transition:transform .2s ease, box-shadow .2s ease;
}
#advantages-list .advantage-card:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(11,42,74,.12);}
#advantages-list .advantage-card__icon{width:48px;height:48px;object-fit:contain;margin-bottom:14px;}
#advantages-list .advantage-card__title{font-size:22px;line-height:1.2;font-weight:800;color:var(--nl-primary);margin:0 0 10px;}
.advantage-card__text{
  color:#4e5a71;
  font-size:16px;
  line-height:1.62;
  font-family:inherit;
  text-align:left;
}

@media (max-width:991.98px){
  #advantages-list .advantage-card__title{font-size:20px;}
}
@media (max-width:575.98px){
  #advantages-list .advantage-card{padding:18px;}
}

#section-child-preims .service-preim-item{display:flex;gap:12px;align-items:flex-start;background:linear-gradient(180deg,#fff,#f8faff);border:1px solid rgba(11,42,74,.12);border-radius:14px;padding:16px;box-shadow:0 10px 22px rgba(11,42,74,.08);}
#service-detail-content,
#service-detail-content .nl-richtext,
#service-detail-content .nl-richtext p,
#service-detail-content .nl-richtext li,
#service-detail-content .nl-richtext span,
#service-detail-content .nl-richtext div,
#service-detail-content .nl-richtext a,
#section-child-preims .service-preim-item,
#section-child-preims .service-preim-item p{
  color:#4e5a71 !important;
  font-size:16px !important;
  line-height:1.62 !important;
  font-family:inherit !important;
  text-align:left !important;
}
#service-detail-content .nl-service-detail-meta{
  margin-top:26px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
#service-detail-content .nl-service-detail-chips{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
#service-detail-content .nl-service-detail-chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid rgba(182,29,42,.22);
  border-radius:999px;
  padding:10px 14px;
  background:linear-gradient(180deg,#fff,#f8faff);
  color:#1c325b;
  font-size:14px;
  font-weight:600;
  line-height:1.35;
  box-shadow:0 8px 20px rgba(11,42,74,.08);
}
#service-detail-content .nl-service-detail-meta__btn{
  margin-left:auto;
  white-space:nowrap;
  min-height:42px;
  padding:0 18px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
#service-detail-content .nl-service-detail-chip::before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--nl-accent);
  box-shadow:0 0 0 3px rgba(182,29,42,.14);
  flex:0 0 8px;
}
@media (max-width:991.98px){
  #service-detail-content .nl-service-detail-meta{
    align-items:flex-start;
  }
  #service-detail-content .nl-service-detail-meta__btn{
    margin-left:0;
  }
}
@media (max-width:767.98px){
  #service-detail-content .nl-service-detail-chips{
    gap:8px;
  }
  #service-detail-content .nl-service-detail-chip{
    width:100%;
    justify-content:flex-start;
    padding:10px 12px;
    font-size:13px;
  }
  #service-detail-content .nl-service-detail-meta__btn{
    width:100%;
  }
}

/* Info pages: purpose table styles */
.nl-richtext .purpose-table{
  width:100%;
  margin:1rem 0 1.5rem;
  border-collapse:separate;
  border-spacing:0;
  border:1px solid rgba(11,42,74,.12);
  border-radius:16px;
  overflow:hidden;
  background:linear-gradient(180deg,#fff,#f8faff);
  box-shadow:0 10px 24px rgba(11,42,74,.08);
}
.nl-richtext .purpose-table th,
.nl-richtext .purpose-table td{
  padding:16px 18px;
  vertical-align:top;
  border-bottom:1px solid rgba(11,42,74,.1);
  text-align:left;
}
.nl-richtext .purpose-table th{
  width:34%;
  background:rgba(11,42,74,.05);
  color:var(--nl-primary);
  font-size:16px;
  font-weight:700;
  line-height:1.45;
}
.nl-richtext .purpose-table td{
  color:#4e5a71;
  font-size:16px;
  line-height:1.62;
}
.nl-richtext .purpose-table tr:last-child th,
.nl-richtext .purpose-table tr:last-child td{
  border-bottom:0;
}
.nl-richtext .purpose-table ul{
  margin:0;
  padding-left:20px;
}
.nl-richtext .purpose-table li{
  margin:0 0 8px;
}
.nl-richtext .purpose-table li:last-child{
  margin-bottom:0;
}
.nl-richtext .purpose-table .mark.link{
  display:inline;
  padding:0;
  background:transparent;
  color:inherit;
  font-weight:600;
}

.nl-news-detail .container{
  max-width:1320px;
  position:relative;
  z-index:1;
}
.nl-news-detail{
  position:relative;
  background:linear-gradient(180deg, #f4f8ff 0%, #f8fbff 46%, #ffffff 100%);
  padding:32px 0 64px;
}
.nl-news-showcase{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(10,35,70,.14);
  border-radius:26px;
  background:linear-gradient(135deg, #0d2a53 0%, #143b69 55%, #1b5a78 100%);
  box-shadow:0 18px 44px rgba(9,34,63,.15);
}
.nl-news-showcase::before{
  display:none;
}
.nl-news-showcase::after{
  display:none;
}
.nl-news-showcase__content{
  position:relative;
  z-index:1;
  min-height:100%;
  padding:32px 34px 30px;
  color:#fff;
}
.nl-news-showcase__top{
  display:grid;
  grid-template-columns:minmax(0, auto) minmax(0, 1fr);
  align-items:center;
  column-gap:16px;
  row-gap:10px;
  margin-bottom:20px;
}
.nl-news-showcase__back,
.nl-news-showcase__eyebrow,
.nl-news-showcase__date{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 14px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.20);
  background:rgba(255,255,255,.10);
  font-size:13px;
  font-weight:700;
  line-height:1;
  color:#fff;
}
.nl-news-showcase__back{
  text-decoration:none;
}
.nl-news-showcase__back:hover{
  color:#fff;
  border-color:rgba(255,255,255,.28);
  background:rgba(255,255,255,.14);
}
.nl-news-showcase__meta{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
  flex-wrap:nowrap;
  justify-self:end;
  width:max-content;
  margin-left:auto;
  margin-bottom:0;
}
.nl-news-showcase__eyebrow{
  background:rgba(182,29,42,.25);
  border-color:rgba(255,255,255,.10);
}
.nl-news-showcase__date{
  white-space:nowrap;
  color:rgba(255,255,255,.88);
}
.nl-news-showcase__title{
  display:block;
  max-width:none;
  color:#fff;
  font-size:clamp(32px,3.05vw,50px);
  line-height:1.12;
  text-wrap:balance;
  margin-bottom:0;
  padding-bottom:14px;
}
.nl-news-showcase__title::after{
  width:132px;
  height:2px;
  background:linear-gradient(90deg, rgba(255,255,255,.95), rgba(182,29,42,.92) 60%, rgba(182,29,42,0) 100%);
}
.nl-news-showcase__lead{
  margin:18px 0 0;
  max-width:52ch;
  color:rgba(255,255,255,.86);
  font-size:17px;
  line-height:1.65;
}
.nl-news-showcase__visual{
  position:relative;
  display:flex;
  align-items:stretch;
  height:100%;
  min-height:100%;
  padding:24px 24px 24px 0;
}
.nl-news-showcase__visual::before{
  display:none;
}
.nl-news-showcase__media{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  width:100%;
  min-height:340px;
  padding:0;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.16);
  background:#0b2343;
  box-shadow:0 14px 28px rgba(3,14,29,.22);
}
.nl-news-showcase__media img{
  display:block;
  width:100%;
  height:100%;
  min-height:340px;
  border-radius:18px;
  background:#0b2343;
  object-fit:contain;
  object-position:center center;
}
.nl-news-story{
  position:relative;
  z-index:1;
  max-width:none;
  margin:22px 0 0;
  padding:30px 34px;
  border:1px solid rgba(17,45,91,.10);
  border-radius:24px;
  background:linear-gradient(180deg, #ffffff, #fbfcff);
  box-shadow:0 14px 36px rgba(11,42,74,.12);
}
.nl-news-story::before{
  display:none;
}
.nl-news-story__inner{
  max-width:none;
  margin:0;
}
.nl-news-article__content{
  color:#4e5a71;
}
.nl-news-article__content,
.nl-news-article__content p,
.nl-news-article__content li,
.nl-news-article__content span,
.nl-news-article__content div,
.nl-news-article__content a{
  color:#4e5a71 !important;
  font-size:17px;
  line-height:1.7;
  text-align:left;
}
.nl-news-article__content h2,
.nl-news-article__content h3,
.nl-news-article__content h4{
  color:#122f59;
  margin-top:1.8rem;
  margin-bottom:.8rem;
  line-height:1.25;
}
.nl-news-article__content p + p{
  margin-top:1.05em;
}
.nl-news-article__content a{
  color:var(--nl-accent) !important;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}
.nl-news-article__content img{
  max-width:100%;
  height:auto;
  border-radius:18px;
  box-shadow:0 18px 34px rgba(11,42,74,.12);
}
.nl-news-source__link{
  color:var(--nl-accent) !important;
  font-weight:700;
  text-decoration:none;
  border-bottom:1px dashed rgba(182,29,42,.55);
}
.nl-news-source__link:hover{
  color:#8f1320 !important;
  border-bottom-color:#8f1320;
}
.nl-news-article__content p:first-child{
  margin-top:0;
}
@media (max-width:1199.98px){
  .nl-news-detail{
    padding:28px 0 58px;
  }
  .nl-news-showcase__content{
    padding:28px 28px 24px;
  }
  .nl-news-showcase__visual{
    padding:0 24px 24px;
  }
  .nl-news-showcase__media,
  .nl-news-showcase__media img{
    min-height:280px;
  }
  .nl-news-story{
    margin-top:16px;
  }
}
@media (max-width:767.98px){
  .nl-news-detail{
    padding:20px 0 42px;
  }
  .nl-news-showcase,
  .nl-news-story{
    border-radius:18px;
  }
  .nl-news-showcase__content{
    padding:18px 18px 20px;
  }
  .nl-news-showcase__top{
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-bottom:12px;
  }
  .nl-news-showcase__meta{
    flex-wrap:wrap;
    margin-left:0;
    justify-content:flex-start;
    margin-bottom:0;
  }
  .nl-news-showcase__back,
  .nl-news-showcase__eyebrow,
  .nl-news-showcase__date{
    min-height:32px;
    padding:0 12px;
    font-size:12px;
  }
  .nl-news-showcase__title{
    font-size:clamp(28px,8.9vw,38px);
    line-height:1.14;
    padding-bottom:12px;
  }
  .nl-news-showcase__title::after{
    width:100px;
  }
  .nl-news-showcase__lead{
    font-size:15px;
    line-height:1.6;
  }
  .nl-news-showcase__visual{
    padding:0 14px 14px;
  }
  .nl-news-showcase__media{
    min-height:220px;
  }
  .nl-news-showcase__media img{
    min-height:220px;
    border-radius:14px;
  }
  .nl-news-story{
    margin-top:14px;
    padding:20px 18px;
  }
  .nl-news-article__content,
  .nl-news-article__content p,
  .nl-news-article__content li,
  .nl-news-article__content span,
  .nl-news-article__content div,
  .nl-news-article__content a{
    font-size:16px;
    line-height:1.62;
  }
}

@media (max-width:767.98px){
  .nl-richtext .purpose-table,
  .nl-richtext .purpose-table tbody,
  .nl-richtext .purpose-table tr{
    display:block;
    width:100%;
  }
  .nl-richtext .purpose-table tr{
    border-bottom:1px solid rgba(11,42,74,.1);
  }
  .nl-richtext .purpose-table tr:last-child{
    border-bottom:0;
  }
  .nl-richtext .purpose-table th,
  .nl-richtext .purpose-table td{
    display:block;
    width:100%;
    border-bottom:0;
    padding:12px 14px;
  }
  .nl-richtext .purpose-table th{
    background:rgba(11,42,74,.04);
    padding-bottom:8px;
  }
  .nl-richtext .purpose-table td{
    padding-top:8px;
  }
}

#prices-list .services-cards{overflow:visible;}
#prices-list .service-card{display:flex;}
#prices-list .service-card-item{width:100%;border-radius:16px;border:1px solid rgba(11,42,74,.12);background:linear-gradient(180deg,#fff,#f7f9fd);box-shadow:0 14px 32px rgba(11,42,74,.08);padding:22px;transition:transform .2s ease, box-shadow .2s ease;}
#prices-list .service-card-item:hover{transform:translateY(-4px);box-shadow:0 18px 36px rgba(11,42,74,.13);}
#prices-list .service-card-header{font-size:22px;line-height:1.2;font-weight:800;color:var(--nl-primary);margin-bottom:10px;}
#prices-list .service-card-content{color:#4e5a71;line-height:1.6;margin-bottom:16px;}
#prices-list .service-cards-buttons{display:flex;justify-content:space-between;align-items:end;gap:12px;border-top:1px dashed rgba(11,42,74,.14);padding-top:14px;}
#prices-list .service-card-link a{display:inline-flex;align-items:center;gap:6px;color:var(--nl-accent);font-weight:700;text-decoration:none;}
#prices-list .service-card-link a:hover{text-decoration:underline;}
#prices-list .service-card-price{font-size:15px;font-weight:600;color:#5e6a82;text-align:right;}
#prices-list .service-card-price span{font-size:24px;line-height:1;color:var(--nl-primary);font-weight:800;}
#prices-list .service-card--help .service-card-item{background:linear-gradient(140deg,#132a52,#1e3e70);color:#fff;}
#prices-list .service-card--help .service-card-header,#prices-list .service-card--help .service-card-content,#prices-list .service-card--help .service-card-price{color:#e9efff;}
#prices-list .service-card--help .service-card-link a{color:#fff;}
#prices-list .service-card--help .service-cards-buttons{border-top-color:rgba(255,255,255,.28);}
#prices-list .service-card .service-card-item .service-card-header{word-break:break-word;}
#prices-list .service-card .service-card-item .service-card-price,#prices-list .service-card .service-card-item .service-card-content{min-height:0;}
@media (max-width:991.98px){
  #prices-list .service-card-header{font-size:20px;}
}
@media (max-width:575.98px){
  #prices-list .service-card-item{padding:18px;}
  #prices-list .service-cards-buttons{flex-direction:column;align-items:flex-start;}
  #prices-list .service-card-price{text-align:left;}
}

#individual-offer .service-offer-card{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid rgba(11,42,74,.14);border-radius:18px;padding:28px;background:linear-gradient(140deg,#ffffff,#f5f8ff);box-shadow:0 14px 32px rgba(11,42,74,.08);}
#individual-offer .service-offer-card__title{font-size:clamp(26px,2.2vw,36px);line-height:1.2;color:var(--nl-primary);font-weight:800;margin:0;}
#individual-offer .service-offer-card__text{color:#4d5a72;line-height:1.6;max-width:800px;}
#individual-offer .service-offer-card__action .btn{white-space:nowrap;}
@media (max-width:767.98px){
  #individual-offer .service-offer-card{flex-direction:column;align-items:flex-start;padding:20px;}
}

#service-trust .nl-service-trust-card{
  border:1px solid rgba(11,42,74,.14);
  border-radius:18px;
  padding:28px;
  background:linear-gradient(145deg,#ffffff,#f6f9ff);
  box-shadow:0 14px 32px rgba(11,42,74,.08);
  transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
#service-trust .nl-service-trust-card:hover{
  transform:translateY(-6px);
  box-shadow:0 20px 42px rgba(11,42,74,.12);
  border-color:rgba(11,42,74,.2);
}
#service-trust .nl-service-trust-card__title{
  margin-bottom:16px;
}
#service-trust .nl-service-trust-card__lead{
  color:#4d5a72;
  font-size:16px;
  line-height:1.65;
  margin-bottom:14px;
}
#service-trust .nl-service-trust-card__list{
  list-style:none;
  margin:0 0 16px;
  padding:0;
  display:grid;
  gap:10px;
}
#service-trust .nl-service-trust-card__list li{
  position:relative;
  padding-left:18px;
  color:#4d5a72;
  font-size:16px;
  line-height:1.6;
}
#service-trust .nl-service-trust-card__list li::before{
  content:"";
  position:absolute;
  left:0;
  top:.62em;
  width:8px;
  height:8px;
  border-radius:50%;
  background:var(--nl-accent);
  box-shadow:0 0 0 3px rgba(182,29,42,.14);
}
#service-trust .nl-service-trust-card__note{
  margin-top:8px;
  color:#4d5a72;
  font-size:16px;
  line-height:1.65;
}
@media (max-width:767.98px){
  #service-trust .nl-service-trust-card{
    padding:20px;
  }
}


/* Services: projects and FAQ visual refinement */
#projects-list .advantage-card{
  display:flex;
  flex-direction:column;
  height:100%;
  border-radius:18px;
  border:1px solid rgba(11,42,74,.12);
  background:linear-gradient(180deg,#fff,#f7f9fd);
  box-shadow:0 14px 32px rgba(11,42,74,.08);
  padding:18px;
  transition:transform .2s ease, box-shadow .2s ease;
}
#projects-list .advantage-card:hover{
  transform:translateY(-4px);
  box-shadow:0 18px 36px rgba(11,42,74,.13);
}
#projects-list .advantage-card__icon{
  width:100%;
  height:180px;
  border-radius:12px;
  object-fit:cover;
  margin:0 0 14px;
  background:#eef2f8;
}
#projects-list .advantage-card__title{
  font-size:24px;
  line-height:1.2;
  font-weight:800;
  color:var(--nl-primary);
  margin:0 0 10px;
  word-break:break-word;
}
#projects-list .advantage-card__text{
  margin:0 0 14px;
}
#projects-list .advantage-card a{
  margin-top:auto;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--nl-accent);
  font-weight:700;
  text-decoration:none;
}
#projects-list .advantage-card a:hover{
  text-decoration:underline;
}
@media (max-width:575.98px){
  #projects-list .advantage-card{padding:16px;}
  #projects-list .advantage-card__icon{height:156px;}
  #projects-list .advantage-card__title{font-size:22px;}
}

#faq-list .accordion{
  --bs-accordion-border-width:0;
  --bs-accordion-border-color:transparent;
  --bs-accordion-bg:transparent;
  --bs-accordion-btn-focus-box-shadow:none;
}
#faq-list .accordion-item{
  border:1px solid rgba(11,42,74,.12);
  border-radius:14px;
  overflow:hidden;
  background:linear-gradient(180deg,#fff,#f8faff);
  box-shadow:0 10px 24px rgba(11,42,74,.08);
  margin-bottom:12px;
}
#faq-list .accordion-item:last-child{
  margin-bottom:0;
}
#faq-list .accordion-button{
  font-size:18px;
  font-weight:700;
  color:var(--nl-primary);
  background:transparent;
  padding:16px 18px;
}
#faq-list .accordion-button.collapsed{
  background:transparent;
}
#faq-list .accordion-button:not(.collapsed){
  color:var(--nl-primary);
  background:linear-gradient(180deg,#fff,#f4f8ff);
  box-shadow:none;
}
#faq-list .accordion-button::after{
  width:1.05rem;
  height:1.05rem;
  background-size:1.05rem;
}
#faq-list .accordion-body{
  color:#4e5a71;
  font-size:16px;
  line-height:1.62;
  padding:0 18px 16px;
}
#faq-list .accordion-body p:last-child{
  margin-bottom:0;
}
@media (max-width:575.98px){
  #faq-list .accordion-button{font-size:17px;padding:14px 16px;}
  #faq-list .accordion-body{padding:0 16px 14px;}
}

/* Service include icon: red circle + white check */
#section-child-preims .service-preim-icon{
  width:28px;
  min-width:28px;
  height:28px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:var(--nl-accent);
  color:#fff;
  font-size:15px;
  font-weight:800;
  line-height:1;
  box-shadow:0 8px 16px rgba(182,29,42,.26);
}
