/* ==========================================================================
   NPZDRAV.KZ
   Version: 1.0.0
   Author: 01PROSPEKT
========================================================================== */


/* ==========================================================================
   RESET
========================================================================== */

*,
*::before,
*::after {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    -webkit-text-size-adjust: 100%;
	scrollbar-width: thin;
    scrollbar-color: #b8b8b8 #f1f1f1;
}

/* ==========================================================================
   CUSTOM SCROLLBAR
========================================================================== */

/* Chrome / Edge / Safari / Opera */

html::-webkit-scrollbar {
    width: 10px;
}

html::-webkit-scrollbar-track {
    background: #f1f1f1;
}

html::-webkit-scrollbar-thumb {
    background: #b8b8b8;
    border-radius: 10px;

    border: 2px solid #f1f1f1;
}

html::-webkit-scrollbar-thumb:hover {
    background: #8f8f8f;
}

body {
    min-width: 360px;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 400;
    color: #111111;
    background: #ffffff;
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

img {
    display: block;
    max-width: 100%;
    height: auto;
}

picture {
    display: block;
}

svg {
    display: block;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
textarea,
select {
    font: inherit;
    border: none;
    outline: none;
    background: none;
}

button {
    cursor: pointer;
}

ul,
ol {
    list-style: none;
}

table {
    border-collapse: collapse;
}

textarea {
    resize: vertical;
}


/* ==========================================================================
   VARIABLES
========================================================================== */

:root {

    --npz-primary: rgb(0, 122, 143);

    --npz-black: #111111;

    --npz-white: #ffffff;

    --npz-light: #f7f8fa;

    --npz-gray: #6d6d6d;

    --npz-border: #e8e8e8;

    --npz-radius: 18px;

    --npz-transition: .30s ease;

}


/* ==========================================================================
   GLOBAL
========================================================================== */

.npz-container {

    width: 100%;
    max-width: 1800px;

    margin: 0 auto;

    padding-left: 32px;
    padding-right: 32px;

}

.npz-section {

    padding-top: 90px;
    padding-bottom: 90px;

}

/* ==========================================================================
   SECTION HEADING
========================================================================== */

.npz-section-heading{

    margin-bottom:48px;

}

.npz-section-heading__line{

    width:56px;

    height:3px;

    margin-bottom:18px;

    border-radius:999px;

    background:var(--npz-primary);

}

.npz-section-heading__title{

    margin:0;

    font-size:42px;

    font-weight:700;

    line-height:1.2;

    color:var(--npz-black);

}



.npz-title {

    font-size: 48px;

    font-weight: 700;

    line-height: 1.2;

    color: var(--npz-black);

}

.npz-subtitle {

    margin-top: 20px;

    font-size: 18px;

    color: var(--npz-gray);

}


/* ==========================================================================
   HEADER
========================================================================== */

.npz-header {

    position: fixed;
  top: 0;
left: 0;
right: 0;

    width: 100%;

    z-index: 1000;

    background: rgba(255, 255, 255, .92);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);

    border-bottom: 1px solid rgba(0, 0, 0, .06);

    transition: var(--npz-transition);

}

.npz-header__inner {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 40px;

    min-height: 88px;

    transition: min-height .3s ease;

}

.npz-header__logo {

       display: flex;

    align-items: center;

    width: 220px;

    flex-shrink: 0;

}

.npz-header__logo img {

    width: auto;

    height: 60px;

    transition: height .3s ease;

}

.npz-header__nav {

    display: flex;

    justify-content: center;

    flex: 1 1 auto;

}

.npz-header__menu {

    display: flex;

    align-items: center;

    gap: 36px;

}

.npz-header__item {

    position: relative;
    
}



.npz-header__link {

	
	position: relative;
    display: flex;

    align-items: center;

    gap: 8px;

    height: 76px;

    font-size: 16px;

    font-weight: 500;

    color: var(--npz-black);

    transition: var(--npz-transition);

}

.npz-header__link::after{

    content:"";

    position:absolute;

    left:0;

    bottom:24px;

    width:100%;

    height:2px;

    background:var(--npz-primary);

    border-radius:999px;

    transform:scaleX(0);

    transform-origin:center;

    transition:.3s ease;

}

.npz-header__link:hover::after{

    transform:scaleX(1);

}

.npz-header__link.is-active{

    color:var(--npz-primary);

}

.npz-header__link.is-active::after{

    transform:scaleX(1);

}

.npz-header__link:hover {

    color: var(--npz-primary);

}

.npz-header__arrow {

    display: flex;

    align-items: center;

    justify-content: center;

    transition: transform .3s ease;

}

.npz-header__arrow svg {

    width: 16px;

    height: 16px;

    stroke-width: 2.2;

}

.npz-header__item:hover .npz-header__arrow {

    transform: rotate(180deg);

}

.npz-header__actions {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 24px;

    flex-shrink: 0;

    min-width: 250px;

}

.npz-header__tools {

    display: flex;

    align-items: center;

    gap: 8px;

}

.npz-header__search {

    display: flex;

    justify-content: center;

    align-items: center;

    width: 48px;
    height: 48px;

    border-radius: 50%;

    transition: var(--npz-transition);

}

.npz-header__search:hover {

    background: rgba(0,122,143,.08);

    color: var(--npz-primary);

}

.npz-header__search svg {

    width: 22px;
    height: 22px;

    stroke-width: 2;

}

.npz-header__language {

    display: flex;

    align-items: center;

    justify-content: center;

    width: 48px;

    height: 48px;

    border-radius: 50%;

    transition: var(--npz-transition);

}

.npz-header__language:hover {

    background: rgba(0,122,143,.08);

    color: var(--npz-primary);

}

.npz-header__language svg {

    width: 22px;

    height: 22px;

    stroke-width: 2;

}

.npz-header__button {

    display: inline-flex;

    justify-content: center;

    align-items: center;

    padding: 0 26px;

    height: 48px;

    border-radius: 8px;

    background: var(--npz-primary);

    color: var(--npz-white);

    font-size: 15px;

    font-weight: 600;

    transition: var(--npz-transition);

}

.npz-header__button:hover {

    background: rgb(0, 105, 122);

    transform: translateY(-2px);

    box-shadow: 0 18px 40px rgba(0,122,143,.25);

}

.npz-header__dropdown {

    position: absolute;

    top: calc(100% - 6px);

    left: 50%;

    transform: translateX(-50%);

    min-width: 240px;

    padding: 12px 0;

    background: #fff;

    border-radius: 8px;

    border: 1px solid rgba(0,0,0,.06);

    box-shadow: 0 18px 45px rgba(0,0,0,.08);

   opacity: 0;

visibility: hidden;
	pointer-events: none;

transform-origin: top center;

transform:
translateX(-50%)
translateY(12px)
scale(.98);

transition:
opacity .25s ease,
transform .25s ease,
visibility .25s ease;

}

.npz-header__item:hover .npz-header__dropdown {

    opacity: 1;

    visibility: visible;
	pointer-events: auto;

    transform:
translateX(-50%)
translateY(0)
scale(1);

}

.npz-header__dropdown li{

    border-bottom:1px solid rgba(17,17,17,.05);
	transition:.25s ease;

}

.npz-header__dropdown li:last-child{

    border-bottom:none;

}



.npz-header__dropdown li:hover{

    border-color:rgba(0,122,143,.18);

}

.npz-header__dropdown a{

    position:relative;

    display:block;

    padding:16px 26px;

    font-size:15px;

    font-weight:500;

    color:var(--npz-black);

    transition:.3s ease;

}



.npz-header__dropdown a:hover{

    color:var(--npz-primary);

    background:rgba(0,122,143,.05);

}

.npz-header__dropdown a:hover::after{

    transform:scaleX(1);

}

.npz-header__dropdown li:last-child a::after{

    display:none;

}



.npz-header__dropdown::before {

    content: "";

    position: absolute;

    left: 0;
    right: 0;

    top: -12px;

    height: 12px;

}

.npz-header.is-scrolled {

    background: rgba(255,255,255,.96);

    box-shadow: 0 10px 30px rgba(0,0,0,.06);

}

.npz-header.is-scrolled .npz-header__inner {

    min-height: 74px;

}

.npz-header.is-scrolled .npz-header__logo img {

    height: 52px;

}




/* ==========================================================================
   HERO
========================================================================== */

.npz-hero {

    position: relative;

    display: flex;

    align-items: center;

    height: 100vh;

    padding-top: 96px;

    overflow: hidden;

 
	isolation: isolate;

}


.npz-hero__background {

    position: absolute;

    inset: 0;

    background-position: center;

    background-size: cover;

    background-repeat: no-repeat;

    opacity: 0;

    transition: opacity 1.5s ease;

    z-index: -2;

}

.npz-hero__background--1 {

    background-image: url("../images/hero/hero-1.png");

    opacity: 1;

}

.npz-hero__background--2 {

    background-image: url("../images/hero/hero-2.png");

}

.npz-hero__overlay {

    position: absolute;

    inset: 0;

background: linear-gradient(
    90deg,
    rgba(0,0,0,.82) 0%,
    rgba(0,0,0,.72) 22%,
    rgba(0,0,0,.52) 42%,
    rgba(0,0,0,.28) 60%,
    rgba(0,0,0,.10) 80%,
    rgba(0,0,0,0) 100%
);

}



.npz-hero__inner {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;

    height: calc(100vh - 88px);

}

.npz-hero__content {

    max-width: 700px;
	position: relative;

z-index: 3;

}

.npz-hero__eyebrow {

    display: inline-flex;

    align-items: center;

    padding: 10px 18px;

    margin-bottom: 28px;

    border-radius: 8px;

    background: rgba(255,255,255,.12);

    backdrop-filter: blur(12px);

    color: #ffffff;

    font-size: 14px;

    font-weight: 600;

    letter-spacing: .5px;

    text-transform: uppercase;

}

.npz-hero__title {

    font-size: 55px;

    font-weight: 800;

    line-height: 1.1;

    color: #ffffff;

    max-width: 700px;
	text-wrap: balance;
	text-shadow: 0 4px 24px rgba(0,0,0,.28);

}

.npz-hero__subtitle {

    margin-top: 28px;

    max-width: 620px;

    font-size: 18px;

    line-height: 1.75;

    color: rgba(255,255,255,.88);
	text-wrap: pretty;
	text-shadow: 0 2px 14px rgba(0,0,0,.2);

}

.npz-hero__buttons {

    display: flex;

    align-items: center;

    gap: 20px;

    margin-top: 40px;
	
	flex-wrap: wrap;

}



/* ==========================================================================
   BUTTONS
========================================================================== */

.npz-button {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    height: 52px;

    padding: 0 28px;

    border-radius: 8px;

    font-size: 15px;

    font-weight: 600;

    transition:
    background .3s ease,
    color .3s ease,
    border-color .3s ease,
    transform .3s ease,
    box-shadow .3s ease;
	
	box-shadow: 0 12px 28px rgba(0,0,0,.12);

    white-space: nowrap;
	box-shadow: 0 12px 28px rgba(0,0,0,.12);

}

.npz-button:hover {

    transform: translateY(-2px);

    box-shadow: 0 18px 40px rgba(0,0,0,.18);

}

.npz-button--primary {

    background: var(--npz-primary);

    color: #fff;

}

.npz-button--primary:hover {

    background: rgb(0,105,122);

}

.npz-button--secondary {

    border: 1px solid rgba(255,255,255,.25);

    background: rgba(255,255,255,.08);

    backdrop-filter: blur(10px);

    color: #fff;

}

.npz-button--secondary:hover {

    background: rgba(255,255,255,.16);

}



/* ==========================================================================
   NEWS
========================================================================== */

.npz-news__header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:32px;

    margin-bottom:48px;

}



.npz-news__actions{

    display:flex;

    align-items:center;

    gap:24px;

}


.npz-news__slider-wrap{

    position:relative;

}


.npz-news__prev,
.npz-news__next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    display:flex;

    align-items:center;

    justify-content:center;

    width:54px;

    height:54px;

    border-radius:50%;

     background:#fff;

    border:1px solid rgba(17,17,17,.08);

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:var(--npz-transition);

    z-index:10;

}

.npz-news__prev{

    left:-28px;

}

.npz-news__next{

    right:-28px;

}

.npz-news__prev:hover,
.npz-news__next:hover{

       background:var(--npz-primary);

    border-color:var(--npz-primary);

    color:#fff;

    transform:translateY(-50%) scale(1.05);

}

.npz-news__prev svg,
.npz-news__next svg{

    width:22px;

    height:22px;

    stroke-width:2.3;

}

.swiper{

    width:100%;

}

.swiper-wrapper{

    align-items:stretch;

}

.swiper-slide{

    height:auto;

}


.npz-news__pagination{

    position:static !important;

    margin-top:40px;

    text-align:center;

}

.npz-news__pagination .swiper-pagination-bullet{

    width:10px;

    height:10px;

    margin:0 5px !important;

    background:#d4d4d4;

    opacity:1;

    transition:var(--npz-transition);

}

.npz-news__pagination .swiper-pagination-bullet-active{

    width:28px;

    border-radius:999px;

    background:var(--npz-primary);

}

.npz-news__all{

    display:inline-flex;

    align-items:center;

    gap:8px;

    font-size:15px;

    font-weight:600;

    transition:var(--npz-transition);

}

.npz-news__all:hover{

    color:var(--npz-primary);

}

.npz-news-card{

    display:flex;

    flex-direction:column;

    height:100%;

    background:#fff;

  border:1px solid var(--npz-border);

    border-radius:8px;

    overflow:hidden;

    transition:var(--npz-transition);

}

.npz-news-card:hover{

    transform:translateY(-4px);

    
	border-radius:8px;

}

.npz-news-card__image{

    display:block;

    aspect-ratio:16/9;

    overflow:hidden;
	
	background:#f5f5f5;

}

.npz-news-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .5s ease;

}

.npz-news-card:hover .npz-news-card__image img{

    transform:scale(1.03);

}

.npz-news-card__content{

    display:flex;

    flex-direction:column;

    flex:1;

    padding:28px;

}

.npz-news-card__title{

    font-size:24px;

    font-weight:700;

    line-height:1.3;
	
	display: -webkit-box;

-webkit-line-clamp: 2;

-webkit-box-orient: vertical;

overflow: hidden;

}

.npz-news-card__title a{

    transition:var(--npz-transition);

}

.npz-news-card__title a:hover{

    color:var(--npz-primary);

}

.npz-news-card__excerpt{

    margin-top:18px;

    color:var(--npz-gray);

    line-height:1.7;
	
	display: -webkit-box;

-webkit-line-clamp: 3;

-webkit-box-orient: vertical;

overflow: hidden;

}

.npz-news-card__footer{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:20px;

    margin-top:auto;

    padding-top:28px;

}

.npz-news-card__date{

    font-size:14px;

    color:#8b8b8b;

}

.npz-news-card__more{

    display:inline-flex;

    align-items:center;

    gap:8px;

    font-size:15px;

    font-weight:600;

    color:var(--npz-primary);

    transition:var(--npz-transition);

}

.npz-news-card__more:hover{

    gap:12px;

}

.npz-news-card__more svg{

    width:18px;

    height:18px;

}

.npz-news__slider{

    overflow:hidden;

    width:100%;

}

/* ==========================================================================
   IMPORTANT NEWS
========================================================================== */

.npz-important__header{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:32px;

    margin-bottom:48px;

}


.npz-important__slider-wrap{

    position:relative;

}

.npz-important__prev,
.npz-important__next{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    display:flex;

    align-items:center;

    justify-content:center;

    width:54px;

    height:54px;

    border-radius:50%;

    background:#fff;

    border:1px solid rgba(17,17,17,.08);

    box-shadow:0 10px 30px rgba(0,0,0,.08);

    transition:var(--npz-transition);

    z-index:10;

}

.npz-important__prev{

    left:-28px;

}

.npz-important__next{

    right:-28px;

}

.npz-important__prev:hover,
.npz-important__next:hover{

    background:var(--npz-primary);

    border-color:var(--npz-primary);

    color:#fff;

    transform:translateY(-50%) scale(1.05);

}

.npz-important__prev svg,
.npz-important__next svg{

    width:22px;

    height:22px;

    stroke-width:2.3;

}

.npz-important__pagination{

    position:static !important;

    margin-top:40px;

    text-align:center;

}

.npz-important__pagination .swiper-pagination-bullet{

    width:10px;

    height:10px;

    margin:0 5px !important;

    background:#d4d4d4;

    opacity:1;

    transition:var(--npz-transition);

}

.npz-important__pagination .swiper-pagination-bullet-active{

    width:28px;

    border-radius:999px;

    background:var(--npz-primary);

}

.npz-important__all{

    display:inline-flex;

    align-items:center;

    gap:8px;

    font-size:15px;

    font-weight:600;

    transition:var(--npz-transition);

}

.npz-important__all:hover{

    color:var(--npz-primary);

}

.npz-important__slider{

    overflow:hidden;

    width:100%;

}


/* ==========================================================================
   LINKS
========================================================================== */

