.column-dates {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 20px;
  margin-top: 20px;
}
.column-hero .column-dates p {
  font-size: 12px;
  color: #d8edf5;
  margin: 0;
}
.column-hero .column-updated {
  font-weight: 700;
}
.column-article .cpils-update {
  margin: 24px 0;
  padding: 20px 22px;
  background: #edf6fb;
  border-left: 4px solid #147da3;
  border-radius: 0 12px 12px 0;
}
.column-article .cpils-update h2 {
  font-size: 18px;
  margin: 0 0 12px;
}
.column-article .cpils-update p {
  margin: 10px 0;
}
.column-article .cpils-update ul {
  margin: 12px 0;
  padding-left: 22px;
  line-height: 1.95;
}
.column-article .cpils-revision {
  margin-top: 20px;
  padding-top: 16px;
  border-top: 1px solid #dfe8ef;
}

.cpils-table-wrap {
  overflow-x: auto;
  border: 1px solid #dce7ec;
  border-radius: 12px;
  margin: 24px 0;
}
.cpils-table {
  width: 100%;
  min-width: 460px;
  border-collapse: collapse;
  font-size: 14px;
}
.cpils-table caption {
  text-align: left;
  padding: 12px;
  background: #edf6fb;
  font-weight: 700;
}
.cpils-table th,
.cpils-table td {
  text-align: left;
  padding: 14px 12px;
  border-bottom: 1px solid #dce7ec;
  vertical-align: top;
}
.cpils-table thead {
  background: #082f49;
  color: #fff;
}
.cpils-table tbody tr:last-child > * {
  border-bottom: 0;
}
.cpils-badge {
  display: inline-block;
  background: #e8f5ef;
  color: #16634b;
  padding: 3px 10px;
  border-radius: 20px;
  font-size: 12px;
  font-weight: 700;
}
.column-article .cpils-winter {
  background: linear-gradient(125deg, #082f49, #147da3);
  padding: 26px;
  border-radius: 14px;
  color: #fff;
  margin: 24px 0;
}
.cpils-winter span {
  font-size: 12px;
  letter-spacing: 0.1em;
  color: #c7eaf4;
}
.cpils-winter strong {
  display: block;
  font-size: 23px;
  line-height: 1.7;
  margin: 12px 0;
}
.column-article .cpils-winter p {
  font-size: 14px;
  margin-bottom: 0;
}
.cpils-details {
  display: grid;
  grid-template-columns: 110px minmax(0, 1fr);
  font-size: 14px;
}
.cpils-details dt,
.cpils-details dd {
  padding: 14px 12px;
  border-bottom: 1px solid #dce7ec;
}
.cpils-details dt {
  background: #edf5fb;
  font-weight: 700;
}
.cpils-details dd {
  margin: 0;
}
.column-article .cpils-feature {
  border-left: 3px solid #0b7fab;
  padding: 4px 0 4px 20px;
  margin: 24px 0;
}
.column-article .cpils-feature h3 {
  margin: 6px 0 10px;
}
.column-article .cpils-feature p {
  margin: 10px 0;
}
.cpils-early {
  background: #fff3e9;
  padding: 24px;
  border-radius: 14px;
  text-align: center;
}
.cpils-early span {
  font-size: 13px;
}
.cpils-early strong {
  display: block;
  font-size: 34px;
  color: #a64b23;
  margin: 6px 0;
}
.column-article .cpils-early p {
  margin: 4px 0;
  font-size: 14px;
}
@media (max-width: 560px) {
  .cpils-details {
    grid-template-columns: 1fr;
  }
  .cpils-details dt {
    padding: 8px 12px;
  }
  .cpils-details dd {
    padding: 12px;
  }
  .cpils-winter strong {
    font-size: 20px;
  }
}

.column-article .cpils-photo-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin: 26px 0 10px;
}
.column-article .cpils-photo-grid figure {
  margin: 0;
}
.column-article .cpils-photo-grid img {
  aspect-ratio: 4/3;
  object-fit: cover;
}
@media (max-width: 600px) {
  .column-article .cpils-photo-grid {
    grid-template-columns: 1fr;
  }
}
