:root {
  --p01-polish-ink: #15131a;
  --p01-polish-violet: #1d1028;
  --p01-polish-paper: #f3efe6;
  --p01-polish-white: #fffdf8;
  --p01-polish-lime: #c9ff28;
  --p01-polish-coral: #ff625a;
  --p01-polish-blue: #9ed9ff;
  --p01-polish-plum: #6d296e;
}

.press01-polish-active {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

.press01-polish-active :where(.p01-shell, .p01-gd-shell, .p01-aa-shell, .p01-db-shell) {
  isolation: isolate;
}

.press01-polish-active :where(.p01-section-head h2, .p01-gd-head h2, .p01-aa-head h2, .p01-lead h1, .p01-card h3, .p01-gd-card h3, .p01-opinion-card h3) {
  text-wrap: balance;
  overflow-wrap: normal;
  hyphens: auto;
}

/* Stable card rhythm across all PRESS01 engines. */
.press01-polish-active :where(.p01-grid, .p01-diplomacy-grid, .p01-opinion-grid, .p01-gd-grid, .p01-aa-cards, .p01-db-grid) {
  align-items: stretch;
}

.press01-polish-active :where(.p01-card, .p01-gd-card, .p01-aa-cards article, .p01-db-grid article, .p01-opinion-card) {
  min-width: 0;
  height: 100%;
}

.press01-polish-active :where(.p01-card, .p01-gd-card, .p01-aa-cards article, .p01-db-grid article) {
  display: flex;
  flex-direction: column;
}

.press01-polish-active :where(.p01-card-body, .p01-gd-copy, .p01-aa-copy) {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
}

.press01-polish-active :where(.p01-card-body .p01-meta, .p01-gd-copy .p01-gd-meta) {
  margin-top: auto;
}

.press01-polish-active .p01-grid .p01-card h3,
.press01-polish-active .p01-diplomacy-grid .p01-card h3,
.press01-polish-active .p01-gd-grid .p01-gd-card:not(.is-lead) h3,
.press01-polish-active .p01-aa-cards article h3 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.press01-polish-active .p01-grid .p01-card p,
.press01-polish-active .p01-diplomacy-grid .p01-card p,
.press01-polish-active .p01-gd-grid .p01-gd-card:not(.is-lead) p,
.press01-polish-active .p01-aa-cards article p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

/* Predictable image geometry prevents jumping while the page loads. */
.press01-polish-active :where(.p01-card-media, .p01-gd-media, .p01-aa-media) {
  position: relative;
  display: block;
  overflow: hidden;
  background: var(--p01-polish-violet);
  contain: paint;
}

.press01-polish-active .p01-grid .p01-card-media,
.press01-polish-active .p01-diplomacy-grid .p01-card-media {
  aspect-ratio: 16 / 9;
}

.press01-polish-active :where(.p01-card-media, .p01-lead-media, .p01-gd-media, .p01-aa-media) img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease, filter .35s ease;
}

.press01-polish-active .p01-polish-card:hover :where(.p01-card-media, .p01-lead-media, .p01-gd-media, .p01-aa-media) img {
  transform: scale(1.025);
}

/* Editorial/source stamps. */
.press01-polish-active .p01-polish-stamps {
  position: absolute;
  z-index: 4;
  top: 9px;
  left: 9px;
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  max-width: calc(100% - 18px);
  pointer-events: none;
}