.npz-links__grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:32px;

}

.npz-link-card{

    position:relative;
	
	   cursor: pointer;

    isolation: isolate;

    display:block;

    height:520px;

    border-radius:8px;

    overflow:hidden;

    color:#fff;

    border:1px solid rgba(255,255,255,.08);

    transition:transform .35s ease;

}

.npz-link-card:hover{

    transform:translateY(-6px);

}

.npz-link-card img{

    position:absolute;
	z-index: 1;

    inset:0;

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .8s ease;

}

.npz-link-card:hover img{

    transform:scale(1.06);

}

.npz-link-card__overlay{

    position:absolute;
	
	z-index: 2;

    inset:0;

    display:flex;

    flex-direction:column;

    justify-content:flex-end;

    padding:36px;

    background:linear-gradient(
        180deg,
        rgba(0,0,0,0) 30%,
        rgba(0,0,0,.82) 100%
    );

}

.npz-link-card__title{

    font-size:32px;

    font-weight:700;

    line-height:1.2;

    text-shadow:0 2px 14px rgba(0,0,0,.25);

}

.npz-link-card__text{

    margin-top:18px;

    font-size:16px;

    line-height:1.7;

    color:rgba(255,255,255,.88);

}

.npz-link-card__button{

    display:inline-flex;

    align-items:center;

    gap:10px;

    margin-top:26px;

    font-size:15px;

    font-weight:600;

}

.npz-link-card__button svg{

    width:18px;

    height:18px;

    transition:transform .3s ease;

}

.npz-link-card:hover .npz-link-card__button svg{

    transform:translateX(5px);

}

.npz-link-card__play{

    position:absolute;
	
	z-index: 3;

    top:50%;

    left:50%;

    transform:translate(-50%,-50%);

    display:flex;

    align-items:center;

    justify-content:center;

    width:82px;

    height:82px;

    border-radius:50%;

    background:rgba(255,255,255,.18);

    backdrop-filter:blur(14px);

    -webkit-backdrop-filter:blur(14px);

    border:1px solid rgba(255,255,255,.25);

}

.npz-link-card__play svg{

    width:34px;

    height:34px;

    margin-left:3px;

}


/* ==========================================================================
   VIDEO MODAL
========================================================================== */

.npz-video-modal{

    position:fixed;

    inset:0;

    display:flex;

    align-items:center;

    justify-content:center;

    opacity:0;

    visibility:hidden;

    transition:.35s ease;

    z-index:9999;

}

.npz-video-modal.active{

    opacity:1;

    visibility:visible;

}

.npz-video-modal__overlay{

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.72);

    backdrop-filter:blur(8px);

    -webkit-backdrop-filter:blur(8px);

}

.npz-video-modal__dialog{

    position:relative;

    width:min(1200px,92vw);

    aspect-ratio:16/9;

    background:#000;

    border-radius:12px;

    overflow:hidden;

    transform:scale(.94);

    transition:.35s ease;

    z-index:2;

}

.npz-video-modal.active .npz-video-modal__dialog{

    transform:scale(1);

}

.npz-video-modal iframe{

    width:100%;

    height:100%;

    border:0;

}

.npz-video-modal__close{

    position:absolute;

    top:18px;

    right:18px;

    width:46px;

    height:46px;

    display:flex;

    align-items:center;

    justify-content:center;

    border:none;

    border-radius:50%;

    background:rgba(255,255,255,.12);

    backdrop-filter:blur(10px);

    -webkit-backdrop-filter:blur(10px);

    color:#fff;

    cursor:pointer;

    transition:var(--npz-transition);

    z-index:3;

}

.npz-video-modal__close:hover{

    background:var(--npz-primary);

}

.npz-video-modal__close svg{

    width:22px;

    height:22px;

}



.npz-link-card__play{

    color:#fff;

}

.npz-link-card__play svg{

    width:38px;

    height:38px;

    stroke-width:2.7;

}








/* ==========================================================================
   LINKS
========================================================================== */





/* ==========================================================================
   FAQ
========================================================================== */

.npz-faq__header{

    margin-bottom:48px;

}



.npz-faq__list{

    display:flex;

    flex-direction:column;

    gap:18px;

}

.npz-faq__item{

    background:#fff;

    border:1px solid var(--npz-border);

    border-radius:8px;

    overflow:hidden;

    transition:var(--npz-transition);

}

.npz-faq__item:hover{

    border-color:rgba(0,122,143,.25);

    box-shadow:0 12px 30px rgba(0,0,0,.04);

}

.npz-faq__question{

    width:100%;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:24px;

    padding:28px 34px;

    text-align:left;

}

.npz-faq__question span{

    font-size:22px;

    font-weight:600;

    line-height:1.45;

}

.npz-faq__question svg{

    flex-shrink:0;

    width:24px;

    height:24px;

    stroke-width:2.3;

    transition:.35s ease;

}

.npz-faq__item.active .npz-faq__question svg{

    transform:rotate(45deg);

    color:var(--npz-primary);

}

.npz-faq__answer{

    max-height:0;

    overflow:hidden;

    transition:max-height .4s ease;

}

.npz-faq__answer p{

    padding:0 34px 30px;

    font-size:17px;

    line-height:1.8;

    color:var(--npz-gray);

}

/* ==========================================================================
   ABOUT CONTENT
========================================================================== */

.npz-about-content{

    width:100%;

    max-width:100%;

}

.npz-about-content p{

    margin:0 0 40px;

    font-size:18px;

    line-height:1.9;

    color:var(--npz-gray);

}

.npz-about-content strong{

    color:var(--npz-black);

    font-weight:700;

}

.npz-about-content h3{

    margin:0 0 32px;

    font-size:34px;

    font-weight:700;

    color:var(--npz-black);

}

.npz-about-content ol{

    margin:0;

    padding-top: 0px;
	padding-bottom: 50px;
	padding-right: 50px;
	padding-left: 50px;

    list-style:none;

    counter-reset:npz-counter;

}

.npz-about-content ol li{

    position:relative;

    padding:0 0 0 74px;

    margin-bottom:24px;

    font-size:18px;

    line-height:1.85;

    color:var(--npz-gray);

}

.npz-about-content ol li:last-child{

    margin-bottom:0;

}

.npz-about-content ol li::before{

    counter-increment:npz-counter;

    content:counter(npz-counter);

    position:absolute;

    left:0;

    top:4px;

    width:42px;

    height:42px;

    display:flex;

    align-items:center;

    justify-content:center;

    border-radius:50%;

    background:var(--npz-primary);

    color:#fff;

    font-size:16px;

    font-weight:700;

    box-shadow:0 8px 24px rgba(0,122,143,.18);

}





/* ==========================================================================
   LEADERSHIP
========================================================================== */

.npz-leadership__header{

    margin-bottom:48px;

}

.npz-leadership__title{

    margin:0;

    font-size:42px;

    font-weight:700;

    color:var(--npz-black);

}

.npz-leadership__grid{

    display:grid;

    grid-template-columns:repeat(2,1fr);

    gap:32px;

}

.npz-leadership-card{

    display:flex;

    align-items:stretch;

    overflow:hidden;

    background:#fff;

    border:1px solid var(--npz-border);

    border-radius:8px;

    transition:var(--npz-transition);

}

.npz-leadership-card:hover{

    transform:translateY(-6px);

    box-shadow:0 20px 45px rgba(0,0,0,.08);

    border-color:rgba(0,122,143,.18);

}

.npz-leadership-card__image{

    width:240px;

    min-width:240px;

    overflow:hidden;

      background:linear-gradient(
        180deg,
        #f8fbfc 0%,
        #eef6f8 100%
    );

}

.npz-leadership-card__image img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:.45s ease;

}

.npz-leadership-card:hover .npz-leadership-card__image img{

    transform:scale(1.04);

}

.npz-leadership-card__content{

    display:flex;

    flex-direction:column;

    justify-content:center;

    padding:34px;

}

.npz-leadership-card__position{

    display:inline-flex;

    align-self:flex-start;

    margin-bottom:18px;

    padding:8px 14px;

    border-radius:999px;

    background:rgba(0,122,143,.08);

    color:var(--npz-primary);

    font-size:14px;

    font-weight:600;

    text-transform:uppercase;

    letter-spacing:.04em;

}

.npz-leadership-card__name{

    margin:0 0 18px;

    font-size:30px;

    line-height:1.25;

    font-weight:700;

    color:var(--npz-black);

}

.npz-leadership-card__description{

    margin:0;

    font-size:17px;

    line-height:1.8;

    color:var(--npz-gray);

}





/* ==========================================================================
   CONTACT
========================================================================== */

.npz-contact__map{

    position:relative;

    overflow:hidden;

    border-radius:8px;

    border:1px solid var(--npz-border);

}

.npz-contact__map iframe{

    display:block;

    width:100%;

    height:650px;

    border:0;

}

.npz-contact__card{

    position:absolute;

    top:40px;

    right:150px;

    width:420px;

    padding:36px;

    border-radius:8px;

    background:rgba(255,255,255,.96);

    backdrop-filter:blur(18px);

    box-shadow:0 20px 60px rgba(0,0,0,.12);

}

.npz-contact__card h3{

    margin:0 0 28px;

    font-size:28px;

    line-height:1.35;

}

.npz-contact__item{

    display:flex;

    gap:18px;

    margin-bottom:28px;

}

.npz-contact__item:last-of-type{

    margin-bottom:36px;

}

.npz-contact__item svg{

    width:22px;

    height:22px;

    color:var(--npz-primary);

    flex-shrink:0;

    margin-top:4px;

}

.npz-contact__item strong{

    display:block;

    margin-bottom:8px;

    font-size:15px;

    color:var(--npz-black);

}

.npz-contact__item p{

    margin:0;

    line-height:1.8;

    color:var(--npz-gray);

}

.npz-contact__item a{

    color:var(--npz-gray);

    text-decoration:none;

    transition:var(--npz-transition);

}

.npz-contact__item a:hover{

    color:var(--npz-primary);

}

.npz-contact__button{

    display:inline-flex;

    align-items:center;

    gap:10px;

    padding:14px 22px;

    border-radius:8px;

    background:var(--npz-primary);

    color:#fff;

    text-decoration:none;

    font-weight:600;

    transition:var(--npz-transition);

}

.npz-contact__button:hover{

    transform:translateY(-2px);

    box-shadow:0 12px 30px rgba(0,122,143,.25);

}





/* ==========================================================================
   FOOTER
========================================================================== */

.npz-footer{

    margin-top:140px;

    padding:90px 0 40px;

    background:#07151A;

}

.npz-footer__grid{

    display:grid;

    grid-template-columns:repeat(3,1fr);

    gap:80px;

    padding-bottom:60px;

    border-bottom:1px solid rgba(255,255,255,.08);

}

.npz-footer__column{

    width:100%;

    max-width:280px;

    margin:0 auto;

    text-align:left;

}

.npz-footer__title{

    margin:0 0 28px;

    font-size:22px;

    font-weight:700;

    color:#fff;
	
	text-align:left;

}

.npz-footer__list,
.npz-footer__links{

    margin:0;

    padding:0;

    list-style:none;

}

.npz-footer__list li{

    display:flex;

    align-items:flex-start;

    gap:12px;

    margin-bottom:18px;

    color:rgba(255,255,255,.72);

    line-height:1.8;

}

.npz-footer__list svg{

    width:18px;

    height:18px;

    margin-top:6px;

    color:rgb(0,122,143);

    flex-shrink:0;

}

.npz-footer__links li{

    margin-bottom:16px;

}

.npz-footer a{

    color:rgba(255,255,255,.72);

    text-decoration:none;

    transition:.3s;

}

.npz-footer a:hover{

    color:rgb(0,122,143);

}

.npz-footer__bottom{

    padding-top:40px;

    text-align:center;

}

.npz-footer__copyright{

    margin:0 0 16px;

    color:#fff;

    font-size:16px;

    font-weight:500;

}

.npz-footer__subtitle{

    margin:0;

    color:rgba(255,255,255,.55);

    font-size:12px;

    text-transform:uppercase;

    letter-spacing:.16em;

    line-height:2;

}


/* ==========================================================================
   MOBILE BURGER
========================================================================== */

.npz-header__burger {

    display: none;

    width: 48px;
    height: 48px;

    padding: 0;

    align-items: center;
    justify-content: center;
    flex-direction: column;

    gap: 5px;

    border: 0;
    border-radius: 50%;

    background: transparent;

    cursor: pointer;

    flex-shrink: 0;

    transition:
        background .3s ease,
        transform .3s ease;

}


.npz-header__burger:hover {

    background: rgba(0,122,143,.08);

}


.npz-header__burger span {

    display: block;

    width: 22px;
    height: 2px;

    border-radius: 999px;

    background: var(--npz-black);

    transition:
        transform .3s ease,
        opacity .3s ease;

}


/* ==========================================================================
   MOBILE MENU
========================================================================== */

.npz-mobile-menu {

    position: fixed;

    inset: 0;

    z-index: 2000;

    visibility: hidden;

    pointer-events: none;

}


.npz-mobile-menu__overlay {

    position: absolute;

    inset: 0;

    background: rgba(0,0,0,.35);

    opacity: 0;

    transition: opacity .35s ease;

}


.npz-mobile-menu__panel {

    position: absolute;

    top: 0;
    right: 0;

    width: min(430px, 88vw);
    height: 100%;

    display: flex;
    flex-direction: column;

    padding: 28px;

    background: #fff;

    box-shadow:
        -20px 0 60px rgba(0,0,0,.14);

    transform: translateX(100%);

    transition:
        transform .4s cubic-bezier(.4,0,.2,1);

    overflow-y: auto;

    overscroll-behavior: contain;

}


/* ==========================================================================
   MOBILE MENU OPEN
========================================================================== */

.npz-mobile-menu.is-open {

    visibility: visible;

    pointer-events: auto;

}


.npz-mobile-menu.is-open
.npz-mobile-menu__overlay {

    opacity: 1;

}


.npz-mobile-menu.is-open
.npz-mobile-menu__panel {

    transform: translateX(0);

}


/* ==========================================================================
   MOBILE MENU HEADER
========================================================================== */

.npz-mobile-menu__header {

    display: flex;

    align-items: center;
    justify-content: space-between;

    padding-bottom: 24px;

    border-bottom:
        1px solid rgba(0,0,0,.08);

    flex-shrink: 0;

}


.npz-mobile-menu__title {

    margin: 0;

    font-size: 24px;

    line-height: 1.2;

    font-weight: 700;

    color: var(--npz-black);

}


.npz-mobile-menu__close {

    position: relative;

    width: 44px;
    height: 44px;

    padding: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border: 0;

    border-radius: 50%;

    background: transparent;

    cursor: pointer;

    transition:
        background .3s ease;

}


.npz-mobile-menu__close:hover {

    background: rgba(0,122,143,.08);

}


.npz-mobile-menu__close span {

    position: absolute;

    width: 21px;
    height: 2px;

    border-radius: 999px;

    background: var(--npz-black);

}


.npz-mobile-menu__close span:first-child {

    transform: rotate(45deg);

}


.npz-mobile-menu__close span:last-child {

    transform: rotate(-45deg);

}


/* ==========================================================================
   MOBILE NAV
========================================================================== */

.npz-mobile-menu__nav {

    width: 100%;

    padding: 16px 0 20px;

}


.npz-mobile-menu__link {

    width: 100%;

    min-height: 58px;

    display: flex;

    align-items: center;
    justify-content: space-between;

    gap: 20px;

    padding: 0;

    border: 0;

    border-bottom:
        1px solid rgba(0,0,0,.07);

    background: transparent;

    color: var(--npz-black);

    font-family: inherit;

    font-size: 17px;

    font-weight: 500;

    line-height: 1.4;

    text-align: left;

    text-decoration: none;

    cursor: pointer;

    transition:
        color .3s ease;

}


.npz-mobile-menu__link:hover {

    color: var(--npz-primary);

}


/* ==========================================================================
   MOBILE DROPDOWN TOGGLE
========================================================================== */

.npz-mobile-menu__toggle {

    appearance: none;

}


.npz-mobile-menu__toggle-icon {

    width: 32px;
    height: 32px;

    display: flex;

    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border-radius: 50%;

    transition:
        background .3s ease;

}


.npz-mobile-menu__toggle-icon svg {

    width: 18px;
    height: 18px;

    stroke-width: 2;

    transition:
        transform .3s ease;

}


.npz-mobile-menu__group.is-open
.npz-mobile-menu__toggle {

    color: var(--npz-primary);

}


.npz-mobile-menu__group.is-open
.npz-mobile-menu__toggle-icon {

    background: rgba(0,122,143,.08);

}


.npz-mobile-menu__group.is-open
.npz-mobile-menu__toggle-icon svg {

    transform: rotate(180deg);

}


/* ==========================================================================
   MOBILE SUBMENU
========================================================================== */

.npz-mobile-menu__submenu {

    max-height: 0;

    overflow: hidden;

    opacity: 0;

    transition:
        max-height .35s ease,
        opacity .25s ease;

}





