:root{
  --zn-ink:#17122f;
  --zn-ink-2:#2c2340;
  --zn-text:#47414f;
  --zn-muted:#766f7d;
  --zn-line:#e8e2eb;
  --zn-soft:#faf9fb;
  --zn-lilac:#f5f1f7;
  --zn-lilac-2:#ece3f0;
  --zn-accent:#76508b;
  --zn-accent-2:#a779b8;
  --zn-white:#fff;
  --zn-shadow:0 22px 65px rgba(23,18,47,.09);
}

.znews,
.znews *,
.znews *::before,
.znews *::after{
  box-sizing:border-box;
}

.znews{
  color:var(--zn-ink);
  background:#fff;
}

.znews a{
  color:inherit;
}

.znews button{
  font:inherit;
}

.znews__wrap{
  width:min(1180px,calc(100% - 40px));
  margin-inline:auto;
}

.znews-icon{
  width:24px;
  height:24px;
  flex:0 0 auto;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.znews__crumbs{
  padding:23px 0 0;
  color:var(--zn-muted);
  font-size:14px;
}

.znews__crumbs a{
  text-decoration:none;
}

.znews__crumbs a:hover{
  color:var(--zn-accent);
}

.znews__crumbs span{
  margin:0 7px;
}

.znews__eyebrow{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 14px;
  color:var(--zn-accent);
  font-size:12px;
  font-weight:800;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.znews__eyebrow::before{
  content:"";
  width:27px;
  height:2px;
  flex:0 0 auto;
  background:currentColor;
}

.znews__hero{
  position:relative;
  overflow:hidden;
  padding:46px 0 91px;
  background:
    radial-gradient(
      circle at 88% 8%,
      rgba(167,121,184,.16),
      transparent 28%
    ),
    linear-gradient(
      180deg,
      #fff 0%,
      #fbf9fc 100%
    );
}

.znews__hero::after{
  content:"";
  position:absolute;
  right:-245px;
  bottom:-390px;
  width:610px;
  height:610px;
  border:1px solid rgba(118,80,139,.10);
  border-radius:50%;
}

.znews__hero-grid{
  position:relative;
  z-index:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) 370px;
  gap:72px;
  align-items:center;
}

.znews__hero h1{
  max-width:860px;
  margin:0;
  font-size:clamp(43px,5.4vw,67px);
  line-height:1.01;
  letter-spacing:-.05em;
}

.znews__hero-title{
  max-width:760px;
  margin:22px 0 0;
  color:var(--zn-ink);
  font-size:clamp(21px,2.4vw,28px);
  line-height:1.32;
  font-weight:650;
  letter-spacing:-.023em;
}

.znews__hero-copy{
  max-width:750px;
  margin:15px 0 0;
  color:var(--zn-text);
  font-size:16px;
  line-height:1.72;
}

.znews__hero-actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:19px;
  margin-top:28px;
}

.znews__btn{
  min-height:49px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:12px 20px;
  color:#fff!important;
  background:var(--zn-ink);
  border:0;
  border-radius:999px;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}

.znews__btn:hover{
  transform:translateY(-1px);
  background:#302648;
}

.znews__text-link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  color:var(--zn-accent)!important;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
}

.znews__text-link::after{
  content:"→";
  transition:transform .18s ease;
}

.znews__text-link:hover::after{
  transform:translateX(4px);
}

.znews__pulse{
  position:relative;
  min-height:360px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  overflow:hidden;
  padding:28px;
  color:#fff;
  background:
    radial-gradient(
      circle at 90% 5%,
      rgba(185,140,199,.54),
      transparent 31%
    ),
    var(--zn-ink);
  border-radius:27px;
  box-shadow:var(--zn-shadow);
}

.znews__pulse::after{
  content:"";
  position:absolute;
  width:230px;
  height:230px;
  right:-105px;
  bottom:-110px;
  border:1px solid rgba(255,255,255,.12);
  border-radius:50%;
}

.znews__pulse-top,
.znews__pulse-bottom{
  position:relative;
  z-index:2;
}

