.pa-section, .pa-section * { box-sizing: border-box; }
.pa-section { width: 100%; max-width: none; margin: 0; padding: 0; font-family: inherit; border: 0; outline: 0; box-shadow: none; }
.pa-contained { max-width: 1500px; margin-left: auto; margin-right: auto; }
.pa-grid { display: grid; grid-template-columns: repeat(var(--pa-columns, 3), minmax(0, 1fr)); gap: var(--pa-gap-row, 16px) var(--pa-gap-col, 12px); align-items: start; }
.pa-equal-row-heights .pa-grid, .pa-layout-side_1 .pa-grid { align-items: stretch; }
.pa-card { display: flex; flex-direction: column; min-width: 0; height: var(--pa-card-height, 400px); overflow: hidden; border: 0; border-bottom: 1px solid var(--pa-border-color, rgba(0, 37, 11, 0.18)); outline: 0; box-shadow: none; padding-bottom: 8px; }
.pa-layout-side_1 .pa-card, .pa-equal-row-heights .pa-card { height: 100%; }
.pa-layout-home_1 .pa-card-featured { grid-column: span var(--pa-first-span, 2); height: var(--pa-lead-height, 520px); }
.pa-layout-home_1 .pa-card-second { height: var(--pa-second-height, 520px); }
.pa-image-link { display: block; width: 100%; aspect-ratio: 16 / 9; overflow: hidden; background: #f2f2f2; text-decoration: none; flex: 0 0 auto; border: 0; outline: 0; box-shadow: none; }
.pa-image { display: block; width: 100%; height: 100%; object-fit: var(--pa-desktop-image-fit, cover); filter: saturate(0.92) contrast(1.04); transition: transform 0.45s ease, filter 0.45s ease; border: 0; outline: 0; box-shadow: none; }
.pa-image-placeholder { background: #f2f2f2; }
.pa-image-link:hover .pa-image, .pa-image-link:focus .pa-image { transform: scale(1.08); filter: saturate(1) contrast(1.06); }
.pa-meta { margin-top: 8px; font-size: 0.76rem; line-height: 1.35; color: var(--pa-meta-color, #000); letter-spacing: 0.01em; flex: 0 0 auto; }
.pa-layout-side_1 .pa-meta { margin-top: 7px; font-size: 0.68rem; line-height: 1.3; }
.pa-meta::before { content: ""; display: inline-block; width: 18px; height: 2px; background: var(--publica-accent-color, var(--pa-accent-color, #cc0000)); margin-right: 7px; vertical-align: middle; }
.pa-layout-side_1 .pa-meta::before { width: 14px; margin-right: 6px; }
.pa-title { margin: 5px 0 6px; font-family: var(--pa-title-font-family, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans", Arial, sans-serif); font-size: var(--pa-title-size, 1.125rem); line-height: 1.16; font-weight: 900; font-synthesis-weight: auto; letter-spacing: -0.025em; flex: 0 0 auto; text-rendering: geometricPrecision; }
.pa-layout-home_1 .pa-card-featured .pa-title { font-size: var(--pa-lead-title-size, 1.5rem); line-height: 1.12; letter-spacing: -0.035em; }
.pa-layout-home_1 .pa-card-lead-peer .pa-title { font-size: var(--pa-second-title-size, 1.25rem); line-height: 1.14; letter-spacing: -0.03em; }
.pa-layout-side_1 .pa-title { margin: 5px 0 0; font-size: var(--pa-title-size, 1.05rem); line-height: 1.14; }
.pa-title a { color: var(--pa-title-color, #000000); font-family: inherit; font-weight: inherit; text-decoration: none; transition: color 0.25s ease; border: 0; outline: 0; box-shadow: none; }
.pa-title a:hover, .pa-title a:focus { color: var(--publica-accent-color, var(--pa-hover-color, #cc0000)); text-decoration: none; outline: 0; box-shadow: none; }
.pa-excerpt { margin: 0; font-size: var(--pa-excerpt-size, 0.95rem); line-height: 1.52; color: var(--pa-excerpt-color, #000); overflow: hidden; flex: 1 1 auto; }
.pa-layout-home_1 .pa-card-featured .pa-excerpt { font-size: var(--pa-lead-excerpt-size, 1rem); line-height: 1.55; }
.pa-no-excerpt .pa-excerpt { display: none; }
.pa-empty { grid-column: 1 / -1; margin: 0; color: var(--pa-title-color, #000000); font-size: 1rem; }
@media (max-width: 980px) { .pa-grid { grid-template-columns: repeat(var(--pa-tablet-columns, 2), minmax(0, 1fr)); } .pa-layout-home_1 .pa-card-featured { grid-column: span min(var(--pa-first-span, 2), var(--pa-tablet-columns, 2)); } .pa-layout-home_1 .pa-card-featured .pa-title { font-size: 1.95rem; } .pa-layout-home_1 .pa-card-lead-peer .pa-title { font-size: 1.125rem; } .pa-title { font-size: 1.45rem; } .pa-layout-side_1 .pa-title { font-size: var(--pa-title-size, 1.05rem); } }
@media (max-width: 640px) { .pa-grid { grid-template-columns: repeat(var(--pa-mobile-columns, 1), minmax(0, 1fr)); gap: 18px; } .pa-card, .pa-layout-home_1 .pa-card-featured, .pa-layout-home_1 .pa-card-second, .pa-layout-side_1 .pa-card { grid-column: span 1; height: auto; } .pa-image-link { aspect-ratio: auto; height: auto; background: transparent; } .pa-image { width: 100%; height: auto; object-fit: var(--pa-mobile-image-fit, contain); } .pa-image-link:hover .pa-image, .pa-image-link:focus .pa-image { transform: none; filter: saturate(1) contrast(1.04); } .pa-hide-excerpt-mobile .pa-excerpt, .pa-hide-excerpt-mobile .pa-card-featured .pa-excerpt { display: none; max-height: none; } .pa-title, .pa-layout-home_1 .pa-card-featured .pa-title, .pa-layout-home_1 .pa-card-lead-peer .pa-title, .pa-layout-side_1 .pa-title { font-size: var(--pa-mobile-title-size, 1.125rem); line-height: 1.16; } }
/* Publica: content-driven heights and typography shared by every presentation. */
.pa-section { font-family: var(--pa-font-family, inherit); }
.pa-section .pa-card { height: auto; min-height: var(--pa-card-height, 0px); overflow: visible; }
.pa-section.pa-layout-home_1 .pa-card-featured { height: auto; min-height: var(--pa-lead-height, 0px); }
.pa-section.pa-layout-home_1 .pa-card-second { height: auto; min-height: var(--pa-second-height, 0px); }
.pa-section .pa-card-content { min-width: 0; }
.pa-section .pa-card-content[hidden] { display: none; }
.pa-section .pa-title { font-family: inherit; font-weight: var(--pa-title-weight, 700); font-style: var(--pa-title-style, normal); line-height: var(--pa-title-line-height, 1.2); letter-spacing: normal; overflow-wrap: anywhere; }
.pa-section .pa-excerpt { line-height: var(--pa-excerpt-line-height, 1.55); overflow: visible; }
.pa-section .pa-meta { font-size: var(--pa-meta-size, .8rem); }
.pa-section .pa-section-title { margin: 0 0 18px; padding: 0; border: 0; color: var(--pa-section-title-color, #000000); font-size: var(--pa-section-title-size, var(--pa-heading-default-size, 1.5rem)); line-height: 1.25; font-family: inherit; }
.pa-section .pa-image-link { aspect-ratio: var(--pa-image-ratio, 16/9); }
.pa-section .pa-image { filter: none; }
.pa-section a:focus-visible { outline: 2px solid var(--publica-accent-color, var(--pa-accent-color, #cc0000)); outline-offset: 3px; }
.pa-section.pa-presentation-compact .pa-card { display: grid; grid-template-columns: minmax(0, var(--pa-thumbnail-width, 104px)) minmax(0, 1fr); gap: 12px; align-items: start; }
.pa-section.pa-presentation-compact .pa-card:not(:has(.pa-image-link)) { grid-template-columns: minmax(0, 1fr); }
.pa-section.pa-presentation-image_only .pa-card { border: 0; padding: 0; }
.pa-section.pa-layout-side_1 .pa-title { font-size: var(--pa-title-size); }
@media (min-width: 641px) and (max-width: 980px) {
  .pa-section .pa-title, .pa-section.pa-layout-home_1 .pa-card-featured .pa-title, .pa-section.pa-layout-home_1 .pa-card-lead-peer .pa-title, .pa-section.pa-layout-side_1 .pa-title { font-size: var(--pa-tablet-title-size, 1.125rem); }
}
@media (max-width: 640px) {
  .pa-section .pa-title, .pa-section.pa-layout-home_1 .pa-card-featured .pa-title, .pa-section.pa-layout-home_1 .pa-card-lead-peer .pa-title, .pa-section.pa-layout-side_1 .pa-title { font-size: var(--pa-mobile-title-size, 1.125rem); }
  .pa-section .pa-excerpt, .pa-section.pa-layout-home_1 .pa-card-featured .pa-excerpt { font-size: var(--pa-mobile-excerpt-size, 1rem); }
  .pa-section .pa-grid { gap: var(--pa-gap-row, 16px) var(--pa-gap-col, 12px); }
  .pa-section .pa-image-link { aspect-ratio: var(--pa-image-ratio, 16/9); }
  .pa-section .pa-image { height: 100%; object-fit: var(--pa-mobile-image-fit, contain); }
}
@media (prefers-reduced-motion: reduce) { .pa-section .pa-image { transition: none; transform: none !important; } }
.pa-section.pa-layout-home_1 .pa-card-featured .pa-title,
.pa-section.pa-layout-home_1 .pa-card-lead-peer .pa-title { line-height: var(--pa-title-line-height, 1.2); letter-spacing: normal; }
.pa-section.pa-layout-home_1 .pa-card-featured .pa-excerpt { line-height: var(--pa-excerpt-line-height, 1.55); }
.pa-section.pa-equal-row-heights .pa-card { height: 100%; }

/* Keep explicit plugin choices when themes style heading links and visited links. */
section.pa-section[id] .pa-card .pa-title,
section.pa-section[id] .pa-card .pa-title a,
section.pa-section[id] .pa-card .pa-title a:link,
section.pa-section[id] .pa-card .pa-title a:visited {
  color: var(--pa-title-color, #000000) !important;
  -webkit-text-fill-color: currentColor !important;
}
section.pa-section[id] .pa-card .pa-title a:hover,
section.pa-section[id] .pa-card .pa-title a:focus {
  color: var(--publica-accent-color, var(--pa-hover-color, #cc0000)) !important;
}
section.pa-section[id] .pa-section-title {
  color: var(--pa-section-title-color, #000000) !important;
  -webkit-text-fill-color: currentColor !important;
  font-size: var(--pa-section-title-size, var(--pa-heading-default-size, 1.5rem)) !important;
  font-weight: var(--pa-section-title-weight, 800) !important;
  font-style: normal;
  line-height: 1.25;
  text-transform: none;
  letter-spacing: normal;
  border: 0 !important;
  background: none;
  box-shadow: none !important;
  text-decoration: none !important;
}
.pa-section h1.pa-section-title { --pa-heading-default-size: 2rem; }
.pa-section h2.pa-section-title { --pa-heading-default-size: 1.5rem; }
.pa-section h3.pa-section-title { --pa-heading-default-size: 1.25rem; }
.pa-section h4.pa-section-title { --pa-heading-default-size: 1.125rem; }
section.pa-section[id] .pa-section-title::before,
section.pa-section[id] .pa-section-title::after { content: none !important; }
section.pa-section[id] .pa-card .pa-title {
  font-size: var(--pa-title-size, 1.125rem) !important;
}
section.pa-section[id].pa-layout-home_1 .pa-card-featured .pa-title {
  font-size: var(--pa-lead-title-size, 1.5rem) !important;
}
section.pa-section[id].pa-layout-home_1 .pa-card-lead-peer .pa-title {
  font-size: var(--pa-second-title-size, 1.25rem) !important;
}
section.pa-section[id] .pa-card .pa-title a { font-size: inherit !important; }
@media (min-width: 641px) and (max-width: 980px) {
  section.pa-section[id] .pa-card .pa-title,
  section.pa-section[id].pa-layout-home_1 .pa-card-featured .pa-title,
  section.pa-section[id].pa-layout-home_1 .pa-card-lead-peer .pa-title {
    font-size: var(--pa-tablet-title-size, 1.125rem) !important;
  }
}
@media (max-width: 640px) {
  section.pa-section[id] .pa-card .pa-title,
  section.pa-section[id].pa-layout-home_1 .pa-card-featured .pa-title,
  section.pa-section[id].pa-layout-home_1 .pa-card-lead-peer .pa-title {
    font-size: var(--pa-mobile-title-size, 1.125rem) !important;
  }
}

/* Each grid row sizes itself independently; only siblings in that row stretch. */
.pa-section.pa-layout-home_1 .pa-grid { align-items: stretch; grid-auto-rows: auto; }
.pa-section.pa-layout-home_1 .pa-grid > .pa-card { height: 100%; align-self: stretch; }
/* Explicit lead/second heights take priority over natural row stretching. */
.pa-section.pa-layout-home_1 .pa-grid > .pa-card.pa-height-limited {
  height: var(--pa-fixed-height);
  min-height: 0;
  align-self: start;
}
.pa-section .pa-height-limited .pa-card-content { flex: 1 1 auto; min-height: 0; }
.pa-section .pa-height-limited .pa-excerpt { overflow: hidden; overflow-wrap: anywhere; }
/* Responsive row assignment owns heights; article index no longer sets row minima. */
.pa-section.pa-layout-home_1[data-pa-row-heights] .pa-grid > .pa-card {
  min-height: var(--pa-card-height, 0px);
}
section.pa-section[id] .pa-section-title a,
section.pa-section[id] .pa-section-title a:link,
section.pa-section[id] .pa-section-title a:visited {
  color: var(--pa-section-title-color, #000000) !important;
  -webkit-text-fill-color: currentColor !important;
  font: inherit !important;
  text-decoration: none;
  border: 0;
  box-shadow: none;
}
section.pa-section[id] .pa-section-title a:hover,
section.pa-section[id] .pa-section-title a:focus { color: var(--publica-accent-color, var(--pa-hover-color, #cc0000)) !important; }