.npz-mobile-menu__submenu a {

    display: block;

    min-height: 0;

    padding:
        0 0 0 18px;

    border-bottom:
        1px solid rgba(0, 0, 0, .05);

    color: var(--npz-gray);

    font-size: 15px;

    line-height: 1.5;

    text-decoration: none;

    opacity: 0;

    transform: translateY(-4px);

    transition:
        padding .35s ease,
        opacity .25s ease,
        transform .35s ease,
        color .25s ease;

}


.npz-mobile-menu__submenu a:hover {

    color: var(--npz-primary);

}


.npz-mobile-menu__group.is-open
.npz-mobile-menu__submenu {

    max-height: 1000px;

    opacity: 1;

}


.npz-mobile-menu__group.is-open
.npz-mobile-menu__submenu a {

    min-height: 44px;

    padding:
        12px 0 12px 18px;

    opacity: 1;

    transform: translateY(0);

}


.npz-mobile-menu__group.is-open
.npz-mobile-menu__submenu a:last-child {

    border-bottom: 0;

}


/* ==========================================================================
   MOBILE ACTIONS
========================================================================== */

.npz-mobile-menu__actions {

    display: grid;

    grid-template-columns: 1fr 1fr;

    gap: 10px;

    margin-top: auto;

    padding-top: 18px;

}


.npz-mobile-menu__action {

    min-height: 50px;

    display: flex;

    align-items: center;
    justify-content: center;

    gap: 9px;

    border: 1px solid rgba(0,0,0,.08);

    border-radius: 8px;

    background: #fff;

    color: var(--npz-black);

    font-family: inherit;

    font-size: 14px;

    font-weight: 500;

    cursor: pointer;

    transition:
        border-color .3s ease,
        background .3s ease,
        color .3s ease;

}


.npz-mobile-menu__action:hover {

    border-color:
        rgba(0,122,143,.2);

    background:
        rgba(0,122,143,.05);

    color:
        var(--npz-primary);

}


.npz-mobile-menu__action svg {

    width: 19px;
    height: 19px;

    stroke-width: 2;

}


/* ==========================================================================
   MOBILE MEMBERSHIP BUTTON
========================================================================== */

.npz-mobile-menu__button {

    width: 100%;

    min-height: 54px;

    display: flex;

    align-items: center;
    justify-content: center;

    margin-top: 12px;

    padding: 0 24px;

    border-radius: 8px;

    background: var(--npz-primary);

    color: #fff;

    font-size: 15px;

    font-weight: 600;

    text-decoration: none;

    transition:
        background .3s ease,
        transform .3s ease,
        box-shadow .3s ease;

}


.npz-mobile-menu__button:hover {

    background: rgb(0,105,122);

    transform: translateY(-2px);

    box-shadow:
        0 14px 30px rgba(0,122,143,.2);

}


/* ==========================================================================
   INNER PAGE — HEADER OFFSET
========================================================================== */

.npz-page .npz-leadership {
    padding-top: 140px;
}

/* ==========================================================================
   INNER PAGE — ABOUT
========================================================================== */

.npz-page--about > .npz-about-section {
    padding-top: 120px;
}


/* ==========================================================================
   ORGANIZATIONAL STRUCTURE
========================================================================== */

.npz-page--structure > .npz-structure {
    padding-top: 120px;
}

.npz-structure__image {
    width: 100%;
    margin-top: 50px;

    display: flex;
    justify-content: center;
    align-items: center;
}

.npz-structure__image img {
    display: block;

    width: 100%;
    max-width: 1100px;
    height: auto;

    margin: 0 auto;
}

/* ==========================================================================
   LEGISLATION
========================================================================== */

.npz-page--legislation > .npz-legislation {
    padding-top: 120px;
}

.npz-legislation__frame {
    width: 100%;
    margin-top: 50px;

    overflow: hidden;
}

.npz-legislation__frame iframe {
    display: block;

    width: 100%;
    height: 800px;

    border: 0;
}

/* ==========================================================================
   CONTACTS PAGE
========================================================================== */

.npz-page--contacts > .npz-contacts {
    padding-top: 120px;
}

.npz-page--contacts .npz-contact {
    margin-top: 50px;
}

/* ==========================================================================
   CONTACTS PAGE
========================================================================== */

.npz-page--contacts > .npz-contacts {
    padding-top: 120px;
}


/* ==========================================================================
   CONTACTS LAYOUT
========================================================================== */

.npz-contacts__layout {

    display: grid;

    grid-template-columns: 7fr 3fr;

    gap: 24px;

    width: 100%;

    margin-top: 50px;

}


/* ==========================================================================
   MAP
========================================================================== */

.npz-contacts__map {

    width: 100%;
    height: 650px;

    overflow: hidden;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

}

.npz-contacts__map iframe {

    display: block;

    width: 100%;
    height: 100%;

    border: 0;

}


/* ==========================================================================
   CONTACT INFO
========================================================================== */

.npz-contacts__info {

    width: 100%;
    height: 650px;

    padding: 36px;

    background: #fff;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

    box-shadow: 0 20px 60px rgba(0, 0, 0, .08);

}


.npz-contacts__label {

    display: block;

    margin-bottom: 12px;

    font-size: 14px;
    line-height: 1.4;

    color: var(--npz-gray);

}


.npz-contacts__title {

    margin: 0 0 40px;

    font-size: 28px;
    line-height: 1.35;
    font-weight: 700;

    color: var(--npz-black);

}


.npz-contacts__items {

    display: flex;

    flex-direction: column;

    gap: 32px;

}


.npz-contacts__item {

    display: flex;

    align-items: flex-start;

    gap: 16px;

}


.npz-contacts__icon {

    flex-shrink: 0;

    width: 24px;
    height: 24px;

    display: flex;

    align-items: center;
    justify-content: center;

    color: var(--npz-primary);

}


.npz-contacts__icon svg {

    width: 21px;
    height: 21px;

    stroke-width: 1.8;

}


.npz-contacts__item-content {

    min-width: 0;

}


.npz-contacts__item-label {

    display: block;

    margin-bottom: 6px;

    font-size: 15px;
    line-height: 1.4;
    font-weight: 500;

    color: var(--npz-black);

}


.npz-contacts__item-content p,
.npz-contacts__item-content a {

    margin: 0;

    font-size: 16px;
    line-height: 1.6;

    color: var(--npz-gray);

    text-decoration: none;

}


.npz-contacts__item-content a {

    transition: color .2s ease;

}


.npz-contacts__item-content a:hover {

    color: var(--npz-primary);

}


/* ==========================================================================
   ABOUT PAGE
========================================================================== */

.npz-page--about-page {
    padding-top: 120px;
}


.npz-about-page {
    width: 100%;
}


/* ==========================================================================
   CONTENT
========================================================================== */

.npz-about-page__content {

    width: 100%;
    max-width: 1800px;

    margin-top: 50px;

    padding: 42px 48px;

    background: #ffffff;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

}


.npz-about-page__title {

    margin: 0 0 24px;

    font-size: 28px;
    line-height: 1.35;
    font-weight: 700;

    color: var(--npz-black);

}


.npz-about-page__text {

    margin: 0;

    font-size: 18px;
    line-height: 1.8;
    font-weight: 400;

    color: var(--npz-gray);

}

/* ==========================================================================
   MEDIATION PAGE
========================================================================== */

.npz-page--mediation {
    padding-top: 120px;
}


.npz-mediation-page {
    width: 100%;
}


/* ==========================================================================
   CONTENT
========================================================================== */

.npz-mediation-page__content {

    width: 100%;
    max-width: 1800px;

    margin-top: 50px;

    padding: 42px 48px;

    background: #ffffff;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

}


/* ==========================================================================
   LEAD
========================================================================== */

.npz-mediation-page__lead {

    margin: 0;

    font-size: 19px;
    line-height: 1.8;
    font-weight: 500;

    color: var(--npz-black);

}


/* ==========================================================================
   SUBTITLES
========================================================================== */

.npz-mediation-page__subtitle {

    margin: 42px 0 22px;

    font-size: 26px;
    line-height: 1.35;
    font-weight: 700;

    color: var(--npz-black);

}


/* ==========================================================================
   TEXT
========================================================================== */

.npz-mediation-page__text {

    margin: 0 0 22px;

    font-size: 17px;
    line-height: 1.8;

    color: var(--npz-gray);

}


/* ==========================================================================
   NUMBERED LIST
========================================================================== */

.npz-mediation-page__list {

    margin: 0 0 28px;

    padding-left: 42px;

    font-size: 17px;
    line-height: 1.8;

    color: var(--npz-gray);

}


.npz-mediation-page__list li {

    padding-left: 8px;

    margin-bottom: 14px;

}


.npz-mediation-page__list li:last-child {

    margin-bottom: 0;

}


/* ==========================================================================
   PRINCIPLES
========================================================================== */

.npz-mediation-page__principles {

    margin: 0;

    font-size: 18px;
    line-height: 1.8;
    font-weight: 500;

    color: var(--npz-black);

}


/* ==========================================================================
   VIDEO
========================================================================== */

.npz-mediation-page__video {

    width: 100%;
    max-width: 1200px;

    margin: 50px auto 0;

    aspect-ratio: 16 / 9;

}


.npz-mediation-page__video iframe {

    display: block;

    width: 100%;
    height: 100%;

    border: 0;

    border-radius: 8px;

}

/* ==========================================================================
   BRANCHES PAGE
========================================================================== */

.npz-page--branches {
    padding-top: 120px;
}


.npz-branches-page {
    width: 100%;
}


/* ==========================================================================
   CONTENT
========================================================================== */

.npz-branches-page__content {

    width: 100%;
    max-width: 1800px;

    margin-top: 50px;

    padding: 42px 48px;

    background: #ffffff;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

}


/* ==========================================================================
   MAIN TITLE
========================================================================== */

.npz-branches-page__main-title {

    margin: 0 0 40px;

    font-size: 28px;
    line-height: 1.35;
    font-weight: 700;

    color: var(--npz-black);

}


/* ==========================================================================
   BRANCH
========================================================================== */

.npz-branches-page__branch {

    padding: 0 0 36px;

    margin-bottom: 36px;

    border-bottom: 1px solid var(--npz-border);

}


.npz-branches-page__branch:last-child {

    padding-bottom: 0;

    margin-bottom: 0;

    border-bottom: 0;

}


/* ==========================================================================
   BRANCH TITLE
========================================================================== */

.npz-branches-page__branch-title {

    max-width: 1200px;

    margin: 0 0 20px;

    font-size: 21px;
    line-height: 1.5;
    font-weight: 700;

    color: var(--npz-black);

}


/* ==========================================================================
   MANAGER + ADDRESS
========================================================================== */

.npz-branches-page__manager,
.npz-branches-page__address {

    margin: 0 0 12px;

    font-size: 17px;
    line-height: 1.75;

    color: var(--npz-gray);

}


.npz-branches-page__address {

    margin-bottom: 0;

}


.npz-branches-page__manager strong,
.npz-branches-page__address strong {

    color: var(--npz-black);
    font-weight: 600;

}

/* ==========================================================================
   DETAILS PAGE
========================================================================== */

.npz-page--details {
    padding-top: 120px;
}


.npz-details-page {
    width: 100%;
}


/* ==========================================================================
   CONTENT
========================================================================== */

.npz-details-page__content {

    width: 100%;
    max-width: 1800px;

    margin-top: 50px;

    padding: 42px 48px;

    background: #ffffff;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

}


.npz-details-page__content p {

    margin: 0 0 24px;

    font-size: 18px;
    line-height: 1.75;

    color: var(--npz-gray);

}


.npz-details-page__content p:last-child {

    margin-bottom: 0;

}


.npz-details-page__content strong {

    color: var(--npz-black);
    font-weight: 600;

}


/* ==========================================================================
   MEMBERSHIP FEES PAGE
========================================================================== */

.npz-page--membership-fees {
    padding-top: 120px;
}


.npz-membership-fees-page {
    width: 100%;
}


/* ==========================================================================
   CONTENT
========================================================================== */

.npz-membership-fees-page__content {

    width: 100%;
    max-width: 1800px;

    margin-top: 50px;

    padding: 42px 48px;

    background: #ffffff;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

}


/* ==========================================================================
   TITLES
========================================================================== */

.npz-membership-fees-page__title {

    margin: 0 0 10px;

    font-size: 28px;
    line-height: 1.35;
    font-weight: 700;

    color: var(--npz-black);

}


.npz-membership-fees-page__subtitle {

    margin: 0 0 36px;

    font-size: 20px;
    line-height: 1.5;
    font-weight: 500;

    color: var(--npz-gray);

}


/* ==========================================================================
   TABLE
========================================================================== */

.npz-membership-fees-page__table-wrapper {

    width: 100%;

    overflow-x: auto;

    -webkit-overflow-scrolling: touch;

}


.npz-membership-fees-page__table {

    width: 100%;

    min-width: 760px;

    border-collapse: collapse;

    font-size: 16px;

}


.npz-membership-fees-page__table th,
.npz-membership-fees-page__table td {

    padding: 18px 20px;

    border: 1px solid var(--npz-border);

    text-align: center;

    vertical-align: middle;

}


.npz-membership-fees-page__table th {

    background: #f5f5f5;

    font-weight: 700;

    line-height: 1.45;

    color: var(--npz-black);

}


.npz-membership-fees-page__table td {

    line-height: 1.55;

    color: var(--npz-gray);

}


.npz-membership-fees-page__table tbody tr {

    transition: background-color .2s ease;

}


.npz-membership-fees-page__table tbody tr:not(.npz-membership-fees-page__group):hover {

    background: #fafafa;

}


/* ==========================================================================
   COMMERCIAL ORGANIZATIONS GROUP
========================================================================== */

.npz-membership-fees-page__table .npz-membership-fees-page__group td {

    background: #f5f5f5;

    font-weight: 700;

    color: var(--npz-black);

}


/* ==========================================================================
   NOTES
========================================================================== */

.npz-membership-fees-page__notes {

    margin-top: 42px;

    padding-top: 32px;

    border-top: 1px solid var(--npz-border);

}


.npz-membership-fees-page__notes p {

    margin: 0 0 18px;

    font-size: 17px;

    line-height: 1.75;

    color: var(--npz-gray);

}


.npz-membership-fees-page__notes p:last-child {

    margin-bottom: 0;

}


.npz-membership-fees-page__notes strong {

    font-weight: 600;

    color: var(--npz-black);

}


/* ==========================================================================
   ADVANTAGES PAGE
========================================================================== */

.npz-page--advantages {
    padding-top: 120px;
}


.npz-advantages-page {
    width: 100%;
}


/* ==========================================================================
   ADVANTAGES GRID
========================================================================== */

.npz-advantages-page__grid {

    display: grid;

    grid-template-columns: repeat(2, minmax(0, 1fr));

    gap: 20px;

    width: 100%;

    margin-top: 50px;

}


/* ==========================================================================
   CARD
========================================================================== */

.npz-advantage-card {

    position: relative;

    min-height: 300px;

    padding: 32px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background: #ffffff;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

    overflow: hidden;

    transition:
        border-color .25s ease,
        box-shadow .25s ease,
        transform .25s ease;

}


.npz-advantage-card:hover {

    border-color: rgba(0, 0, 0, .22);

    box-shadow: 0 18px 50px rgba(0, 0, 0, .08);

    transform: translateY(-3px);

}


/* ==========================================================================
   CARD TOP
========================================================================== */

.npz-advantage-card__top {

    display: flex;

    align-items: flex-start;
    justify-content: space-between;

    gap: 20px;

}


.npz-advantage-card__number {

    font-size: 14px;
    line-height: 1;

    font-weight: 600;

    letter-spacing: .08em;

    color: var(--npz-gray);

}


/* ==========================================================================
   ICON
========================================================================== */

.npz-advantage-card__icon {

    width: 52px;
    height: 52px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f5f5f5;

    color: var(--npz-black);

    transition:
        background-color .25s ease,
        color .25s ease,
        transform .25s ease;

}


.npz-advantage-card__icon svg {

    width: 24px;
    height: 24px;

    stroke-width: 1.8;

}


.npz-advantage-card:hover .npz-advantage-card__icon {

    background: var(--npz-primary);

    color: #ffffff;

    transform: scale(1.05);

}


/* ==========================================================================
   TITLE
========================================================================== */

.npz-advantage-card__title {

    max-width: 850px;

    margin: 50px 0 0;

    font-size: 22px;
    line-height: 1.45;
    font-weight: 650;

    color: var(--npz-black);

}


/* ==========================================================================
   WIDE CARD
========================================================================== */

.npz-advantage-card--wide {

    grid-column: 1 / -1;

    min-height: 260px;

}


.npz-advantage-card--wide .npz-advantage-card__title {

    max-width: 1100px;

}

/* ==========================================================================
   JOIN PAGE
========================================================================== */

.npz-page--join {
    padding-top: 120px;
}


.npz-join-page {
    width: 100%;
}


/* ==========================================================================
   SECTION TITLES
========================================================================== */

.npz-join-page__algorithm,
.npz-join-page__documents {

    width: 100%;

    margin-top: 50px;

}


