.tpm-archive {
  --tpm-navy: #17365d;
  --tpm-blue: #286090;
  --tpm-ink: #253858;
  --tpm-muted: #66788a;
  --tpm-line: #dfe6ec;
  --tpm-panel: #f7f8fa;
  max-width: 1120px;
  margin: 0 auto;
  color: var(--tpm-ink);
  font-family: inherit;
}
.tpm-archive *,
.tpm-archive *::before,
.tpm-archive *::after { box-sizing: border-box; }
.tpm-hero { padding: 64px 26px 56px; text-align: center; background: #fff; }
.tpm-hero__eyebrow,
.tpm-kicker { margin: 0 0 10px; color: var(--tpm-blue); font-size: 12px; font-weight: 700; letter-spacing: .16em; line-height: 1.4; }
.tpm-hero__title { margin: 0; color: var(--tpm-navy); font-size: clamp(28px, 3.6vw, 42px); font-weight: 700; letter-spacing: .02em; line-height: 1.35; }
.tpm-hero__headline { margin: 22px 0 0; color: var(--tpm-ink); font-size: clamp(20px, 2.3vw, 28px); font-weight: 700; line-height: 1.55; }
.tpm-hero__copy { margin: 14px auto 0; max-width: 760px; color: var(--tpm-muted); font-size: 15px; line-height: 1.9; }
.tpm-section { padding: 58px 42px; }
.tpm-section--latest { background: var(--tpm-panel); }
.tpm-section--themes { background: #fff; }
.tpm-section--platforms { text-align: center; background: var(--tpm-panel); }
.tpm-section__heading { margin: 0 auto 30px; max-width: 760px; text-align: center; }
.tpm-section__heading h2 { margin: 0; color: var(--tpm-navy); font-size: clamp(24px, 2.7vw, 32px); font-weight: 700; line-height: 1.45; }
.tpm-section__heading h2::after { content: ''; display: block; width: 32px; height: 2px; margin: 15px auto 0; background: var(--tpm-blue); }
.tpm-section__heading p:not(.tpm-kicker) { margin: 15px 0 0; color: var(--tpm-muted); font-size: 15px; line-height: 1.8; }
.tpm-latest-card { max-width: 900px; margin: 0 auto; padding: 38px 42px; background: #fff; border: 1px solid var(--tpm-line); box-shadow: 0 8px 28px rgba(23,54,93,.05); }
.tpm-latest-card__number,
.tpm-compact-card__number { margin: 0 0 9px; color: var(--tpm-blue); font-size: 12px; font-weight: 700; letter-spacing: .1em; }
.tpm-latest-card h3 { margin: 0; color: var(--tpm-navy); font-size: clamp(22px, 2.5vw, 30px); line-height: 1.5; }
.tpm-latest-card > p { margin: 18px 0 0; font-size: 16px; line-height: 1.9; }
.tpm-latest-card__links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 26px; }
.tpm-button { display: inline-flex; align-items:center; justify-content:center; min-height: 48px; padding: 12px 20px; border: 1px solid transparent; text-decoration:none!important; font-size: 15px; font-weight:700; line-height:1.4; transition: transform .2s ease, background-color .2s ease, border-color .2s ease; }
.tpm-button:hover { transform: translateY(-1px); }
.tpm-button--primary { background: var(--tpm-navy); border-color: var(--tpm-navy); color:#fff!important; }
.tpm-button--primary:hover { background: var(--tpm-blue); border-color: var(--tpm-blue); }
.tpm-button--secondary { background:#fff; border-color:var(--tpm-navy); color:var(--tpm-navy)!important; }
.tpm-button--secondary:hover { background:#edf3f8; }
.tpm-followup { max-width: 900px; margin: 42px auto 0; }
.tpm-followup h3 { margin: 0 0 16px; color:var(--tpm-navy); font-size:20px; font-weight:700; }
.tpm-followup__grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.tpm-compact-card { padding:24px; background:#fff; border:1px solid var(--tpm-line); }
.tpm-compact-card h4 { margin:0; color:var(--tpm-navy); font-size:18px; line-height:1.6; }
.tpm-compact-card__summary { margin:12px 0 0; color:var(--tpm-ink); font-size:14px; line-height:1.8; }
.tpm-compact-card > a { display:inline-block; margin-top:16px; color:var(--tpm-blue); font-size:14px; font-weight:700; text-decoration:none; }
.tpm-theme-list { max-width:900px; margin:0 auto; border-top:1px solid var(--tpm-line); }
.tpm-theme { border-bottom:1px solid var(--tpm-line); background:#fff; }
.tpm-theme summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 18px; color:var(--tpm-navy); cursor:pointer; font-size:18px; font-weight:700; list-style:none; }
.tpm-theme summary::-webkit-details-marker { display:none; }
.tpm-theme summary::after { content:'+'; flex:0 0 auto; color:var(--tpm-blue); font-size:26px; font-weight:400; line-height:1; }
.tpm-theme[open] summary::after { content:'–'; }
.tpm-theme__count { flex:0 0 auto; color:var(--tpm-muted); font-size:12px; font-weight:700; letter-spacing:.08em; }
.tpm-theme__body { padding:0 18px 24px; }
.tpm-theme__description { margin:0; color:var(--tpm-muted); line-height:1.8; }
.tpm-theme__episodes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 22px; margin:18px 0 0; padding:0; list-style:none; }
.tpm-theme__episodes li { display:flex; gap:7px; align-items:flex-start; font-size:15px; line-height:1.65; }
.tpm-theme__episode-number { flex:0 0 auto; color:var(--tpm-blue); font-weight:700; }
.tpm-theme__episodes a { color:var(--tpm-ink); text-decoration:underline; text-underline-offset:3px; }
.tpm-platform-links { display:flex; justify-content:center; flex-wrap:wrap; gap:14px; }
.tpm-request { margin:30px 0 0; color:var(--tpm-muted); font-size:14px; line-height:1.8; }
.tpm-request a { display:inline-block; margin-left:8px; color:var(--tpm-blue); font-weight:700; text-decoration:underline; text-underline-offset:3px; }
@media (max-width: 767px) {
  .tpm-hero { padding:46px 20px 40px; }
  .tpm-section { padding:42px 20px; }
  .tpm-latest-card { padding:28px 22px; }
  .tpm-latest-card__links .tpm-button { width:100%; }
  .tpm-followup__grid,
  .tpm-theme__episodes { grid-template-columns:1fr; }
  .tpm-theme summary { padding:18px 0; font-size:16px; }
  .tpm-theme__body { padding:0 0 20px; }
  .tpm-platform-links .tpm-button { width:100%; }
}
