/*
 * Editorial reading experience for the Design of New Global Solidarity paper.
 * Opt-in only: includes/wp-template.php loads this stylesheet for that one
 * published whitepaper slug. No body text, metadata or content data is changed.
 * Scope every rule under .rc-wp-article--solidarity.
 */

/* The global mobile header slides its off-canvas menu to the right.
 * Clip that off-canvas transform on this article only; the menu still
 * opens and remains scrollable when the hamburger is activated. */
html:has(main.rc-wp-article--solidarity),
body:has(main.rc-wp-article--solidarity) {
  overflow-x: clip;
}

/* Editorial frame */
.rc-wp-article--solidarity {
  box-sizing: border-box;
  max-width: 1320px;
  margin: 0 auto;
  padding: clamp(36px, 5vw, 76px) clamp(18px, 3vw, 44px) 96px;
  color: #17242d;
}
.rc-wp-article--solidarity *,
.rc-wp-article--solidarity *::before,
.rc-wp-article--solidarity *::after {
  box-sizing: border-box;
}
.rc-wp-article--solidarity .rc-wp-back {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  margin-bottom: 25px;
  padding: 5px 0;
  color: #4a5c64;
  font-size: .87rem;
  font-weight: 700;
  text-underline-offset: 4px;
}
.rc-wp-article--solidarity .rc-wp-back:hover {
  color: #08776e;
  text-decoration: underline;
}
.rc-wp-article--solidarity :is(a, button):focus-visible {
  outline: 3px solid #22b8a9;
  outline-offset: 4px;
  border-radius: 3px;
}

/* The hero is treated as the cover of a journal, not a generic blog post. */
.rc-wp-article--solidarity .rc-wp-solidarity-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background:
    radial-gradient(circle at 89% 13%, rgba(44, 195, 167, .20), transparent 34%),
    linear-gradient(143deg, #14252b 5%, #13212b 59%, #193b3c 100%);
  border-radius: 22px;
  padding: clamp(34px, 5.6vw, 78px);
  margin-bottom: clamp(44px, 6vw, 90px);
  color: #f7fbfa;
}
.rc-wp-article--solidarity .rc-wp-solidarity-hero::before {
  content: "";
  position: absolute;
  z-index: -1;
  width: min(61vw, 620px);
  aspect-ratio: 1;
  top: -45%;
  right: -21%;
  border: 1px solid rgba(184, 248, 232, .18);
  border-radius: 50%;
  box-shadow:
    0 0 0 60px rgba(184, 248, 232, .025),
    0 0 0 126px rgba(184, 248, 232, .025),
    0 0 0 194px rgba(184, 248, 232, .020);
  pointer-events: none;
}
.rc-wp-article--solidarity .rc-wp-article__badges {
  gap: 9px;
  margin-bottom: clamp(23px, 4vw, 39px);
}
.rc-wp-article--solidarity .rc-wp-article__badges .rc-wp-badge {
  border: 1px solid rgba(220, 255, 245, .24);
  background: rgba(226, 255, 249, .11);
  color: #d5fff6;
  padding: 7px 12px;
  font-size: .7rem;
  letter-spacing: .11em;
  font-weight: 700;
}
.rc-wp-article--solidarity .rc-wp-article__badges .rc-wp-badge--cat {
  background: rgba(255, 255, 255, .065);
  color: #d3e3e1;
}
.rc-wp-article--solidarity .rc-wp-article__title {
  max-width: 14ch;
  margin: 0 0 clamp(26px, 4vw, 40px);
  font-size: clamp(2.65rem, 5.8vw, 5.25rem);
  font-weight: 700;
  letter-spacing: -.049em;
  line-height: 1.09;
  color: #fff;
  text-wrap: balance;
  overflow-wrap: break-word;
}
.rc-wp-article--solidarity .rc-wp-article__meta {
  gap: 20px;
  margin: 0 0 25px;
  padding-top: 19px;
  border-top: 1px solid rgba(232, 255, 253, .25);
  max-width: 680px;
  font-size: .88rem;
  line-height: 1.6;
  color: #d5e2e4;
  font-weight: 500;
}
.rc-wp-article--solidarity .rc-wp-article__excerpt {
  max-width: 750px;
  margin: 0 0 26px;
  color: #ecf4f4;
  font-size: clamp(1.13rem, 1.9vw, 1.38rem);
  line-height: 1.75;
  font-weight: 400;
}
.rc-wp-article--solidarity .rc-wp-article__image {
  max-height: 490px;
  width: 100%;
  object-fit: cover;
  margin: 30px 0;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, .14);
}
.rc-wp-article--solidarity .rc-wp-actions {
  display: flex;
  gap: 12px;
  margin: 30px 0 0;
  flex-wrap: wrap;
}
.rc-wp-article--solidarity .rc-wp-action {
  min-height: 46px;
  padding: 11px 18px;
  border-radius: 9px;
  line-height: 1.4;
  font-size: .87rem;
  font-weight: 700;
}
.rc-wp-article--solidarity .rc-wp-action--current {
  background: rgba(255, 255, 255, .13);
  border: 1px solid rgba(255, 255, 255, .25);
  color: #fff;
}
.rc-wp-article--solidarity .rc-wp-action--pdf {
  background: #d2fcf0;
  box-shadow: none;
  color: #16342e;
}
.rc-wp-article--solidarity .rc-wp-action--pdf:hover {
  background: #a5f4df;
  color: #12352e;
}