.npz-join-page__documents {

    margin-top: 70px;

}


.npz-join-page__section-title {

    margin: 0 0 30px;

    font-size: 28px;
    line-height: 1.35;
    font-weight: 700;

    color: var(--npz-black);

}


/* ==========================================================================
   STEPS
========================================================================== */

.npz-join-page__steps {

    display: grid;

    grid-template-columns: repeat(4, minmax(0, 1fr));

    gap: 20px;

}


.npz-join-step {

    min-height: 280px;

    padding: 30px;

    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background: #ffffff;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

    transition:
        transform .25s ease,
        box-shadow .25s ease,
        border-color .25s ease;

}


.npz-join-step:hover {

    transform: translateY(-3px);

    border-color: rgba(0, 0, 0, .2);

    box-shadow: 0 18px 50px rgba(0, 0, 0, .08);

}


.npz-join-step__top {

    display: flex;

    align-items: flex-start;
    justify-content: space-between;

}


.npz-join-step__number {

    font-size: 14px;

    font-weight: 600;

    letter-spacing: .08em;

    color: var(--npz-gray);

}


.npz-join-step__icon {

    width: 52px;
    height: 52px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #f5f5f5;

    color: var(--npz-black);

}


.npz-join-step__icon svg {

    width: 24px;
    height: 24px;

    stroke-width: 1.8;

}


.npz-join-step__title {

    margin: 40px 0 0;

    font-size: 19px;
    line-height: 1.5;
    font-weight: 650;

    color: var(--npz-black);

}


.npz-join-step__title a {

    color: var(--npz-black);

    text-decoration: underline;
    text-underline-offset: 3px;

}


.npz-join-step--success {

    background: var(--npz-black);

    border-color: var(--npz-black);

}


.npz-join-step--success .npz-join-step__number,
.npz-join-step--success .npz-join-step__title {

    color: #ffffff;

}


.npz-join-step--success .npz-join-step__icon {

    background: #ffffff;

    color: var(--npz-black);

}


/* ==========================================================================
   DOCUMENTS
========================================================================== */

.npz-join-documents {

    padding: 36px 40px;

    margin-bottom: 20px;

    background: #ffffff;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

}


.npz-join-documents:last-child {

    margin-bottom: 0;

}


.npz-join-documents__title {

    margin: 0 0 10px;

    font-size: 23px;
    line-height: 1.4;
    font-weight: 700;

    color: var(--npz-black);

}


.npz-join-documents__intro {

    margin: 0 0 24px;

    font-size: 17px;
    line-height: 1.7;

    color: var(--npz-gray);

}


.npz-join-documents__list {

    margin: 0;

    padding-left: 28px;

}


.npz-join-documents__list li {

    padding-left: 8px;

    margin-bottom: 16px;

    font-size: 17px;
    line-height: 1.7;

    color: var(--npz-gray);

}


.npz-join-documents__list li:last-child {

    margin-bottom: 0;

}


/* ==========================================================================
   DOWNLOAD
========================================================================== */

.npz-join-document__download {

    display: inline-flex;

    align-items: center;

    gap: 7px;

    margin-left: 12px;

    padding: 7px 12px;

    border-radius: 5px;

    background: #f5f5f5;

    color: var(--npz-black);

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    vertical-align: middle;

    transition:
        background-color .2s ease,
        color .2s ease;

}


.npz-join-document__download:hover {

    background: var(--npz-black);

    color: #ffffff;

}


.npz-join-document__download svg {

    width: 15px;
    height: 15px;

}


/* ==========================================================================
   DOCUMENTS PAGE
========================================================================== */

.npz-page--documents {
    padding-top: 120px;
}


.npz-documents-page {
    width: 100%;
}


/* ==========================================================================
   GALLERY
========================================================================== */

.npz-documents-gallery {

    display: grid;

    grid-template-columns: repeat(3, minmax(0, 1fr));

    gap: 24px;

    width: 100%;

    margin-top: 50px;

}


.npz-documents-gallery__item {

    position: relative;

    width: 100%;

    aspect-ratio: 3 / 4;

    padding: 0;

    overflow: hidden;

    border: 1px solid var(--npz-border);
    border-radius: 8px;

    background: #f5f5f5;

    cursor: pointer;

    appearance: none;

}


.npz-documents-gallery__image {

    position: absolute;

    inset: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 18px;

}


.npz-documents-gallery__image img {

    display: block;

    width: 100%;
    height: 100%;

    object-fit: contain;

    transition: transform .4s ease;

}


.npz-documents-gallery__overlay {

    position: absolute;

    inset: 0;

    z-index: 2;

    display: flex;

    align-items: flex-end;
    justify-content: center;

    padding: 24px;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, .62),
        rgba(0, 0, 0, 0) 45%
    );

    opacity: 0;

    transition: opacity .3s ease;

}


.npz-documents-gallery__open {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    gap: 8px;

    padding: 11px 17px;

    border-radius: 6px;

    background: rgba(255, 255, 255, .95);

    color: var(--npz-black);

    font-size: 14px;
    font-weight: 600;

    transform: translateY(10px);

    transition: transform .3s ease;

}


.npz-documents-gallery__open svg {

    width: 16px;
    height: 16px;

}


.npz-documents-gallery__item:hover
.npz-documents-gallery__overlay {

    opacity: 1;

}


.npz-documents-gallery__item:hover
.npz-documents-gallery__open {

    transform: translateY(0);

}


.npz-documents-gallery__item:hover
.npz-documents-gallery__image img {

    transform: scale(1.025);

}


/* ==========================================================================
   LIGHTBOX
========================================================================== */

.npz-lightbox {

    position: fixed;

    inset: 0;

    z-index: 99999;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 30px;

    visibility: hidden;

    opacity: 0;

    pointer-events: none;

    transition:
        opacity .25s ease,
        visibility .25s ease;

}


.npz-lightbox.is-open {

    visibility: visible;

    opacity: 1;

    pointer-events: auto;

}


/* ==========================================================================
   BACKDROP
========================================================================== */

.npz-lightbox__backdrop {

    position: absolute;

    inset: 0;

    background: rgba(8, 12, 14, .92);

    backdrop-filter: blur(10px);

    -webkit-backdrop-filter: blur(10px);

}


/* ==========================================================================
   DIALOG
========================================================================== */

.npz-lightbox__dialog {

    position: relative;

    z-index: 2;

    display: flex;

    align-items: center;
    justify-content: center;

    width: min(1400px, 100%);

    height: min(90vh, 900px);

}


/* ==========================================================================
   IMAGE
========================================================================== */

.npz-lightbox__image-wrap {

    display: flex;

    align-items: center;
    justify-content: center;

    width: 100%;
    height: 100%;

}


.npz-lightbox__image {

    display: block;

    max-width: calc(100% - 160px);
    max-height: calc(100% - 80px);

    width: auto;
    height: auto;

    object-fit: contain;

    border-radius: 4px;

    user-select: none;

}


/* ==========================================================================
   CLOSE
========================================================================== */

.npz-lightbox__close {

    position: absolute;

    z-index: 5;

    top: 0;
    right: 0;

    width: 48px;
    height: 48px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;

    background: rgba(255, 255, 255, .08);

    color: #ffffff;

    cursor: pointer;

    transition:
        background-color .2s ease,
        transform .2s ease;

}


.npz-lightbox__close:hover {

    background: rgba(255, 255, 255, .18);

    transform: rotate(90deg);

}


.npz-lightbox__close svg {

    width: 22px;
    height: 22px;

}


/* ==========================================================================
   ARROWS
========================================================================== */

.npz-lightbox__arrow {

    position: absolute;

    z-index: 5;

    top: 50%;

    width: 54px;
    height: 54px;

    display: flex;

    align-items: center;
    justify-content: center;

    padding: 0;

    border: 1px solid rgba(255, 255, 255, .2);
    border-radius: 50%;

    background: rgba(255, 255, 255, .08);

    color: #ffffff;

    cursor: pointer;

    transform: translateY(-50%);

    transition:
        background-color .2s ease,
        transform .2s ease;

}


.npz-lightbox__arrow:hover {

    background: rgba(255, 255, 255, .18);

}


.npz-lightbox__arrow svg {

    width: 25px;
    height: 25px;

}


.npz-lightbox__arrow--prev {

    left: 0;

}


.npz-lightbox__arrow--next {

    right: 0;

}


.npz-lightbox__arrow--prev:hover {

    transform: translate(-3px, -50%);

}


.npz-lightbox__arrow--next:hover {

    transform: translate(3px, -50%);

}


/* ==========================================================================
   BOTTOM
========================================================================== */

.npz-lightbox__bottom {

    position: absolute;

    z-index: 5;

    left: 50%;

    bottom: 0;

    display: flex;

    align-items: center;

    gap: 18px;

    transform: translateX(-50%);

    white-space: nowrap;

}


.npz-lightbox__title {

    max-width: 500px;

    overflow: hidden;

    text-overflow: ellipsis;

    color: rgba(255, 255, 255, .85);

    font-size: 14px;

}


.npz-lightbox__counter {

    color: rgba(255, 255, 255, .55);

    font-size: 14px;

}


/* ==========================================================================
   BODY LOCK
========================================================================== */

body.npz-lightbox-open {

    overflow: hidden;

}


/* ==========================================================================
   ADMIN
========================================================================== */

.npz-admin {

    min-height: 100vh;

    padding: 60px 0;

    background: #f6f7f8;

}


.npz-admin__container {

    width: 100%;

    max-width: 1800px;

    margin: 0 auto;

    padding: 0 48px;

}


/* ==========================================================================
   HEADER
========================================================================== */

.npz-admin__header {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 30px;

    margin-bottom: 40px;

}


.npz-admin__header > div:first-child span {

    display: block;

    margin-bottom: 8px;

    color: #777;

    font-size: 14px;

}


.npz-admin__header h1 {

    margin: 0;

    font-size: 42px;

    line-height: 1.1;

}


.npz-admin__header-actions {

    display: flex;

    align-items: center;

    gap: 12px;

}


/* ==========================================================================
   BUTTONS
========================================================================== */

.npz-admin__button {

    display: inline-flex;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 0 20px;

    border: 1px solid #d8d8d8;

    border-radius: 6px;

    background: #fff;

    color: #222;

    font-size: 14px;
    font-weight: 600;

    text-decoration: none;

    transition:
        background-color .2s ease,
        border-color .2s ease,
        color .2s ease;

}


.npz-admin__button:hover {

    border-color: #bbb;

    background: #f2f2f2;

}


.npz-admin__button--primary {

    border-color: var(--npz-primary);

    background: var(--npz-primary);

    color: #fff;

}


.npz-admin__button--primary:hover {

    border-color: var(--npz-primary);

    background: var(--npz-primary);

    color: #fff;

}


.npz-admin__logout {

    color: #777;

    font-size: 14px;

    text-decoration: none;

}


.npz-admin__logout:hover {

    color: #222;

}


/* ==========================================================================
   FILTERS
========================================================================== */

.npz-admin__filters {

    display: flex;

    align-items: center;

    gap: 8px;

    margin-bottom: 20px;

}


.npz-admin__filters a {

    display: inline-flex;

    align-items: center;

    justify-content: center;

    min-height: 40px;

    padding: 0 16px;

    border-radius: 6px;

    color: #666;

    font-size: 14px;

    text-decoration: none;

    transition:
        background-color .2s ease,
        color .2s ease;

}


.npz-admin__filters a:hover {

    background: #e9eaec;

    color: #222;

}


.npz-admin__filters a.is-active {

    background: #222;

    color: #fff;

}


/* ==========================================================================
   TOOLBAR
========================================================================== */

.npz-admin__toolbar {

    display: flex;

    justify-content: flex-end;

    margin-bottom: 18px;

}


/* ==========================================================================
   TABLE
========================================================================== */

.npz-admin__table-wrap {

    overflow-x: auto;

    border: 1px solid #e1e1e1;

    border-radius: 8px;

    background: #fff;

}


.npz-admin__table {

    width: 100%;

    min-width: 850px;

    border-collapse: collapse;

}


.npz-admin__table th {

    padding: 15px 18px;

    border-bottom: 1px solid #e1e1e1;

    background: #fafafa;

    color: #666;

    font-size: 12px;

    font-weight: 600;

    text-align: left;

    text-transform: uppercase;

}


.npz-admin__table td {

    padding: 18px;

    border-bottom: 1px solid #ededed;

    color: #333;

    font-size: 14px;

    vertical-align: middle;

}


.npz-admin__table tbody tr:last-child td {

    border-bottom: 0;

}


.npz-admin__table tbody tr:hover {

    background: #fafafa;

}


/* ==========================================================================
   POST TITLE
========================================================================== */

.npz-admin__post-title {

    max-width: 600px;

    margin-bottom: 5px;

    color: #222;

    font-weight: 600;

    line-height: 1.4;

}


.npz-admin__table td small {

    color: #999;

    font-size: 12px;

}


/* ==========================================================================
   BADGES
========================================================================== */

.npz-admin__badge {

    display: inline-flex;

    align-items: center;

    padding: 5px 9px;

    border-radius: 4px;

    background: #eeeeee;

    color: #444;

    font-size: 12px;

    font-weight: 600;

}


.npz-admin__badge--webinar {

    background: #eeeeee;

}


.npz-admin__important {

    color: var(--npz-primary);

    font-size: 13px;

    font-weight: 700;

}


.npz-admin__muted {

    color: #aaa;

}


/* ==========================================================================
   ACTIONS
========================================================================== */

.npz-admin__row-actions {

    display: flex;

    align-items: center;

    gap: 14px;

}


.npz-admin__row-actions a {

    color: #555;

    font-size: 13px;

    font-weight: 500;

    text-decoration: none;

}


.npz-admin__row-actions a:hover {

    color: var(--npz-primary);

}


/* ==========================================================================
   EMPTY
========================================================================== */

.npz-admin__empty {

    display: flex;

    flex-direction: column;

    align-items: center;
    justify-content: center;

    min-height: 280px;

    gap: 8px;

    color: #777;

    text-align: center;

}


.npz-admin__empty strong {

    color: #222;

    font-size: 18px;

}


.npz-admin__empty span {

    font-size: 14px;

}


.npz-admin__delete-button {
    border: 0;
    padding: 0;
    background: none;
    font: inherit;
    color: #dc3545;
    cursor: pointer;
}

.npz-admin__delete-button:hover {
    text-decoration: underline;
}


.npz-admin__success {
    margin-bottom: 24px;
    padding: 14px 18px;
    border: 1px solid #b7dfc2;
    border-radius: 8px;
    background: #edf8f0;
    color: #246b36;
}

/* ==========================================================================
   ADMIN — PUBLICATION FORM
========================================================================== */

.npz-admin__form {

    width: 100%;
    max-width: 1800px;

    padding: 40px;

    background: #ffffff;

    border: 1px solid #e3e5e7;
    border-radius: 12px;

    box-shadow: 0 10px 35px rgba(0, 0, 0, .04);

}


.npz-admin__field {

    display: flex;
    flex-direction: column;

    gap: 10px;

    margin-bottom: 28px;

}


.npz-admin__field > label {

    color: #222;

    font-size: 14px;
    font-weight: 600;

}


.npz-admin__field input[type="text"],
.npz-admin__field input[type="datetime-local"],
.npz-admin__field input[type="file"],
.npz-admin__field select,
.npz-admin__field textarea {

    width: 100%;

    padding: 14px 16px;

    border: 1px solid #dcdfe2;
    border-radius: 8px;

    background: #fff;

    color: #222;

    font-size: 15px;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;

}


.npz-admin__field input[type="text"]:focus,
.npz-admin__field input[type="datetime-local"]:focus,
.npz-admin__field input[type="file"]:focus,
.npz-admin__field select:focus,
.npz-admin__field textarea:focus {

    border-color: var(--npz-primary);

    box-shadow:
        0 0 0 3px rgba(0, 122, 143, .08);

    outline: none;

}


.npz-admin__field textarea {

    min-height: 120px;

    line-height: 1.6;

    resize: vertical;

}


/* --------------------------------------------------------------------------
   HELP TEXT
-------------------------------------------------------------------------- */

.npz-admin__field small {

    display: block;

    color: #8a8f94;

    font-size: 13px;

    line-height: 1.5;

}


/* --------------------------------------------------------------------------
   FILE INPUT
-------------------------------------------------------------------------- */

.npz-admin__field input[type="file"] {

    padding: 11px 12px;

    cursor: pointer;

    background: #fafafa;

}


.npz-admin__field input[type="file"]::file-selector-button {

    margin-right: 12px;

    padding: 8px 14px;

    border: 1px solid #d8d8d8;
    border-radius: 6px;

    background: #fff;

    color: #333;

    font: inherit;
    font-size: 13px;
    font-weight: 600;

    cursor: pointer;

}


/* --------------------------------------------------------------------------
   IMPORTANT CHECKBOX
-------------------------------------------------------------------------- */