.znews__pulse-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:7px 10px;
  color:#f0e3f4;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.11);
  border-radius:999px;
  font-size:10px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.znews__pulse-dot{
  width:7px;
  height:7px;
  background:#d7b5e2;
  border-radius:50%;
  box-shadow:0 0 0 5px rgba(215,181,226,.11);
}

.znews__pulse-date{
  margin:29px 0 7px;
  color:#cdbfd3;
  font-size:12px;
}

.znews__pulse h2{
  margin:0;
  font-size:29px;
  line-height:1.12;
  letter-spacing:-.03em;
}

.znews__pulse p{
  margin:14px 0 0;
  color:#d9d2df;
  font-size:13px;
  line-height:1.65;
}

.znews__pulse-bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:22px;
  border-top:1px solid rgba(255,255,255,.12);
}

.znews__pulse-bottom span{
  color:#cfc5d4;
  font-size:11px;
}

.znews__pulse-link{
  color:#fff!important;
  text-decoration:none;
  font-size:13px;
  font-weight:800;
}

.znews__pulse-link::after{
  content:" →";
}

.znews__nav-wrap{
  position:relative;
  z-index:20;
  margin-top:-30px;
}

.znews__nav{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:10px;
  background:rgba(255,255,255,.96);
  border:1px solid var(--zn-line);
  border-radius:16px;
  box-shadow:0 15px 45px rgba(23,18,47,.07);
  backdrop-filter:blur(14px);
  scrollbar-width:none;
}

.znews__nav::-webkit-scrollbar{
  display:none;
}

.znews__nav a{
  flex:0 0 auto;
  padding:9px 13px;
  color:#625b68;
  background:#fff;
  border:1px solid var(--zn-line);
  border-radius:999px;
  text-decoration:none;
  white-space:nowrap;
  font-size:12px;
  font-weight:750;
  transition:.17s ease;
}

.znews__nav a:hover,
.znews__nav a.is-active{
  color:#fff;
  background:var(--zn-ink);
  border-color:var(--zn-ink);
}

.znews__section{
  padding:84px 0;
  scroll-margin-top:calc(var(--zp-fixed-header-h,93px) + 65px);
}

.znews__section--soft{
  background:var(--zn-soft);
}

.znews__section--lilac{
  background:var(--zn-lilac);
}

.znews__section--dark{
  color:#fff;
  background:var(--zn-ink);
}

.znews__head{
  display:grid;
  grid-template-columns:1fr minmax(280px,430px);
  gap:50px;
  align-items:end;
  margin-bottom:37px;
}

.znews__head h2{
  max-width:790px;
  margin:0;
  font-size:clamp(32px,4.1vw,45px);
  line-height:1.08;
  letter-spacing:-.038em;
}

.znews__head > p{
  margin:0;
  color:var(--zn-muted);
  font-size:15px;
  line-height:1.7;
}

.znews__section--dark .znews__eyebrow{
  color:#dfc7e8;
}

.znews__section--dark .znews__head > p{
  color:#d3ccd9;
}

.znews__featured{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:18px;
}

.znews-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid var(--zn-line);
  border-radius:22px;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    border-color .18s ease;
}

.znews-card:hover{
  transform:translateY(-2px);
  border-color:#d4c3db;
  box-shadow:0 18px 45px rgba(23,18,47,.07);
}

.znews-card--main{
  min-height:470px;
  display:flex;
  flex-direction:column;
}

.znews-card__visual{
  position:relative;
  min-height:200px;
  overflow:hidden;
  background:
    linear-gradient(
      135deg,
      #211735 0%,
      #69477b 54%,
      #c8a8d1 100%
    );
}

.znews-card__visual--business::before{
  content:"";
  position:absolute;
  width:160px;
  height:210px;
  left:12%;
  bottom:-55px;
  transform:rotate(-8deg);
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.23);
  border-radius:28px;
}

.znews-card__visual--business::after{
  content:"";
  position:absolute;
  width:170px;
  height:170px;
  right:10%;
  top:20px;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:50%;
}