/* Reading surface and the desk-side, sticky section navigator. */
.rc-wp-article--solidarity .rc-wp-reading-layout {
  max-width: 1100px;
  margin: 0 auto;
}
.rc-wp-article--solidarity .rc-wp-reading-layout--toc {
  display: grid;
  grid-template-columns: minmax(205px, 265px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(36px, 4.7vw, 78px);
}
.rc-wp-article--solidarity .rc-wp-toc {
  position: sticky;
  top: 105px;
  max-height: calc(100vh - 135px);
  overflow-y: auto;
  overscroll-behavior: contain;
  background: #f5f8f6;
  border: 1px solid #e0e8e4;
  border-radius: 12px;
  padding: 23px 18px 24px;
  margin: 0;
  scrollbar-width: thin;
  scrollbar-color: #bdd4cb transparent;
}
.rc-wp-article--solidarity .rc-wp-toc__title {
  padding: 0 10px 14px;
  margin: 0 0 6px;
  border-bottom: 1px solid #d9e6e0;
  color: #466058;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .125em;
}
.rc-wp-article--solidarity .rc-wp-toc__link {
  display: block;
  min-height: 44px;
  padding: 9px 10px 9px 12px;
  border-left: 2px solid transparent;
  border-radius: 0 5px 5px 0;
  font-size: .89rem;
  font-weight: 600;
  line-height: 1.42;
  color: #344b46;
  overflow-wrap: anywhere;
  transition: background .16s, border-color .16s, color .16s;
}
.rc-wp-article--solidarity .rc-wp-toc__link--l3 {
  padding-left: 24px;
  color: #63736e;
  font-size: .84rem;
  font-weight: 400;
}
.rc-wp-article--solidarity .rc-wp-toc__link:hover,
.rc-wp-article--solidarity .rc-wp-toc__link:focus-visible {
  background: #e4f2eb;
  border-left-color: #0c8875;
  color: #075e54;
}
.rc-wp-article--solidarity .rc-wp-body {
  min-width: 0;
  max-width: 750px;
  margin: 0 auto;
  font-size: clamp(1.02rem, 1.1vw, 1.11rem);
  line-height: 1.98;
  letter-spacing: .005em;
  color: #293a43;
  overflow-wrap: break-word;
}
.rc-wp-article--solidarity .rc-wp-body > :first-child {
  margin-top: 0;
}
.rc-wp-article--solidarity .rc-wp-body p {
  margin: 0 0 1.6em;
}
.rc-wp-article--solidarity .rc-wp-body :is(h2, h3, h4) {
  color: #142b32;
  text-wrap: pretty;
  scroll-margin-top: 112px;
}
.rc-wp-article--solidarity .rc-wp-body h2 {
  font-size: clamp(1.65rem, 2.55vw, 2.2rem);
  font-weight: 700;
  line-height: 1.27;
  letter-spacing: -.024em;
  padding-top: 24px;
  margin: 2.35em 0 .82em;
  border-top: 1px solid #d6e4df;
}
.rc-wp-article--solidarity .rc-wp-body h2::before {
  content: "";
  display: block;
  width: 42px;
  height: 4px;
  border-radius: 99px;
  margin: -27px 0 29px;
  background: #0d9488;
}
.rc-wp-article--solidarity .rc-wp-body h3 {
  font-size: clamp(1.28rem, 1.8vw, 1.55rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.014em;
  margin: 2.1em 0 .65em;
}
.rc-wp-article--solidarity .rc-wp-body h4 {
  font-size: 1.09rem;
  font-weight: 700;
  line-height: 1.5;
  margin: 1.8em 0 .6em;
}
.rc-wp-article--solidarity .rc-wp-body :is(ul, ol) {
  margin: 0 0 1.8em;
  padding-left: 1.5em;
}
.rc-wp-article--solidarity .rc-wp-body li {
  padding-left: .2em;
  margin-bottom: .7em;
}
.rc-wp-article--solidarity .rc-wp-body li::marker {
  color: #0c8376;
}
.rc-wp-article--solidarity .rc-wp-body a {
  color: #08766b;
  font-weight: 700;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  overflow-wrap: anywhere;
}
.rc-wp-article--solidarity .rc-wp-body a:hover {
  color: #07574e;
}
.rc-wp-article--solidarity .rc-wp-body blockquote {
  margin: 2em 0;
  padding: 17px 25px;
  border-left: 4px solid #0d9488;
  border-radius: 0 9px 9px 0;
  background: #f1f8f5;
  color: #214b44;
  font-size: 1.13em;
  line-height: 1.8;
  font-style: normal;
}
.rc-wp-article--solidarity .rc-wp-body blockquote p:last-child {
  margin-bottom: 0;
}
.rc-wp-article--solidarity .rc-wp-body img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  border-radius: 12px;
  margin: 1.8em auto 2.4em;
}
.rc-wp-article--solidarity .rc-wp-body :is(figure, video, iframe, embed) {
  max-width: 100%;
}
.rc-wp-article--solidarity .rc-wp-body figure {
  margin: 2em 0;
}
.rc-wp-article--solidarity .rc-wp-body figure img {
  margin-bottom: .5em;
}
.rc-wp-article--solidarity .rc-wp-body figcaption {
  font-size: .84rem;
  line-height: 1.5;
  text-align: center;
  color: #64746f;
}
.rc-wp-article--solidarity .rc-wp-body table {
  display: block;
  max-width: 100%;
  overflow-x: auto;
  border-collapse: collapse;
  margin: 1.6em 0 2.1em;
  font-size: .9em;
}
.rc-wp-article--solidarity .rc-wp-body :is(th, td) {
  padding: 12px 14px;
  border: 1px solid #d8e4df;
  text-align: left;
  vertical-align: top;
}
.rc-wp-article--solidarity .rc-wp-body th {
  background: #edf6f2;
}
.rc-wp-article--solidarity .rc-wp-body hr {
  border: 0;
  border-top: 1px solid #d6e4df;
  margin: 3em 0;
}

/* Related items are part of the publication series, not the article body. */
.rc-wp-article--solidarity .rc-wp-related {
  margin: clamp(74px, 8vw, 120px) auto 0;
  padding-top: 36px;
  border-top: 1px solid #d8e4e0;
}
.rc-wp-article--solidarity .rc-wp-related h2 {
  font-size: clamp(1.35rem, 2.3vw, 1.8rem);
  line-height: 1.3;
  color: #152d32;
  margin-bottom: 25px;
}

@media (max-width: 860px) {
  .rc-wp-article--solidarity .rc-wp-reading-layout--toc {
    display: block;
  }
  .rc-wp-article--solidarity .rc-wp-toc {
    position: static;
    max-height: none;
    margin-bottom: 46px;
    padding: 18px 20px;
  }
  .rc-wp-article--solidarity .rc-wp-body {
    max-width: 720px;
  }
}
@media (max-width: 600px) {
  .rc-wp-article--solidarity {
    padding: 22px 16px 68px;
  }
  .rc-wp-article--solidarity .rc-wp-back {
    margin-bottom: 16px;
  }
  .rc-wp-article--solidarity .rc-wp-solidarity-hero {
    border-radius: 16px;
    padding: 32px 23px 35px;
    margin-bottom: 44px;
  }
  .rc-wp-article--solidarity .rc-wp-solidarity-hero::before {
    width: 380px;
    top: -160px;
    right: -300px;
  }
  .rc-wp-article--solidarity .rc-wp-article__title {
    font-size: clamp(2.15rem, 8.2vw, 3.2rem);
    letter-spacing: -.038em;
  }
  .rc-wp-article--solidarity .rc-wp-article__excerpt {
    font-size: 1.07rem;
  }
  .rc-wp-article--solidarity .rc-wp-article__meta {
    gap: 7px 16px;
    font-size: .8rem;
  }
  .rc-wp-article--solidarity .rc-wp-article__image {
    margin: 21px 0;
  }
  .rc-wp-article--solidarity .rc-wp-actions {
    gap: 9px;
  }
  .rc-wp-article--solidarity .rc-wp-action {
    padding: 10px 13px;
    min-height: 44px;
  }
  .rc-wp-article--solidarity .rc-wp-toc {
    margin-bottom: 36px;
    padding: 17px 15px;
  }
  .rc-wp-article--solidarity .rc-wp-body {
    font-size: 1.01rem;
    line-height: 1.9;
  }
  .rc-wp-article--solidarity .rc-wp-body h2 {
    margin-top: 2.2em;
  }
  .rc-wp-article--solidarity .rc-wp-body blockquote {
    padding: 13px 17px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .rc-wp-article--solidarity .rc-wp-toc__link {
    transition: none;
  }
}
@media print {
  .rc-wp-article--solidarity {
    padding: 0;
    max-width: none;
  }
  .rc-wp-article--solidarity .rc-wp-solidarity-hero {
    padding: 26px;
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }
  .rc-wp-article--solidarity .rc-wp-reading-layout--toc {
    display: block;
  }
  .rc-wp-article--solidarity .rc-wp-toc {
    position: static;
    max-height: none;
    margin-bottom: 36px;
  }
  .rc-wp-article--solidarity .rc-wp-body h2 {
    break-after: avoid-page;
  }
  .rc-wp-article--solidarity .rc-wp-body :is(img, blockquote) {
    break-inside: avoid;
  }
}


/* Author attribution: readable on the dark masthead, photo slot is
   intentionally a monogram until a licensed LinkedIn headshot is obtained. */
.rc-wp-article--solidarity .rc-wp-solidarity-author{
  display:flex;align-items:center;gap:18px;margin:0 0 34px;
  padding:18px 0;border-top:1px solid rgba(220,255,245,.23);
  border-bottom:1px solid rgba(220,255,245,.23);
}
.rc-wp-article--solidarity .rc-wp-solidarity-author__mark{
  flex:none;width:68px;height:68px;display:grid;place-items:center;
  border-radius:50%;border:2px solid rgba(181,250,232,.75);
  background:rgba(189,249,230,.12);color:#d2fff1;
  font-weight:800;letter-spacing:.07em;font-size:1.35rem;
}
.rc-wp-article--solidarity .rc-wp-solidarity-author__portrait{
  flex:none;width:68px;height:68px;display:block;
  border:2px solid rgba(181,250,232,.75);border-radius:50%;
  object-fit:cover;background:#d9e8e5;
}
.rc-wp-article--solidarity .rc-wp-solidarity-author__details{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  color:#dfefeb;font-size:.9rem;line-height:1.55;
}
.rc-wp-article--solidarity .rc-wp-solidarity-author__eyebrow{
  font-size:.68rem;font-weight:800;letter-spacing:.16em;color:#a7eadd;
}
.rc-wp-article--solidarity .rc-wp-solidarity-author__details strong{
  font-size:1.2rem;color:white;line-height:1.35;
}
.rc-wp-article--solidarity .rc-wp-solidarity-author__details a{
  color:#b4fce8;font-weight:700;margin-top:4px;
  text-decoration:underline;text-underline-offset:4px;
}
.rc-wp-article--solidarity .rc-wp-solidarity-afterword{
  margin:80px auto 0;max-width:1100px;padding:clamp(25px,4vw,55px);
  border:1px solid #cbded8;background:#f0f8f5;border-radius:18px;color:#163c38;
}
.rc-wp-article--solidarity .rc-wp-solidarity-afterword__label{
  display:block;font-size:.7rem;letter-spacing:.12em;font-weight:800;color:#13766a;
}
.rc-wp-article--solidarity .rc-wp-solidarity-afterword h2{
  font-size:clamp(1.4rem,2.7vw,2.2rem);line-height:1.35;margin:12px 0;
}
.rc-wp-article--solidarity .rc-wp-solidarity-afterword p{
  line-height:1.7;max-width:700px;margin-bottom:22px;
}
.rc-wp-article--solidarity .rc-wp-solidarity-afterword a{
  display:inline-flex;align-items:center;gap:12px;min-height:44px;
  border-radius:8px;background:#175b53;color:white;
  padding:11px 18px;font-weight:700;text-decoration:none;
}
.rc-wp-article--solidarity .rc-wp-solidarity-afterword a:hover{background:#0c4841}
@media(max-width:600px){
 .rc-wp-article--solidarity .rc-wp-solidarity-author__mark,
 .rc-wp-article--solidarity .rc-wp-solidarity-author__portrait{width:55px;height:55px;font-size:1.05rem}
 .rc-wp-article--solidarity .rc-wp-solidarity-author{gap:13px}
 .rc-wp-article--solidarity .rc-wp-solidarity-afterword{margin-top:50px}
}