.npz-admin__checkbox {

    margin: 4px 0 28px;

    padding: 16px 18px;

    border: 1px solid #e3e5e7;
    border-radius: 8px;

    background: #fafafa;

}


.npz-admin__checkbox label {

    display: flex;

    align-items: center;

    gap: 12px;

    cursor: pointer;

    color: #333;

    font-size: 14px;
    font-weight: 500;

}


.npz-admin__checkbox input {

    width: 18px;
    height: 18px;

    flex: 0 0 auto;

    accent-color: var(--npz-primary);

}


/* --------------------------------------------------------------------------
   TINYMCE
-------------------------------------------------------------------------- */

.npz-admin__field:has(#content) {

    margin-bottom: 0;

}


/*
 * TinyMCE создаёт iframe/editor после textarea,
 * поэтому textarea CSS здесь не трогаем.
 */

.npz-admin__field .tox-tinymce {

    width: 100% !important;

    border: 1px solid #dcdfe2 !important;

    border-radius: 8px !important;

    overflow: hidden;

}


/* --------------------------------------------------------------------------
   FORM ACTIONS
-------------------------------------------------------------------------- */

.npz-admin__form-actions {

    display: flex;

    align-items: center;

    justify-content: flex-end;

    gap: 12px;

    margin-top: 32px;

    padding-top: 28px;

    border-top: 1px solid #eeeeee;

}


/*
 * Отдельно отодвигаем кнопку от TinyMCE.
 */

.npz-admin__form-actions .npz-admin__button {

    min-height: 48px;

    padding: 0 26px;

}


/* --------------------------------------------------------------------------
   ERRORS
-------------------------------------------------------------------------- */

.npz-admin__errors {

    max-width: 1200px;

    margin-bottom: 28px;

    padding: 18px 20px;

    border: 1px solid #f0caca;
    border-radius: 8px;

    background: #fff6f6;

    color: #a52a2a;

}


.npz-admin__errors strong {

    display: block;

    margin-bottom: 8px;

}


.npz-admin__errors ul {

    margin: 0;

    padding-left: 20px;

    list-style: disc;

}


.npz-admin__errors li {

    margin-bottom: 4px;

}


/* ============================================================
   NEWS PAGE
============================================================ */

.npz-page--news > .npz-news-page {
    padding-top: 120px;
}

/* ============================================================
   NEWS GRID
============================================================ */

.npz-news-page__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 32px;
    margin-top: 55px;
}


/* ============================================================
   NEWS CARD
============================================================ */

.npz-news-page__grid .npz-news-card {
    min-width: 0;
    height: 100%;
}


/* ============================================================
   IMAGE
============================================================ */

.npz-news-page__grid .npz-news-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    overflow: hidden;
}


.npz-news-page__grid .npz-news-card__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}


.npz-news-card__image-placeholder {
    width: 100%;
    height: 100%;
    min-height: 220px;
    background: #f1f1f1;
}


/* ============================================================
   PAGINATION
============================================================ */

.npz-news-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 70px;
}


.npz-news-pagination__item,
.npz-news-pagination__arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border: 1px solid #dedede;
    border-radius: 50%;

    color: #222;
    text-decoration: none;

    transition:
        background-color 0.2s ease,
        color 0.2s ease,
        border-color 0.2s ease;
}


.npz-news-pagination__item:hover,
.npz-news-pagination__arrow:hover {
    border-color: #222;
    background: #222;
    color: #fff;
}


.npz-news-pagination__item.is-active {
    border-color: #222;
    background: #222;
    color: #fff;
}


.npz-news-pagination__arrow svg {
    width: 18px;
    height: 18px;
}


/* ============================================================
   EMPTY
============================================================ */

.npz-news-page__empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;

    min-height: 350px;

    text-align: center;

    margin-top: 55px;
}


.npz-news-page__empty svg {
    width: 42px;
    height: 42px;
    margin-bottom: 20px;
}


.npz-news-page__empty h2 {
    margin: 0 0 10px;
}


.npz-news-page__empty p {
    margin: 0;
    color: #777;
}


/* ==========================================================================
   ADMIN — LOGIN
========================================================================== */

.npz-admin-login {

    min-height: 100vh;

    display: flex;
    align-items: center;
    justify-content: center;

    padding: 40px 24px;

    background:
        radial-gradient(
            circle at 50% 0%,
            rgba(0, 122, 143, .07),
            transparent 38%
        ),
        #f7f8fa;

}


.npz-admin-login__card {

    width: 100%;
    max-width: 440px;

    padding: 44px;

    background: #fff;

    border: 1px solid #e3e5e7;
    border-radius: 14px;

    box-shadow:
        0 20px 60px rgba(0, 0, 0, .07);

}


/* --------------------------------------------------------------------------
   TITLE
-------------------------------------------------------------------------- */

.npz-admin-login__card h1 {

    margin: 0;

    color: #111;

    font-size: 28px;
    font-weight: 700;

    line-height: 1.2;

}


.npz-admin-login__card > p {

    margin: 10px 0 32px;

    color: #777;

    font-size: 15px;

}


/* --------------------------------------------------------------------------
   ERROR
-------------------------------------------------------------------------- */

.npz-admin-login__error {

    margin-bottom: 24px;

    padding: 13px 15px;

    border: 1px solid #efcaca;
    border-radius: 8px;

    background: #fff5f5;

    color: #a52a2a;

    font-size: 14px;
    line-height: 1.5;

}


/* --------------------------------------------------------------------------
   FORM
-------------------------------------------------------------------------- */

.npz-admin-login__card form {

    display: flex;
    flex-direction: column;

    gap: 10px;

}


.npz-admin-login__card label {

    margin-top: 8px;

    color: #222;

    font-size: 14px;
    font-weight: 600;

}


.npz-admin-login__card input {

    width: 100%;

    height: 50px;

    padding: 0 15px;

    border: 1px solid #dcdfe2;
    border-radius: 8px;

    background: #fff;

    color: #111;

    font-size: 15px;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background-color .2s ease;

}


.npz-admin-login__card input:hover {

    border-color: #c9cdd1;

}


.npz-admin-login__card input:focus {

    border-color: var(--npz-primary);

    outline: none;

    box-shadow:
        0 0 0 3px rgba(0, 122, 143, .08);

}


/* --------------------------------------------------------------------------
   LOGIN BUTTON
-------------------------------------------------------------------------- */

.npz-admin-login__card button {

    width: 100%;

    height: 50px;

    margin-top: 18px;

    border-radius: 8px;

    background: var(--npz-primary);

    color: #fff;

    font-size: 15px;
    font-weight: 600;

    cursor: pointer;

    transition:
        background .2s ease,
        transform .2s ease,
        box-shadow .2s ease;

}


.npz-admin-login__card button:hover {

    background: rgb(0, 105, 122);

    transform: translateY(-1px);

    box-shadow:
        0 10px 25px rgba(0, 122, 143, .20);

}


.npz-admin-login__card button:active {

    transform: translateY(0);

}


/* ==========================================================================
   NEWS DETAIL
========================================================================== */

.npz-page--news-detail > .npz-news-detail {
    padding-top: 120px;
}


.npz-news-detail__header {
      display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 20px;

    margin-bottom: 32px;

    color: #777;
    font-size: 14px;
}


.npz-news-detail__back {
  display: inline-flex;
    align-items: center;
    gap: 8px;

    color: #333;
    font-weight: 600;

    transition: var(--npz-transition);
}


.npz-news-detail__back:hover {
    color: var(--npz-primary);
}


.npz-news-detail__back svg {
    width: 18px;
    height: 18px;
}


.npz-news-detail__title {
     width: 100%;

    margin: 0 0 40px;

    color: var(--npz-black);

    font-size: 48px;
    font-weight: 700;
    line-height: 1.2;
}


.npz-news-detail__image {
     width: 100%;
    max-width: none;

    margin: 0 0 50px;

    overflow: hidden;

    border-radius: 12px;
}


.npz-news-detail__image img {
    display: block;

    width: 100%;
    max-width: 1200px;

    height: auto;

    margin: 0 auto;
}


.npz-news-detail__content {
    width: 100%;
    max-width: none;

    color: #222;

    font-size: 18px;
    line-height: 1.8;
}


.npz-news-detail__content p {
    margin-bottom: 24px;
}


.npz-news-detail__content h2 {
       margin: 42px 0 20px;

    font-size: 30px;
    line-height: 1.3;
}


.npz-news-detail__content h3 {
   margin: 34px 0 16px;

    font-size: 24px;
    line-height: 1.4;
}


.npz-news-detail__content ul,
.npz-news-detail__content ol {
    margin: 0 0 24px;

    padding-left: 28px;

    list-style: revert;
}


.npz-news-detail__content img {
        display: block;

    width: 100%;
    max-width: 1200px;

    height: auto;

    margin: 0 auto;
}


.npz-news-detail__content iframe {
     display: block;

    width: 100%;
    max-width: 100%;

    min-height: 500px;

    margin: 35px 0;

    border: 0;
}


.npz-news-detail__empty {
      min-height: 400px;

    display: flex;
    flex-direction: column;

    align-items: flex-start;
    justify-content: center;

    gap: 24px;
}

/* ==========================================================================
   SEARCH SPOTLIGHT
========================================================================== */

.npz-search {
    position: fixed;
    inset: 0;
    z-index: 3000;

    visibility: hidden;
    pointer-events: none;
    opacity: 0;

    transition:
        opacity 0.25s ease,
        visibility 0.25s ease;
}

.npz-search.is-open {
    visibility: visible;
    pointer-events: auto;
    opacity: 1;
}


/* --------------------------------------------------------------------------
   OVERLAY
-------------------------------------------------------------------------- */

.npz-search__overlay {
    position: absolute;
    inset: 0;

    background: rgba(10, 18, 20, 0.52);

    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}


/* --------------------------------------------------------------------------
   DIALOG
-------------------------------------------------------------------------- */

.npz-search__dialog {
    position: relative;

    width: min(
        calc(100% - 48px),
        820px
    );

    margin: 9vh auto 0;

    overflow: hidden;

    background: #fff;

    border: 1px solid rgba(17, 17, 17, 0.08);

    border-radius: 18px;

    box-shadow:
        0 35px 100px rgba(0, 0, 0, 0.22);

    transform:
        translateY(-14px)
        scale(0.985);

    transition:
        transform 0.3s cubic-bezier(0.2, 0.8, 0.2, 1);
}

.npz-search.is-open .npz-search__dialog {
    transform:
        translateY(0)
        scale(1);
}


/* --------------------------------------------------------------------------
   HEADER
-------------------------------------------------------------------------- */

.npz-search__header {
    display: flex;
    align-items: center;

    gap: 12px;

    padding: 14px 16px;

    border-bottom:
        1px solid var(--npz-border);
}


/* --------------------------------------------------------------------------
   INPUT
-------------------------------------------------------------------------- */

.npz-search__input-wrap {
    position: relative;

    display: flex;
    align-items: center;

    flex: 1;
}

.npz-search__input-icon {
    position: absolute;

    left: 14px;

    width: 20px;
    height: 20px;

    color: var(--npz-primary);

    pointer-events: none;
}

.npz-search__input-icon svg {
    width: 20px;
    height: 20px;

    stroke-width: 2;
}

.npz-search__input {
    width: 100%;
    height: 52px;

    padding:
        0 46px 0 48px;

    border:
        1px solid transparent;

    border-radius: 10px;

    background: var(--npz-light);

    color: var(--npz-black);

    font-size: 18px;
    font-weight: 500;

    transition:
        background 0.25s ease,
        border-color 0.25s ease,
        box-shadow 0.25s ease;
}

.npz-search__input::placeholder {
    color: #9a9a9a;
}

.npz-search__input:focus {
    outline: none;

    background: #fff;

    border-color:
        rgba(0, 122, 143, 0.28);

    box-shadow:
        0 0 0 4px
        rgba(0, 122, 143, 0.08);
}


/* --------------------------------------------------------------------------
   BUTTONS
-------------------------------------------------------------------------- */

.npz-search__clear,
.npz-search__close {
    display: flex;
    align-items: center;
    justify-content: center;

    flex-shrink: 0;

    border: 0;

    color: #777;

    transition:
        background 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.npz-search__clear {
    position: absolute;

    right: 8px;

    width: 36px;
    height: 36px;

    border-radius: 50%;

    background: transparent;
}

.npz-search__close {
    width: 44px;
    height: 44px;

    border-radius: 50%;

    background: transparent;
}

.npz-search__clear:hover,
.npz-search__close:hover {
    background:
        rgba(0, 122, 143, 0.08);

    color: var(--npz-primary);
}

.npz-search__clear svg,
.npz-search__close svg {
    width: 19px;
    height: 19px;
}


/* --------------------------------------------------------------------------
   BODY
-------------------------------------------------------------------------- */

.npz-search__body {
    max-height:
        min(62vh, 560px);

    overflow-y: auto;

    overscroll-behavior: contain;
}

.npz-search__status {
    padding: 28px 30px;

    color: var(--npz-gray);

    font-size: 15px;
}

.npz-search__results {
    display: flex;
    flex-direction: column;
}


/* --------------------------------------------------------------------------
   RESULT
-------------------------------------------------------------------------- */

.npz-search__result {
    position: relative;

    display: grid;

    grid-template-columns:
        42px
        minmax(0, 1fr)
        auto;

    align-items: center;

    gap: 16px;

    width: 100%;

    padding: 16px 24px;

    text-align: left;

    border: 0;

    border-top:
        1px solid rgba(17, 17, 17, 0.06);

    background: #fff;

    color: inherit;

    cursor: pointer;

    transition:
        background 0.2s ease;
}

.npz-search__result:hover,
.npz-search__result.is-selected {
    background:
        rgba(0, 122, 143, 0.055);
}


/* --------------------------------------------------------------------------
   RESULT ICON
-------------------------------------------------------------------------- */

.npz-search__result-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 42px;
    height: 42px;

    border-radius: 10px;

    background:
        rgba(0, 122, 143, 0.09);

    color: var(--npz-primary);
}

.npz-search__result-icon svg {
    width: 20px;
    height: 20px;

    stroke-width: 2;
}


/* --------------------------------------------------------------------------
   RESULT TEXT
-------------------------------------------------------------------------- */

.npz-search__result-main {
    min-width: 0;
}

.npz-search__result-title {
    overflow: hidden;

    display: -webkit-box;

    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    font-size: 16px;
    font-weight: 650;
    line-height: 1.35;

    color: var(--npz-black);
}

.npz-search__result-meta {
    display: flex;
    align-items: center;

    flex-wrap: wrap;

    gap: 8px 12px;

    margin-top: 6px;

    color: #929292;

    font-size: 13px;
}

.npz-search__result-type {
    color: var(--npz-primary);

    font-weight: 600;
}

.npz-search__result-important {
    display: inline-flex;
    align-items: center;

    padding: 3px 7px;

    border-radius: 999px;

    background:
        rgba(0, 122, 143, 0.08);

    color: var(--npz-primary);

    font-size: 11px;
    font-weight: 700;
}

.npz-search__result-date {
    white-space: nowrap;
}


/* --------------------------------------------------------------------------
   ARROW
-------------------------------------------------------------------------- */

.npz-search__result-arrow {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    color: #aaa;

    transition:
        color 0.2s ease,
        transform 0.2s ease;
}

.npz-search__result:hover
.npz-search__result-arrow,

.npz-search__result.is-selected
.npz-search__result-arrow {

    color: var(--npz-primary);

    transform:
        translateX(3px);
}

.npz-search__result-arrow svg {
    width: 18px;
    height: 18px;
}


/* --------------------------------------------------------------------------
   EMPTY
-------------------------------------------------------------------------- */

.npz-search__empty {
    padding: 48px 30px;

    text-align: center;

    color: var(--npz-gray);
}

.npz-search__empty-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 48px;
    height: 48px;

    margin:
        0 auto 14px;

    border-radius: 50%;

    background: var(--npz-light);

    color: #aaa;
}

.npz-search__empty-icon svg {
    width: 22px;
    height: 22px;
}


/* --------------------------------------------------------------------------
   FOOTER
-------------------------------------------------------------------------- */

.npz-search__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;

    gap: 16px;

    padding: 12px 20px;

    border-top:
        1px solid var(--npz-border);

    background: #fafbfc;

    color: #8b8b8b;

    font-size: 12px;
}

.npz-search__footer span {
    display: inline-flex;
    align-items: center;

    gap: 6px;
}

.npz-search__footer-hint {
    justify-content: flex-end;
}

.npz-search kbd {
    display: inline-flex;
    align-items: center;
    justify-content: center;

    min-width: 25px;
    height: 23px;

    padding: 0 6px;

    border:
        1px solid #ddd;

    border-bottom-width: 2px;

    border-radius: 5px;

    background: #fff;

    color: #666;

    font-family: inherit;

    font-size: 11px;
    font-weight: 600;
}



/* ==========================================================================
   RESPONSIVE — 1600
========================================================================== */