.znews-card__visual-icon{
  position:absolute;
  z-index:2;
  left:50%;
  top:50%;
  width:74px;
  height:74px;
  display:flex;
  align-items:center;
  justify-content:center;
  transform:translate(-50%,-50%);
  color:#fff;
  background:rgba(23,18,47,.35);
  border:1px solid rgba(255,255,255,.18);
  border-radius:22px;
  backdrop-filter:blur(9px);
}

.znews-card__visual-icon svg{
  width:37px;
  height:37px;
}

.znews-card__body{
  flex:1;
  display:flex;
  flex-direction:column;
  padding:26px;
}

.znews-card__meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px 12px;
  margin-bottom:13px;
  color:#918a96;
  font-size:11px;
  font-weight:700;
}

.znews-card__tag{
  padding:6px 9px;
  color:var(--zn-accent);
  background:var(--zn-lilac);
  border-radius:999px;
  font-size:9px;
  font-weight:850;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.znews-card h3{
  margin:0;
  color:var(--zn-ink);
  font-size:clamp(23px,2.8vw,32px);
  line-height:1.12;
  letter-spacing:-.026em;
}

.znews-card p{
  margin:14px 0 0;
  color:var(--zn-muted);
  font-size:14px;
  line-height:1.67;
}

.znews-card__action{
  margin-top:auto;
  padding-top:24px;
}

.znews-card__action button{
  padding:0;
  color:var(--zn-accent);
  background:none;
  border:0;
  cursor:pointer;
  font-size:13px;
  font-weight:800;
}

.znews-card__action button::after{
  content:" →";
}

.znews__side-news{
  display:grid;
  gap:18px;
}

.znews-mini{
  min-height:226px;
  display:flex;
  flex-direction:column;
  padding:24px;
  background:#fff;
  border:1px solid var(--zn-line);
  border-radius:22px;
  transition:.18s ease;
}

.znews-mini:hover{
  border-color:#d4c3db;
  transform:translateY(-2px);
}

.znews-mini__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
}

.znews-mini__icon{
  width:43px;
  height:43px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--zn-accent);
  background:var(--zn-lilac);
  border-radius:13px;
}

.znews-mini time{
  color:#918a96;
  font-size:11px;
}

.znews-mini h3{
  margin:24px 0 8px;
  font-size:21px;
  line-height:1.2;
}

.znews-mini p{
  margin:0;
  color:var(--zn-muted);
  font-size:13px;
  line-height:1.6;
}

.znews-mini button{
  margin-top:auto;
  padding:18px 0 0;
  color:var(--zn-accent);
  background:none;
  border:0;
  text-align:left;
  cursor:pointer;
  font-size:12px;
  font-weight:800;
}

.znews-mini button::after{
  content:" →";
}

.znews__timeline{
  max-width:900px;
}

.znews__timeline-item{
  position:relative;
  display:grid;
  grid-template-columns:155px 1fr;
  gap:30px;
  padding:0 0 38px;
}

.znews__timeline-item:last-child{
  padding-bottom:0;
}

.znews__timeline-item::before{
  content:"";
  position:absolute;
  left:137px;
  top:9px;
  bottom:-2px;
  width:1px;
  background:var(--zn-line);
}

.znews__timeline-item:last-child::before{
  bottom:auto;
  height:15px;
}

.znews__timeline-date{
  color:var(--zn-muted);
  font-size:12px;
  line-height:1.5;
}

.znews__timeline-content{
  position:relative;
  padding-left:24px;
}

.znews__timeline-content::before{
  content:"";
  position:absolute;
  left:-23px;
  top:5px;
  width:10px;
  height:10px;
  background:var(--zn-accent);
  border:3px solid #fff;
  border-radius:50%;
  box-shadow:0 0 0 1px #cdbbd5;
}

