/* ==========================================================================
   PS 2026 — article (single post) and insights archive
   Loads on top of ps-home-2026.css, so tokens, nav, buttons and footer match.
   ========================================================================== */

/* ---------- article hero ---------- */
.ahero{
  position:relative;background:var(--paper);
  padding-block:clamp(130px,14vw,170px) clamp(28px,4vw,44px);
  overflow:hidden;
}
.ahero::after{
  content:"";position:absolute;top:16%;right:-2%;width:min(380px,38vw);aspect-ratio:1.3;
  pointer-events:none;opacity:.45;
  background-image:radial-gradient(var(--orange) 1.6px,transparent 1.6px);
  background-size:22px 22px;
  mask-image:radial-gradient(ellipse at 70% 40%,#000 10%,transparent 72%);
  -webkit-mask-image:radial-gradient(ellipse at 70% 40%,#000 10%,transparent 72%);
}
.ahero__in{position:relative;z-index:2;max-width:800px;}
.ahero h1{
  font-size:clamp(2rem,4.6vw,3.4rem);
  line-height:1.04;letter-spacing:-.03em;margin-top:16px;
}
.ameta{
  display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center;
  margin-top:clamp(20px,2.6vw,28px);padding-top:20px;border-top:1px solid var(--line);
  font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:600;
}
.ameta b{color:var(--text);font-weight:700;}

/* ---------- cover ---------- */
.acover{margin-block:clamp(24px,3vw,40px);border-radius:var(--r-lg);overflow:hidden;border:1px solid var(--line);}
.acover img{width:100%;aspect-ratio:16/8;object-fit:cover;display:block;}

/* ---------- prose ---------- */
.prose{max-width:72ch;margin-inline:auto;font-size:1.06rem;line-height:1.75;color:var(--text);}
.prose > * + *{margin-top:1.15em;}
.prose h2{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.45rem,2.6vw,2rem);line-height:1.15;letter-spacing:-.025em;
  margin-top:2.2em;margin-bottom:.1em;color:var(--text);
}
.prose h3{
  font-family:var(--font-display);font-weight:700;
  font-size:clamp(1.12rem,1.8vw,1.32rem);letter-spacing:-.015em;
  margin-top:1.8em;margin-bottom:.1em;color:var(--text);
}
.prose p{color:var(--text);}
.prose strong{font-weight:700;color:var(--text);}
.prose a{color:var(--orange-deep);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.prose a:hover{color:var(--orange);}
.prose ul,.prose ol{padding-left:1.25em;}
.prose li{margin-top:.5em;}
.prose li::marker{color:var(--orange);}
.prose blockquote{
  margin-block:1.6em;padding:clamp(20px,2.4vw,28px);
  background:var(--paper-2);border-left:3px solid var(--orange);border-radius:0 var(--r-md) var(--r-md) 0;
  font-family:var(--font-accent);font-style:italic;font-size:1.12rem;line-height:1.5;color:var(--text);
}
.prose blockquote p{margin:0;}
.prose hr{border:0;border-top:1px solid var(--line);margin-block:2.4em;}
.prose figure{margin-block:1.8em;}
.prose img{border-radius:var(--r-md);border:1px solid var(--line);}
.prose figcaption{margin-top:10px;font-size:.85rem;color:var(--muted);text-align:center;}

/* key-takeaway panel */
.prose .kbox{
  background:var(--ink);color:var(--text-inv);border-radius:var(--r-lg);
  padding:clamp(24px,3vw,34px);margin-block:2em;
}
.prose .kbox h3{color:var(--text-inv);margin-top:0;}
.prose .kbox p,.prose .kbox li{color:var(--muted-inv);}
.prose .kbox li::marker{color:var(--gold-lite);}

/* ---------- article CTA ---------- */
.acta{
  max-width:72ch;margin:clamp(40px,5vw,64px) auto 0;
  background:var(--ink);color:var(--text-inv);
  border-radius:var(--r-lg);padding:clamp(28px,3.6vw,44px);text-align:center;
  position:relative;overflow:hidden;
}
.acta h2{font-size:clamp(1.4rem,2.6vw,1.95rem);letter-spacing:-.025em;color:var(--text-inv);}
.acta p{margin-top:12px;color:var(--muted-inv);max-width:46ch;margin-inline:auto;}
.acta .btn{margin-top:24px;}

/* ---------- related / archive cards ---------- */
.alist{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px);}
.acard{
  background:var(--white);border:1px solid var(--line);border-radius:var(--r-md);overflow:hidden;
  display:flex;flex-direction:column;
  transition:transform .45s var(--ease),box-shadow .45s var(--ease);
}
.acard:hover{transform:translateY(-6px);box-shadow:0 28px 54px -32px rgba(0,0,0,.36);}
.acard__img{aspect-ratio:16/10;overflow:hidden;background:var(--paper-2);}
.acard__img img{width:100%;height:100%;object-fit:cover;transition:transform .9s var(--ease);}
.acard:hover .acard__img img{transform:scale(1.07);}
.acard__b{padding:24px 24px 28px;display:flex;flex-direction:column;gap:12px;flex:1;}
.acard__k{font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:700;}
.acard h3{font-size:1.11rem;line-height:1.3;letter-spacing:-.01em;color:var(--text);}
.acard p{font-size:.92rem;color:var(--muted);}
.acard__go{margin-top:auto;padding-top:6px;font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text);}
.acard:hover .acard__go{color:var(--orange);}
@media (max-width:980px){.alist{grid-template-columns:repeat(2,1fr);}}
@media (max-width:640px){.alist{grid-template-columns:1fr;}}

/* ---------- pagination ---------- */
.apag{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:clamp(36px,4vw,56px);}
.apag .page-numbers{
  min-width:44px;height:44px;display:grid;place-items:center;padding:0 14px;
  border:1px solid var(--line);border-radius:var(--r-sm);
  font-weight:600;font-size:.92rem;color:var(--text);transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease);
}
.apag .page-numbers:hover{border-color:var(--text);}
.apag .page-numbers.current{background:var(--orange);border-color:var(--orange);color:#fff;}