.press01-polish-active .p01-polish-stamp {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 6px 8px 5px;
  border: 1px solid var(--p01-polish-ink);
  background: var(--p01-polish-white);
  color: var(--p01-polish-ink);
  box-shadow: 2px 2px 0 rgba(21, 19, 26, .22);
  font: 900 8px/1 Arial, Helvetica, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.press01-polish-active .p01-polish-stamp.is-official-source-notice { background: var(--p01-polish-lime); }
.press01-polish-active .p01-polish-stamp.is-opinion { background: var(--p01-polish-coral); color: #fff; }
.press01-polish-active .p01-polish-stamp.is-analysis { background: var(--p01-polish-blue); }
.press01-polish-active .p01-polish-stamp.is-investigation,
.press01-polish-active .p01-polish-stamp.is-case-file { background: var(--p01-polish-violet); color: #fff; }
.press01-polish-active .p01-polish-stamp.is-press-release { background: #ffe480; }
.press01-polish-active .p01-polish-stamp.is-visual {
  border-color: rgba(21, 19, 26, .52);
  background: rgba(255, 253, 248, .9);
  box-shadow: none;
  backdrop-filter: blur(4px);
}

.press01-polish-active .p01-polish-source {
  display: block;
  margin: 5px 0 10px;
  color: var(--p01-polish-plum);
  font: 850 9px/1.25 Arial, Helvetica, sans-serif;
  letter-spacing: .055em;
  text-transform: uppercase;
}

/* Content type is also visible through the card edge, even before images load. */
.press01-polish-active .p01-kind-official-source-notice { border-top-color: var(--p01-polish-lime) !important; }
.press01-polish-active .p01-kind-opinion { border-top-color: var(--p01-polish-coral) !important; }
.press01-polish-active .p01-kind-analysis { border-top-color: var(--p01-polish-blue) !important; }
.press01-polish-active .p01-kind-investigation,
.press01-polish-active .p01-kind-case-file { border-top-color: var(--p01-polish-violet) !important; }

/* Branded fallback art stays recognisable, but no longer looks duplicated. */
.press01-polish-active .p01-visual-press01-fallback :where(.p01-card-media, .p01-lead-media, .p01-gd-media, .p01-aa-media)::after {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  opacity: .32;
  mix-blend-mode: screen;
}

.press01-polish-active .p01-visual-press01-fallback.p01-variant-1 img { filter: saturate(1.08) contrast(1.03); }
.press01-polish-active .p01-visual-press01-fallback.p01-variant-2 img { filter: hue-rotate(18deg) saturate(1.12); }
.press01-polish-active .p01-visual-press01-fallback.p01-variant-3 img { filter: hue-rotate(-16deg) contrast(1.08); }
.press01-polish-active .p01-visual-press01-fallback.p01-variant-4 img { filter: saturate(.88) contrast(1.13); }
.press01-polish-active .p01-visual-press01-fallback.p01-variant-5 img { filter: hue-rotate(34deg) saturate(1.05); }
.press01-polish-active .p01-visual-press01-fallback.p01-variant-6 img { filter: hue-rotate(-28deg) saturate(1.14); }

.press01-polish-active .p01-visual-press01-fallback.p01-variant-1 :where(.p01-card-media, .p01-lead-media, .p01-gd-media, .p01-aa-media)::after {
  background: repeating-linear-gradient(90deg, transparent 0 30px, rgba(255,255,255,.18) 30px 31px);
}
.press01-polish-active .p01-visual-press01-fallback.p01-variant-2 :where(.p01-card-media, .p01-lead-media, .p01-gd-media, .p01-aa-media)::after {
  background: linear-gradient(135deg, transparent 0 60%, rgba(201,255,40,.5) 60% 66%, transparent 66%);
}
.press01-polish-active .p01-visual-press01-fallback.p01-variant-3 :where(.p01-card-media, .p01-lead-media, .p01-gd-media, .p01-aa-media)::after {
  background: radial-gradient(circle at 82% 18%, rgba(255,98,90,.7) 0 8%, transparent 8.5%);
}
.press01-polish-active .p01-visual-press01-fallback.p01-variant-4 :where(.p01-card-media, .p01-lead-media, .p01-gd-media, .p01-aa-media)::after {
  background: repeating-linear-gradient(-45deg, transparent 0 18px, rgba(158,217,255,.22) 18px 20px);
}
.press01-polish-active .p01-visual-press01-fallback.p01-variant-5 :where(.p01-card-media, .p01-lead-media, .p01-gd-media, .p01-aa-media)::after {
  background: linear-gradient(90deg, rgba(29,16,40,.5) 0 13%, transparent 13% 87%, rgba(201,255,40,.45) 87%);
}
.press01-polish-active .p01-visual-press01-fallback.p01-variant-6 :where(.p01-card-media, .p01-lead-media, .p01-gd-media, .p01-aa-media)::after {
  background: linear-gradient(180deg, transparent 0 72%, rgba(255,98,90,.55) 72% 76%, transparent 76%);
}

/* Source photography remains clean and documentary. */
.press01-polish-active .p01-visual-official-source :where(.p01-card-media, .p01-gd-media, .p01-aa-media) {
  background: #ddd7cc;
}
.press01-polish-active .p01-visual-official-source img { filter: saturate(.94) contrast(1.04); }

/* Stronger card finish without turning the site into a generic rounded template. */
.press01-polish-active :where(.p01-grid .p01-card, .p01-gd-card, .p01-aa-cards article) {
  transition: transform .22s ease, box-shadow .22s ease;
}
.press01-polish-active :where(.p01-grid .p01-card, .p01-gd-card, .p01-aa-cards article):hover {
  transform: translateY(-2px);
  box-shadow: 5px 6px 0 rgba(21, 19, 26, .12);
}

.press01-polish-active .p01-opinion-card {
  display: flex;
  flex-direction: column;
}
.press01-polish-active .p01-opinion-card .p01-read { margin-top: auto; }

/* Blocksy header: compact editorial navigation with graceful horizontal overflow. */
.press01-polish-active :where(#header, .site-header, .p01-polished-header) nav ul {
  scrollbar-width: none;
}
.press01-polish-active :where(#header, .site-header, .p01-polished-header) nav ul::-webkit-scrollbar { display: none; }
.press01-polish-active :where(#header, .site-header, .p01-polished-header) nav a {
  letter-spacing: .035em;
  text-transform: uppercase;
}

@media (max-width: 980px) {
  .press01-polish-active .p01-grid,
  .press01-polish-active .p01-diplomacy-grid {
    gap: 16px;
  }

  .press01-polish-active .p01-lead h1 {
    font-size: clamp(38px, 7.5vw, 68px);
    line-height: .94;
  }
}

@media (max-width: 720px) {
  .press01-polish-active :where(.p01-shell, .p01-gd-shell, .p01-db-shell) {
    width: min(100% - 24px, 1180px);
  }

  .press01-polish-active .p01-masthead {
    gap: 12px;
  }

  .press01-polish-active .p01-wordmark {
    font-size: clamp(46px, 15vw, 74px);
  }

  .press01-polish-active .p01-lead-copy {
    grid-template-columns: 48px minmax(0, 1fr);
    gap: 12px;
  }

  .press01-polish-active .p01-lead h1 {
    font-size: clamp(34px, 11.5vw, 55px);
    line-height: .94;
  }

  .press01-polish-active :where(.p01-section-head, .p01-gd-head) h2 {
    font-size: clamp(29px, 9.5vw, 43px);
    line-height: .94;
  }

  .press01-polish-active :where(.p01-card h3, .p01-gd-card h3, .p01-opinion-card h3, .p01-aa-copy h3) {
    font-size: clamp(21px, 6vw, 29px);
    line-height: 1.02;
  }

  .press01-polish-active .p01-polish-stamp {
    min-height: 20px;
    padding: 5px 7px 4px;
    font-size: 7px;
  }

  .press01-polish-active :where(#header, .site-header, .p01-polished-header) nav ul {
    display: flex;
    flex-wrap: nowrap;
    max-width: 100vw;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    -webkit-overflow-scrolling: touch;
  }

  .press01-polish-active :where(#header, .site-header, .p01-polished-header) nav li {
    flex: 0 0 auto;
  }
}

@media (max-width: 480px) {
  .press01-polish-active .p01-polish-stamp.is-visual { display: none; }
  .press01-polish-active .p01-grid .p01-card h3,
  .press01-polish-active .p01-diplomacy-grid .p01-card h3,
  .press01-polish-active .p01-gd-grid .p01-gd-card:not(.is-lead) h3,
  .press01-polish-active .p01-aa-cards article h3 {
    -webkit-line-clamp: 4;
  }
}

@media (prefers-reduced-motion: reduce) {
  .press01-polish-active *,
  .press01-polish-active *::before,
  .press01-polish-active *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}