.znews__timeline-content small{
  display:block;
  margin-bottom:5px;
  color:var(--zn-accent);
  font-size:9px;
  font-weight:850;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.znews__timeline-content h3{
  margin:0 0 7px;
  font-size:18px;
  line-height:1.3;
}

.znews__timeline-content p{
  max-width:680px;
  margin:0;
  color:var(--zn-muted);
  font-size:13px;
  line-height:1.62;
}

.znews__content-map{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  overflow:hidden;
  background:#fff;
  border:1px solid var(--zn-line);
  border-radius:23px;
}

.znews__content-card{
  min-height:270px;
  display:flex;
  flex-direction:column;
  padding:27px;
  border-right:1px solid var(--zn-line);
}

.znews__content-card:last-child{
  border-right:0;
}

.znews__content-card:nth-child(1){
  background:#fff;
}

.znews__content-card:nth-child(2){
  background:var(--zn-soft);
}

.znews__content-card:nth-child(3){
  color:#fff;
  background:var(--zn-ink);
}

.znews__content-number{
  margin-bottom:auto;
  color:#aaa1ae;
  font-size:11px;
  font-weight:850;
}

.znews__content-card:nth-child(3) .znews__content-number{
  color:#ad9db4;
}

.znews__content-card small{
  display:block;
  margin-bottom:8px;
  color:var(--zn-accent);
  font-size:10px;
  font-weight:850;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.znews__content-card:nth-child(3) small{
  color:#dbc1e4;
}

.znews__content-card h3{
  margin:0 0 10px;
  font-size:23px;
  line-height:1.16;
}

.znews__content-card p{
  margin:0 0 21px;
  color:var(--zn-muted);
  font-size:13px;
  line-height:1.6;
}

.znews__content-card:nth-child(3) p{
  color:#d6cfdb;
}

.znews__content-card:nth-child(3) .znews__text-link{
  color:#e4cbea!important;
}

.znews__social{
  display:grid;
  grid-template-columns:1fr auto;
  gap:50px;
  align-items:center;
}

.znews__social h2{
  max-width:720px;
  margin:0;
  font-size:clamp(31px,4vw,44px);
  line-height:1.08;
  letter-spacing:-.036em;
}

.znews__social p{
  max-width:720px;
  margin:15px 0 0;
  color:#d6d0dc;
  line-height:1.7;
}

.znews__social-actions{
  display:flex;
  flex-direction:column;
  gap:10px;
  min-width:210px;
}

.znews__section--dark .znews__btn{
  color:var(--zn-ink)!important;
  background:#fff;
}

.znews__section--dark .znews__text-link{
  color:#e4cbea!important;
}

.znews__final{
  padding:79px 0;
  background:var(--zn-lilac);
}

.znews__final-grid{
  display:grid;
  grid-template-columns:1fr auto;
  gap:50px;
  align-items:center;
}

.znews__final h2{
  max-width:730px;
  margin:0;
  font-size:clamp(31px,4vw,44px);
  line-height:1.08;
  letter-spacing:-.036em;
}

.znews__final p{
  max-width:690px;
  margin:16px 0 0;
  color:var(--zn-text);
  line-height:1.7;
}

.znews__final-actions{
  min-width:220px;
  display:flex;
  flex-direction:column;
  gap:11px;
}

.znews__final-actions .znews__text-link{
  justify-content:center;
}

.znews-dialog{
  width:min(760px,calc(100% - 28px));
  max-height:88vh;
  padding:0;
  overflow:hidden;
  color:var(--zn-ink);
  background:#fff;
  border:0;
  border-radius:24px;
  box-shadow:0 30px 100px rgba(23,18,47,.33);
}

.znews-dialog::backdrop{
  background:rgba(17,12,30,.70);
  backdrop-filter:blur(6px);
}

.znews-dialog__inner{
  position:relative;
  max-height:88vh;
  overflow-y:auto;
  padding:42px;
}

.znews-dialog__close{
  position:absolute;
  right:16px;
  top:16px;
  width:38px;
  height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#625b67;
  background:var(--zn-lilac);
  border:0;
  border-radius:50%;
  cursor:pointer;
  font-size:23px;
}

.znews-dialog__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  margin:0 50px 14px 0;
  color:#918a96;
  font-size:11px;
}

.znews-dialog__tag{
  padding:5px 8px;
  color:var(--zn-accent);
  background:var(--zn-lilac);
  border-radius:999px;
  font-weight:800;
}

.znews-dialog h2{
  max-width:650px;
  margin:0;
  font-size:clamp(27px,4vw,38px);
  line-height:1.1;
  letter-spacing:-.035em;
}

.znews-dialog__lead{
  margin:18px 0 0;
  color:var(--zn-text);
  font-size:16px;
  line-height:1.72;
}

.znews-dialog__body{
  margin-top:27px;
  padding-top:26px;
  border-top:1px solid var(--zn-line);
}

.znews-dialog__body p{
  margin:0 0 16px;
  color:var(--zn-text);
  font-size:14px;
  line-height:1.76;
}

.znews-dialog__body ul{
  margin:17px 0 20px;
  padding:16px 20px 16px 38px;
  background:var(--zn-soft);
  border-radius:14px;
}

.znews-dialog__body li{
  margin:6px 0;
  color:var(--zn-text);
  font-size:14px;
  line-height:1.6;
}

.znews-dialog__actions{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:12px 18px;
  margin-top:27px;
}

.znews-reveal{
  opacity:0;
  transform:translateY(12px);
  transition:
    opacity .44s ease,
    transform .44s ease;
}

.znews-reveal.is-visible{
  opacity:1;
  transform:none;
}

@media(max-width:980px){

  .znews__hero-grid,
  .znews__head,
  .znews__social,
  .znews__final-grid{
    grid-template-columns:1fr;
    gap:32px;
  }

  .znews__pulse{
    max-width:680px;
    min-height:320px;
  }

  .znews__featured{
    grid-template-columns:1fr;
  }

  .znews__side-news{
    grid-template-columns:1fr 1fr;
  }

  .znews__content-map{
    grid-template-columns:1fr;
  }

  .znews__content-card{
    min-height:220px;
    border-right:0;
    border-bottom:1px solid var(--zn-line);
  }

  .znews__content-card:last-child{
    border-bottom:0;
  }

  .znews__social-actions,
  .znews__final-actions{
    max-width:250px;
  }

}

@media(max-width:720px){

  .znews__wrap{
    width:min(100% - 28px,1180px);
  }

  .znews__hero{
    padding:34px 0 69px;
  }

  .znews__hero h1{
    font-size:clamp(36px,10vw,50px);
  }

  .znews__section{
    padding:64px 0;
  }

  .znews__nav-wrap{
    margin-top:-22px;
  }

  .znews__side-news{
    grid-template-columns:1fr;
  }

  .znews-card__body{
    padding:22px;
  }

  .znews__timeline-item{
    grid-template-columns:1fr;
    gap:9px;
    padding-left:25px;
  }

  .znews__timeline-item::before{
    left:4px;
    top:8px;
  }

  .znews__timeline-content{
    padding-left:0;
  }

  .znews__timeline-content::before{
    left:-25px;
  }

  .znews-dialog__inner{
    padding:32px 22px 27px;
  }

}

@media(max-width:500px){

  .znews__hero-actions,
  .znews-dialog__actions{
    flex-direction:column;
    align-items:flex-start;
  }

  .znews__pulse-bottom{
    align-items:flex-start;
    flex-direction:column;
  }

}

@media(prefers-reduced-motion:reduce){

  .znews *,
  .znews *::before,
  .znews *::after{
    transition:none!important;
    scroll-behavior:auto!important;
  }

  .znews-reveal{
    opacity:1;
    transform:none;
  }

}

/* ===== site integration ===== */
html{scroll-padding-top:96px}
body.home-layout-ref > main.znews{
  width:100%;
  max-width:none;
  margin-left:0;
  margin-right:0;
  box-sizing:border-box;
  padding-bottom:0;
}
.znews a{text-decoration:none}
.znews .znews__btn,
.znews .smap__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none;
}

.znews-card__visual{
  position:relative;
  overflow:hidden;
}
.znews-card__visual img{
  width:100%;
  height:100%;
  min-height:200px;
  display:block;
  object-fit:cover;
}
.znews-card__visual--filled .znews-card__visual-icon{display:none}
.znews-mini__photo{
  margin:-24px -24px 20px;
  aspect-ratio:4/3;
  overflow:hidden;
  border-radius:22px 22px 0 0;
  background:#eee;
}
.znews-mini__photo img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.znews__section--soft,
.znews__section--lilac,
.znews__section--dark,
.znews__final{
  width:100%;
  max-width:none;
  box-sizing:border-box;
}