@media (max-width: 1600px) {

    .npz-container {

        max-width: 1500px;

        padding-left: 32px;
        padding-right: 32px;

    }

    .npz-header__menu {

        gap: 30px;

    }

    .npz-header__actions {

        gap: 18px;

    }
	
	 .npz-header__link {
        font-size: 14px;
        gap: 6px;
    }
	
	    .npz-contacts__layout {
        gap: 20px;
    }

    .npz-contacts__map,
    .npz-contacts__info {
        height: 600px;
    }

    .npz-contacts__info {
        padding: 32px;
    }

    .npz-contacts__title {
        font-size: 26px;
    }
	
	

}

/* ==========================================================================
   RESPONSIVE — 1400
========================================================================== */

@media (max-width: 1400px) {

    .npz-container {

        max-width: 1320px;

        padding-left: 28px;
        padding-right: 28px;

    }


    /* HEADER */

    .npz-header__inner {

        gap: 24px;

    }

    .npz-header__menu {
        gap: 18px;
    }

    .npz-header__link {
        font-size: 14px;
        gap: 10px;
    }

    .npz-header__actions {

        min-width: auto;

        gap: 14px;

    }

    .npz-header__button {

        padding-left: 20px;
        padding-right: 20px;

    }


    /* SECTIONS */

    .npz-section {

        padding-top: 80px;
        padding-bottom: 80px;

    }
	
	.npz-header__logo
	{ width: 100px;}
	
	
	    .npz-hero__content {
        max-width: 620px;
    }

    .npz-hero__title {
        font-size: 50px;
    }

    .npz-hero__subtitle {
        max-width: 560px;
        font-size: 17px;
    }
	
	    .npz-news-card__content {
        padding: 24px;
    }

    .npz-news-card__title {
        font-size: 21px;
    }

    .npz-news-card__excerpt {
        font-size: 15px;
    }
	
	    .npz-contacts__layout {
        gap: 18px;
    }

    .npz-contacts__map,
    .npz-contacts__info {
        height: 560px;
    }

    .npz-contacts__info {
        padding: 28px;
    }

    .npz-contacts__title {
        font-size: 24px;
    }
	
	.npz-about__content {

        max-width: 100%;

    }


}


/* ==========================================================================
   SLIDER ARROWS — 1350
========================================================================== */

@media (max-width: 1350px) {

    /* NEWS */
    .npz-news__prev,
    .npz-news__next,

    /* IMPORTANT */
    .npz-important__prev,
    .npz-important__next {
        top: -65px;
        bottom: auto;

        width: 48px;
        height: 48px;

        transform: none;
    }

    .npz-news__prev,
    .npz-important__prev {
        left: auto;
        right: 58px;
    }

    .npz-news__next,
    .npz-important__next {
        left: auto;
        right: 0;
    }

    .npz-news__prev:hover,
    .npz-news__next:hover,
    .npz-important__prev:hover,
    .npz-important__next:hover {
        transform: scale(1.05);
    }

}






/* ==========================================================================
   RESPONSIVE — 1200
========================================================================== */

@media (max-width: 1200px) {


    /* ==============================================================
       GLOBAL
    ============================================================== */

    .npz-container {

        padding-left: 24px;
        padding-right: 24px;

    }


    /* ==============================================================
       HEADER
    ============================================================== */

    .npz-header__inner {

        min-height: 78px;

        gap: 20px;

    }


    .npz-header__logo {

        width: auto;

    }


    .npz-header__logo img {

        height: 54px;

    }


    /* Desktop navigation disappears */

    .npz-header__nav {

        display: none;

    }


    /* Desktop button disappears */

    .npz-header__button {

        display: none;

    }


    /* Keep search + language */

    .npz-header__actions {

        margin-left: auto;

        min-width: auto;

        gap: 10px;

    }


    .npz-header__tools {

        gap: 4px;

    }


    /* Burger appears */

    .npz-header__burger {

        display: flex;

    }


    /* ==============================================================
       TITLES
    ============================================================== */

    .npz-title {

        font-size: 44px;

    }


    .npz-section-heading__title {

        font-size: 38px;

    }
	
	.npz-hero {
        min-height: 760px;
        height: auto;
        padding-top: 78px;
    }

    .npz-hero__inner {
        height: auto;
        min-height: 682px;
    }

    .npz-hero__content {
        max-width: 620px;
    }

    .npz-hero__title {
        font-size: 48px;
    }

    .npz-hero__subtitle {
        max-width: 560px;
        font-size: 17px;
    }
	
	    .npz-news {
        padding-top: 80px;
        padding-bottom: 80px;
    }

    .npz-news-card__image {
        aspect-ratio: 16 / 9;
    }

    .npz-news-card__content {
        padding: 22px;
    }

    .npz-news-card__title {
        font-size: 20px;
    }
	
	  .npz-header.is-scrolled .npz-header__inner {
        min-height: 70px;
    }

    .npz-header.is-scrolled .npz-header__logo img {
        height: 46px;
    }
	
	   .npz-links__grid {
        gap: 24px;
    }

    .npz-link-card {
        height: 460px;
    }

    .npz-link-card__overlay {
        padding: 28px;
    }

    .npz-link-card__title {
        font-size: 28px;
    }

    .npz-link-card__text {
        font-size: 15px;
    }
	
	   .npz-page--legislation > .npz-legislation {
        padding-top: 110px;
    }

    .npz-legislation__frame {
        margin-top: 40px;
    }

    .npz-legislation__frame iframe {
        height: 750px;
    }
	
	 .npz-page--contacts > .npz-contacts {
        padding-top: 110px;
    }
	
	    .npz-page--contacts > .npz-contacts {
        padding-top: 110px;
    }

    .npz-contacts__layout {

        grid-template-columns: 1fr;

        gap: 24px;

    }

    .npz-contacts__map {

        height: 520px;

    }

    .npz-contacts__info {

        height: auto;

        padding: 32px;

    }

    .npz-contacts__items {

        display: grid;

        grid-template-columns: repeat(3, 1fr);

        gap: 24px;

    }
	
	.npz-page--about > .npz-about {

        padding-top: 110px;

    }


    .npz-about__content {

        margin-top: 45px;

        padding: 38px 40px;

    }


    .npz-about__title {

        font-size: 26px;

    }


    .npz-about__text {

        font-size: 17px;

        line-height: 1.75;

    }
	
	   .npz-page--about-page {
        padding-top: 110px;
    }

    .npz-about-page__content {
        margin-top: 45px;
        padding: 38px 40px;
    }

    .npz-about-page__title {
        font-size: 26px;
    }

    .npz-about-page__text {
        font-size: 17px;
        line-height: 1.75;
    }
	
	.npz-page--mediation {
        padding-top: 110px;
    }

    .npz-mediation-page__content {

        margin-top: 45px;

        padding: 38px 40px;

    }

    .npz-mediation-page__lead {

        font-size: 18px;

    }

    .npz-mediation-page__subtitle {

        font-size: 25px;

    }

    .npz-mediation-page__text,
    .npz-mediation-page__list {

        font-size: 16px;

    }

    .npz-mediation-page__video {

        margin-top: 45px;

    }
	
	.npz-page--branches {

        padding-top: 110px;

    }


    .npz-branches-page__content {

        margin-top: 45px;

        padding: 38px 40px;

    }


    .npz-branches-page__main-title {

        font-size: 26px;

    }


    .npz-branches-page__branch-title {

        font-size: 20px;

    }


    .npz-branches-page__manager,
    .npz-branches-page__address {

        font-size: 16px;

    }
	
	  .npz-page--details {
        padding-top: 110px;
    }

    .npz-details-page__content {

        margin-top: 45px;

        padding: 38px 40px;

    }

    .npz-details-page__content p {

        font-size: 17px;

    }
	
	
	 .npz-page--membership-fees {
        padding-top: 110px;
    }


    .npz-membership-fees-page__content {

        margin-top: 45px;

        padding: 38px 40px;

    }


    .npz-membership-fees-page__title {

        font-size: 26px;

    }


    .npz-membership-fees-page__subtitle {

        font-size: 19px;

    }


    .npz-membership-fees-page__notes p {

        font-size: 16px;

    }
	
	.npz-page--advantages {

        padding-top: 110px;

    }


    .npz-advantages-page__grid {

        margin-top: 45px;

        gap: 18px;

    }


    .npz-advantage-card {

        min-height: 280px;

        padding: 28px;

    }


    .npz-advantage-card__title {

        font-size: 20px;

    }


    .npz-advantage-card--wide {

        min-height: 240px;

    }
	
	 .npz-page--join {
        padding-top: 110px;
    }


    .npz-join-page__steps {

        grid-template-columns: repeat(2, minmax(0, 1fr));

    }


    .npz-join-page__section-title {

        font-size: 26px;

    }


    .npz-join-step {

        min-height: 250px;

        padding: 28px;

    }


    .npz-join-step__title {

        font-size: 18px;

    }
	
	.npz-page--documents {

        padding-top: 110px;

    }


    .npz-documents-gallery {

        margin-top: 45px;

        gap: 20px;

    }


    .npz-lightbox__image {

        max-width: calc(100% - 140px);

    }
	
	  .npz-news-page__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }


}

/* ==========================================================================
   RESPONSIVE — 992
========================================================================== */

@media (max-width: 992px) {


    .npz-container {

        padding-left: 22px;
        padding-right: 22px;

    }


    .npz-header__inner {

        min-height: 74px;

    }


    .npz-header__logo img {

        height: 50px;

    }


    .npz-section {

        padding-top: 70px;
        padding-bottom: 70px;

    }


    .npz-title {

        font-size: 40px;

    }


    .npz-section-heading {

        margin-bottom: 38px;

    }


    .npz-section-heading__title {

        font-size: 34px;

    }


    /* Leadership */

    .npz-leadership__grid {

        grid-template-columns: 1fr;

        gap: 24px;

    }


    /* Footer */

    .npz-footer {

        margin-top: 100px;

    }


    .npz-footer__grid {

        grid-template-columns:
            repeat(2, 1fr);

        gap: 50px;

    }
	
	
.npz-hero {
        min-height: 720px;
        padding-top: 74px;
    }

    .npz-hero__inner {
        min-height: 646px;
    }

    .npz-hero__content {
        max-width: 580px;
    }

    .npz-hero__eyebrow {
        padding: 9px 15px;
        margin-bottom: 22px;
        font-size: 13px;
    }

    .npz-hero__title {
        font-size: 44px;
        line-height: 1.08;
    }

    .npz-hero__subtitle {
        margin-top: 22px;
        max-width: 520px;
        font-size: 16px;
        line-height: 1.65;
    }

    .npz-hero__buttons {
        gap: 14px;
        margin-top: 32px;
    }
	
	    .npz-news {
        padding-top: 70px;
        padding-bottom: 70px;
    }

    .npz-news-card__content {
        padding: 20px;
    }

    .npz-news-card__title {
        font-size: 19px;
    }

    .npz-news-card__excerpt {
        font-size: 14px;
        line-height: 1.6;
    }
	
	    .npz-links__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .npz-link-card {
        height: 420px;
    }

    .npz-link-card__overlay {
        padding: 24px;
    }

    .npz-link-card__title {
        font-size: 25px;
    }
	
	 .npz-page--legislation > .npz-legislation {
        padding-top: 100px;
    }

    .npz-legislation__frame iframe {
        height: 700px;
    }
	
	    .npz-contacts__map {

        height: 480px;

    }

    .npz-contacts__info {

        padding: 28px;

    }

    .npz-contacts__items {

        grid-template-columns: 1fr 1fr;

    }
	
	.npz-page--about > .npz-about {

        padding-top: 100px;

    }


    .npz-about__content {

        margin-top: 40px;

        padding: 34px;

    }


    .npz-about__title {

        font-size: 25px;

    }
	
	   .npz-page--about-page {
        padding-top: 100px;
    }

    .npz-about-page__content {
        margin-top: 40px;
        padding: 34px;
    }

    .npz-about-page__title {
        font-size: 25px;
    }
	
	.npz-page--mediation {
        padding-top: 100px;
    }

    .npz-mediation-page__content {

        margin-top: 40px;

        padding: 34px;

    }

    .npz-mediation-page__subtitle {

        font-size: 24px;

        margin-top: 36px;

    }
	
	.npz-page--branches {

        padding-top: 100px;

    }


    .npz-branches-page__content {

        margin-top: 40px;

        padding: 34px;

    }


    .npz-branches-page__main-title {

        font-size: 25px;

        margin-bottom: 34px;

    }


    .npz-branches-page__branch-title {

        font-size: 19px;

    }
	
	    .npz-page--details {
        padding-top: 100px;
    }

    .npz-details-page__content {

        margin-top: 40px;

        padding: 34px;

    }
	
	 .npz-page--membership-fees {
        padding-top: 100px;
    }


    .npz-membership-fees-page__content {

        margin-top: 40px;

        padding: 34px;

    }


    .npz-membership-fees-page__title {

        font-size: 25px;

    }


    .npz-membership-fees-page__table {

        font-size: 15px;

    }


    .npz-membership-fees-page__table th,
    .npz-membership-fees-page__table td {

        padding: 16px 18px;

    }
	
	.npz-page--advantages {

        padding-top: 100px;

    }


    .npz-advantages-page__grid {

        margin-top: 40px;

        gap: 16px;

    }


    .npz-advantage-card {

        min-height: 260px;

        padding: 26px;

    }


    .npz-advantage-card__title {

        font-size: 19px;

        line-height: 1.5;

    }


    .npz-advantage-card__icon {

        width: 48px;
        height: 48px;

    }


    .npz-advantage-card__icon svg {

        width: 22px;
        height: 22px;

    }
	
	.npz-page--join {
        padding-top: 100px;
    }


    .npz-join-page__algorithm,
    .npz-join-page__documents {

        margin-top: 40px;

    }


    .npz-join-page__documents {

        margin-top: 60px;

    }


    .npz-join-step {

        min-height: 240px;

        padding: 26px;

    }


    .npz-join-documents {

        padding: 32px;

    }


    .npz-join-documents__title {

        font-size: 21px;

    }
	
	.npz-page--documents {

        padding-top: 100px;

    }


    .npz-documents-gallery {

        grid-template-columns: repeat(2, minmax(0, 1fr));

        gap: 18px;

        margin-top: 40px;

    }


    .npz-documents-gallery__item:last-child {

        grid-column: 1 / -1;

        width: calc(50% - 9px);

        justify-self: center;

    }


    .npz-lightbox {

        padding: 24px;

    }


    .npz-lightbox__image {

        max-width: calc(100% - 120px);

    }


    .npz-lightbox__arrow {

        width: 48px;
        height: 48px;

    }
	
	
	  .npz-admin__form {

        max-width: 100%;

        padding: 30px;

    }




}


@media (min-width: 768px) and (max-width: 1200px) {

    .npz-contact__card {
        right: 50px;
    }

}

/* ==========================================================================
   RESPONSIVE — 768
========================================================================== */

