.publications-grand-public-block {
  margin: 0;
  border-bottom: none;
}

.publications-grand-public-block .publications-section {
  width: 100%;
  background: #ffffff;
  padding-bottom: 0;
  font-size: 1.1rem;
}

.publications-grand-public-block .section-link {
   color: #E30613;
   text-decoration: none;
   font-weight: 600;
   display: flex;
   align-items: center;
   gap: 8px;
   transition: color 0.3s ease;
 }

.publications-grand-public-block .section-link:hover {
  color: #1a1a1a;
}

.publications-grand-public-block .section-link svg {
  width: 18px;
  height: 18px;
  stroke: currentColor;
  transition: transform 0.3s ease;
}

.publications-grand-public-block .section-link:hover svg {
  transform: translateX(4px);
}

.publications-grand-public-block .publications-content {
   display: flex;
   gap: 60px;
   align-items: flex-start;
 }

 .publications-intro { flex: 0 0 320px; }

 .publications-intro-block { margin-bottom: 30px; }
 .publications-intro-block:last-child { margin-bottom: 0; }

 .publications-intro-title {
   font-size: 1.15rem;
   line-height: 1.35;
   font-weight: 500;
   color: #1a1a1a;
   margin-bottom: 8px;
 }

 .publications-intro-text {
   color: #555;
   line-height: 1.6;
   margin-bottom: 15px;
 }

 .intro-link {
   display: inline-flex;
   align-items: center;
   gap: 6px;
   color: #E30613;
   text-decoration: none;
   font-weight: 600;
   transition: color 0.3s ease;
 }

 .intro-link:hover { color: #1a1a1a; }

 .intro-link svg {
   width: 14px;
   height: 14px;
   stroke: currentColor;
   transition: transform 0.3s ease;
 }

 .intro-link:hover svg { transform: translateX(3px); }

 .publications-cards {
   flex: 1;
   display: flex;
   gap: 24px;
   justify-content: flex-end;
 }

 .publication-card {
   flex-shrink: 0;
   width: 240px;
   aspect-ratio: 2 / 3;
   height: auto;
   min-height: 360px;
   text-decoration: none;
   color: #fff;
   transition: transform 0.3s ease, box-shadow 0.3s ease;
   overflow: hidden;
   border: 1px solid rgba(0, 0, 0, 0.08);
   display: flex;
   flex-direction: column;
   justify-content: flex-end;
   position: relative;
   background-color: #1a1a1a;
   background-size: cover;
   background-position: center top;
   background-repeat: no-repeat;
 }

 .publication-card:hover {
   transform: translateY(-4px);
   box-shadow: 0 8px 28px rgba(0, 0, 0, 0.18);
   border-color: #E30613;
 }

 .card-overlay {
   position: absolute;
   inset: 0;
   background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.25) 55%, rgba(0, 0, 0, 0.08) 100%);
   pointer-events: none;
 }

 .card-body {
   padding: 18px 20px 8px;
   position: relative;
   z-index: 1;
 }

 .card-title {
   font-weight: 500;
   color: #fff;
   margin-bottom: 0;
   line-height: 1.4;
 }

 .publication-card:hover .card-title { color: #fff; }

 .card-footer {
   padding: 0 20px 20px;
   display: flex;
   justify-content: flex-end;
   position: relative;
   z-index: 1;
 }

 .read-more {
   color: #fff;
   font-weight: 600;
   display: flex;
   align-items: center;
   gap: 5px;
 }

 .read-more svg {
   width: 14px;
   height: 14px;
   stroke: #fff;
   transition: transform 0.3s ease;
 }

 .publication-card:hover .read-more svg { transform: translateX(3px); }

 @media (max-width: 900px) {
   .publications-content {
     flex-direction: column;
     gap: 30px;
   }
   .publications-intro {
     flex: none;
     width: 100%;
     display: flex;
     gap: 30px;
   }
   .publications-intro-block { flex: 1; margin-bottom: 0; }
   .publications-cards { justify-content: center; }
 }

 @media (max-width: 600px) {
   .publications-grand-public-block .section-header {
     flex-direction: column;
     align-items: flex-start;
     gap: 15px;
   }
   .publications-intro { flex-direction: column; gap: 20px; }
   .publications-grand-public-block .publications-content,
   .publications-cards {
     width: 100%;
     max-width: 100%;
   }
   .publications-cards {
     flex-direction: column;
     align-items: stretch;
     gap: 20px;
   }
   .publication-card {
     width: 100%;
     max-width: 100%;
     flex: 0 0 auto;
     aspect-ratio: 2 / 3;
     height: auto;
     min-height: 0;
     background-size: cover;
     background-position: center top;
   }
 }