@media (max-width: 768px) {


    /* ==============================================================
       GLOBAL
    ============================================================== */

    .npz-container {

        padding-left: 20px;
        padding-right: 20px;

    }


    .npz-section {

        padding-top: 60px;
        padding-bottom: 60px;

    }


    /* ==============================================================
       HEADER
    ============================================================== */

    .npz-header__inner {

        min-height: 70px;

    }


    .npz-header__logo img {

        height: 46px;

    }


    .npz-header__search,
    .npz-header__language,
    .npz-header__burger {

        width: 44px;
        height: 44px;

    }


    /* ==============================================================
       TITLES
    ============================================================== */

    .npz-title {

        font-size: 36px;

    }


    .npz-section-heading {

        margin-bottom: 32px;

    }


    .npz-section-heading__title {

        font-size: 30px;

    }


    .npz-subtitle {

        font-size: 16px;

    }


    /* ==============================================================
       LEADERSHIP
    ============================================================== */

    .npz-leadership-card {

        flex-direction: column;

    }


    .npz-leadership-card__image {

        width: 100%;
        min-width: 0;

        height: 320px;

    }


    .npz-leadership-card__content {

        padding: 28px;

    }


    .npz-leadership-card__name {

        font-size: 26px;

    }


    /* ==============================================================
       CONTACT
    ============================================================== */

    .npz-contact__map {

        display: flex;

        flex-direction: column;

    }


    .npz-contact__map iframe {

        height: 420px;

    }


    .npz-contact__card {

        position: relative;

        top: auto;
        right: auto;

        width: 100%;

        border-radius: 0;

        box-shadow: none;

    }


    /* ==============================================================
       FOOTER
    ============================================================== */

    .npz-footer {

        margin-top: 80px;

        padding-top: 70px;

    }


    .npz-footer__grid {

        grid-template-columns: 1fr 1fr;

        gap: 40px;

    }


    .npz-footer__column {

        max-width: none;

    }
	
	
	 .npz-hero {
        min-height: 680px;
        padding-top: 74px;
    }

    .npz-hero__inner {
        min-height: 606px;
        align-items: center;
    }

    .npz-hero__content {
        max-width: 100%;
    }

    .npz-hero__eyebrow {
        max-width: 100%;
        margin-bottom: 20px;
        padding: 8px 13px;

        font-size: 12px;
        letter-spacing: .35px;

        line-height: 1.4;
    }

    .npz-hero__title {
        max-width: 620px;

        font-size: 40px;
        line-height: 1.08;
    }

    .npz-hero__subtitle {
        max-width: 540px;

        margin-top: 20px;

        font-size: 16px;
        line-height: 1.65;
    }

    .npz-hero__buttons {
        margin-top: 28px;
        gap: 12px;
    }

    .npz-button {
        height: 50px;
        padding: 0 22px;
        font-size: 14px;
    }
	
	  .npz-news {
        padding-top: 60px;
        padding-bottom: 60px;
    }

    .npz-news-card__content {
        padding: 22px;
    }

    .npz-news-card__title {
        font-size: 20px;
    }

    .npz-news-card__excerpt {
        font-size: 15px;
    }
	
	   .npz-links__grid {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .npz-link-card {
        height: 420px;
    }
	
	  .npz-page .npz-leadership {
        padding-top: 100px;
    }
	
	 .npz-page--about > .npz-about-section {
        padding-top: 100px;
    }
	
	    .npz-page--structure > .npz-structure {
        padding-top: 100px;
    }

    .npz-structure__image {
        margin-top: 40px;
    }

    .npz-structure__image img {
        max-width: 100%;
    }
	
	    .npz-page--legislation > .npz-legislation {
        padding-top: 100px;
    }

    .npz-legislation__frame {
        margin-top: 35px;
    }

    .npz-legislation__frame iframe {
        height: 750px;
    }
	
	 .npz-page--contacts > .npz-contacts {
        padding-top: 100px;
    }

    .npz-page--contacts .npz-contact {
        margin-top: 40px;
    }
	
	
	 .npz-page--contacts > .npz-contacts {
        padding-top: 100px;
    }

    .npz-contacts__layout {

        gap: 20px;

    }

    .npz-contacts__map {

        height: 420px;

    }

    .npz-contacts__info {

        padding: 28px;

    }

    .npz-contacts__title {

        font-size: 26px;

        margin-bottom: 30px;

    }

    .npz-contacts__items {

        grid-template-columns: 1fr;

        gap: 24px;

    }
	
	
	.npz-page--about > .npz-about {

        padding-top: 100px;

    }


    .npz-about__content {

        margin-top: 35px;

        padding: 30px;

    }


    .npz-about__title {

        font-size: 24px;

        margin-bottom: 20px;

    }


    .npz-about__text {

        font-size: 16px;

        line-height: 1.7;

    }
	
	
	 .npz-page--about-page {
        padding-top: 95px;
    }

    .npz-about-page__content {
        margin-top: 35px;
        padding: 30px;
    }

    .npz-about-page__title {
        font-size: 24px;
        margin-bottom: 20px;
    }

    .npz-about-page__text {
        font-size: 16px;
        line-height: 1.7;
    }
	
	
	 .npz-page--mediation {
        padding-top: 95px;
    }

    .npz-mediation-page__content {

        margin-top: 35px;

        padding: 30px;

    }

    .npz-mediation-page__lead {

        font-size: 16px;

        line-height: 1.7;

    }

    .npz-mediation-page__subtitle {

        font-size: 23px;

        margin-top: 34px;

        margin-bottom: 18px;

    }

    .npz-mediation-page__text,
    .npz-mediation-page__list {

        font-size: 16px;

        line-height: 1.7;

    }

    .npz-mediation-page__list {

        padding-left: 36px;

    }

    .npz-mediation-page__principles {

        font-size: 16px;

        line-height: 1.7;

    }

    .npz-mediation-page__video {

        margin-top: 35px;

    }
	
	.npz-page--branches {

        padding-top: 95px;

    }


    .npz-branches-page__content {

        margin-top: 35px;

        padding: 30px;

    }


    .npz-branches-page__main-title {

        font-size: 24px;

        margin-bottom: 30px;

    }


    .npz-branches-page__branch {

        padding-bottom: 30px;

        margin-bottom: 30px;

    }


    .npz-branches-page__branch-title {

        font-size: 18px;

        line-height: 1.5;

        margin-bottom: 18px;

    }


    .npz-branches-page__manager,
    .npz-branches-page__address {

        font-size: 16px;

        line-height: 1.7;

    }
	
	    .npz-page--details {
        padding-top: 95px;
    }

    .npz-details-page__content {

        margin-top: 35px;

        padding: 30px;

    }

    .npz-details-page__content p {

        font-size: 16px;

        line-height: 1.7;

        margin-bottom: 20px;

    }
	
	
	  .npz-page--membership-fees {
        padding-top: 95px;
    }


    .npz-membership-fees-page__content {

        margin-top: 35px;

        padding: 30px;

    }


    .npz-membership-fees-page__title {

        font-size: 24px;

    }


    .npz-membership-fees-page__subtitle {

        font-size: 18px;

        margin-bottom: 30px;

    }


    .npz-membership-fees-page__table {

        min-width: 700px;

        font-size: 15px;

    }


    .npz-membership-fees-page__table th,
    .npz-membership-fees-page__table td {

        padding: 15px 16px;

    }


    .npz-membership-fees-page__notes {

        margin-top: 35px;

        padding-top: 28px;

    }


    .npz-membership-fees-page__notes p {

        font-size: 15px;

        line-height: 1.7;

    }
	
	
	 .npz-page--advantages {

        padding-top: 95px;

    }


    .npz-advantages-page__grid {

        grid-template-columns: 1fr;

        margin-top: 35px;

        gap: 16px;

    }


    .npz-advantage-card,
    .npz-advantage-card--wide {

        grid-column: auto;

        min-height: 230px;

        padding: 26px;

    }


    .npz-advantage-card__title,
    .npz-advantage-card--wide .npz-advantage-card__title {

        max-width: none;

        margin-top: 40px;

        font-size: 19px;

    }
	
	 .npz-page--join {
        padding-top: 95px;
    }


    .npz-join-page__algorithm,
    .npz-join-page__documents {

        margin-top: 35px;

    }


    .npz-join-page__documents {

        margin-top: 50px;

    }


    .npz-join-page__steps {

        grid-template-columns: 1fr;

        gap: 14px;

    }


    .npz-join-step {

        min-height: 210px;

        padding: 26px;

    }


    .npz-join-step__title {

        margin-top: 35px;

        font-size: 18px;

    }


    .npz-join-documents {

        padding: 28px;

    }


    .npz-join-documents__list li {

        font-size: 16px;

    }
	
	.npz-page--documents {

        padding-top: 95px;

    }


    .npz-documents-gallery {

        grid-template-columns: 1fr;

        gap: 16px;

        margin-top: 35px;

    }


    .npz-documents-gallery__item:last-child {

        grid-column: auto;

        width: 100%;

    }


    .npz-documents-gallery__item {

        aspect-ratio: 4 / 5;

    }


    .npz-documents-gallery__overlay {

        opacity: 1;

    }


    .npz-documents-gallery__open {

        transform: translateY(0);

    }


    .npz-lightbox {

        padding: 20px;

    }


    .npz-lightbox__dialog {

        height: 86vh;

    }


    .npz-lightbox__image {

        max-width: calc(100% - 90px);

        max-height: calc(100% - 70px);

    }


    .npz-lightbox__close {

        width: 44px;
        height: 44px;

    }


    .npz-lightbox__arrow {

        width: 44px;
        height: 44px;

    }


    .npz-lightbox__arrow--prev {

        left: 5px;

    }


    .npz-lightbox__arrow--next {

        right: 5px;

    }
	
	
	 .npz-admin {

        padding: 35px 0;

    }


    .npz-admin__container {

        padding: 0 20px;

    }


    .npz-admin__header {

        align-items: flex-start;

        flex-direction: column;

        margin-bottom: 30px;

    }


    .npz-admin__header h1 {

        font-size: 32px;

    }


    .npz-admin__header-actions {

        width: 100%;

        justify-content: space-between;

    }


    .npz-admin__filters {

        overflow-x: auto;

        padding-bottom: 5px;

    }


    .npz-admin__filters a {

        flex: 0 0 auto;

    }


    .npz-admin__toolbar {

        justify-content: stretch;

    }


    .npz-admin__toolbar .npz-admin__button {

        width: 100%;

    }
	
	
	  .npz-page--news > .npz-news-page {
        padding-top: 85px;
    }


    .npz-news-page__grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 40px;
    }


    .npz-news-page__grid .npz-news-card__image {
        aspect-ratio: 16 / 9;
    }


    .npz-news-pagination {
        margin-top: 50px;
    }


    .npz-news-pagination__item,
    .npz-news-pagination__arrow {
        width: 38px;
        height: 38px;
    }
	
	
	.npz-admin__form {

        padding: 22px 18px;

        border-radius: 10px;

    }


    .npz-admin__field {

        margin-bottom: 22px;

    }


    .npz-admin__field input[type="text"],
    .npz-admin__field input[type="datetime-local"],
    .npz-admin__field input[type="file"],
    .npz-admin__field select,
    .npz-admin__field textarea {

        padding: 13px 14px;

        font-size: 15px;

    }


    .npz-admin__checkbox {

        margin-bottom: 22px;

        padding: 14px;

    }


    .npz-admin__form-actions {

        justify-content: stretch;

        margin-top: 26px;

        padding-top: 22px;

    }


    .npz-admin__form-actions .npz-admin__button {

        width: 100%;

        min-height: 50px;

    }


    .npz-admin__field .tox-tinymce {

        max-width: 100% !important;

    }
	
	.npz-page--news-detail > .npz-news-detail {
        padding-top: 85px;
    }


    .npz-news-detail__header {
        margin-bottom: 24px;
		margin-top: 10px;
    }


    .npz-news-detail__title {
        margin-bottom: 30px;

        font-size: 34px;
    }


    .npz-news-detail__image {
        margin-bottom: 35px;

        border-radius: 8px;
    }


    .npz-news-detail__content {
        font-size: 16px;
        line-height: 1.7;
    }


    .npz-news-detail__content iframe {
        min-height: 300px;
    }

	
	

}

@media (min-width: 576px) and (max-width: 768px) {

    .npz-leadership-card__image img {
        object-position: center 20%;
    }

}

/* ==========================================================================
   RESPONSIVE — 576
========================================================================== */

@media (max-width: 576px) {


    /* ==============================================================
       GLOBAL
    ============================================================== */

    .npz-container {

        padding-left: 16px;
        padding-right: 16px;

    }


    .npz-section {

        padding-top: 50px;
        padding-bottom: 50px;

    }


    /* ==============================================================
       HEADER
    ============================================================== */

    .npz-header__inner {

        min-height: 66px;

    }


    .npz-header__logo img {

        height: 42px;

    }


    .npz-header__actions {

        gap: 4px;

    }


    .npz-header__search,
    .npz-header__language,
    .npz-header__burger {

        width: 42px;
        height: 42px;

    }


    .npz-header__search svg,
    .npz-header__language svg {

        width: 20px;
        height: 20px;

    }


    /* ==============================================================
       MOBILE MENU
    ============================================================== */

    .npz-mobile-menu__panel {

        width: 100%;

        padding:
            22px 20px 20px;

    }


    .npz-mobile-menu__title {

        font-size: 22px;

    }


    .npz-mobile-menu__link {

        min-height: 56px;

        font-size: 16px;

    }


    /* ==============================================================
       TITLES
    ============================================================== */

    .npz-title {

        font-size: 32px;

    }


    .npz-section-heading {

        margin-bottom: 28px;
		margin-top: 20px;

    }


    .npz-section-heading__title {

        font-size: 28px;

    }


    /* ==============================================================
       LEADERSHIP
    ============================================================== */

    .npz-leadership-card__image {

        height: 280px;

    }


    .npz-leadership-card__content {

        padding: 24px;

    }


    .npz-leadership-card__name {

        font-size: 24px;

    }


    .npz-leadership-card__description {

        font-size: 16px;

    }


    /* ==============================================================
       CONTACT
    ============================================================== */

    .npz-contact__map iframe {

        height: 350px;

    }


    .npz-contact__card {

        padding: 28px 22px;

    }


    /* ==============================================================
       FOOTER
    ============================================================== */

    .npz-footer {

        margin-top: 60px;

        padding:
            60px 0 30px;

    }


    .npz-footer__grid {

        grid-template-columns: 1fr;

        gap: 42px;

        padding-bottom: 40px;

    }


    .npz-footer__title {

        margin-bottom: 20px;

        font-size: 20px;

    }


    .npz-footer__bottom {

        padding-top: 30px;

    }
	
	
	.npz-hero {
        min-height: 680px;
        padding-top: 70px;
    }

    .npz-hero__inner {
        min-height: 610px;
    }

    .npz-hero__background {
        background-position: 62% center;
    }

    .npz-hero__overlay {

        background: linear-gradient(
            180deg,
            rgba(0,0,0,.72) 0%,
            rgba(0,0,0,.62) 45%,
            rgba(0,0,0,.78) 100%
        );

    }

    .npz-hero__eyebrow {
        margin-bottom: 18px;

        font-size: 11px;
        line-height: 1.4;
    }

    .npz-hero__title {
        font-size: 34px;
        line-height: 1.08;
    }

    .npz-hero__subtitle {
        margin-top: 18px;

        font-size: 15px;
        line-height: 1.65;
    }

    .npz-hero__buttons {
        flex-direction: column;
        align-items: stretch;

        margin-top: 26px;
        gap: 10px;
    }

    .npz-button {
        width: 100%;
        height: 50px;
    }
	
	
	    .npz-news {
        padding-top: 50px;
        padding-bottom: 50px;
    }

    .npz-news-card__content {
        padding: 20px;
    }

    .npz-news-card__title {
        font-size: 19px;
        line-height: 1.3;
    }

    .npz-news-card__excerpt {
        font-size: 14px;
        line-height: 1.55;
    }

    .npz-news-card__footer {
        margin-top: 22px;
    }
	
	  .npz-header.is-scrolled .npz-header__inner {
        min-height: 66px;
    }

    .npz-header.is-scrolled .npz-header__logo img {
        height: 42px;
    }
	
	    .npz-hero__eyebrow {
        display: block;
        width: fit-content;
        max-width: 100%;

        padding: 7px 11px;
        margin-bottom: 18px;

         text-align: center;
        font-size: 18px;
        line-height: 1.35;
        letter-spacing: .2px;

        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
    }
	
	
	.npz-links__grid {
        gap: 16px;
    }

    .npz-link-card {
        height: 360px;
    }

    .npz-link-card__overlay {
        padding: 22px;
    }

    .npz-link-card__title {
        font-size: 23px;
    }

    .npz-link-card__text {
        margin-top: 14px;
        font-size: 14px;
        line-height: 1.55;
    }

    .npz-link-card__button {
        margin-top: 20px;
        font-size: 14px;
    }

    .npz-link-card__play {
        width: 68px;
        height: 68px;
    }

    .npz-link-card__play svg {
        width: 30px;
        height: 30px;
    }
	
	 .npz-contacts__layout {

        gap: 16px;

    }

    .npz-contacts__map {

        height: 350px;

        border-radius: 8px;

    }

    .npz-contacts__info {

        padding: 26px 22px;

    }

    .npz-contacts__label {

        font-size: 13px;

    }

    .npz-contacts__title {

        font-size: 23px;

        line-height: 1.35;

        margin-bottom: 28px;

    }

    .npz-contacts__items {

        gap: 22px;

    }

    .npz-contacts__item {

        gap: 14px;

    }

    .npz-contacts__item-label {

        font-size: 14px;

    }

    .npz-contacts__item-content p,
    .npz-contacts__item-content a {

        font-size: 15px;

    }
	
	.npz-page--about > .npz-about {

        padding-top: 90px;

    }


    .npz-about__content {

        margin-top: 30px;

        padding: 26px 22px;

    }


    .npz-about__title {

        font-size: 22px;

        line-height: 1.35;

    }


    .npz-about__text {

        font-size: 15px;

        line-height: 1.7;

    }
	
	  .npz-page--about-page {
        padding-top: 90px;
    }

    .npz-about-page__content {
        margin-top: 30px;
        padding: 26px 22px;
    }

    .npz-about-page__title {
        font-size: 22px;
        line-height: 1.35;
    }

    .npz-about-page__text {
        font-size: 15px;
        line-height: 1.7;
    }
	
	.npz-page--mediation {
        padding-top: 90px;
    }

    .npz-mediation-page__content {

        margin-top: 30px;

        padding: 26px 22px;

    }

    .npz-mediation-page__lead {

        font-size: 15px;

        line-height: 1.7;

    }

    .npz-mediation-page__subtitle {

        font-size: 21px;

        line-height: 1.35;

        margin-top: 30px;

    }

    .npz-mediation-page__text,
    .npz-mediation-page__list {

        font-size: 15px;

        line-height: 1.7;

    }

    .npz-mediation-page__list {

        padding-left: 32px;

    }

    .npz-mediation-page__list li {

        padding-left: 5px;

        margin-bottom: 12px;

    }

    .npz-mediation-page__principles {

        font-size: 15px;

        line-height: 1.7;

    }

    .npz-mediation-page__video {

        margin-top: 30px;

    }
	
	.npz-page--branches {

        padding-top: 90px;

    }


    .npz-branches-page__content {

        margin-top: 30px;

        padding: 26px 22px;

    }


    .npz-branches-page__main-title {

        font-size: 22px;

        margin-bottom: 28px;

    }


    .npz-branches-page__branch {

        padding-bottom: 26px;

        margin-bottom: 26px;

    }


    .npz-branches-page__branch-title {

        font-size: 17px;

        line-height: 1.5;

    }


    .npz-branches-page__manager,
    .npz-branches-page__address {

        font-size: 15px;

        line-height: 1.7;

    }
	
	.npz-page--details {
        padding-top: 90px;
    }

    .npz-details-page__content {

        margin-top: 30px;

        padding: 26px 22px;

    }

    .npz-details-page__content p {

        font-size: 15px;

        line-height: 1.7;

    }
	
	.npz-page--membership-fees {
        padding-top: 90px;
    }


    .npz-membership-fees-page__content {

        margin-top: 30px;

        padding: 26px 22px;

    }


    .npz-membership-fees-page__title {

        font-size: 22px;

    }


    .npz-membership-fees-page__subtitle {

        font-size: 17px;

        line-height: 1.5;

        margin-bottom: 26px;

    }


    .npz-membership-fees-page__table {

        min-width: 680px;

        font-size: 14px;

    }


    .npz-membership-fees-page__table th,
    .npz-membership-fees-page__table td {

        padding: 14px 15px;

    }


    .npz-membership-fees-page__notes {

        margin-top: 30px;

        padding-top: 24px;

    }


    .npz-membership-fees-page__notes p {

        font-size: 15px;

        line-height: 1.65;

    }
	
	.npz-page--advantages {

        padding-top: 90px;

    }


    .npz-advantages-page__grid {

        margin-top: 30px;

        gap: 14px;

    }


    .npz-advantage-card,
    .npz-advantage-card--wide {

        min-height: 210px;

        padding: 24px 22px;

    }


    .npz-advantage-card__icon {

        width: 46px;
        height: 46px;

    }


    .npz-advantage-card__icon svg {

        width: 21px;
        height: 21px;

    }


    .npz-advantage-card__title,
    .npz-advantage-card--wide .npz-advantage-card__title {

        margin-top: 34px;

        font-size: 17px;

        line-height: 1.5;

    }
	
	 .npz-page--join {
        padding-top: 90px;
    }


    .npz-join-page__section-title {

        font-size: 22px;

    }


    .npz-join-step {

        min-height: 200px;

        padding: 24px 22px;

    }


    .npz-join-step__icon {

        width: 46px;
        height: 46px;

    }


    .npz-join-step__icon svg {

        width: 21px;
        height: 21px;

    }


    .npz-join-step__title {

        font-size: 17px;

    }


    .npz-join-documents {

        padding: 26px 22px;

    }


    .npz-join-documents__title {

        font-size: 20px;

    }


    .npz-join-documents__intro {

        font-size: 15px;

    }


    .npz-join-documents__list {

        padding-left: 24px;

    }


    .npz-join-documents__list li {

        padding-left: 5px;

        font-size: 15px;

        line-height: 1.7;

    }


    .npz-join-document__download {

        margin-left: 0;

        margin-top: 8px;

    }
	
	 .npz-page--documents {

        padding-top: 90px;

    }


    .npz-documents-gallery {

        margin-top: 30px;

    }


    .npz-documents-gallery__item {

        aspect-ratio: 3 / 4;

    }


    .npz-documents-gallery__image {

        padding: 12px;

    }


    .npz-lightbox {

        padding: 12px;

    }


    .npz-lightbox__dialog {

        height: 88vh;

    }


    .npz-lightbox__image {

        max-width: calc(100% - 60px);

        max-height: calc(100% - 70px);

    }


    .npz-lightbox__close {

        top: 4px;
        right: 4px;

        width: 42px;
        height: 42px;

    }


    .npz-lightbox__arrow {

        width: 42px;
        height: 42px;

    }


    .npz-lightbox__arrow--prev {

        left: 0;

    }


    .npz-lightbox__arrow--next {

        right: 0;

    }


    .npz-lightbox__bottom {

        bottom: 4px;

        gap: 12px;

    }


    .npz-lightbox__title {

        display: none;

    }
	
	.npz-admin-login {

        padding: 24px 16px;

    }


    .npz-admin-login__card {

        padding: 30px 22px;

        border-radius: 10px;

    }


    .npz-admin-login__card h1 {

        font-size: 24px;

    }
	
	 .npz-search__dialog {
        width: 100%;
        height: 100%;

        margin: 0;

        border-radius: 0;

        box-shadow: none;
    }

    .npz-search__header {
        padding: 12px 14px;
    }

    .npz-search__input {
        height: 50px;

        font-size: 16px;
    }

    .npz-search__body {
        height:
            calc(100% - 119px);

        max-height: none;
    }

    .npz-search__result {
        grid-template-columns:
            40px
            minmax(0, 1fr);

        gap: 13px;

        padding: 15px 16px;
    }

    .npz-search__result-arrow {
        display: none;
    }

    .npz-search__footer {
        display: none;
    }

    .npz-search__status {
        padding: 24px 18px;
    }

}

/* ==========================================================================
   RESPONSIVE — 430
========================================================================== */

@media (max-width: 430px) {


    .npz-container {

        padding-left: 14px;
        padding-right: 14px;

    }


    /* HEADER */

    .npz-header__inner {

        min-height: 62px;

    }


    .npz-header__logo img {

        height: 40px;

    }


    .npz-header__search,
    .npz-header__language,
    .npz-header__burger {

        width: 40px;
        height: 40px;

    }


    .npz-header__tools {

        gap: 0;

    }


    .npz-header__search svg,
    .npz-header__language svg {

        width: 19px;
        height: 19px;

    }


    /* MOBILE MENU */

    .npz-mobile-menu__panel {

        padding:
            20px 16px 16px;

    }


    .npz-mobile-menu__header {

        padding-bottom: 20px;

    }


    .npz-mobile-menu__link {

        min-height: 54px;

        font-size: 16px;

    }


    .npz-mobile-menu__submenu a {

        font-size: 14px;

    }


    /* TITLES */

    .npz-title {

        font-size: 29px;

    }


    .npz-section-heading__title {

        font-size: 26px;

    }


    /* LEADERSHIP */

    .npz-leadership-card__image {

        height: 250px;

    }


    .npz-leadership-card__content {

        padding: 22px;

    }


    /* CONTACT */

    .npz-contact__map iframe {

        height: 300px;

    }


    /* FOOTER */

    .npz-footer__list li {

        font-size: 14px;

    }


    .npz-footer__links a {

        font-size: 14px;

    }


    .npz-footer__copyright {

        font-size: 14px;

    }
	
	
	.npz-hero {
        min-height: 650px;
        padding-top: 62px;
    }

    .npz-hero__inner {
        min-height: 588px;
    }

    .npz-hero__background {
        background-position: 64% center;
    }



    .npz-hero__title {
        font-size: 30px;
        line-height: 1.08;
    }

    .npz-hero__subtitle {
        margin-top: 16px;

        font-size: 14px;
        line-height: 1.65;
    }

    .npz-hero__buttons {
        margin-top: 24px;
    }

    .npz-button {
        height: 48px;

        padding: 0 18px;

        font-size: 14px;
    }
	
	    .npz-news {
        padding-top: 45px;
        padding-bottom: 45px;
    }

    .npz-news-card__content {
        padding: 18px;
    }

    .npz-news-card__title {
        font-size: 18px;
    }

    .npz-news-card__excerpt {
        font-size: 14px;
    }

    .npz-news-card__date,
    .npz-news-card__more {
        font-size: 13px;
    }
	
	   .npz-header.is-scrolled .npz-header__inner {
        min-height: 62px;
    }

    .npz-header.is-scrolled .npz-header__logo img {
        height: 40px;
    }
	
	   .npz-hero__eyebrow {
        max-width: calc(100vw - 28px);

        padding: 7px 10px;
        text-align: center;
        font-size: 14px;
        line-height: 1.35;
        letter-spacing: .15px;
    }
	
	
	    .npz-link-card {
        height: 330px;
    }

    .npz-link-card__overlay {
        padding: 20px;
    }

    .npz-link-card__title {
        font-size: 21px;
    }
	
		.npz-link-card__play {
		top: 40%; }
	
	
	.npz-page .npz-leadership {
        padding-top: 90px;
    }
	
	    .npz-page--about > .npz-about-section {
        padding-top: 90px;
    }
	
	  .npz-page--structure > .npz-structure {
        padding-top: 90px;
    }

    .npz-structure__image {
        margin-top: 30px;
    }
	
	   .npz-page--legislation > .npz-legislation {
        padding-top: 90px;
    }

    .npz-legislation__frame {
        margin-top: 30px;
    }

    .npz-legislation__frame iframe {
        height: 800px;
    }
	
	   .npz-page--contacts > .npz-contacts {
        padding-top: 90px;
    }

    .npz-page--contacts .npz-contact {
        margin-top: 30px;
    }
	
	    .npz-page--contacts > .npz-contacts {
        padding-top: 90px;
    }

    .npz-contacts__map {

        height: 300px;

    }

    .npz-contacts__info {

        padding: 24px 18px;

    }

    .npz-contacts__title {

        font-size: 22px;

    }

    .npz-contacts__item-content p,
    .npz-contacts__item-content a {

        font-size: 14px;

    }
	
	
	    .npz-about__content {

        padding: 24px 18px;

    }


    .npz-about__title {

        font-size: 21px;

    }


    .npz-about__text {

        font-size: 15px;

        line-height: 1.65;

    }
	
	
	    .npz-page--about-page {
        padding-top: 85px;
    }

    .npz-about-page__content {
        padding: 24px 18px;
    }

    .npz-about-page__title {
        font-size: 21px;
    }

    .npz-about-page__text {
        font-size: 15px;
        line-height: 1.65;
    }
	
	
.npz-page--mediation {
        padding-top: 85px;
    }

    .npz-mediation-page__content {

        padding: 24px 18px;

    }

    .npz-mediation-page__subtitle {

        font-size: 20px;

    }

    .npz-mediation-page__lead,
    .npz-mediation-page__text,
    .npz-mediation-page__list,
    .npz-mediation-page__principles {

        font-size: 15px;

    }

    .npz-mediation-page__list {

        padding-left: 29px;

    }
	
	.npz-page--branches {

        padding-top: 85px;

    }


    .npz-branches-page__content {

        padding: 24px 18px;

    }


    .npz-branches-page__main-title {

        font-size: 21px;

    }


    .npz-branches-page__branch-title {

        font-size: 16px;

    }


    .npz-branches-page__manager,
    .npz-branches-page__address {

        font-size: 15px;

        line-height: 1.65;

    }
	
	    .npz-page--details {
        padding-top: 85px;
    }

    .npz-details-page__content {

        padding: 24px 18px;

    }

    .npz-details-page__content p {

        font-size: 15px;

        line-height: 1.65;

    }
	
	 .npz-page--membership-fees {
        padding-top: 85px;
    }


    .npz-membership-fees-page__content {

        padding: 24px 18px;

    }


    .npz-membership-fees-page__title {

        font-size: 21px;

    }


    .npz-membership-fees-page__subtitle {

        font-size: 16px;

    }


    .npz-membership-fees-page__table {

        min-width: 650px;

    }


    .npz-membership-fees-page__table th,
    .npz-membership-fees-page__table td {

        padding: 13px 14px;

    }


    .npz-membership-fees-page__notes p {

        font-size: 14px;

        line-height: 1.65;

    }
	
	.npz-page--advantages {

        padding-top: 85px;

    }


    .npz-advantage-card,
    .npz-advantage-card--wide {

        min-height: 200px;

        padding: 22px 18px;

    }


    .npz-advantage-card__number {

        font-size: 13px;

    }


    .npz-advantage-card__icon {

        width: 44px;
        height: 44px;

    }


    .npz-advantage-card__icon svg {

        width: 20px;
        height: 20px;

    }


    .npz-advantage-card__title,
    .npz-advantage-card--wide .npz-advantage-card__title {

        margin-top: 30px;

        font-size: 16px;

        line-height: 1.5;

    }
	
	 .npz-page--join {
        padding-top: 85px;
    }


    .npz-join-step {

        padding: 22px 18px;

    }


    .npz-join-step__title {

        font-size: 16px;

        line-height: 1.5;

    }


    .npz-join-documents {

        padding: 24px 18px;

    }


    .npz-join-documents__title {

        font-size: 19px;

    }


    .npz-join-documents__list li {

        font-size: 15px;

    }
	
	.npz-page--documents {

        padding-top: 85px;

    }


    .npz-documents-gallery__item {

        aspect-ratio: 3 / 4;

    }


    .npz-lightbox__image {

        max-width: calc(100% - 50px);

        max-height: calc(100% - 65px);

    }


    .npz-lightbox__arrow {

        width: 40px;
        height: 40px;

    }


    .npz-lightbox__arrow svg {

        width: 21px;
        height: 21px;

    }
	
	
	 .npz-page--news > .npz-news-page {
        padding-top: 70px;
    }



    .npz-news-page__grid {
        margin-top: 32px;
        gap: 20px;
    }


    .npz-news-pagination {
        gap: 6px;
        margin-top: 40px;
    }


    .npz-news-pagination__item,
    .npz-news-pagination__arrow {
        width: 36px;
        height: 36px;
    }
	
	.npz-admin__form {

        padding: 18px 14px;

        border-radius: 8px;

    }


    .npz-admin__field {

        gap: 8px;

        margin-bottom: 20px;

    }


    .npz-admin__field > label {

        font-size: 13px;

    }


    .npz-admin__checkbox label {

        align-items: flex-start;

        font-size: 13px;

    }


    .npz-admin__form-actions {

        margin-top: 22px;

        padding-top: 20px;

    }
	
	 .npz-page--news-detail > .npz-news-detail {
        padding-top: 70px;
    }


    .npz-news-detail__header {
        align-items: flex-start;
        flex-direction: column;

        gap: 12px;
    }


    .npz-news-detail__title {
        font-size: 28px;
    }


    .npz-news-detail__content {
        font-size: 15px;
    }


    .npz-news-detail__content iframe {
        min-height: 220px;
    }


}

/* ==========================================================================
   RESPONSIVE — 390
========================================================================== */

@media (max-width: 390px) {


    .npz-container {

        padding-left: 12px;
        padding-right: 12px;

    }


    .npz-header__logo img {

        height: 38px;

    }


    .npz-header__search,
    .npz-header__language,
    .npz-header__burger {

        width: 38px;
        height: 38px;

    }


    .npz-title {

        font-size: 27px;

    }


    .npz-section-heading__title {

        font-size: 24px;

    }
	
	   .npz-hero__title {
        font-size: 28px;
    }

    .npz-hero__subtitle {
        font-size: 13.5px;
    }
	
	   .npz-news-card__content {
        padding: 16px;
    }

    .npz-news-card__title {
        font-size: 17px;
    }
	
	   .npz-header.is-scrolled .npz-header__inner {
        min-height: 60px;
    }

    .npz-header.is-scrolled .npz-header__logo img {
        height: 38px;
    }
	
	    .npz-hero__eyebrow {
         text-align: center;
        font-size: 12px;
        padding: 6px 9px;
    }
	
	
	.npz-contacts__title {
	 margin-top: 20px;
	 margin-bottom: 20px;
	}
	
    .npz-admin-login {

        padding: 16px 12px;

    }


    .npz-admin-login__card {

        padding: 26px 18px;

    }
	
	    .npz-search__input {
        font-size: 15px;
    }

    .npz-search__result-title {
        font-size: 15px;
    }



}


/* ==========================================================================
   RESPONSIVE — 360
========================================================================== */

@media (max-width: 360px) {


    .npz-container {

        padding-left: 10px;
        padding-right: 10px;

    }


    .npz-header__logo img {

        height: 36px;

    }


    .npz-header__actions {

        display: none;

    }


    .npz-header__burger {

        display: flex;

        margin-left: auto;

    }


    .npz-title {

        font-size: 25px;

    }


    .npz-section-heading__title {

        font-size: 23px;

    }


    .npz-mobile-menu__panel {

        padding:
            18px 14px 14px;

    }
	
	    .npz-hero {
        min-height: 620px;
    }

    .npz-hero__inner {
        min-height: 558px;
    }

    .npz-hero__title {
        font-size: 26px;
    }

    .npz-hero__subtitle {
        font-size: 13px;
    }
	
	   .npz-news-card__content {
        padding: 15px;
    }

    .npz-news-card__title {
        font-size: 16px;
    }
	
	   .npz-header.is-scrolled .npz-header__inner {
        min-height: 58px;
    }

    .npz-header.is-scrolled .npz-header__logo img {
        height: 36px;
    }
	
	    .npz-hero__eyebrow {
         text-align: center;
        font-size: 10px;
        padding: 6px 9px;
    }
	
	


}