/*
Theme Name: Pub K
Theme URI: https://pub-k.org
Author: Lantern
Description: Custom block theme for Pub K — The Public Contracts & Grants Institute of Washington D.C. Built from the approved homepage design.
Version: 0.19.0
Requires at least: 6.6
Tested up to: 7.0
Requires PHP: 8.0
License: Proprietary
Text Domain: pubk
*/

/* ---------- Design tokens (PubKDesignSystem) ---------- */
:root {
  --navy: #0B2545;
  --navy-deep: #061229;
  --navy-mid: #13345C;
  --red: #C8102E;
  --red-deep: #9F0A22;
  --gold: #B89538;
  --gold-accessible: #8A6A1F; /* 5.05:1 on white, 4.63:1 on cream — passes AA normal text (audit C-10) */
  --gold-soft: #D9BA6F;
  --cream: #F8F5EE;
  --cream-soft: #FBFAF6;
  --paper: #FFFFFF;
  --ink: #111827;
  --ink-soft: #2A2D34;
  --gray: #6B6B6B;
  --gray-light: #D4D0C7;
  --line: #E5E1D6;
  --on-navy-body: #C8D2E0;
  --on-navy-muted: #A8B4C7;
  --on-navy-faint: #8191A9;
  --brief-protests: #2B5C8A;
  --brief-cyber: #3E7A4E;
  --brief-compliance: #C8102E;
  --brief-transforming: #5B6470;
  --serif: 'Newsreader', Georgia, serif;
  --sans: 'Public Sans', 'Helvetica Neue', Arial, sans-serif;
  --container-max: 1280px;
  --container-pad: 32px;
}

body {
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 380;
  line-height: 1.55;
  color: var(--ink-soft);
  margin: 0;
}

/* ---------- Type helpers ---------- */
h1, h2, h3, h4, h5, h6 {
  font-family: var(--serif);
  font-weight: 380;
  letter-spacing: -0.02em;
  margin: 0;
}

.pubk-eyebrow {
  font-family: var(--sans);
  font-size: 11px !important;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  font-weight: 700;
  color: var(--red);
  display: inline-flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 22px;
}
.pubk-eyebrow::before {
  content: "";
  width: 36px;
  height: 1px;
  background: currentColor;
  opacity: 0.6;
  display: inline-block;
}
.pubk-on-dark .pubk-eyebrow { color: var(--gold-soft); }

.pubk-h-section {
  font-size: clamp(30px, 3.2vw, 44px) !important;
  line-height: 1.1;
  color: var(--ink);
}
.pubk-h-section em, .pubk-h-hero em { font-style: italic; font-weight: 300; color: var(--navy); }
.pubk-on-dark .pubk-h-section, .pubk-on-dark h2, .pubk-on-dark h3 { color: #fff; }
.pubk-on-dark .pubk-h-section em, .pubk-on-dark h2 em, .pubk-on-dark h3 em { color: var(--gold-soft); }

.pubk-lede { font-size: 17px; line-height: 1.65; color: var(--ink-soft); }
.pubk-on-dark .pubk-lede { color: var(--on-navy-body); font-weight: 300; }

.pubk-serif-italic { font-family: var(--serif); font-style: italic; }

/* ---------- Buttons ---------- */
.pubk-comm-btn,
.pubk-brief-btn,
.pubk-magr-btn,
.pubk-btn .wp-block-button__link,
.pubk-btn-outline .wp-block-button__link,
.pubk-btn-outline-light .wp-block-button__link,
.pubk-btn-outline-dark .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 15px 26px;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  border-radius: 0;
  transition: background-color 0.25s, color 0.25s, border-color 0.25s;
  text-decoration: none;
}
.pubk-btn .wp-block-button__link { background: var(--red); color: #fff; }
.pubk-btn .wp-block-button__link:hover { background: var(--red-deep); color: #fff; }
.pubk-btn-outline .wp-block-button__link,
.pubk-btn-outline-light .wp-block-button__link {
  background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, 0.4);
}
.pubk-btn-outline .wp-block-button__link:hover,
.pubk-btn-outline-light .wp-block-button__link:hover { border-color: #fff; color: #fff; }
.pubk-btn-outline-dark .wp-block-button__link {
  background: transparent; color: var(--navy); border: 1px solid rgba(11, 37, 69, 0.35);
}
.pubk-btn-outline-dark .wp-block-button__link:hover { border-color: var(--navy); }

.pubk-textlink {
  font-size: 12px !important;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-weight: 700;
}
.pubk-textlink a { color: var(--navy); text-decoration: none; }
.pubk-on-dark .pubk-textlink a { color: #fff; }

/* ---------- Utility bar ---------- */
.pubk-utility {
  background: var(--navy-deep);
  color: var(--on-navy-body);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 500;
}
.pubk-utility p { margin: 0; }
.pubk-utility a { color: var(--on-navy-body); text-decoration: none; }
.pubk-utility .pubk-announce { color: var(--gold-soft); font-weight: 600; }
.pubk-utility-sep { opacity: 0.4; }

/* ---------- Masthead ---------- */
.pubk-masthead {
  background: var(--cream-soft);
  border-bottom: 1px solid var(--line);
  position: relative;
  z-index: 120; /* above page-level sticky bars (Ask subnav = 100) so nav dropdowns paint over them */
}
.pubk-masthead::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 3px;
  background: linear-gradient(90deg, var(--navy) 0%, var(--navy) 33%, var(--red) 33%, var(--red) 66%, var(--gold) 66%, var(--gold) 100%);
}
.pubk-established {
  font-size: 11px !important;
  letter-spacing: 0.32em;
  color: var(--gray);
  text-transform: uppercase;
  font-weight: 600;
}
.pubk-nav { border-top: 1px solid var(--line); }
.pubk-nav .wp-block-navigation__container { gap: 0; }
.pubk-nav .wp-block-navigation-item__content {
  display: block;
  padding: 18px 22px;
  font-family: var(--sans);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--navy);
}
.pubk-nav .wp-block-navigation-item { border-right: 1px solid var(--line); }
.pubk-nav .wp-block-navigation-item:last-child { border-right: 0; }
.pubk-nav .wp-block-navigation-item__content:hover { background: var(--cream); }
.pubk-nav .wp-block-navigation__submenu-icon { margin-left: 8px; margin-right: 14px; }

/* ---------- Hero ---------- */
.pubk-hero {
  min-height: 76vh;
  border-radius: 0;
}
.pubk-hero .wp-block-cover__image-background { filter: saturate(0.92); object-position: center 30%; }
.pubk-hero .wp-block-cover__background {
  background: linear-gradient(rgba(6, 18, 41, 0.35) 0%, rgba(6, 18, 41, 0.45) 40%, rgba(6, 18, 41, 0.92) 100%),
    linear-gradient(90deg, rgba(11, 37, 69, 0.7) 0%, rgba(11, 37, 69, 0.1) 60%, rgba(11, 37, 69, 0) 100%) !important;
  opacity: 1 !important;
}
.pubk-hero .pubk-eyebrow { color: var(--gold-soft); font-size: 11px !important; letter-spacing: 0.32em; margin-bottom: 28px; }
.pubk-h-hero {
  font-size: clamp(44px, 6vw, 82px) !important;
  line-height: 1;
  letter-spacing: -0.025em;
  color: #fff;
  margin-bottom: 32px !important;
}
.pubk-h-hero em { color: var(--gold-soft); font-weight: 380; }
.pubk-hero-lede {
  font-size: clamp(17px, 1.4vw, 20px);
  line-height: 1.6;
  font-weight: 300;
  color: #E5E9F1;
  max-width: 660px;
  margin-bottom: 42px !important;
}

/* ---------- Weekly strip ---------- */
.pubk-weekly { background: var(--cream); border-bottom: 1px solid var(--line); }
.pubk-weekly-name {
  font-family: var(--serif);
  font-size: 26px !important;
  font-style: italic;
  font-weight: 460;
  color: var(--navy);
  letter-spacing: -0.01em;
  white-space: nowrap;
  padding-right: 28px;
  border-right: 1px solid var(--line);
}
.pubk-weekly-desc { font-size: 15px !important; color: var(--ink-soft); }
/* 0.12.4: gap between field and button so the focus outline is never covered (Patrick 08-24) */
.pubk-weekly-form { display: flex; gap: 10px; }
.pubk-weekly-form input[type="email"] {
  padding: 14px 18px; font-family: var(--sans); font-size: 14px;
  border: 1px solid var(--line); background: #fff; outline: none;
  border-radius: 0; width: 280px;
}
.pubk-weekly-form button {
  padding: 14px 26px; font-size: 12px; font-weight: 700; letter-spacing: 0.14em;
  text-transform: uppercase; background: var(--red); color: #fff; border: none;
  cursor: pointer; border-radius: 0; font-family: var(--sans);
}
.pubk-weekly-form button:hover { background: var(--red-deep); }
.pubk-weekly-form input[type="email"]:focus-visible {
  outline: 2px solid var(--navy);
  outline-offset: 2px;
}
/* On the navy weekly bands a navy outline is invisible — use gold there. */
.pubk-weekly.has-navy-background-color .pubk-weekly-form input[type="email"]:focus-visible { outline-color: var(--gold-soft); }

/* ---------- Section scaffolding ---------- */
.pubk-section-head { border-bottom: 1px solid var(--line); padding-bottom: 24px; margin-bottom: 36px; }
.pubk-on-dark .pubk-section-head { border-bottom-color: rgba(255, 255, 255, 0.12); }

/* ---------- Brief cards ---------- */
.pubk-card {
  background: var(--paper);
  padding: 28px 24px 24px;
  min-height: 280px;
  display: flex;
  flex-direction: column;
  transition: box-shadow 0.25s, transform 0.25s;
}
.pubk-card:hover { box-shadow: 0 12px 30px rgba(11, 37, 69, 0.08); transform: translateY(-2px); }
.pubk-card img { height: 44px; width: auto !important; align-self: flex-start; }
.pubk-card h3 {
  font-size: 22px !important; font-weight: 460; line-height: 1.15; letter-spacing: -0.015em;
  color: var(--ink); margin: 14px 0 12px !important;
}
.pubk-card > p { font-size: 13px; line-height: 1.55; color: var(--gray); margin: 0 0 auto; }
.pubk-card-protests { border-top: 4px solid var(--brief-protests); }
.pubk-card-cyber { border-top: 4px solid var(--brief-cyber); }
.pubk-card-compliance { border-top: 4px solid var(--brief-compliance); }
.pubk-card-transforming { border-top: 4px solid var(--brief-transforming); }
.pubk-card-foot {
  margin-top: 24px !important; padding-top: 16px; border-top: 1px solid var(--line);
  display: flex; justify-content: space-between; align-items: center;
}
.pubk-card-cadence { font-size: 10px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: var(--red); }
.pubk-card-sub { font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700; color: var(--navy); }

/* ---------- Dark sections ---------- */
.pubk-navy { background-color: var(--navy); }
.pubk-navy-deep { background-color: var(--navy-deep); }
.pubk-glow { position: relative; overflow: hidden; }
.pubk-glow::after {
  content: ""; position: absolute; top: -100px; right: -100px; width: 600px; height: 600px;
  background: radial-gradient(circle, rgba(184, 149, 56, 0.1) 0%, transparent 60%);
  pointer-events: none;
}
.pubk-glow > * { position: relative; z-index: 1; }

.pubk-photo-frame { position: relative; overflow: hidden; }
.pubk-photo-frame img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.92); display: block; }
.pubk-photo-frame::after {
  content: ""; position: absolute; inset: 0;
  background: linear-gradient(135deg, rgba(11, 37, 69, 0.1) 0%, rgba(11, 37, 69, 0.5) 100%);
  pointer-events: none;
}
.pubk-photo-badge {
  position: absolute; top: 24px; left: 24px; z-index: 2;
  background: var(--red); color: #fff; padding: 10px 16px;
  font-size: 11px !important; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700;
  margin: 0 !important;
}
.pubk-photo-caption {
  position: absolute; left: 0; bottom: 0; z-index: 2;
  background: var(--navy); color: #fff; padding: 16px 26px;
  font-family: var(--serif); font-size: 22px !important; font-style: italic; font-weight: 380;
  letter-spacing: -0.01em; margin: 0 !important;
}
.pubk-photo-caption b { font-weight: 460; font-style: normal; }

.pubk-event-date { font-family: var(--serif); font-size: 14px !important; font-style: italic; color: var(--gold-soft); margin-bottom: 8px !important; }
.pubk-h-feature { font-size: 48px !important; line-height: 1.05; letter-spacing: -0.02em; }
.pubk-meta-dots {
  display: flex; gap: 24px; flex-wrap: wrap;
  font-size: 13px !important; color: var(--gold-soft);
  text-transform: uppercase; letter-spacing: 0.12em; font-weight: 600;
}
.pubk-meta-dots span::before {
  content: ""; width: 6px; height: 6px; background: var(--gold); border-radius: 50%;
  display: inline-block; margin-right: 8px; vertical-align: 2px;
}

/* ---------- Ask panel ---------- */
.pubk-ask-panel {
  background: var(--navy);
  border-top: 4px solid var(--gold);
  padding: 40px 44px;
  position: relative;
  overflow: hidden;
}
.pubk-ask-panel::before {
  content: ""; position: absolute; top: -80px; right: -80px; width: 340px; height: 340px;
  background: radial-gradient(circle, rgba(184, 149, 56, 0.14) 0%, transparent 60%);
  pointer-events: none;
}
.pubk-ask-panel > * { position: relative; }
.pubk-ask-title { font-family: var(--serif); font-size: 24px !important; font-weight: 380; color: #fff; letter-spacing: -0.01em; }
.pubk-ask-title em { color: var(--gold-soft); }
.pubk-ask-input {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: rgba(0, 0, 0, 0.28); border: 1px solid rgba(255, 255, 255, 0.18);
  padding: 16px 18px;
}
.pubk-ask-input .prompt { font-size: 15px; color: var(--on-navy-muted); font-family: var(--serif); font-style: italic; }
.pubk-ask-input .arrow { color: var(--gold-soft); font-size: 15px; }
.pubk-ask-row { padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.12); }
.pubk-ask-row:last-of-type { border-bottom: 0; }
.pubk-ask-row .k {
  display: block; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase;
  font-weight: 700; color: var(--gold-soft); margin-bottom: 4px;
}
.pubk-ask-row .v { font-size: 13.5px; line-height: 1.55; color: var(--on-navy-body); }
.pubk-ask-foot {
  border-top: 1px solid rgba(255, 255, 255, 0.12); padding-top: 16px;
  display: flex; justify-content: space-between; align-items: center;
}
.pubk-ask-foot .members { font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; font-weight: 700; color: #fff; }
.pubk-ask-foot .modes { font-family: var(--serif); font-style: italic; font-size: 13px; color: var(--gold-soft); }

/* ---------- Job board ---------- */
.pubk-jobs-head {
  display: flex; justify-content: space-between; align-items: baseline;
  border-bottom: 2px solid var(--ink); padding-bottom: 14px; margin-bottom: 4px;
}
.pubk-jobs-head .k { font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase; font-weight: 700; color: var(--ink); }
.pubk-jobs-head .v { font-family: var(--serif); font-style: italic; font-size: 13px; color: var(--gray); }
.pubk-job-row {
  display: grid; grid-template-columns: 1fr auto; gap: 24px; align-items: center;
  padding: 22px 0; border-bottom: 1px solid var(--line);
  text-decoration: none; transition: padding-left 0.2s;
}
.pubk-job-row:hover { padding-left: 8px; }
.pubk-job-row .title { font-family: var(--serif); font-size: 21px; font-weight: 460; letter-spacing: -0.01em; color: var(--ink); line-height: 1.2; display: block; }
.pubk-job-row .org { font-size: 13px; color: var(--gray); display: block; margin-top: 5px; }
.pubk-job-row .arrow { font-size: 12px; color: var(--red); }
.pubk-job-row .see-all { font-family: var(--serif); font-style: italic; font-size: 16px; color: var(--navy); }
.pubk-smallprint { font-size: 13px !important; line-height: 1.5; color: var(--gray); }

/* ---------- Membership watermark ---------- */
.pubk-watermark { position: relative; overflow: hidden; }
.pubk-watermark::before {
  content: "Pub K"; position: absolute; left: -30px; bottom: -110px;
  font-family: var(--serif); font-size: 340px; font-weight: 300; font-style: italic;
  color: rgba(255, 255, 255, 0.024); line-height: 0.9; letter-spacing: -0.04em;
  pointer-events: none; user-select: none;
}
.pubk-watermark > * { position: relative; }

/* ---------- Footer ---------- */
.pubk-footer { background: var(--navy); color: var(--on-navy-body); }
.pubk-footer .pubk-footer-brand { color: #fff; font-family: var(--serif); font-size: 24px !important; font-weight: 460; letter-spacing: -0.01em; line-height: 1.2; margin: 0 0 24px; }
.pubk-footer .pubk-footer-brand em { color: var(--gold-soft); }
.pubk-footer .pubk-footer-heading {
  font-family: var(--sans); font-size: 11px !important; letter-spacing: 0.18em;
  text-transform: uppercase; font-weight: 700; color: #fff; margin-bottom: 20px !important;
}
.pubk-footer .pubk-footer-heading a { color: inherit; text-decoration: none; }
.pubk-footer-addr { font-size: 14px !important; line-height: 1.6; color: var(--on-navy-muted); }
.pubk-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.pubk-footer ul a { font-size: 14px; color: var(--on-navy-muted); text-decoration: none; }
.pubk-footer ul a:hover { color: #fff; }
.pubk-benefit-badge {
  font-size: 11px !important; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 700;
  color: var(--gold-soft);
  border-top: 1px solid rgba(255, 255, 255, 0.15); border-bottom: 1px solid rgba(255, 255, 255, 0.15);
  display: inline-block; padding: 8px 14px;
  margin: 22px 0 0 !important; /* 0.12.4: air between the badge and the address above (Patrick 08-24) */
}
.pubk-footer-bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 12px; color: var(--on-navy-faint); }
.pubk-footer-bottom p { margin: 0; }
.pubk-social a {
  width: 34px; height: 34px; border: 1px solid rgba(255, 255, 255, 0.2); border-radius: 50%;
  display: inline-flex; align-items: center; justify-content: center;
  font-size: 12px; color: var(--on-navy-body); text-decoration: none; margin-left: 12px;
}
.pubk-social a:hover { border-color: var(--gold-soft); color: var(--gold-soft); }

/* ---------- Layout helpers ---------- */
.pubk-container { max-width: 1216px; margin: 0 auto; width: 100%; }
.pubk-hero-content { max-width: 840px; }
.pubk-hero .wp-block-cover__inner-container { width: 100%; }
.wp-block-image { margin: 0; }
.pubk-h480 { height: 480px; }
.pubk-h420 { height: 420px; }
.pubk-photo-frame .wp-block-image, .pubk-photo-frame figure { margin: 0; height: 100%; }
.pubk-ask-panel { display: flex; flex-direction: column; gap: 22px; }
.pubk-ask-panel p { margin: 0; }
.pubk-ask-row p, .pubk-ask-foot p, .pubk-card-foot p, .pubk-weekly p, .pubk-utility p { margin: 0; }
.pubk-ask-foot { display: flex; justify-content: space-between; align-items: center; }
.pubk-meta-dots { margin-bottom: 24px !important; }
.pubk-card p { margin: 0; }
.pubk-card h3 { margin: 14px 0 12px; }
.pubk-section-head .pubk-lede { margin-bottom: 18px; }

/* ---------- Precision pass (measured against design reference 2026-08-02) ---------- */
.pubk-h-section { margin-bottom: 20px; }
.pubk-section-head .pubk-h-section { margin-bottom: 0; }
.pubk-h-feature { margin-bottom: 20px; }
.pubk-lede + .wp-block-buttons { margin-top: 32px; }
.wp-block-buttons + .pubk-smallprint { margin-top: 18px; }
.pubk-card > p { margin-bottom: auto; }
.wp-block-buttons { gap: 12px; }
.pubk-hero .wp-block-buttons, .pubk-watermark .wp-block-buttons { gap: 16px; }
.pubk-hero .wp-block-button__link, .pubk-watermark .wp-block-button__link {
  font-size: 13px;
  padding: 16px 32px;
}
.pubk-watermark .pubk-h-section { font-size: clamp(30px, 3.2vw, 42px) !important; margin-bottom: 16px; }
.pubk-masthead .wp-block-image { margin-bottom: 22px; }

/* ---------- Responsive fixes ---------- */
@media (max-width: 781px) {
  .pubk-weekly > .wp-block-group,
  .pubk-weekly > .wp-block-group > .wp-block-group {
    align-items: stretch !important;
    flex-direction: column;
    gap: 16px !important;
    width: 100%;
  }

  .pubk-weekly-name {
    border-bottom: 1px solid var(--line);
    border-right: 0;
    padding-bottom: 12px;
    padding-right: 0;
    white-space: normal;
  }

  .pubk-weekly-form {
    min-width: 0;
    width: 100%;
  }

  .pubk-weekly-form input[type="email"] {
    flex: 1 1 auto;
    min-width: 0;
    width: auto;
  }

  .pubk-weekly-form button {
    flex: 0 0 auto;
    min-height: 44px;
    padding-left: 16px;
    padding-right: 16px;
  }
}

@media (max-width: 480px) {
  .pubk-weekly-form { flex-direction: column; }
  .pubk-weekly-form input[type="email"] {
    box-sizing: border-box;
    width: 100%;
  }
  .pubk-weekly-form button { width: 100%; }
}

/* ---------- About page ---------- */
.pubk-about-intro,
.pubk-about-pillars,
.pubk-about-community { background: var(--cream); }

.pubk-about-intro { position: relative; overflow: hidden; }
.pubk-about-intro::before {
  content: "";
  position: absolute;
  top: -160px;
  right: -160px;
  width: 560px;
  height: 560px;
  background: radial-gradient(circle, rgba(184, 149, 56, 0.07) 0%, transparent 62%);
  pointer-events: none;
}
.pubk-about-intro > * { position: relative; }
.pubk-about-intro .pubk-section-head {
  align-items: flex-end;
  gap: 48px;
}
.pubk-about-title { max-width: 760px; }
.pubk-about-intro .pubk-h-section, .pubk-about-pillars .pubk-h-section, .pubk-about-history .pubk-h-section,
.pubk-about-audience .pubk-h-section, .pubk-about-community .pubk-h-section, .pubk-about-credentials .pubk-h-section,
.pubk-about-standards .pubk-h-section { font-size: clamp(36px, calc(27px + 2.3vw), 60px) !important; }
.pubk-about-community .pubk-h-section { font-size: clamp(32px, calc(26px + 1.53vw), 48px) !important; }
.pubk-about-join .pubk-h-section { font-size: clamp(38px, calc(29.1px + 2.29vw), 62px) !important; }
.pubk-about-intro .pubk-about-lede { margin-left: max(0px, calc((100% - 1216px) / 2)) !important; margin-right: auto !important; }
.pubk-about-lede {
  font-family: var(--serif);
  font-size: clamp(26px, 2.6vw, 36px) !important;
  font-weight: 380;
  line-height: 1.32;
  letter-spacing: -0.02em;
  color: var(--navy);
  margin: 0;
}
.pubk-about-lede em { color: var(--red); font-style: italic; }
.pubk-about-body p {
  font-size: 17px;
  line-height: 1.72;
  margin: 0 0 20px;
}
.pubk-about-body p:last-child { margin-bottom: 0; }
.pubk-about-body strong { color: var(--ink); font-weight: 600; }

.pubk-about-credentials {
  background: var(--navy-deep);
  color: #fff;
  position: relative;
  overflow: hidden;
}
.pubk-about-credentials::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 3px;
  background: linear-gradient(90deg, var(--navy) 0 33%, var(--red) 33% 66%, var(--gold) 66% 100%);
}
.pubk-about-credentials-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}
.pubk-about-credential {
  min-width: 0;
  padding: 54px 22px;
  text-align: center;
  border-right: 1px solid rgba(255, 255, 255, 0.1);
}
.pubk-about-credential:last-child { border-right: 0; }
.pubk-about-credential p { margin: 0; }
.pubk-about-credential strong {
  display: block;
  font-family: var(--serif);
  font-size: clamp(30px, 3.4vw, 46px);
  font-style: italic;
  font-weight: 380;
  line-height: 1;
  letter-spacing: -0.02em;
  margin-bottom: 14px;
}
.pubk-about-credential span {
  display: block;
  color: var(--gold-soft);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  line-height: 1.4;
  text-transform: uppercase;
}

.pubk-about-pillars { position: relative; overflow: hidden; }
.pubk-about-pillar-list { border-top: 1px solid var(--line); }
.pubk-about-pillar-row {
  align-items: flex-start !important;
  border-bottom: 1px solid var(--line);
  gap: 40px;
  margin: 0;
  padding: 44px 0;
}
.pubk-about-pillar-num {
  color: var(--gold);
  font-family: var(--serif);
  font-size: 46px;
  font-style: italic;
  font-weight: 300;
  line-height: 1;
}
.pubk-about-pillar-num .has-gold-color { color: var(--gold-accessible) !important; }
.pubk-about-pillar-row h3 {
  color: var(--ink);
  font-size: 28px !important;
  font-weight: 460;
  line-height: 1.12;
}
.pubk-about-pillar-row h3 em { color: var(--navy); font-style: italic; }
.pubk-about-pillar-body p { font-size: 15.5px; line-height: 1.7; margin: 0 0 14px; }
.pubk-about-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.pubk-about-tags span {
  background: var(--paper);
  border: 1px solid var(--line);
  color: var(--navy);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  padding: 5px 11px;
  text-transform: uppercase;
}

.pubk-about-audience { background: var(--paper); }
.pubk-about-standards { background: var(--cream-soft); }
.pubk-about-audience-grid,
.pubk-about-standards-grid { gap: 24px; }
.pubk-about-card {
  background: var(--cream-soft);
  border-top: 4px solid var(--navy);
  padding: 44px 36px;
  transition: background-color 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
}
.pubk-about-audience-grid .pubk-about-card:nth-child(2),
.pubk-about-standards-grid .pubk-about-card:nth-child(2) { border-top-color: var(--red); }
.pubk-about-audience-grid .pubk-about-card:nth-child(3),
.pubk-about-standards-grid .pubk-about-card:nth-child(3) { border-top-color: var(--gold); }
.pubk-about-card:hover { background: #fff; box-shadow: 0 20px 40px rgba(11, 37, 69, 0.1); transform: translateY(-4px); }
.pubk-about-card-eyebrow {
  color: var(--red);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin: 0 0 18px;
  text-transform: uppercase;
}
.pubk-about-card h3 {
  color: var(--ink);
  font-size: 26px !important;
  font-weight: 460;
  line-height: 1.18;
  margin-bottom: 16px;
}
.pubk-about-standards-grid .pubk-about-card h3 { font-size: 24px !important; }
.pubk-about-card p:last-child { color: var(--gray); font-size: 15px; line-height: 1.65; margin-bottom: 0; }

.pubk-about-history,
.pubk-about-join { background: var(--navy); }
.pubk-about-history .pubk-about-lede { color: #fff; max-width: 900px; }
.pubk-about-history .pubk-about-lede em { color: var(--gold-soft); }

.pubk-about-community { position: relative; overflow: hidden; }
.pubk-about-community-photo {
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
}
.pubk-about-community-photo img { height: 100%; object-fit: cover; object-position: 22% 50%; width: 100%; }
.pubk-about-community-tag {
  background: var(--navy-deep);
  color: #fff;
  font-family: var(--serif);
  font-size: 22px;
  font-style: italic;
  margin: 0;
  padding: 18px 28px;
}
.pubk-about-community-tag strong {
  color: var(--gold-soft);
  display: block;
  font-family: var(--sans);
  font-size: 11px;
  font-style: normal;
  letter-spacing: 0.2em;
  margin-bottom: 4px;
  text-transform: uppercase;
}
.pubk-about-community-copy > p { font-size: 16.5px; line-height: 1.7; }
/* WP's layout-flow reset zeroes block margins here; restore the mock's paragraph gap. */
.pubk-about-community-copy > p + p { margin-top: 22px; }
.pubk-about-quote {
  border: 0;
  border-top: 1px solid var(--line);
  color: var(--navy);
  font-family: var(--serif);
  font-size: 20px;
  font-style: italic;
  line-height: 1.45;
  margin: 24px 0 0;
  padding: 24px 0 0;
}
.pubk-about-quote cite {
  color: var(--red);
  display: block;
  font-family: var(--sans);
  font-size: 11px;
  font-style: normal;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin-top: 14px;
  text-transform: uppercase;
}

.pubk-about-join .pubk-lede { color: var(--on-navy-body); }
.pubk-about-benefits {
  background: rgba(255, 255, 255, 0.035);
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-top: 3px solid var(--gold);
  padding: 40px 38px;
}
.pubk-about-benefits h3 {
  color: var(--gold-soft);
  font-family: var(--sans);
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin-bottom: 22px;
  text-transform: uppercase;
}
.pubk-about-benefits ul { list-style: none; margin: 0; padding: 0; }
.pubk-about-benefits li {
  color: #E5E9F1;
  font-size: 15px;
  font-weight: 300;
  line-height: 1.5;
  margin-bottom: 14px;
  padding-left: 24px;
  position: relative;
}
.pubk-about-benefits li::before {
  color: var(--gold-soft);
  content: "✓";
  font-weight: 700;
  left: 0;
  position: absolute;
  top: 0;
}

@media (max-width: 1100px) {
  .pubk-about-credentials-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pubk-about-credential { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
  .pubk-about-credential:nth-child(even) { border-right: 0; }
  .pubk-about-credential:last-child { grid-column: 1 / -1; }
  .pubk-about-audience-grid,
  .pubk-about-standards-grid { flex-direction: column; }
}

@media (max-width: 781px) {
  .pubk-about-intro-grid,
  .pubk-about-community-grid,
  .pubk-about-join-grid { flex-direction: column; gap: 36px !important; }
  .pubk-about-intro-grid > .wp-block-column,
  .pubk-about-community-grid > .wp-block-column,
  .pubk-about-join-grid > .wp-block-column {
    box-sizing: border-box;
    flex-basis: auto !important;
    max-width: 100%;
    min-width: 0;
    width: 100%;
  }
  .pubk-about-join-grid .wp-block-buttons,
  .pubk-about-join-grid .wp-block-button { max-width: 100%; width: 100%; }
  .pubk-about-join-grid .wp-block-button__link { box-sizing: border-box; width: 100%; }
  .pubk-about-pillar-row { flex-direction: column; gap: 12px; padding: 32px 0; }
  .pubk-about-pillar-row > * { flex-basis: auto !important; }
  .pubk-about-pillar-num { font-size: 34px; }
  .pubk-about-card { padding: 34px 28px; }
  .pubk-about-benefits { box-sizing: border-box; padding: 32px 28px; }
}

@media (max-width: 480px) {
  .pubk-about-credentials-grid { grid-template-columns: 1fr; }
  .pubk-about-credential,
  .pubk-about-credential:nth-child(even) { border-right: 0; padding: 36px 20px; }
}

/* ---------- Publications page ---------- */
.pubk-publications { overflow: clip; }

.pubk-publications .pubk-publications-hero {
  border-bottom: 1px solid var(--line);
  overflow: hidden;
  position: relative;
}
.pubk-publications .pubk-publications-hero::before {
  background: radial-gradient(circle, rgba(184, 149, 56, 0.14) 0%, transparent 62%);
  content: "";
  height: 620px;
  pointer-events: none;
  position: absolute;
  right: -140px;
  top: -160px;
  width: 620px;
}
.pubk-publications .pubk-publications-hero > * { position: relative; }
.pubk-publications .pubk-publications-hero-title {
  margin-left: max(0px, calc((100% - 1216px) / 2)) !important; margin-right: auto !important;
  font-size: clamp(40px, 5vw, 68px) !important;
  font-weight: 400;
  letter-spacing: -0.015em;
  line-height: 1.04;
  max-width: 980px;
}
.pubk-publications .pubk-publications-hero-title em { color: var(--navy); font-style: italic; }
.pubk-publications .pubk-publications-hero-sub {
  margin-left: max(0px, calc((100% - 1216px) / 2)) !important; margin-right: auto !important;
  font-size: 19px;
  font-weight: 340;
  line-height: 1.55;
  margin-top: 24px;
  max-width: 680px;
}

.pubk-publications .pubk-publications-label,
.pubk-publications .pubk-publications-feature-label {
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: 0.24em;
  margin: 0 0 24px;
  text-transform: uppercase;
}
.pubk-publications .pubk-publications-briefings {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 64px;
}
.pubk-publications .pubk-publications-card {
  background: var(--paper);
  border-top: 4px solid var(--navy);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin: 0;
  min-width: 0;
  padding: 0 24px 24px;
}
.pubk-publications .pubk-publications-card-cyber { border-top-color: var(--brief-cyber); }
.pubk-publications .pubk-publications-card-compliance { border-top-color: var(--gold); }
.pubk-publications .pubk-publications-card-transform { border-top-color: var(--brief-transforming); }
.pubk-publications .pubk-publications-logo {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: flex;
  height: 96px;
  justify-content: center;
  margin: 0 -24px 18px;
  overflow: hidden;
}
.pubk-publications .pubk-publications-logo img {
  height: auto;
  max-height: 74px;
  object-fit: contain;
  width: 76%;
}
.pubk-publications .pubk-publications-card h3 {
  font-size: 22px !important;
  line-height: 1.2;
  margin: 0 0 12px;
}
.pubk-publications .pubk-publications-card > p {
  font-size: 13px;
  line-height: 1.55;
  margin: 0 0 24px;
}
.pubk-publications .pubk-publications-card-foot {
  border-top: 1px solid var(--line);
  margin-top: auto;
  padding-top: 16px;
  width: 100%;
}
.pubk-publications .pubk-publications-card-foot p { margin: 0; }
.pubk-publications .pubk-publications-frequency,
.pubk-publications .pubk-publications-card-link {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
}
.pubk-publications .pubk-publications-card-link a { color: var(--navy); text-decoration: none; }

.pubk-publications .pubk-publications-monthly { margin-bottom: 64px; }
.pubk-publications .pubk-publications-feature-head { margin-bottom: 18px; }
.pubk-publications .pubk-publications-feature-head > * { margin-bottom: 0; }
.pubk-publications .pubk-publications-coming { font-size: 13px; font-style: italic; }
.pubk-publications .pubk-publications-monthly-grid { gap: 40px; margin: 0; max-width: 980px; }
.pubk-publications .pubk-publications-cover {
  aspect-ratio: 3 / 4;
  background: var(--navy-deep);
  box-shadow: 0 12px 26px rgba(6, 18, 41, 0.22);
  margin: 8px;
  overflow: hidden;
  position: relative;
  transform: rotate(-2deg);
}
.pubk-publications .pubk-publications-cover::after {
  background: linear-gradient(180deg, rgba(6, 18, 41, 0.45), rgba(6, 18, 41, 0.92));
  content: "";
  inset: 0;
  position: absolute;
}
.pubk-publications .pubk-publications-cover-photo,
.pubk-publications .pubk-publications-cover-photo img {
  height: 100%;
  margin: 0;
  object-fit: cover;
  width: 100%;
}
.pubk-publications .pubk-publications-cover-content {
  inset: 0;
  padding: 20px;
  position: absolute;
  z-index: 1;
}
.pubk-publications .pubk-publications-cover-content p { margin: 0; }
.pubk-publications .pubk-publications-cover-title { font-size: 31px; line-height: 0.95; }
.pubk-publications .pubk-publications-cover-title em { color: var(--gold-soft); }
.pubk-publications .pubk-publications-cover-meta {
  display: flex;
  font-size: 9px;
  justify-content: space-between;
  letter-spacing: 0.18em;
  margin-top: 22px !important;
  text-transform: uppercase;
}
.pubk-publications .pubk-publications-cover-lines {
  bottom: 20px;
  font-size: 10px;
  line-height: 1.7;
  position: absolute;
}
.pubk-publications .pubk-publications-monthly-copy h3 {
  font-size: clamp(26px, 3vw, 36px) !important;
  line-height: 1.12;
  margin-bottom: 16px;
  max-width: 760px;
}
.pubk-publications .pubk-publications-monthly-copy > p { max-width: 760px; }
.pubk-publications .pubk-publications-monthly-stats {
  border-top: 1px solid var(--line);
  gap: 32px;
  margin-top: 22px;
  padding-top: 14px;
}
.pubk-publications .pubk-publications-monthly-stats p { font-size: 12px; margin: 0; }
.pubk-publications .pubk-publications-feature-link {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.16em;
  margin-top: 24px;
  text-transform: uppercase;
}
.pubk-publications .pubk-publications-feature-link a { color: inherit; text-decoration: none; }

.pubk-publications .pubk-publications-latest {
  border: 1px solid var(--line);
  box-sizing: border-box;
  padding: 48px;
}
.pubk-publications .pubk-publications-latest-head {
  border-bottom: 2px solid var(--ink);
  padding-bottom: 22px;
}
.pubk-publications .pubk-publications-latest-head h2 { font-size: 32px !important; }
.pubk-publications .pubk-publications-latest-head h2 em { color: var(--navy); }
.pubk-publications .pubk-publications-latest-head > * { margin: 0; }
.pubk-publications .pubk-publications-latest-meta { font-size: 12px; font-style: italic; }
.pubk-publications .pubk-publications-article {
  align-items: center;
  border-bottom: 1px solid var(--line);
  display: grid;
  gap: 26px;
  grid-template-columns: 86px 1fr 24px;
  padding: 24px 0;
}
.pubk-publications .pubk-publications-article p,
.pubk-publications .pubk-publications-article h3 { margin: 0; }
.pubk-publications .pubk-publications-article-number { font-size: 30px; font-style: italic; }
.pubk-publications .pubk-publications-article-meta {
  font-size: 10px;
  letter-spacing: 0.13em;
  margin-bottom: 6px !important;
  text-transform: uppercase;
}
.pubk-publications .pubk-publications-article-meta strong { color: var(--red); }
.pubk-publications .pubk-publications-article-meta em {
  color: var(--gray);
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: 0;
  margin-left: 10px;
  text-transform: none;
}
.pubk-publications .pubk-publications-article h3 { font-size: 21px !important; line-height: 1.25; }
.pubk-publications .pubk-publications-article-arrow { color: var(--gray); font-size: 24px; }
.pubk-publications a.pubk-publications-article,
.pubk-publications a.pubk-publications-article:hover {
  color: inherit;
  text-decoration: none;
}
.pubk-publications a.pubk-publications-article h3,
.pubk-publications a.pubk-publications-article .pubk-publications-article-arrow { transition: color 0.15s ease; }
.pubk-publications a.pubk-publications-article:hover h3,
.pubk-publications a.pubk-publications-article:focus-visible h3,
.pubk-publications a.pubk-publications-article:hover .pubk-publications-article-arrow,
.pubk-publications a.pubk-publications-article:focus-visible .pubk-publications-article-arrow { color: var(--navy); }
.pubk-publications .pubk-publications-latest-cta {
  border: 1px solid rgba(11, 37, 69, 0.08);
  gap: 24px;
  margin-top: 32px;
  padding: 28px 32px;
}
.pubk-publications .pubk-publications-latest-cta-copy {
  font-size: 17px;
  font-style: italic;
  line-height: 1.4;
  margin: 0;
  max-width: 42ch;
}
.pubk-publications .pubk-publications-membership { border-top: 1px solid var(--line); }
.pubk-publications .pubk-publications-membership-copy { font-size: 24px; font-style: italic; margin: 0; }

@media (max-width: 1100px) {
  .pubk-publications .pubk-publications-briefings { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pubk-publications .pubk-publications-monthly-grid > .wp-block-column:first-child { flex-basis: 32% !important; }
  .pubk-publications .pubk-publications-monthly-grid > .wp-block-column:last-child { flex-basis: 68% !important; }
}

@media (max-width: 781px) {
  .pubk-publications .pubk-publications-hero,
  .pubk-publications .pubk-publications-body,
  .pubk-publications .pubk-publications-membership {
    box-sizing: border-box;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .pubk-publications .pubk-publications-hero-sub { font-size: 17px; }
  .pubk-publications .pubk-publications-briefings { grid-template-columns: 1fr; }
  .pubk-publications .pubk-publications-monthly-grid { flex-direction: column; gap: 36px; }
  .pubk-publications .pubk-publications-monthly-grid > .wp-block-column { flex-basis: auto !important; width: 100%; }
  .pubk-publications .pubk-publications-cover { margin: 8px auto; max-width: 280px; }
  .pubk-publications .pubk-publications-latest { padding: 28px 22px; }
  .pubk-publications .pubk-publications-article { gap: 12px; grid-template-columns: 46px 1fr; }
  .pubk-publications .pubk-publications-article-arrow { display: none; }
  .pubk-publications .pubk-publications-article h3 { font-size: 18px !important; }
  .pubk-publications .pubk-publications-latest-cta .wp-block-buttons,
  .pubk-publications .pubk-publications-latest-cta .wp-block-button,
  .pubk-publications .pubk-publications-latest-cta .wp-block-button__link { box-sizing: border-box; width: 100%; }
}

@media (max-width: 480px) {
  .pubk-publications .pubk-publications-latest { padding: 24px 18px; }
  .pubk-publications .pubk-publications-article-meta em { display: block; margin: 3px 0 0; }
}

/* ---------- Membership page ---------- */
.pubk-membership { overflow: clip; }
.pubk-membership .pubk-membership-hero { border-bottom: 1px solid var(--line); }
.pubk-membership .pubk-membership-eyebrow {
  align-items: center;
  display: flex;
  font-size: 11px;
  font-weight: 700;
  gap: 14px;
  letter-spacing: 0.26em;
  margin-bottom: 24px;
  text-transform: uppercase;
}
.pubk-membership .pubk-membership-eyebrow::before {
  background: var(--gold);
  content: "";
  height: 1px;
  width: 38px;
}
.pubk-membership .pubk-membership-title {
  margin-left: max(0px, calc((100% - 1216px) / 2)) !important; margin-right: auto !important;
  font-size: clamp(40px, calc(29.6px + 2.67vw), 68px) !important;
  font-weight: 380;
  letter-spacing: -0.025em;
  line-height: 1.02;
  margin: 0;
  max-width: 980px;
}
.pubk-membership .pubk-membership-title em { color: var(--navy); font-style: italic; }
.pubk-membership .pubk-membership-grid { align-items: start; gap: 56px; margin: 0; }
.pubk-membership .pubk-membership-photo {
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
  position: relative;
}
.pubk-membership .pubk-membership-photo::after {
  background: linear-gradient(180deg, transparent 50%, rgba(11, 37, 69, 0.45));
  content: "";
  inset: 0;
  pointer-events: none;
  position: absolute;
}
.pubk-membership .pubk-membership-photo figure,
.pubk-membership .pubk-membership-photo img {
  height: 100%;
  margin: 0;
  object-fit: cover;
  width: 100%;
}
.pubk-membership .pubk-membership-photo-tag {
  bottom: 0;
  box-sizing: border-box;
  left: 0;
  padding: 18px 24px;
  position: absolute;
  width: 64%;
  z-index: 1;
}
.pubk-membership .pubk-membership-photo-tag p { margin: 0; }
.pubk-membership .pubk-membership-photo-label {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
}
.pubk-membership .pubk-membership-photo-count { font-size: 23px; font-style: italic; }
.pubk-membership .pubk-membership-photo-count em { color: var(--gold-soft); }
.pubk-membership .pubk-membership-lead {
  border-bottom: 1px solid var(--line);
  font-size: 22px;
  font-style: italic;
  line-height: 1.45;
  margin: 0 0 32px;
  padding-bottom: 30px;
}
.pubk-membership .pubk-membership-types {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 34px;
}
.pubk-membership .pubk-membership-type {
  background: var(--cream-soft);
  border-top: 3px solid var(--navy);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin: 0;
  min-width: 0;
  padding: 22px 18px 18px;
}
.pubk-membership .pubk-membership-type-industry { border-top-color: var(--red); }
.pubk-membership .pubk-membership-type-government { border-top-color: var(--gold); }
.pubk-membership .pubk-membership-type h3 { font-size: 18px !important; margin: 0 0 10px; }
.pubk-membership .pubk-membership-type > p:not(.pubk-membership-rate) {
  font-size: 13px;
  line-height: 1.5;
  margin: 0 0 16px;
}
.pubk-membership .pubk-membership-rate {
  border-top: 1px solid var(--line);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.15em;
  margin: auto 0 0;
  padding-top: 14px;
  text-transform: uppercase;
}
.pubk-membership .pubk-membership-benefits {
  border-left: 3px solid var(--gold);
  box-sizing: border-box;
  margin-bottom: 30px;
  padding: 28px 34px;
}
.pubk-membership .pubk-membership-benefits-title {
  font-size: 11px !important;
  font-weight: 700;
  letter-spacing: 0.2em;
  margin: 0 0 18px;
  text-transform: uppercase;
}
.pubk-membership .pubk-membership-benefit-columns { gap: 24px; margin: 0; }
.pubk-membership .pubk-membership-benefit-list { list-style: none; margin: 0; padding: 0; }
.pubk-membership .pubk-membership-benefit-list li {
  color: var(--ink-soft);
  font-size: 13px;
  line-height: 1.45;
  margin-bottom: 10px;
  padding-left: 20px;
  position: relative;
}
.pubk-membership .pubk-membership-benefit-list li::before {
  color: var(--gold);
  content: "✓";
  font-weight: 700;
  left: 0;
  position: absolute;
}
.pubk-membership .pubk-membership-apply .wp-block-button__link { min-width: 260px; }

@media (max-width: 1000px) {
  .pubk-membership .pubk-membership-grid { flex-direction: column; gap: 40px; }
  .pubk-membership .pubk-membership-grid > .wp-block-column { flex-basis: auto !important; width: 100%; }
  .pubk-membership .pubk-membership-photo { max-width: 560px; }
}

@media (max-width: 781px) {
  .pubk-membership .pubk-membership-hero,
  .pubk-membership .pubk-membership-body {
    box-sizing: border-box;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .pubk-membership .pubk-membership-title br { display: none; }
  .pubk-membership .pubk-membership-types { grid-template-columns: 1fr; }
  .pubk-membership .pubk-membership-benefit-columns { flex-direction: column; gap: 0; }
  .pubk-membership .pubk-membership-apply,
  .pubk-membership .pubk-membership-apply .wp-block-button__link { box-sizing: border-box; width: 100%; }
}

@media (max-width: 480px) {
  .pubk-membership .pubk-membership-benefits { padding: 24px 22px; }
  .pubk-membership .pubk-membership-photo-tag { width: 74%; }
}

/* ---------- Sponsor page ---------- */
.pubk-sponsor { overflow: clip; }
.pubk-sponsor .pubk-sponsor-hero {
  min-height: 780px;
  overflow: hidden;
  position: relative;
}
.pubk-sponsor .pubk-sponsor-hero-photo {
  inset: 0;
  margin: 0;
  position: absolute;
}
.pubk-sponsor .pubk-sponsor-hero-photo::after {
  background: linear-gradient(90deg, rgba(6, 18, 41, 0.94) 0%, rgba(6, 18, 41, 0.75) 58%, rgba(6, 18, 41, 0.58) 100%);
  content: "";
  inset: 0;
  position: absolute;
}
.pubk-sponsor .pubk-sponsor-hero-photo,
.pubk-sponsor .pubk-sponsor-hero-photo img { height: 100%; object-fit: cover; width: 100%; }
.pubk-sponsor .pubk-sponsor-hero-video {
  inset: 0;
  overflow: hidden;
  pointer-events: none;
  position: absolute;
}
.pubk-sponsor .pubk-sponsor-hero-video::after {
  background: linear-gradient(90deg, rgba(6, 18, 41, 0.94) 0%, rgba(6, 18, 41, 0.75) 58%, rgba(6, 18, 41, 0.58) 100%);
  content: "";
  inset: 0;
  position: absolute;
}
.pubk-sponsor .pubk-sponsor-hero-video iframe {
  aspect-ratio: 16 / 9;
  border: 0;
  height: auto;
  left: 50%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: auto;
}
@media (max-width: 767px) {
  .pubk-sponsor .pubk-sponsor-hero-video { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .pubk-sponsor .pubk-sponsor-hero-video { display: none; }
}
.pubk-sponsor .pubk-sponsor-hero-content {
  margin-left: auto;
  margin-right: auto;
  max-width: 920px;
  padding-left: 32px;
  padding-right: 32px;
  position: relative;
  z-index: 1;
}
.pubk-sponsor .pubk-sponsor-hero-content > * { margin-left: 0 !important; margin-right: 0 !important; }
.pubk-sponsor .pubk-sponsor-event-logo { margin: 0 0 28px; }
.pubk-sponsor .pubk-sponsor-event-logo img { height: auto; max-width: 250px; }
.pubk-sponsor .pubk-sponsor-eyebrow,
.pubk-sponsor .pubk-sponsor-section-eyebrow,
.pubk-sponsor .pubk-sponsor-contact-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.25em;
  text-transform: uppercase;
}
.pubk-sponsor .pubk-sponsor-eyebrow {
  align-items: center;
  display: flex;
  gap: 14px;
}
.pubk-sponsor .pubk-sponsor-eyebrow::before,
.pubk-sponsor .pubk-sponsor-section-eyebrow::before {
  background: currentColor;
  content: "";
  display: inline-block;
  height: 1px;
  margin-right: 14px;
  vertical-align: middle;
  width: 36px;
}
.pubk-sponsor .pubk-sponsor-title {
  font-size: clamp(38px, calc(29.1px + 2.29vw), 62px) !important;
  font-weight: 380;
  letter-spacing: -0.025em;
  line-height: 1.04;
  margin: 22px 0 24px;
  max-width: 860px;
}
.pubk-sponsor .pubk-sponsor-title em,
.pubk-sponsor .pubk-sponsor-section-title em,
.pubk-sponsor .pubk-sponsor-contact-title em { color: var(--gold-soft); font-style: italic; }
.pubk-sponsor .pubk-sponsor-hero-sub { color: var(--on-navy-body) !important; font-size: 18px; line-height: 1.6; max-width: 700px; }
.pubk-sponsor .pubk-sponsor-deadline { font-size: 20px; font-style: italic; line-height: 1.45; max-width: 700px; }
.pubk-sponsor .pubk-sponsor-deadline strong { color: var(--gold-soft); font-style: normal; }
.pubk-sponsor .pubk-sponsor-meta {
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  gap: 0;
  margin: 34px 0;
  max-width: 860px;
}
.pubk-sponsor .pubk-sponsor-meta { flex-wrap: wrap !important; }
.pubk-sponsor .pubk-sponsor-meta > .wp-block-column {
  border-right: 1px solid rgba(255, 255, 255, 0.16);
  padding: 20px 32px 20px 0;
}
.pubk-sponsor .pubk-sponsor-meta > .wp-block-column:nth-child(1) { flex: 0 1 34%; }
.pubk-sponsor .pubk-sponsor-meta > .wp-block-column:nth-child(2) { border-right: 0; flex: 1 1 40%; }
.pubk-sponsor .pubk-sponsor-meta > .wp-block-column:nth-child(3) {
  border-right: 0;
  border-top: 1px solid rgba(255, 255, 255, 0.16);
  flex: 1 1 100%;
}
.pubk-sponsor .pubk-sponsor-meta > .wp-block-column:last-child { border-right: 0; }
.pubk-sponsor .pubk-sponsor-meta p { margin: 0; }
.pubk-sponsor .pubk-sponsor-meta-label { font-size: 9px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
.pubk-sponsor .pubk-sponsor-meta-value { font-size: 20px; margin-top: 6px !important; }

.pubk-sponsor .pubk-sponsor-stats {
  display: grid;
  gap: 0;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 0;
}
.pubk-sponsor .pubk-sponsor-stats > .wp-block-column {
  border-bottom: 1px solid var(--line);
  border-right: 1px solid var(--line);
  margin: 0;
  padding: 32px 18px;
  text-align: center;
}
.pubk-sponsor .pubk-sponsor-stats > .wp-block-column:last-child { border-right: 0; }
.pubk-sponsor .pubk-sponsor-stats p { margin: 0; }
.pubk-sponsor .pubk-sponsor-stat-number { font-size: 40px; font-style: italic; }
.pubk-sponsor .pubk-sponsor-stat-label { font-size: 10px; font-weight: 700; letter-spacing: 0.2em; text-transform: uppercase; }
.pubk-sponsor .pubk-sponsor-perks { gap: 0; margin: 0; }
.pubk-sponsor .pubk-sponsor-perks > .wp-block-column {
  border-right: 1px solid var(--line);
  padding: 28px 32px;
}
.pubk-sponsor .pubk-sponsor-perks > .wp-block-column:last-child { border-right: 0; }
.pubk-sponsor .pubk-sponsor-perks h3 { font-size: 17px !important; margin: 0 0 8px; }
.pubk-sponsor .pubk-sponsor-perks h3::first-letter { color: var(--gold); }
.pubk-sponsor .pubk-sponsor-perks p { font-size: 13px; line-height: 1.5; margin: 0; }

.pubk-sponsor .pubk-sponsor-gallery { gap: 0; margin: 0; }
.pubk-sponsor .pubk-sponsor-gallery figure { height: 310px; margin: 0; overflow: hidden; position: relative; }
.pubk-sponsor .pubk-sponsor-gallery img { height: 100%; object-fit: cover; transition: transform 0.35s ease; width: 100%; }
.pubk-sponsor .pubk-sponsor-gallery figure::after { background: linear-gradient(180deg, transparent 55%, rgba(6, 18, 41, 0.65)); content: ""; inset: 0; position: absolute; }
.pubk-sponsor .pubk-sponsor-gallery figcaption { bottom: 18px; color: #fff; font-size: 10px; font-weight: 700; left: 22px; letter-spacing: 0.2em; position: absolute; text-transform: uppercase; z-index: 1; }

.pubk-sponsor .pubk-sponsor-section-title {
  margin-left: max(0px, calc((100% - 1216px) / 2)) !important; margin-right: auto !important;
  border-bottom: 1px solid var(--line);
  font-size: clamp(36px, calc(27px + 2.3vw), 60px) !important;
  font-weight: 380;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin: 20px 0 44px;
  padding-bottom: 34px;
}
.pubk-sponsor .pubk-sponsor-section-title em { color: var(--navy); }
.pubk-sponsor .pubk-sponsor-topic-columns { gap: 64px; margin: 0; }
.pubk-sponsor .pubk-sponsor-topic-list { list-style: none; margin: 0; padding: 0; }
.pubk-sponsor .pubk-sponsor-topic-list li {
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  font-family: var(--serif);
  font-size: 16px;
  line-height: 1.35;
  padding: 14px 0 14px 28px;
  position: relative;
}
.pubk-sponsor .pubk-sponsor-topic-list li::before { color: var(--gold); content: "—"; left: 0; position: absolute; }

.pubk-sponsor .pubk-sponsor-audience-title { max-width: 820px; }
.pubk-sponsor .pubk-sponsor-pricing { min-width: 0; overflow: hidden; }
.pubk-sponsor .pubk-sponsor-scroll-hint { display: none; font-size: 11px; font-style: italic; }
.pubk-sponsor .pubk-sponsor-table { box-sizing: border-box; contain: inline-size; margin: 0 auto; max-width: 1216px; overflow-x: auto; overscroll-behavior-x: contain; width: 100%; }
.pubk-sponsor .pubk-sponsor-table table { border-collapse: collapse; font-size: 12px; min-width: 1050px; width: 100%; }
.pubk-sponsor .pubk-sponsor-table th,
.pubk-sponsor .pubk-sponsor-table td { border: 0; border-bottom: 1px solid var(--line); padding: 15px 12px; text-align: center; }
.pubk-sponsor .pubk-sponsor-table th:first-child,
.pubk-sponsor .pubk-sponsor-table tbody th { background: var(--cream-soft); font-weight: 700; min-width: 280px; text-align: left; }
.pubk-sponsor .pubk-sponsor-table thead th { background: var(--navy); color: #fff; font-family: var(--serif); font-size: 16px; font-weight: 400; }
.pubk-sponsor .pubk-sponsor-table thead th:first-child { background: var(--navy-deep); color: #fff; font-family: var(--serif); font-size: 16px; font-weight: 400; }
.pubk-sponsor .pubk-sponsor-table thead strong { color: var(--gold-soft); display: inline-block; font-family: var(--sans); font-size: 18px; margin-top: 8px; }
.pubk-sponsor .pubk-sponsor-table thead small { background: var(--red); display: block; font-family: var(--sans); font-size: 8px; letter-spacing: 0.12em; margin: -15px -12px 10px; padding: 4px; text-transform: uppercase; }
.pubk-sponsor .pubk-sponsor-table tbody td:nth-child(2),
.pubk-sponsor .pubk-sponsor-table tbody td:nth-child(3) { color: var(--navy); }

.pubk-sponsor .pubk-sponsor-section-sub { margin-top: -24px; margin-bottom: 40px; margin-left: max(0px, calc((100% - 1216px) / 2)) !important; margin-right: auto !important; max-width: 760px; }
.pubk-sponsor .pubk-sponsor-special-grid { gap: 0; margin: 0; }
.pubk-sponsor .pubk-sponsor-special-card {
  background: var(--paper);
  border-top: 3px solid var(--navy);
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 38px;
  position: relative;
}
.pubk-sponsor .pubk-sponsor-special-copper { border-top-color: var(--red); }
.pubk-sponsor .pubk-sponsor-special-tag { font-size: 8px; font-weight: 700; letter-spacing: 0.2em; margin: -38px -38px 28px auto; padding: 8px 16px; text-transform: uppercase; }
.pubk-sponsor .pubk-sponsor-special-eyebrow { font-size: 9px; font-weight: 700; letter-spacing: 0.18em; text-transform: uppercase; }
.pubk-sponsor .pubk-sponsor-special-card h3 { font-size: 30px !important; margin: 10px 0; }
.pubk-sponsor .pubk-sponsor-special-card h3 em { font-style: italic; }
.pubk-sponsor .pubk-sponsor-special-price { font-size: 32px; margin: 0; }
.pubk-sponsor .pubk-sponsor-special-includes { border-bottom: 1px solid var(--line); font-size: 10px; font-weight: 700; letter-spacing: 0.14em; padding-bottom: 22px; text-transform: uppercase; }
.pubk-sponsor .pubk-sponsor-special-list { list-style: none; margin: 8px 0 28px; padding: 0; }
.pubk-sponsor .pubk-sponsor-special-list li { font-size: 13px; line-height: 1.5; margin: 12px 0; padding-left: 22px; position: relative; }
.pubk-sponsor .pubk-sponsor-special-list li::before { color: var(--gold); content: "✓"; font-weight: 700; left: 0; position: absolute; }
.pubk-sponsor .pubk-sponsor-special-card .wp-block-buttons { margin-top: auto; }
.pubk-sponsor .pubk-sponsor-special-card .wp-block-button,
.pubk-sponsor .pubk-sponsor-special-card .wp-block-button__link { box-sizing: border-box; width: 100%; }

.pubk-sponsor .pubk-sponsor-faq-list { margin: 0 auto; max-width: 820px; }
.pubk-sponsor .pubk-sponsor-faq-list details { border-bottom: 1px solid var(--line); padding: 0; }
.pubk-sponsor .pubk-sponsor-faq-list summary { color: var(--navy); cursor: pointer; font-family: var(--serif); font-size: 18px; list-style: none; padding: 20px 36px 20px 0; position: relative; }
.pubk-sponsor .pubk-sponsor-faq-list summary::-webkit-details-marker { display: none; }
.pubk-sponsor .pubk-sponsor-faq-list summary::after { color: var(--gold); content: "+"; font-family: var(--sans); position: absolute; right: 0; }
.pubk-sponsor .pubk-sponsor-faq-list details[open] summary::after { content: "−"; }
.pubk-sponsor .pubk-sponsor-faq-list details p { color: var(--gray); line-height: 1.6; margin: 0; padding: 0 36px 20px 0; }

.pubk-sponsor .pubk-sponsor-contact { border-bottom: 3px solid var(--gold); }
.pubk-sponsor .pubk-sponsor-contact-eyebrow { margin-bottom: 18px; }
.pubk-sponsor .pubk-sponsor-contact-title { font-size: clamp(32px, calc(26.8px + 1.33vw), 46px) !important; font-weight: 380; margin: 0; }
.pubk-sponsor .pubk-sponsor-contact-copy { color: var(--on-navy-body) !important; line-height: 1.6; margin: 18px auto 28px; max-width: 620px; }
.pubk-sponsor .pubk-sponsor-contact-card { background: rgba(255, 255, 255, 0.05); border: 1px solid rgba(255, 255, 255, 0.16); margin: 0 auto 28px; max-width: 330px; padding: 28px; }
.pubk-sponsor .pubk-sponsor-contact-card p { margin: 0; }
.pubk-sponsor .pubk-sponsor-contact-name { font-size: 24px; }
.pubk-sponsor .pubk-sponsor-contact-role { font-size: 9px; font-weight: 700; letter-spacing: 0.2em; margin: 12px 0 !important; text-transform: uppercase; }
.pubk-sponsor .pubk-sponsor-contact-card a { color: var(--on-navy-body); text-decoration: none; }

@media (max-width: 900px) {
  .pubk-sponsor .pubk-sponsor-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .pubk-sponsor .pubk-sponsor-stats > .wp-block-column:nth-child(3) { border-right: 0; }
  .pubk-sponsor .pubk-sponsor-gallery { flex-direction: column; }
  .pubk-sponsor .pubk-sponsor-gallery figure { height: 260px; }
  .pubk-sponsor .pubk-sponsor-special-grid { flex-direction: column; gap: 24px; }
}

@media (max-width: 781px) {
  .pubk-sponsor .pubk-sponsor-hero-content,
  .pubk-sponsor .pubk-sponsor-highlights,
  .pubk-sponsor .pubk-sponsor-topics,
  .pubk-sponsor .pubk-sponsor-pricing,
  .pubk-sponsor .pubk-sponsor-specialty,
  .pubk-sponsor .pubk-sponsor-faq,
  .pubk-sponsor .pubk-sponsor-contact {
    box-sizing: border-box;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .pubk-sponsor .pubk-sponsor-hero { min-height: 0; }
  .pubk-sponsor .pubk-sponsor-meta { flex-direction: column; }
  .pubk-sponsor .pubk-sponsor-meta > .wp-block-column { border-bottom: 1px solid rgba(255, 255, 255, 0.16); border-right: 0; padding: 18px 0; }
  .pubk-sponsor .pubk-sponsor-meta > .wp-block-column:nth-child(3) { border-top: 0; }
  .pubk-sponsor .pubk-sponsor-meta > .wp-block-column:last-child { border-bottom: 0; }
  .pubk-sponsor .pubk-sponsor-hero-buttons,
  .pubk-sponsor .pubk-sponsor-hero-buttons .wp-block-button,
  .pubk-sponsor .pubk-sponsor-hero-buttons .wp-block-button__link { box-sizing: border-box; width: 100%; }
  .pubk-sponsor .pubk-sponsor-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .pubk-sponsor .pubk-sponsor-stats > .wp-block-column { border-right: 1px solid var(--line) !important; }
  .pubk-sponsor .pubk-sponsor-stats > .wp-block-column:nth-child(even) { border-right: 0 !important; }
  .pubk-sponsor .pubk-sponsor-perks,
  .pubk-sponsor .pubk-sponsor-topic-columns { flex-direction: column; gap: 0; }
  .pubk-sponsor .pubk-sponsor-perks > .wp-block-column { border-bottom: 1px solid var(--line); border-right: 0; }
  .pubk-sponsor .pubk-sponsor-scroll-hint { display: block; }
  .pubk-sponsor .pubk-sponsor-special-card { padding: 28px 24px; }
  .pubk-sponsor .pubk-sponsor-special-tag { margin: -28px -24px 24px auto; }
  .pubk-nav .wp-block-navigation__submenu-container { left: auto !important; right: 0 !important; }
}

@media (max-width: 480px) {
  .pubk-sponsor .pubk-sponsor-stats { grid-template-columns: 1fr 1fr; }
  .pubk-sponsor .pubk-sponsor-event-logo img { max-width: 220px; }
}

/* Events submenu in the shared masthead. */
.pubk-nav .wp-block-navigation__submenu-container {
  background: var(--paper) !important;
  border: 1px solid var(--line) !important;
  min-width: 220px !important;
  padding: 8px !important;
}
.pubk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
  color: var(--ink) !important;
  font-size: 11px;
  padding: 11px 14px !important;
}
.pubk-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--cream); }

/* ---------- Mobile + tablet shell repair ----------
   Runs to 999px: below 1000px the inline nav cannot hold one row (needs
   ~980px), so the whole range shares the overlay-menu shell (audit C-05). */
@media (max-width: 999px) {
  .pubk-utility > .wp-block-group,
  .pubk-weekly,
  .pubk-footer,
  main .wp-block-post-content > .alignfull.is-layout-constrained,
  main .wp-block-post-content > .wp-block-group.alignfull > .alignfull.is-layout-constrained {
    box-sizing: border-box;
    padding-left: 24px !important;
    padding-right: 24px !important;
  }

  .pubk-hero .pubk-container {
    box-sizing: border-box;
    padding-left: 8px;
    padding-right: 8px;
  }

  .pubk-utility > .wp-block-group {
    align-items: center !important;
    flex-direction: column;
    gap: 5px !important;
    padding-bottom: 9px !important;
    padding-top: 9px !important;
  }

  .pubk-utility-left,
  .pubk-utility-right {
    line-height: 1.45;
    text-align: center;
    width: 100%;
  }

  .pubk-utility .pubk-announce {
    display: block;
    margin-bottom: 3px;
  }

  .pubk-utility-right {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    font-size: 11px; /* was 9px — illegible inside its tap targets (audit C-05) */
    gap: 2px 6px;
    justify-content: center;
  }

  .pubk-utility-right a {
    align-items: center;
    display: inline-flex;
    min-height: 32px;
    padding: 0 6px;
  }

  .pubk-utility-sep { display: none; }

  .pubk-masthead { padding-top: 14px !important; }
  .pubk-masthead .wp-block-image { margin-bottom: 10px; }
  .pubk-established { margin-bottom: 8px !important; }
  .pubk-logo {
    box-sizing: border-box;
    max-width: calc(100% - 48px);
  }
  .pubk-logo img {
    height: auto !important;
    max-width: 100%;
  }

  .pubk-nav .wp-block-navigation__responsive-container-open {
    align-items: center;
    color: var(--navy);
    justify-content: center;
    margin: 0 auto;
    min-height: 46px;
    width: 100%;
  }

  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open {
    background: var(--navy-deep) !important;
    color: #fff !important;
    padding: 24px;
  }

  .pubk-nav .wp-block-navigation__responsive-container-close { color: #fff; }
  .pubk-nav .wp-block-navigation__responsive-container-content {
    align-items: stretch !important;
    padding-top: 44px !important;
  }
  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
    align-items: stretch !important;
    display: flex;
    gap: 0;
    width: 100%;
  }
  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
    border-bottom: 1px solid rgba(255, 255, 255, 0.16);
    border-right: 0;
    width: 100%;
  }
  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
    color: #fff !important;
    font-size: 13px;
    padding: 15px 0 !important;
    width: 100%;
  }
  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
    background: transparent !important;
    border: 0 !important;
    min-width: 0 !important;
    padding: 0 0 8px 18px !important;
    position: static !important;
    visibility: visible !important;
    width: 100% !important;
  }
  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item {
    border-bottom: 0;
  }
  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
    color: var(--gold-soft) !important;
    font-size: 11px;
    padding: 10px 0 !important;
  }
  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu,
  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
    background: transparent !important;
    color: #fff !important;
  }
  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
  .pubk-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus {
    background: rgba(255, 255, 255, 0.08) !important;
  }
}

/* ---------- Institute Sponsor page ---------- */
.pubk-institute-sponsor { overflow: clip; }
.pubk-institute-sponsor .pubk-gs-hero { border-bottom: 1px solid var(--line); overflow: hidden; position: relative; }
.pubk-institute-sponsor .pubk-gs-hero::after {
  background: radial-gradient(circle, rgba(184,149,56,.14) 0%, transparent 62%);
  content: "";
  height: 620px;
  pointer-events: none;
  position: absolute;
  right: -140px;
  top: -160px;
  width: 620px;
}
.pubk-institute-sponsor .pubk-gs-hero > * { position: relative; z-index: 1; }
.pubk-institute-sponsor .pubk-gs-eyebrow {
  align-items: center;
  display: flex;
  font-size: 11px;
  font-weight: 700;
  gap: 14px;
  letter-spacing: .24em;
  margin: 0 0 14px;
  text-transform: uppercase;
}
.pubk-institute-sponsor .pubk-gs-eyebrow::before { background: currentColor; content: ""; height: 1px; width: 36px; }
.pubk-institute-sponsor .pubk-gs-title { font-size: clamp(38px,5.4vw,62px) !important; line-height: 1.04; margin: 0 0 24px; max-width: 900px; }
.pubk-institute-sponsor .pubk-gs-title em,
.pubk-institute-sponsor .pubk-gs-section-title em { color: var(--navy); font-style: italic; }
.pubk-institute-sponsor .pubk-gs-lede { font-size: 18px; line-height: 1.65; margin: 0; max-width: 680px; }
.pubk-institute-sponsor .pubk-gs-jump { border-bottom: 1px solid var(--line); box-shadow: 0 4px 16px rgba(6,18,41,.06); position: sticky; top: 0; z-index: 50; }
.pubk-institute-sponsor .pubk-gs-jump-nav { align-items: stretch; display: flex; }
.pubk-institute-sponsor .pubk-gs-jump-nav > span,
.pubk-institute-sponsor .pubk-gs-jump-nav > a { align-items: center; display: flex; font-size: 11px; font-weight: 700; letter-spacing: .12em; padding: 15px 24px; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-jump-nav > span { color: var(--gray); padding-left: 0; }
.pubk-institute-sponsor .pubk-gs-jump-nav > a { border-left: 1px solid var(--line); color: var(--navy); text-decoration: none; }
.pubk-institute-sponsor .pubk-gs-jump-nav > a:hover { color: var(--red); }
.pubk-institute-sponsor .pubk-gs-jump-nav > .pubk-gs-jump-cta { background: var(--red); color: #fff; margin-left: auto; }
.pubk-institute-sponsor .pubk-gs-jump-nav > .pubk-gs-jump-cta:hover { background: var(--navy); color: #fff; }
.pubk-institute-sponsor .pubk-gs-stats { display: grid; gap: 0; grid-template-columns: repeat(5,minmax(0,1fr)); margin: 0; }
.pubk-institute-sponsor .pubk-gs-stats > .wp-block-column { border-right: 1px solid rgba(255,255,255,.1); padding: 40px 24px; text-align: center; }
.pubk-institute-sponsor .pubk-gs-stats > .wp-block-column:last-child { border-right: 0; }
.pubk-institute-sponsor .pubk-gs-stat-num { font-size: clamp(30px,3.4vw,42px); line-height: 1; margin: 0 0 10px; }
.pubk-institute-sponsor .pubk-gs-stat-cap { color: var(--on-navy-muted); font-size: 10px; font-weight: 600; letter-spacing: .16em; margin: 0; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-section-head { align-items: flex-end; border-bottom: 1px solid var(--line); gap: 64px; margin: 0 0 36px; padding: 0 0 24px; }
.pubk-institute-sponsor .pubk-gs-section-head p { line-height: 1.6; margin: 0; }
/* The blanket reset above out-specifies .pubk-gs-eyebrow's own margin; restore the hero/mock 14px. */
.pubk-institute-sponsor .pubk-gs-section-head p.pubk-gs-eyebrow { margin: 0 0 14px; }
.pubk-institute-sponsor .pubk-gs-section-title { font-size: clamp(28px,3vw,40px) !important; line-height: 1.05; }
.pubk-institute-sponsor .pubk-gs-tier-grid { align-items: stretch; gap: 32px; }
.pubk-institute-sponsor .pubk-gs-tier-card { background: var(--paper); border: 1px solid var(--line); border-top: 3px solid var(--navy); box-shadow: 0 10px 28px rgba(11,37,69,.06); display: flex; flex-direction: column; padding: 40px 36px 36px; position: relative; }
.pubk-institute-sponsor .pubk-gs-tier-supreme { border-top-color: var(--gold); }
.pubk-institute-sponsor .pubk-gs-tier-supporting { border-top-color: var(--red); }
.pubk-institute-sponsor .pubk-gs-tier-tag { background: var(--navy); color: #fff; font-size: 9px; font-weight: 700; letter-spacing: .16em; margin: -40px -36px 28px auto; padding: 7px 14px; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-tier-supreme .pubk-gs-tier-tag { background: var(--gold); color: var(--navy); }
.pubk-institute-sponsor .pubk-gs-tier-supporting .pubk-gs-tier-tag { background: var(--red); }
.pubk-institute-sponsor .pubk-gs-tier-eyebrow,
.pubk-institute-sponsor .pubk-gs-tier-label,
.pubk-institute-sponsor .pubk-gs-subhead { font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-tier-card h3 { font-size: 30px !important; line-height: 1.1; margin-bottom: 8px; }
.pubk-institute-sponsor .pubk-gs-tier-card h3 em { font-style: italic; }
.pubk-institute-sponsor .pubk-gs-tier-price { font-size: 34px; margin: 0 0 6px; }
.pubk-institute-sponsor .pubk-gs-tier-price small,
.pubk-institute-sponsor .pubk-gs-mag-price small { color: var(--gray); font-family: var(--sans); font-size: 14px; }
.pubk-institute-sponsor .pubk-gs-tier-value { border-bottom: 1px solid var(--line); font-size: 11px; font-weight: 700; letter-spacing: .1em; margin: 0 0 18px; padding: 0 0 20px; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-tier-label { margin: 16px 0 4px; }
.pubk-institute-sponsor .pubk-gs-tier-card ul { list-style: none; margin: 0; padding: 0; }
.pubk-institute-sponsor .pubk-gs-tier-card li { font-size: 13px; line-height: 1.5; padding: 8px 0 8px 24px; position: relative; }
.pubk-institute-sponsor .pubk-gs-tier-card li::before { color: var(--gold); content: "✓"; font-weight: 700; left: 0; position: absolute; }
.pubk-institute-sponsor .pubk-gs-tier-card .wp-block-buttons { margin-top: auto; padding-top: 24px; }
.pubk-institute-sponsor .pubk-gs-placement-grid { gap: 20px; margin-bottom: 48px; }
.pubk-institute-sponsor .pubk-gs-placement-card { border: 1px solid var(--line); border-top: 3px solid var(--navy); padding: 26px; }
.pubk-institute-sponsor .pubk-gs-placement-gold { border-top-color: var(--gold); }
.pubk-institute-sponsor .pubk-gs-placement-red { border-top-color: var(--red); }
.pubk-institute-sponsor .pubk-gs-placement-card h3 { font-family: var(--sans); font-size: 11px !important; font-weight: 700; letter-spacing: .18em; margin-bottom: 10px; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-placement-card p { font-size: 13px; line-height: 1.6; margin: 0; }
.pubk-institute-sponsor .pubk-gs-subhead { margin: 0 0 18px; }
.pubk-institute-sponsor .pubk-gs-preview-grid { display: grid; gap: 32px; grid-template-columns: 1.15fr 1fr; margin-bottom: 48px; }
.pubk-institute-sponsor .pubk-gs-preview { border: 1px solid var(--line); padding: 28px; }
.pubk-institute-sponsor .pubk-gs-preview-label { color: var(--gray); font-size: 10px; font-weight: 700; letter-spacing: .16em; margin: 0 0 14px; text-align: center; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-preview-window { border: 1px solid var(--line); }
.pubk-institute-sponsor .pubk-gs-preview-window > strong { color: var(--navy); display: block; font-family: var(--serif); font-style: italic; padding: 12px 16px; text-align: center; }
.pubk-institute-sponsor .pubk-gs-preview-stripe { background: linear-gradient(90deg,var(--navy) 0 33%,var(--red) 33% 66%,var(--gold) 66%); height: 10px; }
.pubk-institute-sponsor .pubk-gs-preview-layout { display: grid; gap: 12px; grid-template-columns: 1.6fr .9fr; padding: 12px; }
.pubk-institute-sponsor .pubk-gs-copy-lines { display: flex; flex-direction: column; gap: 8px; }
.pubk-institute-sponsor .pubk-gs-copy-lines i,
.pubk-institute-sponsor .pubk-gs-email-preview > i,
.pubk-institute-sponsor .pubk-gs-ad-rail > i { background: var(--cream-soft); border: 1px solid var(--line); display: block; height: 8px; }
.pubk-institute-sponsor .pubk-gs-copy-lines i:nth-child(1),
.pubk-institute-sponsor .pubk-gs-copy-lines i:nth-child(5) { background: var(--cream); height: 12px; width: 70%; }
.pubk-institute-sponsor .pubk-gs-ad-rail { display: flex; flex-direction: column; gap: 10px; }
.pubk-institute-sponsor .pubk-gs-ad-rail b,
.pubk-institute-sponsor .pubk-gs-banner-ad { align-items: center; background: repeating-linear-gradient(45deg,#F4F1E8,#F4F1E8 12px,#EFEBDF 12px,#EFEBDF 24px); border: 1px solid var(--gold); color: var(--navy); display: flex; flex-direction: column; font-size: 9px; justify-content: center; letter-spacing: .1em; min-height: 76px; text-align: center; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-ad-rail b small,
.pubk-institute-sponsor .pubk-gs-banner-ad small { color: var(--gray); display: block; font-size: 9px; font-weight: 400; letter-spacing: 0; text-transform: none; }
.pubk-institute-sponsor .pubk-gs-ad-rail span { color: var(--gray); font-size: 9px; text-align: center; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-email-preview { display: flex; flex-direction: column; gap: 8px; padding: 12px; }
.pubk-institute-sponsor .pubk-gs-email-preview > strong { border: 2px solid var(--navy); margin: auto; padding: 3px 14px; }
.pubk-institute-sponsor .pubk-gs-email-preview > small { color: var(--gray); font-size: 9px; text-align: center; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-email-preview > b { background: var(--brief-protests); color: #fff; font-family: var(--serif); font-size: 12px; padding: 6px; text-align: center; }
.pubk-institute-sponsor .pubk-gs-banner-ad { min-height: 58px; }
.pubk-institute-sponsor .pubk-gs-content-ad { border-color: var(--line); min-height: 64px; }
.pubk-institute-sponsor .pubk-gs-table-intro { line-height: 1.65; margin: 0 0 24px; max-width: 720px; }
.pubk-institute-sponsor .pubk-gs-scroll-hint { display: none; font-size: 11px; font-style: italic; }
.pubk-institute-sponsor .pubk-gs-table-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.pubk-institute-sponsor .pubk-gs-table { border-collapse: collapse; font-size: 13px; min-width: 720px; width: 100%; }
.pubk-institute-sponsor .pubk-gs-table th,
.pubk-institute-sponsor .pubk-gs-table td { border: 0; border-bottom: 1px solid var(--line); padding: 15px 14px; text-align: center; }
.pubk-institute-sponsor .pubk-gs-table thead th { background: var(--navy); color: #fff; font-family: var(--serif); font-size: 17px; font-weight: 380; }
.pubk-institute-sponsor .pubk-gs-table thead th:first-child { background: var(--navy-deep); font-family: var(--sans); font-size: 12px; text-align: left; }
.pubk-institute-sponsor .pubk-gs-table tbody th { background: var(--cream-soft); color: var(--ink); min-width: 240px; text-align: left; }
.pubk-institute-sponsor .pubk-gs-table tbody td strong { color: var(--navy); }
.pubk-institute-sponsor .pubk-gs-tiers .pubk-gs-table-wrap { margin: 0 auto; max-width: 1216px; }
.pubk-institute-sponsor .pubk-gs-tiers .pubk-gs-table-intro { margin-left: auto; margin-right: auto; max-width: 1216px; }
.pubk-institute-sponsor .pubk-gs-inst { min-width: 960px; }
.pubk-institute-sponsor .pubk-gs-inst thead th { vertical-align: bottom; }
.pubk-institute-sponsor .pubk-gs-inst thead strong { color: var(--gold-soft); display: inline-block; font-family: var(--sans); font-size: 16px; margin-top: 8px; }
.pubk-institute-sponsor .pubk-gs-inst thead strong small { font-size: 11px; font-weight: 400; }
.pubk-institute-sponsor .pubk-gs-inst tbody th { font-weight: 700; }
.pubk-institute-sponsor .pubk-gs-inst .is-sub th { font-weight: 400; padding-left: 36px; }
.pubk-institute-sponsor .pubk-gs-inst .is-group th { background: var(--navy-deep); color: var(--gold-soft); font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: 0.22em; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-inst .is-total th,
.pubk-institute-sponsor .pubk-gs-inst .is-total td { border-bottom: 0; color: var(--navy); font-family: var(--serif); font-size: 17px; }
.pubk-institute-sponsor .pubk-gs-inst tfoot td { border-bottom: 0; padding-top: 20px; }
.pubk-institute-sponsor .pubk-gs-inst tfoot .wp-block-button__link { justify-content: center; width: 100%; }
.pubk-institute-sponsor .pubk-gs-tiers .pubk-gs-table-wrap + .pubk-gs-table-intro { margin-top: 24px; }
.pubk-institute-sponsor .pubk-gs-magazine { overflow: hidden; position: relative; }
.pubk-institute-sponsor .pubk-gs-magazine::after { background: radial-gradient(circle,rgba(184,149,56,.13),transparent 60%); content: ""; height: 560px; pointer-events: none; position: absolute; right: -140px; top: -140px; width: 560px; }
.pubk-institute-sponsor .pubk-gs-magazine > * { position: relative; z-index: 1; }
.pubk-institute-sponsor .pubk-gs-magazine .pubk-gs-section-head { border-color: rgba(255,255,255,.12); }
.pubk-institute-sponsor .pubk-gs-magazine .pubk-gs-section-title em { color: var(--gold-soft); }
.pubk-institute-sponsor .pubk-gs-magazine .pubk-gs-section-head > .wp-block-column > p { color: var(--on-navy-body) !important; }
.pubk-institute-sponsor .pubk-gs-mag-grid { gap: 24px; }
.pubk-institute-sponsor .pubk-gs-mag-card { background: var(--paper); border-top: 3px solid var(--navy); padding: 36px; }
.pubk-institute-sponsor .pubk-gs-mag-gold { border-top-color: var(--gold); }
.pubk-institute-sponsor .pubk-gs-mag-red { border-top-color: var(--red); }
.pubk-institute-sponsor .pubk-gs-mag-card h3 { font-family: var(--sans); font-size: 11px !important; font-weight: 700; letter-spacing: .18em; margin-bottom: 6px; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-mag-price { font-size: 32px; margin: 0 0 6px; }
.pubk-institute-sponsor .pubk-gs-mag-card > p:last-child { color: var(--ink-soft) !important; font-size: 13px; line-height: 1.55; }
.pubk-institute-sponsor .pubk-gs-annual-review { border-top: 1px solid var(--line); }
.pubk-institute-sponsor .pubk-gs-annual-review > .wp-block-group { gap: 40px; }
.pubk-institute-sponsor .pubk-gs-annual-copy { font-size: 24px; font-style: italic; margin: 8px 0 0; }
.pubk-institute-sponsor .pubk-gs-contact { border-bottom: 3px solid var(--gold); text-align: center; }
.pubk-institute-sponsor .pubk-gs-contact .pubk-gs-eyebrow { justify-content: center; }
.pubk-institute-sponsor .pubk-gs-contact-title { font-size: clamp(32px,4.2vw,46px) !important; }
.pubk-institute-sponsor .pubk-gs-contact-title em { color: var(--gold-soft); font-style: italic; }
.pubk-institute-sponsor .pubk-gs-contact-copy { color: var(--on-navy-body); line-height: 1.6; margin: 18px auto 36px; max-width: 620px; }
.pubk-institute-sponsor .pubk-gs-contact-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.14); margin: 0 auto 36px; max-width: 330px; padding: 28px; }
.pubk-institute-sponsor .pubk-gs-contact-card p { margin: 0; }
.pubk-institute-sponsor .pubk-gs-contact-name { font-size: 26px; }
.pubk-institute-sponsor .pubk-gs-contact-role { font-size: 10px; font-weight: 700; letter-spacing: .2em; margin: 4px 0 10px !important; text-transform: uppercase; }
.pubk-institute-sponsor .pubk-gs-contact-card a { color: var(--on-navy-body); text-decoration: none; }
.pubk-institute-sponsor .pubk-gs-contact .wp-block-button.pubk-btn-outline-light .wp-block-button__link {
  background: transparent;
  border: 1px solid rgba(255,255,255,.4);
  border-radius: 0;
  color: #fff;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  padding: 14px 28px;
  text-transform: uppercase;
}
.pubk-institute-sponsor .pubk-gs-contact .wp-block-button.pubk-btn-outline-light .wp-block-button__link:hover { background: #fff; color: var(--navy); }

@media (max-width: 1000px) {
  .pubk-institute-sponsor .pubk-gs-stats { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .pubk-institute-sponsor .pubk-gs-placement-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pubk-institute-sponsor .pubk-gs-tier-grid { gap: 20px; }
  .pubk-institute-sponsor .pubk-gs-tier-card { padding-left: 26px; padding-right: 26px; }
  .pubk-institute-sponsor .pubk-gs-tier-tag { margin-left: auto; margin-right: -26px; }
}

@media (max-width: 781px) {
  .pubk-institute-sponsor .pubk-gs-jump { overflow: hidden; }
  .pubk-institute-sponsor .pubk-gs-jump-nav { overflow-x: auto; }
  .pubk-institute-sponsor .pubk-gs-jump-nav > span,
  .pubk-institute-sponsor .pubk-gs-jump-nav > a { flex: 0 0 auto; padding: 14px 18px; }
  .pubk-institute-sponsor .pubk-gs-jump-nav > .pubk-gs-jump-cta { margin-left: 0; }
  .pubk-institute-sponsor .pubk-gs-stats { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pubk-institute-sponsor .pubk-gs-stats > .wp-block-column { border-bottom: 1px solid rgba(255,255,255,.1); }
  .pubk-institute-sponsor .pubk-gs-stats > .wp-block-column:nth-child(even) { border-right: 0; }
  .pubk-institute-sponsor .pubk-gs-section-head { align-items: flex-start; flex-direction: column; gap: 20px; }
  .pubk-institute-sponsor .pubk-gs-tier-grid,
  .pubk-institute-sponsor .pubk-gs-placement-grid,
  .pubk-institute-sponsor .pubk-gs-mag-grid { display: flex; flex-direction: column; }
  .pubk-institute-sponsor .pubk-gs-tier-card { padding: 34px 24px 28px; }
  .pubk-institute-sponsor .pubk-gs-tier-tag { margin: -34px -24px 24px auto; }
  .pubk-institute-sponsor .pubk-gs-preview-grid { grid-template-columns: 1fr; }
  .pubk-institute-sponsor .pubk-gs-preview { padding: 20px; }
  .pubk-institute-sponsor .pubk-gs-scroll-hint { display: block; }
  .pubk-institute-sponsor .pubk-gs-annual-review > .wp-block-group { align-items: flex-start !important; flex-direction: column; }
  .pubk-institute-sponsor .pubk-gs-contact-buttons,
  .pubk-institute-sponsor .pubk-gs-contact-buttons .wp-block-button,
  .pubk-institute-sponsor .pubk-gs-contact-buttons .wp-block-button__link { box-sizing: border-box; width: 100%; }
}

@media (max-width: 480px) {
  .pubk-institute-sponsor .pubk-gs-preview-layout { grid-template-columns: 1fr; }
  .pubk-institute-sponsor .pubk-gs-stat-num { font-size: 31px; }
}

/* ---------- Ask Pub K product page ---------- */
.pubk-ask { color: var(--ink); overflow: clip; }
.pubk-ask *,
.pubk-ask *::before,
.pubk-ask *::after { box-sizing: border-box; }
.pubk-ask > *,
.pubk-ask .pubk-ask-container > * { margin-block-start: 0; }
.pubk-ask .pubk-ask-container {
  box-sizing: border-box;
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px;
  padding-left: 32px;
  padding-right: 32px;
  width: 100%;
}
.pubk-ask .pubk-ask-flow > * { margin-left: 0 !important; margin-right: 0 !important; }
.pubk-ask .pubk-ask-eyebrow {
  align-items: center;
  display: flex;
  font-size: 11px;
  font-weight: 700;
  gap: 14px;
  letter-spacing: .22em;
  margin: 0 0 22px;
  text-transform: uppercase;
}
.pubk-ask .pubk-ask-eyebrow::before { background: currentColor; content: ""; flex: 0 0 36px; height: 1px; }
.pubk-ask .pubk-ask-section-title { font-size: clamp(30px,3.6vw,44px) !important; font-weight: 380; letter-spacing: -.02em; line-height: 1.1; margin: 0; }
.pubk-ask .pubk-ask-section-title em { font-style: italic; }
.pubk-ask .pubk-ask-subnav { border-bottom: 1px solid rgba(255,255,255,.08); border-top: 3px solid var(--gold); box-shadow: 0 10px 24px rgba(6,18,41,.25); position: sticky; top: 0; z-index: 100; }
.pubk-ask .pubk-ask-subnav-inner { align-items: center; display: flex; justify-content: space-between; }
.pubk-ask .pubk-ask-brand { align-items: baseline; display: flex; gap: 12px; padding: 14px 0; text-decoration: none; }
.pubk-ask .pubk-ask-mark { color: #fff; font-family: var(--serif); font-size: 22px; font-weight: 460; letter-spacing: -.01em; }
.pubk-ask .pubk-ask-mark b { color: var(--gold-soft); font-weight: 460; }
.pubk-ask .pubk-ask-brand-tag { color: var(--on-navy-muted); font-size: 9.5px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.pubk-ask .pubk-ask-subnav-links { align-items: center; display: flex; gap: 2px; }
.pubk-ask .pubk-ask-subnav-item { position: relative; }
.pubk-ask .pubk-ask-subnav-item > a { color: var(--on-navy-body); display: block; font-size: 12px; font-weight: 700; letter-spacing: .1em; padding: 20px 16px; text-decoration: none; text-transform: uppercase; }
.pubk-ask .pubk-ask-subnav-item > a span { color: #8191A9; font-size: 8px; }
.pubk-ask .pubk-ask-subnav-item > a:hover { color: var(--gold-soft); }
.pubk-ask .pubk-ask-dropdown { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--gold); box-shadow: 0 16px 40px rgba(11,37,69,.18); left: 0; min-width: 230px; opacity: 0; padding: 8px 0; position: absolute; top: 100%; transform: translateY(6px); transition: opacity .2s ease, transform .2s ease, visibility .2s ease; visibility: hidden; }
.pubk-ask .pubk-ask-subnav-item:hover .pubk-ask-dropdown,
.pubk-ask .pubk-ask-subnav-item:focus-within .pubk-ask-dropdown { opacity: 1; transform: translateY(0); visibility: visible; }
.pubk-ask .pubk-ask-dropdown a { color: var(--ink-soft); display: block; font-size: 13.5px; font-weight: 420; letter-spacing: 0; padding: 9px 20px; text-decoration: none; }
.pubk-ask .pubk-ask-dropdown a:hover { background: var(--cream); color: var(--navy); }
.pubk-ask .pubk-ask-dropdown > span { color: var(--gray); display: block; font-size: 9.5px; font-weight: 700; letter-spacing: .18em; padding: 9px 20px 3px; text-transform: uppercase; }
.pubk-ask .pubk-ask-subnav-cta .wp-block-button__link { font-size: 11.5px; padding: 11px 20px; }
.pubk-ask .pubk-ask-hero { overflow: hidden; padding: 104px 0 96px; position: relative; }
.pubk-ask .pubk-ask-hero::before { background: radial-gradient(circle,rgba(184,149,56,.14) 0%,transparent 62%); content: ""; height: 700px; pointer-events: none; position: absolute; right: -160px; top: -200px; width: 700px; }
.pubk-ask .pubk-ask-hero-grid { align-items: center; display: grid !important; flex-wrap: nowrap !important; gap: 72px; grid-template-columns: 1.05fr .95fr; margin-bottom: 0; position: relative; z-index: 1; }
.pubk-ask .pubk-ask-hero-grid > .wp-block-column { min-width: 0; }
.pubk-ask .pubk-ask-title { font-size: clamp(38px,4.6vw,58px) !important; font-weight: 380; letter-spacing: -.025em; line-height: 1.06; margin: 0 0 22px; }
.pubk-ask .pubk-ask-title em { color: var(--gold-soft); font-style: italic; }
.pubk-ask .pubk-ask-support { font-size: 21px; font-style: italic; font-weight: 420; letter-spacing: -.01em; margin: 0 0 20px; }
.pubk-ask .pubk-ask-hero-body { color: var(--on-navy-body) !important; font-size: 17px; line-height: 1.7; margin: 0 0 34px; max-width: 540px; }
.pubk-ask .pubk-ask-hero-buttons { gap: 16px; margin: 0 0 26px; }
.pubk-ask .pubk-ask-trust-line { color: var(--on-navy-muted); display: flex; flex-wrap: wrap; font-size: 12.5px; gap: 8px 0; letter-spacing: .04em; }
.pubk-ask .pubk-ask-trust-line span::after { color: var(--gold); content: "·"; margin: 0 10px; }
.pubk-ask .pubk-ask-trust-line span:last-child::after { content: ""; }
.pubk-ask .pubk-ask-prompt-shell { background: var(--navy-deep); border: 1px solid rgba(255,255,255,.12); box-shadow: 0 30px 80px rgba(0,0,0,.4); }
.pubk-ask .pubk-ask-prompt-bar { align-items: center; border-bottom: 1px solid rgba(255,255,255,.1); display: flex; gap: 8px; padding: 12px 16px; }
.pubk-ask .pubk-ask-prompt-bar i { background: rgba(255,255,255,.15); border-radius: 50%; height: 10px; width: 10px; }
.pubk-ask .pubk-ask-prompt-bar strong { color: var(--on-navy-muted); font-size: 11px; font-weight: 700; letter-spacing: .16em; margin-left: 10px; text-transform: uppercase; }
.pubk-ask .pubk-ask-prompt-body { padding: 34px 30px 30px; }
.pubk-ask .pubk-ask-prompt-field { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.16); color: #fff; font-family: var(--serif); font-size: 19px; font-weight: 420; line-height: 1.5; min-height: 96px; padding: 22px 24px; }
.pubk-ask .pubk-ask-prompt-field span,
.pubk-ask .pubk-ask-prompt-field b { color: var(--gold-soft); }
.pubk-ask .pubk-ask-prompt-field .pubk-ask-typed { color: #fff; }
.pubk-ask .pubk-ask-prompt-field b { animation: pubk-blink 1s step-end infinite; }
@keyframes pubk-blink { 50% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .pubk-ask .pubk-ask-prompt-field b { animation: none; } }
.pubk-ask .pubk-ask-prompt-modes { display: flex; gap: 10px; margin-top: 16px; }
.pubk-ask .pubk-ask-prompt-modes span { border: 1px solid rgba(255,255,255,.18); color: var(--on-navy-muted); font-size: 11px; font-weight: 700; letter-spacing: .14em; padding: 7px 14px; text-transform: uppercase; }
.pubk-ask .pubk-ask-prompt-modes .is-active { background: rgba(217,186,111,.14); border-color: var(--gold-soft); color: var(--gold-soft); }
.pubk-ask .pubk-ask-prompt-foot { align-items: center; color: #8191A9; display: flex; font-size: 11px; font-weight: 700; justify-content: space-between; letter-spacing: .12em; margin-top: 22px; text-transform: uppercase; }
.pubk-ask .pubk-ask-section { padding: 96px 0; }
.pubk-ask .pubk-ask-section-head { align-items: end; border-bottom: 1px solid var(--line); display: grid !important; flex-wrap: nowrap !important; gap: 48px; grid-template-columns: 1.2fr 1fr; margin: 0 0 56px; padding: 0 0 36px; }
.pubk-ask .pubk-ask-section-head > .wp-block-column { min-width: 0; }
.pubk-ask .pubk-ask-section-desc p { font-size: 16px; line-height: 1.65; margin: 0; }
.pubk-ask .pubk-ask-compare { align-items: stretch; display: grid; gap: 28px; grid-template-columns: minmax(0,.85fr) minmax(0,1.15fr); }
.pubk-ask .pubk-ask-compare-col { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--line); display: flex; flex-direction: column; min-width: 0; padding: 34px 34px 30px; }
.pubk-ask .pubk-ask-compare-col.is-pubk { background: var(--cream-soft); border-top-color: var(--gold); }
.pubk-ask .pubk-ask-compare-col > strong { color: var(--gray); font-size: 11px; font-weight: 700; letter-spacing: .2em; margin-bottom: 22px; text-transform: uppercase; }
.pubk-ask .pubk-ask-compare-col.is-pubk > strong { color: var(--red); }
.pubk-ask .pubk-ask-compare-col.is-generic p { background: var(--cream-soft); border: 1px solid var(--line); color: var(--ink-soft); font-size: 13.5px; margin: 0 0 12px; padding: 16px 18px; }
.pubk-ask .pubk-ask-compare-col.is-generic p + p { background: #fff; }
.pubk-ask .pubk-ask-compare-col > small { color: var(--gray); font-size: 11px; font-weight: 700; letter-spacing: .16em; margin-top: auto; padding-top: 22px; text-transform: uppercase; }
.pubk-ask .pubk-ask-compare-col > em { color: var(--navy); font-family: var(--serif); font-size: 16.5px; line-height: 1.5; margin-top: 20px; }
.pubk-ask .pubk-ask-ws-grid { display: grid; gap: 10px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.pubk-ask .pubk-ask-ws-grid > div { background: #fff; border: 1px solid var(--line); min-width: 0; padding: 14px 14px 12px; }
.pubk-ask .pubk-ask-ws-grid b { color: var(--navy); display: block; font-size: 10px; letter-spacing: .16em; margin-bottom: 8px; overflow-wrap: anywhere; text-transform: uppercase; }
.pubk-ask .pubk-ask-ws-grid i { background: var(--cream); border: 1px solid var(--line); display: block; height: 6px; margin-bottom: 5px; }
.pubk-ask .pubk-ask-ws-grid i:nth-of-type(1) { width: 90%; }
.pubk-ask .pubk-ask-ws-grid i:nth-of-type(2) { width: 70%; }
.pubk-ask .pubk-ask-ws-grid i:nth-of-type(3) { width: 80%; }
.pubk-ask .pubk-ask-cap-grid { display: grid; gap: 28px; grid-template-columns: repeat(2,1fr); }
.pubk-ask .pubk-ask-cap-grid article { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--navy); display: flex; flex-direction: column; min-width: 0; }
.pubk-ask .pubk-ask-cap-grid article:nth-child(2) { border-top-color: var(--gold); }
.pubk-ask .pubk-ask-cap-grid article:nth-child(3) { border-top-color: var(--red); }
.pubk-ask .pubk-ask-cap-grid article:nth-child(4) { border-top-color: var(--navy-mid); }
.pubk-ask .pubk-ask-cap-copy { padding: 34px 36px 30px; }
.pubk-ask .pubk-ask-cap-copy > i { color: var(--gold-accessible); display: block; font-family: var(--serif); font-size: 19px; font-weight: 700; margin-bottom: 10px; }
.pubk-ask .pubk-ask-cap-copy h3 { font-size: 26px; font-weight: 460; letter-spacing: -.015em; margin: 0 0 6px; }
.pubk-ask .pubk-ask-cap-copy > strong { color: var(--navy); display: block; font-size: 14px; margin-bottom: 12px; }
.pubk-ask .pubk-ask-cap-copy p { color: var(--ink-soft); font-size: 14.5px; line-height: 1.65; margin: 0 0 18px; }
.pubk-ask .pubk-ask-cap-copy a { color: var(--red); font-size: 12px; font-weight: 700; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; }
.pubk-ask .pubk-ask-cap-preview { background: var(--cream-soft); border-top: 1px solid var(--line); font-size: 12px; margin-top: auto; padding: 20px 24px; }
.pubk-ask .pubk-ask-cap-preview p { color: var(--ink-soft); line-height: 1.5; margin: 0 0 10px; }
.pubk-ask .pubk-ask-cap-preview > span { display: inline-block; font-size: 9.5px; font-weight: 700; letter-spacing: .12em; margin: 0 6px 6px 0; padding: 3px 8px; text-transform: uppercase; }
.pubk-ask .pubk-ask-cap-preview .is-authority { background: var(--navy); color: #fff; }
.pubk-ask .pubk-ask-cap-preview .is-guidance { background: var(--gold-soft); color: var(--navy); }
.pubk-ask .pubk-ask-cap-preview .is-commentary { background: #fff; border: 1px solid var(--line); color: var(--gray); }
.pubk-ask .pubk-ask-solicitation { align-items: center; display: flex; justify-content: space-between; margin-bottom: 8px; }
.pubk-ask .pubk-ask-solicitation > strong { color: var(--navy); font-size: 12px; }
.pubk-ask .pubk-ask-solicitation > b { color: var(--red); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.pubk-ask .pubk-ask-memo { background: #fff; border: 1px solid var(--line); padding: 14px 16px; }
.pubk-ask .pubk-ask-memo b { color: var(--gray); display: block; font-size: 9.5px; letter-spacing: .16em; margin-bottom: 6px; text-transform: uppercase; }
.pubk-ask .pubk-ask-memo strong { color: var(--ink); display: block; font-family: var(--serif); font-size: 14.5px; font-weight: 460; }
.pubk-ask .pubk-ask-memo small,
.pubk-ask .pubk-ask-team small { color: var(--gray); display: block; font-size: 10.5px; letter-spacing: .12em; margin-top: 6px; text-transform: uppercase; }
.pubk-ask .pubk-ask-team p { margin: 0 0 8px; }
.pubk-ask .pubk-ask-team b { color: var(--navy); }
.pubk-ask .pubk-ask-team strong { color: var(--ink-soft); }
.pubk-ask .pubk-ask-specialized-grid { align-items: start; display: grid; gap: 56px; grid-template-columns: 1fr 1fr; }
.pubk-ask .pubk-ask-auth-map { background: #fff; border: 1px solid var(--line); }
.pubk-ask .pubk-ask-auth-map > strong { border-bottom: 1px solid var(--line); color: var(--gray); display: block; font-size: 11px; letter-spacing: .2em; padding: 18px 26px; text-transform: uppercase; }
.pubk-ask .pubk-ask-auth-map > div { align-items: center; border-bottom: 1px solid var(--line); display: flex; gap: 20px; padding: 16px 26px; }
.pubk-ask .pubk-ask-auth-map > div:last-child { border-bottom: 0; }
.pubk-ask .pubk-ask-auth-map b { color: var(--red); flex: 0 0 150px; font-size: 10px; letter-spacing: .16em; text-transform: uppercase; }
.pubk-ask .pubk-ask-auth-map div:nth-child(5) b { color: var(--navy); }
.pubk-ask .pubk-ask-auth-map div:nth-child(6) b { color: var(--ink-soft); }
.pubk-ask .pubk-ask-auth-map div:nth-child(n+7) b { color: var(--gray); }
.pubk-ask .pubk-ask-auth-map em { color: var(--ink); font-family: var(--serif); font-size: 17px; font-style: normal; font-weight: 460; }
.pubk-ask .pubk-ask-auth-map span { color: var(--gray); font-size: 12.5px; margin-left: auto; text-align: right; }
.pubk-ask .pubk-ask-specialized-copy > div { border-bottom: 1px solid var(--line); padding: 24px 0; }
.pubk-ask .pubk-ask-specialized-copy > div:first-child { padding-top: 24px; }
.pubk-ask .pubk-ask-specialized-copy > div:last-child { border-bottom: 0; }
.pubk-ask .pubk-ask-specialized-copy h3 { font-size: 20px; font-weight: 460; margin: 0 0 6px; }
.pubk-ask .pubk-ask-specialized-copy p { color: var(--ink-soft); font-size: 14.5px; line-height: 1.65; margin: 0; }
.pubk-ask .pubk-ask-mosaic { display: grid; gap: 20px; grid-template-columns: repeat(4,1fr); }
.pubk-ask .pubk-ask-mosaic article { background: #fff; border: 1px solid var(--line); border-top: 3px solid var(--navy); display: flex; flex-direction: column; min-height: 150px; padding: 24px 22px 20px; }
.pubk-ask .pubk-ask-mosaic article:nth-child(3n+2) { border-top-color: var(--gold); }
.pubk-ask .pubk-ask-mosaic article:nth-child(3n+3) { border-top-color: var(--red); }
.pubk-ask .pubk-ask-mosaic b { color: var(--gray); font-size: 9.5px; letter-spacing: .16em; margin-bottom: 10px; text-transform: uppercase; }
.pubk-ask .pubk-ask-mosaic h3 { font-size: 18px; font-weight: 460; line-height: 1.25; margin: 0; }
.pubk-ask .pubk-ask-mosaic small { color: var(--gray); font-size: 11px; margin-top: auto; padding-top: 14px; }
.pubk-ask .pubk-ask-trust-grid { background: var(--line); border: 1px solid var(--line); display: grid; gap: 1px; grid-template-columns: repeat(5,1fr); }
.pubk-ask .pubk-ask-trust-grid article { background: #fff; padding: 28px 24px; }
.pubk-ask .pubk-ask-trust-grid i { color: var(--gold-accessible); display: block; font-family: var(--serif); font-size: 24px; font-weight: 700; margin-bottom: 12px; }
.pubk-ask .pubk-ask-trust-grid h3 { font-size: 18px; font-weight: 460; line-height: 1.25; margin: 0 0 8px; }
.pubk-ask .pubk-ask-trust-grid p { color: var(--ink-soft); font-size: 13px; line-height: 1.6; margin: 0; }
.pubk-ask .pubk-ask-cta { overflow: hidden; padding: 110px 0; position: relative; text-align: center; }
.pubk-ask .pubk-ask-cta::before { background: radial-gradient(circle at 80% 20%,rgba(184,149,56,.13),transparent 55%); content: ""; inset: 0; position: absolute; }
.pubk-ask .pubk-ask-ghost { bottom: -60px; color: rgba(255,255,255,.028); font-family: var(--serif); font-size: 220px; font-style: italic; font-weight: 380; left: 0; line-height: 1; pointer-events: none; position: absolute; right: 0; white-space: nowrap; }
.pubk-ask .pubk-ask-cta-inner { position: relative; }
.pubk-ask .pubk-ask-cta-title { font-size: clamp(32px,4vw,50px) !important; font-weight: 380; letter-spacing: -.02em; line-height: 1.1; margin: 0 0 20px; }
.pubk-ask .pubk-ask-cta-title em { color: var(--gold-soft); font-style: italic; }
.pubk-ask .pubk-ask-cta-copy { color: var(--on-navy-body) !important; font-size: 17px; line-height: 1.7; margin: 0 auto 38px !important; max-width: 620px; }
.pubk-ask .pubk-ask-cta-buttons { gap: 16px; justify-content: center; }
.pubk-ask .pubk-ask-cta-pedigree { color: var(--on-navy-body) !important; font-size: 14px; line-height: 1.7; margin: 36px auto 0 !important; max-width: 720px; }
.pubk-ask .pubk-ask-cta-pedigree a { color: var(--gold-soft); text-decoration: underline; text-underline-offset: 3px; }
.pubk-ask .pubk-ask-price-grid { display: grid; gap: 22px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.pubk-ask .pubk-ask-price-grid article { background: #fff; border: 1px solid var(--line); border-top: 4px solid var(--navy); display: flex; flex-direction: column; min-width: 0; padding: 32px 28px; }
.pubk-ask .pubk-ask-price-grid article.is-org { border-top-color: var(--gold); }
.pubk-ask .pubk-ask-price-grid article > b { color: var(--gray); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.pubk-ask .pubk-ask-price-num { color: var(--navy); font-family: var(--serif); font-size: 40px; font-weight: 380; line-height: 1.2; margin: 14px 0 4px !important; }
.pubk-ask .pubk-ask-price-num small { color: var(--gray); font-family: var(--sans); font-size: 12px; font-weight: 500; letter-spacing: .06em; }
.pubk-ask .pubk-ask-price-note { color: var(--gold-accessible); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pubk-ask .pubk-ask-price-copy { color: var(--ink-soft); font-size: 14px; line-height: 1.65; margin: 16px 0 22px !important; }
.pubk-ask .pubk-ask-price-bands { list-style: none; margin: 16px 0 22px !important; padding: 0; }
.pubk-ask .pubk-ask-price-bands li { border-bottom: 1px solid var(--line); display: flex; font-size: 13.5px; justify-content: space-between; padding: 8px 0; }
.pubk-ask .pubk-ask-price-bands li:last-child { border-bottom: 0; }
.pubk-ask .pubk-ask-price-bands em { color: var(--red); font-style: normal; font-weight: 700; }
.pubk-ask .pubk-ask-price-cta { align-self: flex-start; color: var(--red); font-size: 13px; font-weight: 700; letter-spacing: .06em; margin-top: auto; text-decoration: none; }
.pubk-ask .pubk-ask-price-cta:hover { text-decoration: underline; }
.pubk-ask .pubk-ask-price-fine { color: var(--ink-soft); font-size: 14px; line-height: 1.6; margin: 26px 0 0 !important; }
.pubk-ask .pubk-ask-price-fine a { color: var(--navy); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 1080px) {
  .pubk-ask .pubk-ask-subnav-links { display: none; }
  .pubk-ask .pubk-ask-hero-grid,
  .pubk-ask .pubk-ask-section-head { grid-template-columns: 1fr; }
  .pubk-ask .pubk-ask-section-head { gap: 18px; }
  .pubk-ask .pubk-ask-compare,
  .pubk-ask .pubk-ask-cap-grid,
  .pubk-ask .pubk-ask-specialized-grid { grid-template-columns: minmax(0,1fr); }
  .pubk-ask .pubk-ask-mosaic,
  .pubk-ask .pubk-ask-trust-grid { grid-template-columns: repeat(2,1fr); }
  .pubk-ask .pubk-ask-price-grid { grid-template-columns: minmax(0,1fr); }
}

@media (max-width: 600px) {
  .pubk-ask .pubk-ask-auth-map > div { align-items: flex-start; flex-direction: column; gap: 5px; }
  .pubk-ask .pubk-ask-auth-map b { flex-basis: auto; }
  .pubk-ask .pubk-ask-auth-map span { margin-left: 0; text-align: left; }
}

/* ---------- Community hub page ---------- */
.pubk-community {
  --pubk-community-gold-text: #80681F;
  color: var(--ink-soft);
  overflow: clip;
}
.pubk-community *,
.pubk-community *::before,
.pubk-community *::after { box-sizing: border-box; }
.pubk-community > *,
.pubk-community .pubk-community-container > *,
.pubk-community .pubk-community-flow > *,
.pubk-community .pubk-community-card-flow > * { margin-block-start: 0; }
.pubk-community .pubk-community-container {
  margin-left: auto !important;
  margin-right: auto !important;
  max-width: 1280px;
  padding-left: 32px;
  padding-right: 32px;
  width: 100%;
}
.pubk-community .pubk-community-flow > *,
.pubk-community .pubk-community-card-flow > * { margin-left: 0 !important; margin-right: 0 !important; }
.pubk-community .pubk-community-weekly {
  padding: 3px 0;
  position: relative;
}
.pubk-community .pubk-community-weekly::before,
.pubk-community .pubk-community-weekly::after {
  background: linear-gradient(90deg,var(--gold) 0 50%,var(--red) 50% 100%);
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  right: 0;
}
.pubk-community .pubk-community-weekly::before { top: 0; }
.pubk-community .pubk-community-weekly::after { bottom: 0; }
.pubk-community .pubk-community-weekly-inner {
  align-items: center;
  display: grid;
  gap: 40px;
  grid-template-columns: minmax(0,1fr) auto;
  padding-bottom: 28px;
  padding-top: 28px;
}
.pubk-community .pubk-community-weekly-copy { align-items: center; display: flex; gap: 28px; min-width: 0; }
.pubk-community .pubk-community-weekly-title {
  color: var(--gold-soft);
  flex: 0 0 auto;
  font-family: var(--serif);
  font-size: 26px;
  font-style: italic;
  font-weight: 460;
  letter-spacing: -.01em;
  line-height: 1.1;
  white-space: nowrap;
}
.pubk-community .pubk-community-weekly-divider { background: rgba(255,255,255,.18); flex: 0 0 1px; height: 38px; }
.pubk-community .pubk-community-weekly-pitch { color: var(--on-navy-body); font-size: 15px; line-height: 1.5; min-width: 0; }
.pubk-community .pubk-community-subscribe { display: grid; grid-template-columns: 280px auto; min-width: 0; }
.pubk-community .pubk-community-subscribe input {
  background: rgba(0,0,0,.28);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 0;
  color: #fff;
  font-family: var(--sans);
  font-size: 14px;
  height: 46px;
  min-width: 0;
  outline: none;
  padding: 0 18px;
  width: 100%;
}
.pubk-community .pubk-community-subscribe input::placeholder { color: #A8B4C7; opacity: 1; }
.pubk-community .pubk-community-subscribe input:focus { border-color: var(--gold-soft); box-shadow: inset 0 0 0 1px var(--gold-soft); }
.pubk-community .pubk-community-subscribe a {
  align-items: center;
  background: var(--red);
  color: #fff;
  display: flex;
  font-size: 12px;
  font-weight: 700;
  height: 46px;
  justify-content: center;
  letter-spacing: .14em;
  padding: 0 26px;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
.pubk-community .pubk-community-subscribe a:hover { background: var(--red-deep); color: #fff; }
.pubk-community .pubk-community-head {
  border-bottom: 1px solid var(--line);
  overflow: hidden;
  padding: 64px 0 56px;
  position: relative;
}
.pubk-community .pubk-community-head::before {
  background: linear-gradient(90deg,var(--navy) 0 33%,var(--red) 33% 66%,var(--gold) 66% 100%);
  content: "";
  height: 3px;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
}
.pubk-community .pubk-community-eyebrow {
  align-items: center;
  display: inline-flex;
  font-size: 13px;
  font-weight: 700;
  gap: 14px;
  letter-spacing: .28em;
  margin: 0 0 22px;
  text-transform: uppercase;
}
.pubk-community .pubk-community-eyebrow::before { background: currentColor; content: ""; height: 1px; opacity: .6; width: 36px; }
.pubk-community .pubk-community-title {
  font-size: clamp(40px,5vw,68px) !important;
  font-weight: 380;
  letter-spacing: -.025em;
  line-height: 1.04;
  margin: 0 0 24px;
  max-width: 880px;
}
.pubk-community .pubk-community-title em { color: var(--navy); font-style: italic; }
.pubk-community .pubk-community-dek { font-size: 18px; font-weight: 380; line-height: 1.65; margin: 0; max-width: 620px; }
.pubk-community .pubk-community-directory { border-bottom: 1px solid var(--line); padding: 64px 0; }
.pubk-community .pubk-community-jb-cal {
  border: 1px solid var(--line);
  display: grid !important;
  gap: 0;
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin: 0;
}
.pubk-community .pubk-community-jb-cal > .wp-block-column { margin: 0; min-width: 0; }
.pubk-community .pubk-community-card {
  border-top: 3px solid var(--red);
  display: flex;
  padding: 48px 44px;
}
.pubk-community .pubk-community-card.is-job { border-right: 1px solid var(--line); }
.pubk-community .pubk-community-card.is-calendar { border-top-color: var(--gold); }
.pubk-community .pubk-community-card-flow { display: flex; flex: 1; flex-direction: column; min-width: 0; }
.pubk-community .pubk-community-card-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  margin: 0 0 16px;
  text-transform: uppercase;
}
.pubk-community .pubk-community-card-eyebrow.is-gold { color: var(--pubk-community-gold-text); }
.pubk-community .pubk-community-card-title {
  font-size: 32px !important;
  font-weight: 380;
  letter-spacing: -.015em;
  line-height: 1.1;
  margin: 0 0 14px;
}
.pubk-community .pubk-community-card-title em { color: var(--navy); font-style: italic; }
.pubk-community .pubk-community-card-copy { font-size: 15px; line-height: 1.65; margin: 0 0 28px; max-width: 440px; }
.pubk-community .pubk-community-card-link { display: flex; margin: auto 0 0; }
.pubk-community .pubk-community-card-link a {
  align-items: center;
  color: var(--navy);
  display: flex;
  font-size: 11px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: .16em;
  text-decoration: none;
  text-transform: uppercase;
  width: 100%;
}
.pubk-community .pubk-community-card-link a::after { content: "→"; transition: transform .25s; }
.pubk-community .pubk-community-card-link a:hover { color: var(--red); }
.pubk-community .pubk-community-card-link a:hover::after { transform: translateX(5px); }
.pubk-community .pubk-community-sponsors { overflow: hidden; padding: 60px 0; position: relative; }
.pubk-community .pubk-community-sponsors-head {
  align-items: center;
  border-bottom: 1px solid rgba(255,255,255,.1);
  margin: 0 0 36px;
  padding: 0 0 24px;
}
.pubk-community .pubk-community-sponsors-title {
  font-size: 24px !important;
  font-weight: 380;
  letter-spacing: -.01em;
  line-height: 1.1;
  margin: 0;
}
.pubk-community .pubk-community-sponsors-title em { color: var(--gold-soft); font-style: italic; }
.pubk-community .pubk-community-sponsors-link { margin: 0; }
.pubk-community .pubk-community-sponsors-link a {
  align-items: center;
  color: var(--gold-soft);
  display: inline-flex;
  font-size: 11px;
  font-weight: 700;
  gap: 8px;
  letter-spacing: .16em;
  text-decoration: none;
  text-transform: uppercase;
}
.pubk-community .pubk-community-sponsors-link a::after { content: "→"; }
.pubk-community .pubk-community-sponsors-link a:hover { color: #fff; }
.pubk-community .pubk-community-marquee {
  display: flex;
  margin: 0;
  mask-image: linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
  overflow: hidden;
  -webkit-mask-image: linear-gradient(90deg,transparent 0%,#000 8%,#000 92%,transparent 100%);
}
.pubk-community .pubk-community-marquee-track {
  animation: pubk-community-scroll 36s linear infinite;
  display: flex;
  flex: 0 0 auto;
  gap: 60px;
  padding-right: 60px;
  width: max-content;
}
.pubk-community .pubk-community-marquee-track span {
  color: rgba(255,255,255,.85);
  flex: 0 0 auto;
  font-family: var(--serif);
  font-size: 24px;
  font-style: italic;
  font-weight: 380;
  letter-spacing: -.01em;
  white-space: nowrap;
}
.pubk-community .pubk-community-marquee-track span::before { color: var(--red); content: "·"; font-size: 32px; margin-right: 60px; vertical-align: middle; }
.pubk-community .pubk-community-marquee-track span:hover { color: var(--gold-soft); }
@keyframes pubk-community-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
@media (prefers-reduced-motion: reduce) {
  .pubk-community .pubk-community-marquee-track { animation: none; }
}
@media (max-width: 1000px) {
  .pubk-community .pubk-community-weekly-inner { gap: 22px; grid-template-columns: minmax(0,1fr); }
  .pubk-community .pubk-community-subscribe { grid-template-columns: minmax(0,280px) auto; width: max-content; }
  .pubk-community .pubk-community-jb-cal { grid-template-columns: minmax(0,1fr); }
  .pubk-community .pubk-community-card.is-job { border-bottom: 1px solid var(--line); border-right: 0; }
}
@media (max-width: 640px) {
  .pubk-community .pubk-community-container { padding-left: 20px; padding-right: 20px; }
  .pubk-community .pubk-community-weekly-copy { align-items: flex-start; flex-direction: column; gap: 10px; }
  .pubk-community .pubk-community-weekly-divider { display: none; }
  .pubk-community .pubk-community-subscribe { grid-template-columns: minmax(0,1fr) auto; width: 100%; }
  .pubk-community .pubk-community-subscribe a { padding-left: 18px; padding-right: 18px; }
  .pubk-community .pubk-community-head { padding: 56px 0 52px; }
  .pubk-community .pubk-community-directory { padding: 56px 0; }
  .pubk-community .pubk-community-sponsors-head { align-items: flex-start; flex-direction: column; gap: 16px; }
}

/* ---------- Membership pricing page ---------- */
.pubk-membership-pricing .pubk-mp-main,
.pubk-membership-pricing .pubk-mp-main * { box-sizing: border-box; }
.pubk-membership-pricing .pubk-mp-main {
  background: var(--paper);
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 380;
  line-height: 1.55;
  overflow: clip;
}
.pubk-membership-pricing .pubk-mp-container {
  margin: 0 auto;
  max-width: 1280px;
  padding-left: 32px;
  padding-right: 32px;
  width: 100%;
}
.pubk-membership-pricing .pubk-mp-main section { padding: 96px 0; }
.pubk-membership-pricing .pubk-mp-main h1,
.pubk-membership-pricing .pubk-mp-main h2,
.pubk-membership-pricing .pubk-mp-main h3,
.pubk-membership-pricing .pubk-mp-main p,
.pubk-membership-pricing .pubk-mp-main ul { margin: 0; }
.pubk-membership-pricing .pubk-mp-main h1,
.pubk-membership-pricing .pubk-mp-main h2,
.pubk-membership-pricing .pubk-mp-main h3 {
  color: var(--ink);
  font-family: var(--serif);
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.1;
}
.pubk-membership-pricing .pubk-mp-main h1 em,
.pubk-membership-pricing .pubk-mp-main h2 em {
  color: var(--navy);
  font-style: italic;
  font-weight: 300;
}
.pubk-membership-pricing .pubk-mp-eyebrow {
  color: var(--red);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1.55;
  text-transform: uppercase;
}
.pubk-membership-pricing .pubk-mp-section-head { margin-bottom: 56px; max-width: 70ch; }
.pubk-membership-pricing .pubk-mp-section-head h2 {
  font-size: clamp(34px, 4vw, 54px);
  font-weight: 380;
  letter-spacing: -0.02em;
  line-height: 1.05;
  margin-top: 14px;
}
.pubk-membership-pricing .pubk-mp-section-head > p:last-child {
  font-size: 17px;
  line-height: 1.65;
  margin-top: 18px;
}

.pubk-membership-pricing .pubk-mp-hero {
  background: var(--cream);
  border-bottom: 1px solid var(--line);
  padding: 96px 0 88px !important;
}
.pubk-membership-pricing .pubk-mp-hero h1 {
  color: var(--ink);
  font-size: clamp(44px, 5.6vw, 76px);
  font-weight: 380;
  letter-spacing: -0.02em;
  line-height: 1.02;
  margin-top: 18px;
  max-width: 16ch;
}
.pubk-membership-pricing .pubk-mp-hero h1 em { color: var(--navy); }
.pubk-membership-pricing .pubk-mp-hero-copy {
  color: var(--ink-soft);
  font-size: 18px;
  line-height: 1.65;
  margin-top: 26px !important;
  max-width: 58ch;
}
.pubk-membership-pricing .pubk-mp-hero-ctas {
  display: flex;
  flex-wrap: wrap;
  gap: 14px;
  margin-top: 36px;
}

.pubk-membership-pricing .pubk-mp-individual { background: var(--navy); scroll-margin-top: 24px; }
.pubk-membership-pricing .pubk-mp-individual .pubk-mp-eyebrow { color: var(--gold-soft); }
.pubk-membership-pricing .pubk-mp-individual .pubk-mp-section-head h2 { color: #fff; }
.pubk-membership-pricing .pubk-mp-individual .pubk-mp-section-head h2 em { color: var(--gold-soft); }
.pubk-membership-pricing .pubk-mp-individual .pubk-mp-section-head > p:last-child { color: var(--on-navy-body); }
.pubk-membership-pricing .pubk-mp-individual .pubk-mp-fine { color: var(--on-navy-body); }
.pubk-membership-pricing .pubk-mp-individual .pubk-mp-fine b { color: #fff; }
.pubk-membership-pricing .pubk-mp-tier-grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.pubk-membership-pricing .pubk-mp-free {
  align-items: center;
  background: var(--paper);
  border: 1px solid var(--line);
  border-top: 4px solid var(--gold-soft);
  display: flex;
  flex-wrap: wrap;
  gap: 18px 40px;
  margin-bottom: 20px;
  padding: 26px 28px;
}
.pubk-membership-pricing .pubk-mp-free-name {
  align-items: baseline;
  display: flex;
  gap: 14px;
}
.pubk-membership-pricing .pubk-mp-free-name h3 { font-size: 26px; line-height: 1.3; }
.pubk-membership-pricing .pubk-mp-free-price {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 30px;
  font-weight: 380;
  line-height: 1;
}
.pubk-membership-pricing .pubk-mp-free-list {
  display: flex;
  flex: 1 1 320px;
  flex-wrap: wrap;
  gap: 8px 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.pubk-membership-pricing .pubk-mp-free-list li {
  font-size: 14.5px;
  line-height: 1.45;
  padding-left: 22px;
  position: relative;
}
.pubk-membership-pricing .pubk-mp-free-list li::before {
  color: var(--gold);
  content: "★";
  font-size: 11px;
  left: 0;
  position: absolute;
  top: 3px;
}
.pubk-membership-pricing .pubk-mp-free-btn { flex: 0 0 auto; }
.pubk-membership-pricing .pubk-mp-tier,
.pubk-membership-pricing .pubk-mp-ent {
  background: var(--paper);
  border: 1px solid var(--line);
  border-top: 4px solid var(--navy);
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: 36px 28px;
  transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.pubk-membership-pricing .pubk-mp-tier:hover,
.pubk-membership-pricing .pubk-mp-ent:hover {
  box-shadow: 0 20px 40px rgba(11,37,69,0.10);
  transform: translateY(-4px);
}
.pubk-membership-pricing .pubk-mp-tier:nth-child(2) { border-top-color: var(--navy-mid); }
.pubk-membership-pricing .pubk-mp-tier:nth-child(3) { border-top-color: var(--gold); }
.pubk-membership-pricing .pubk-mp-tier.is-featured { border-top-color: var(--red); position: relative; }
.pubk-membership-pricing .pubk-mp-tier h3 { font-size: 26px; line-height: 1.55; }
.pubk-membership-pricing .pubk-mp-tier-sub,
.pubk-membership-pricing .pubk-mp-ent-seats,
.pubk-membership-pricing .pubk-mp-who {
  color: var(--gray);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.14em;
  line-height: 1.55;
  margin-top: 6px !important;
  text-transform: uppercase;
}
.pubk-membership-pricing .pubk-mp-price {
  color: var(--navy);
  font-family: var(--serif);
  font-size: 40px;
  font-weight: 380;
  line-height: 1.55;
  margin: 22px 0 2px !important;
}
.pubk-membership-pricing .pubk-mp-price small {
  color: var(--gray);
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.06em;
}
.pubk-membership-pricing .pubk-mp-tier ul,
.pubk-membership-pricing .pubk-mp-ent ul { flex: 1; list-style: none; margin: 22px 0 28px; padding: 0; }
.pubk-membership-pricing .pubk-mp-tier li,
.pubk-membership-pricing .pubk-mp-ent li {
  border-bottom: 1px solid var(--line);
  font-size: 14.5px;
  line-height: 1.45;
  padding: 9px 0 9px 22px;
  position: relative;
}
.pubk-membership-pricing .pubk-mp-tier li:last-child,
.pubk-membership-pricing .pubk-mp-ent li:last-child { border-bottom: 0; }
.pubk-membership-pricing .pubk-mp-tier li::before,
.pubk-membership-pricing .pubk-mp-ent li::before,
.pubk-membership-pricing .pubk-mp-perk-cols > div::before {
  color: var(--gold);
  content: "★";
  font-size: 11px;
  left: 0;
  position: absolute;
  top: 9px;
}
.pubk-membership-pricing .pubk-mp-featured-flag {
  background: var(--red);
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  left: 50%;
  letter-spacing: 0.18em;
  padding: 5px 14px;
  position: absolute;
  text-transform: uppercase;
  top: -13px;
  transform: translateX(-50%);
  white-space: nowrap;
}
.pubk-membership-pricing .pubk-mp-tier > .wp-block-button,
.pubk-membership-pricing .pubk-mp-ent > .wp-block-button,
.pubk-membership-pricing .pubk-mp-tier > .wp-block-button .wp-block-button__link,
.pubk-membership-pricing .pubk-mp-ent > .wp-block-button .wp-block-button__link { width: 100%; }
.pubk-membership-pricing .pubk-mp-tier > .wp-block-button .wp-block-button__link,
.pubk-membership-pricing .pubk-mp-ent > .wp-block-button .wp-block-button__link { justify-content: center; }
.pubk-membership-pricing .pubk-mp-btn-navy .wp-block-button__link {
  align-items: center;
  background: var(--navy);
  border-radius: 0;
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 0.14em;
  padding: 15px 26px;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: background 0.2s ease;
}
.pubk-membership-pricing .pubk-mp-btn-navy .wp-block-button__link:hover { background: var(--navy-mid); color: #fff; }
.pubk-membership-pricing .pubk-mp-perk-band {
  background: var(--paper);
  border: 1px solid var(--line);
  margin-top: 56px;
  padding: 44px 48px;
}
.pubk-membership-pricing .pubk-mp-perk-band h3 { font-size: 24px; margin-bottom: 22px; }
.pubk-membership-pricing .pubk-mp-perk-cols { display: grid; gap: 8px 48px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.pubk-membership-pricing .pubk-mp-perk-cols > div {
  border-bottom: 1px solid var(--line);
  font-size: 15px;
  padding: 10px 0 10px 26px;
  position: relative;
}
.pubk-membership-pricing .pubk-mp-perk-cols > div::before { font-size: 12px; top: 11px; }
.pubk-membership-pricing .pubk-mp-fine { color: var(--gray); font-size: 13.5px; line-height: 1.6; margin-top: 22px !important; }
.pubk-membership-pricing .pubk-mp-fine b { color: var(--ink); }

.pubk-membership-pricing .pubk-mp-enterprise { background: var(--paper); scroll-margin-top: 24px; }
.pubk-membership-pricing .pubk-mp-ent-grid {
  align-items: stretch;
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, minmax(0,1fr));
}
.pubk-membership-pricing .pubk-mp-ent {
  background: var(--cream-soft);
  border-top-width: 5px;
  padding: 40px 32px;
  position: relative;
}
.pubk-membership-pricing .pubk-mp-ent:hover { box-shadow: 0 24px 48px rgba(11,37,69,0.12); }
.pubk-membership-pricing .pubk-mp-ent:nth-child(2) { border-top-color: var(--red); }
.pubk-membership-pricing .pubk-mp-ent:nth-child(3) { border-top-color: var(--gold); }
.pubk-membership-pricing .pubk-mp-ent h3 { font-size: 28px; line-height: 1.55; }
.pubk-membership-pricing .pubk-mp-ent-seats { color: var(--red); font-weight: 700; letter-spacing: 0.16em; margin-top: 8px !important; }
.pubk-membership-pricing .pubk-mp-ent .pubk-mp-price { font-size: 48px; margin-top: 20px !important; }
.pubk-membership-pricing .pubk-mp-ent ul { margin: 26px 0; }
.pubk-membership-pricing .pubk-mp-ent li { padding-bottom: 8px; padding-top: 8px; }
.pubk-membership-pricing .pubk-mp-ent li::before { top: 8px; }
.pubk-membership-pricing .pubk-mp-ent li b { color: var(--ink); }
.pubk-membership-pricing .pubk-mp-teams { background: var(--cream); scroll-margin-top: 24px; }
.pubk-membership-pricing .pubk-mp-seat-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-x: contain; }
.pubk-membership-pricing .pubk-mp-seat-table { background: var(--paper); border-collapse: collapse; min-width: 720px; width: 100%; }
.pubk-membership-pricing .pubk-mp-seat-table th,
.pubk-membership-pricing .pubk-mp-seat-table td { border-bottom: 1px solid var(--line); padding: 16px 14px; text-align: center; }
.pubk-membership-pricing .pubk-mp-seat-table thead th { background: var(--navy); color: #fff; font-family: var(--serif); font-size: 16px; font-weight: 400; }
.pubk-membership-pricing .pubk-mp-seat-table thead th small { color: var(--on-navy-body); display: block; font-family: var(--sans); font-size: 11px; margin-top: 4px; }
.pubk-membership-pricing .pubk-mp-seat-table thead th:first-child { background: var(--navy-deep); }
.pubk-membership-pricing .pubk-mp-seat-table tbody th { background: var(--cream-soft); font-weight: 700; }
.pubk-membership-pricing .pubk-mp-seat-table td { font-variant-numeric: tabular-nums; }
.pubk-membership-pricing .pubk-mp-seat-table .pubk-mp-seat-disc { color: var(--red); font-weight: 700; }
.pubk-membership-pricing .pubk-mp-teams .pubk-mp-fine a { color: var(--red); }
.pubk-membership-pricing .pubk-mp-ledger {
  background: var(--navy-deep);
  color: #E8ECF3;
  font-size: 13px;
  margin-bottom: 26px;
  padding: 22px 24px;
}
.pubk-membership-pricing .pubk-mp-ledger-title {
  color: var(--gold-soft);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.22em;
  margin-bottom: 12px !important;
  text-transform: uppercase;
}
.pubk-membership-pricing .pubk-mp-ledger table { border-collapse: collapse; width: 100%; }
.pubk-membership-pricing .pubk-mp-ledger td {
  border-bottom: 1px dotted rgba(200,210,224,0.25);
  line-height: 1.55;
  padding: 5px 0;
  vertical-align: top;
}
.pubk-membership-pricing .pubk-mp-ledger td:last-child {
  color: #fff;
  font-variant-numeric: tabular-nums;
  padding-left: 8px;
  text-align: right;
  white-space: nowrap;
}
.pubk-membership-pricing .pubk-mp-ledger .is-total td {
  border-bottom: 0;
  color: var(--gold-soft);
  font-family: var(--serif);
  font-size: 17px;
  padding-top: 12px;
}
.pubk-membership-pricing .pubk-mp-ledger .is-total td:last-child { color: var(--gold-soft); }
.pubk-membership-pricing .pubk-mp-multiple {
  color: var(--red);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  margin-bottom: 22px !important;
  text-align: center;
  text-transform: uppercase;
}
.pubk-membership-pricing .pubk-mp-ent-notes {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2,minmax(0,1fr));
  margin-top: 48px;
}
.pubk-membership-pricing .pubk-mp-ent-notes article {
  background: var(--cream-soft);
  border: 1px solid var(--line);
  border-left: 4px solid var(--gold);
  padding: 26px 30px;
}
.pubk-membership-pricing .pubk-mp-ent-notes h3 { font-size: 19px; margin-bottom: 8px; }
.pubk-membership-pricing .pubk-mp-ent-notes p { font-size: 14.5px; line-height: 1.6; }

.pubk-membership-pricing .pubk-mp-which { background: var(--cream); }
.pubk-membership-pricing .pubk-mp-which-grid { display: grid; gap: 24px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.pubk-membership-pricing .pubk-mp-which-grid article {
  background: var(--paper);
  border: 1px solid var(--line);
  padding: 44px 40px;
}
.pubk-membership-pricing .pubk-mp-which-grid h3 { font-size: 26px; margin-bottom: 10px; }
.pubk-membership-pricing .pubk-mp-which-grid .pubk-mp-who {
  color: var(--red);
  font-weight: 700;
  letter-spacing: 0.16em;
  margin: 0 0 16px !important;
}
.pubk-membership-pricing .pubk-mp-which-grid article > p:not(.pubk-mp-who) {
  font-size: 15.5px;
  line-height: 1.65;
  margin-bottom: 22px;
}

@media (max-width: 1024px) {
  .pubk-membership-pricing .pubk-mp-tier-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pubk-membership-pricing .pubk-mp-ent-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 720px) {
  .pubk-membership-pricing .pubk-mp-main section { padding: 64px 0; }
  .pubk-membership-pricing .pubk-mp-hero { padding: 64px 0 !important; }
  .pubk-membership-pricing .pubk-mp-tier-grid,
  .pubk-membership-pricing .pubk-mp-perk-cols,
  .pubk-membership-pricing .pubk-mp-ent-notes,
  .pubk-membership-pricing .pubk-mp-which-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 480px) {
  .pubk-membership-pricing .pubk-mp-perk-band { padding: 36px 28px; }
  .pubk-membership-pricing .pubk-mp-ent { padding: 36px 28px; }
  .pubk-membership-pricing .pubk-mp-which-grid article { padding: 36px 28px; }
}
@media (prefers-reduced-motion: reduce) {
  .pubk-membership-pricing .pubk-mp-tier,
  .pubk-membership-pricing .pubk-mp-ent,
  .pubk-membership-pricing .pubk-mp-btn-navy .wp-block-button__link { transition: none; }
}

/* ---------- News hub previews (member + visitor) ---------- */
.pubk-news,
.pubk-news * { box-sizing: border-box; }
.pubk-news {
  background: var(--paper);
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 380;
  line-height: 1.55;
  margin: 0 !important;
  max-width: none !important;
  overflow: clip;
  width: 100%;
}
.pubk-news .pubk-news-content { margin: 0; }
.pubk-news .screen-reader-text {
  border: 0;
  clip: rect(1px,1px,1px,1px);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
}
.pubk-news h1,
.pubk-news h2,
.pubk-news h3,
.pubk-news h4,
.pubk-news h3,
.pubk-news p,
.pubk-news ul { margin: 0; }
.pubk-news a { color: inherit; text-decoration: none; transition: color .2s; }
.pubk-news a:hover { color: var(--red); }
.pubk-news .news-container { margin: 0 auto; max-width: 1280px; padding: 0 32px; width: 100%; }
.pubk-news .eyebrow { color: var(--red); font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.pubk-news .section-title { color: var(--ink); font-family: var(--serif); font-size: clamp(30px,3.6vw,46px); font-weight: 380; letter-spacing: -.01em; line-height: 1.05; }
.pubk-news .section-title em { color: var(--navy); font-style: italic; font-weight: 300; }
.pubk-news .weekly-strip { background: var(--cream); border-bottom: 1px solid var(--line); padding: 28px 0; position: relative; }
.pubk-news .weekly-strip::before { background: linear-gradient(90deg,var(--gold) 0%,var(--gold) 50%,var(--red) 50%,var(--red) 100%); content: ""; height: 3px; left: 0; position: absolute; right: 0; top: 0; }
.pubk-news .weekly-strip-inner { align-items: center; display: flex; gap: 48px; justify-content: space-between; position: relative; }
.pubk-news .weekly-strip-left { align-items: center; display: flex; flex: 1; gap: 28px; min-width: 0; }
.pubk-news .weekly-badge { align-items: center; color: var(--navy); display: flex; font-family: var(--serif); font-size: 26px; font-style: italic; font-weight: 380; gap: 10px; letter-spacing: -.01em; white-space: nowrap; }
.pubk-news .weekly-badge::before { color: var(--gold); content: "★"; font-size: 14px; font-style: normal; }
.pubk-news .weekly-strip-text { border-left: 1px solid var(--line); display: flex; flex-direction: column; gap: 2px; line-height: 1.4; padding-left: 24px; }
.pubk-news .weekly-strip-text strong { color: var(--ink); font-size: 14px; font-weight: 600; }
.pubk-news .weekly-strip-text span { color: var(--gray); font-size: 13px; }
.pubk-news .weekly-strip-text span em { color: var(--navy); font-family: var(--serif); font-size: 14px; font-style: italic; }
.pubk-news .weekly-strip-form { display: flex; flex-shrink: 0; gap: 10px; } /* 0.12.4: match the site-wide field/button gap */
.pubk-news .weekly-strip-input { background: #fff; border: 1px solid var(--line); color: var(--ink); font-family: var(--sans); font-size: 14px; min-width: 280px; outline: none; padding: 14px 18px; }
.pubk-news .weekly-strip-input:focus { border-color: var(--navy); }
.pubk-news .news-form-button { align-items: center; background: var(--red); border: 0; border-radius: 0; color: #fff; cursor: pointer; display: inline-flex; font-family: var(--sans); font-size: 12px; font-weight: 700; justify-content: center; letter-spacing: .14em; line-height: inherit; padding: 15px 26px; text-transform: uppercase; transition: background-color .25s, color .25s; }
.pubk-news .news-form-button:hover { background: var(--red-deep); }
.pubk-news .weekly-strip-submit::after { content: "→"; margin-left: 8px; }
.pubk-news .ad-leaderboard-wrap { padding-top: 24px; }
.pubk-news .ad-leaderboard-wrap.is-visitor { padding-top: 36px; }
.pubk-news .ad-slot > div { max-width: 100%; }
.pubk-news .ad-slot { align-items: center; background: #F4F1E8; border: 1px solid var(--line); color: var(--gray); display: flex; font-size: 11px; font-weight: 700; justify-content: center; letter-spacing: .18em; text-align: center; text-transform: uppercase; }
.pubk-news .ad-leaderboard { height: 120px; margin: 0 0 8px; }
.pubk-news .ad-inline { height: 200px; margin: 0 0 42px; }
.pubk-news .ad-label-sm { color: var(--gray); font-size: 10px; font-weight: 700; letter-spacing: .18em; margin-bottom: 6px; text-align: center; text-transform: uppercase; }
.pubk-news .imgph { align-items: center; background: linear-gradient(135deg,#E8E3D6,#DBD5C5); color: #A39B86; display: flex; font-size: 10px; font-weight: 700; justify-content: center; letter-spacing: .2em; text-transform: uppercase; }
.pubk-news .news-layout-wrap { padding-bottom: 8px; padding-top: 44px; }
.pubk-news .layout { align-items: start; display: grid; gap: 48px; grid-template-columns: minmax(0,1fr) 320px; }
.pubk-news .layout-main { min-width: 0; }
.pubk-news .layout-main .sec { border-bottom: 1px solid var(--line); margin-bottom: 42px; padding: 0 0 42px; }
.pubk-news .layout-main .sec:last-child { border-bottom: 0; margin-bottom: 0; padding-bottom: 0; }
.pubk-news .layout-main .sec .news-container { max-width: none; padding: 0; }
.pubk-news .sec-head { align-items: baseline; border-bottom: 2px solid var(--navy); display: flex; gap: 20px; justify-content: space-between; margin-bottom: 28px; padding-bottom: 14px; }
.pubk-news .sec-head-left { display: flex; flex-direction: column; gap: 6px; }
.pubk-news .sec-readmore { color: var(--red); font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; white-space: nowrap; }
.pubk-news a.sec-readmore::after { content: " →"; }
.pubk-news .sec-readmore.is-locked { color: var(--gray); }
.pubk-news .feature-row { display: grid; gap: 44px; grid-template-columns: 1.4fr 1fr; }
.pubk-news .mini-list { display: flex; flex-direction: column; margin-top: 0; }
.pubk-news .mini-item { border-top: 1px solid var(--line); display: flex; gap: 14px; padding: 14px 0; }
.pubk-news .mini-item .imgph { flex-shrink: 0; height: 64px; width: 84px; }
.pubk-news .mini-headline { color: var(--ink); font-family: var(--serif); font-size: 14.5px; font-weight: 420; line-height: 1.3; }
.pubk-news .mini-item:hover .mini-headline { color: var(--navy); }
.pubk-news .mini-date { color: var(--gray); font-size: 10.5px; font-weight: 600; letter-spacing: .06em; margin-top: 5px; text-transform: uppercase; }
.pubk-news .card-grid { display: grid; gap: 30px 26px; grid-template-columns: repeat(2,minmax(0,1fr)); }
.pubk-news .card { display: flex; flex-direction: column; min-width: 0; }
.pubk-news .card .imgph { aspect-ratio: 16/10; margin-bottom: 14px; width: 100%; }
.pubk-news .card-meta { color: var(--red); font-size: 10px; font-weight: 700; letter-spacing: .11em; margin-bottom: 8px; text-transform: uppercase; }
.pubk-news .card-headline { color: var(--ink); font-family: var(--serif); font-size: 19px; font-weight: 420; line-height: 1.28; margin-bottom: 8px; }
.pubk-news .card-link:hover .card-headline { color: var(--navy); }
.pubk-news .card-excerpt { color: var(--gray); font-size: 13.5px; line-height: 1.55; margin-bottom: 10px; }
.pubk-news .card-lead .imgph { aspect-ratio: 16/9; }
.pubk-news .card-lead .card-headline { font-size: 26px; font-weight: 400; line-height: 1.18; }
.pubk-news .card-lead .card-excerpt { font-size: 15px; }
.pubk-news .card-standalone .card-headline { font-size: 20px; }
.pubk-news .sidebar { display: flex; flex-direction: column; gap: 32px; position: sticky; top: 24px; }
.pubk-news .side-block { background: var(--cream-soft); border: 1px solid var(--line); }
.pubk-news .side-block-head { background: var(--navy); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .18em; padding: 13px 18px; text-transform: uppercase; }
.pubk-news .side-nav { list-style: none; padding: 0; }
.pubk-news .side-nav li { border-top: 1px solid var(--line); }
.pubk-news .side-nav li:first-child { border-top: 0; }
.pubk-news .side-nav a { align-items: center; background: #fff; color: var(--navy); display: flex; font-size: 13.5px; font-weight: 600; justify-content: space-between; letter-spacing: .02em; padding: 13px 18px; }
.pubk-news .side-nav a::after { color: var(--gold); content: "→"; opacity: 0; transform: translateX(-6px); transition: opacity .18s, transform .18s; }
.pubk-news .side-nav a:hover { color: var(--red); padding-left: 24px; }
.pubk-news .side-nav a:hover::after { opacity: 1; transform: translateX(0); }
.pubk-news .side-ad { flex-direction: column; gap: 6px; height: 250px; margin: 0 auto; width: 300px; }
.pubk-news .side-ad-tall { height: 600px; }
.pubk-news .side-block-pad { padding: 18px; }
.pubk-news .side-list-entry { border-top: 1px solid var(--line); display: block; padding: 12px 0; }
.pubk-news .side-list-entry:first-of-type { border-top: 0; padding-top: 0; }
.pubk-news .side-list-headline { color: var(--ink); font-family: var(--serif); font-size: 14px; font-weight: 420; line-height: 1.3; }
.pubk-news .side-list-entry:hover .side-list-headline { color: var(--navy); }
.pubk-news .side-list-meta { color: var(--gray); font-size: 10px; font-weight: 600; letter-spacing: .05em; margin-top: 4px; text-transform: uppercase; }
.pubk-news .side-cta { background: var(--navy); padding: 24px 20px; text-align: center; }
.pubk-news .side-cta :is(h2, h3, h4) { color: #fff; font-family: var(--serif); font-size: 20px; font-weight: 380; line-height: 1.2; margin-bottom: 8px; }
.pubk-news .side-cta :is(h2, h3, h4) em { color: var(--gold-soft); font-style: italic; }
.pubk-news .side-cta p { color: #A8B4C7; font-size: 12.5px; line-height: 1.5; margin-bottom: 16px; }
.pubk-news .side-cta .wp-block-button { display: inline-block; }
.pubk-news .dual-sec { background: var(--cream-soft); border-bottom: 1px solid var(--line); padding: 64px 0 56px; }
.pubk-news .dual-grid { display: grid; gap: 56px; grid-template-columns: 1.15fr 1fr; }
.pubk-news .dual-head { align-items: baseline; border-bottom: 2px solid var(--navy); display: flex; gap: 16px; justify-content: space-between; margin-bottom: 24px; padding-bottom: 12px; }
.pubk-news .dual-head h2 { color: var(--ink); font-family: var(--serif); font-size: clamp(26px,2.6vw,34px); font-weight: 380; letter-spacing: -.01em; }
.pubk-news .dual-head h2 em { color: var(--navy); font-style: italic; font-weight: 300; }
.pubk-news .analysis-feature { border-bottom: 1px solid var(--line); display: block; margin-bottom: 22px; padding-bottom: 22px; }
.pubk-news .analysis-kicker { color: var(--gold); font-size: 10px; font-weight: 700; letter-spacing: .12em; margin-bottom: 10px; text-transform: uppercase; }
.pubk-news .analysis-feature h3 { color: var(--ink); font-family: var(--serif); font-size: 25px; font-weight: 400; line-height: 1.2; margin-bottom: 10px; }
.pubk-news .analysis-feature:hover h3 { color: var(--navy); }
.pubk-news .analysis-dek { color: var(--gray); font-size: 14.5px; line-height: 1.6; margin-bottom: 12px; }
.pubk-news .move-list { display: flex; flex-direction: column; }
.pubk-news .move-item { align-items: flex-start; border-top: 1px solid var(--line); display: flex; gap: 16px; padding: 18px 0; }
.pubk-news .move-item:first-child { border-top: 0; }
.pubk-news .move-avatar { align-items: center; background: linear-gradient(135deg,var(--navy),var(--navy-mid)); border-radius: 50%; color: var(--gold-soft); display: flex; flex-shrink: 0; font-family: var(--serif); font-size: 18px; font-style: italic; height: 52px; justify-content: center; width: 52px; }
.pubk-news .move-body { min-width: 0; }
.pubk-news .move-name { color: var(--ink); font-family: var(--serif); font-size: 17px; font-weight: 420; line-height: 1.2; }
.pubk-news .move-detail { color: var(--ink-soft); font-size: 13.5px; line-height: 1.5; margin-top: 3px; }
.pubk-news .move-detail strong { color: var(--navy); font-weight: 600; }
.pubk-news .move-tag { background: #fff; border: 1px solid var(--line); color: var(--gray); display: inline-block; font-size: 9.5px; font-weight: 700; letter-spacing: .12em; margin-top: 7px; padding: 3px 8px; text-transform: uppercase; }
.pubk-news .move-tag.hire { border-color: rgba(200,16,46,.3); color: var(--red); }
.pubk-news .move-tag.promo { border-color: rgba(184,149,56,.4); color: var(--gold); }
.pubk-news .submit-bar { align-items: center; background: var(--navy); display: flex; flex-wrap: wrap; gap: 28px; justify-content: space-between; margin-top: 48px; padding: 28px 36px; }
.pubk-news .submit-bar-text { display: flex; flex-direction: column; gap: 4px; }
.pubk-news .submit-bar-text strong { color: #fff; font-family: var(--serif); font-size: 20px; font-weight: 380; }
.pubk-news .submit-bar-text span { color: #A8B4C7; font-size: 13px; }
.pubk-news .submit-bar-actions,
.pubk-news .brief-cta-actions { align-items: center; display: flex; flex-shrink: 0; gap: 14px; }
.pubk-news .preview-note { background: var(--cream); border-bottom: 1px solid var(--line); padding: 18px 0; }
.pubk-news .preview-note-inner { align-items: center; color: var(--ink-soft); display: flex; flex-wrap: wrap; font-size: 13px; gap: 12px; justify-content: center; text-align: center; }
.pubk-news .preview-note-inner strong { color: var(--navy); font-family: var(--serif); font-size: 15px; font-style: italic; font-weight: 380; }
.pubk-news .trending { background: var(--navy); color: #E8EDF4; padding: 40px 0; }
.pubk-news .trending .eyebrow { color: var(--gold-soft); }
.pubk-news .trending-cols { align-items: start; display: grid; gap: 56px; grid-template-columns: minmax(0,1fr) 380px; }
.pubk-news .trending-title { color: #fff; font-family: var(--serif); font-size: clamp(26px,3vw,38px); font-weight: 380; margin: 6px 0 26px; }
.pubk-news .trending-title em { color: var(--gold-soft); font-style: italic; font-weight: 300; }
.pubk-news .trending-list { display: grid; grid-template-columns: 1fr; }
.pubk-news .trending-item { border-top: 1px solid rgba(255,255,255,.14); display: flex; gap: 18px; padding: 18px 0; }
.pubk-news .trending-num { color: var(--gold-soft); flex-shrink: 0; font-family: var(--serif); font-size: 30px; font-style: italic; line-height: 1; opacity: .85; width: 34px; }
.pubk-news .trending-headline { color: #D7DEEA; font-family: var(--serif); font-size: 17px; font-weight: 400; line-height: 1.3; }
.pubk-news .signin-card { background: var(--cream-soft); border: 1px solid rgba(255,255,255,.12); padding: 34px 32px; }
.pubk-news .signin-card :is(h2, h3) { color: var(--ink); font-family: var(--serif); font-size: 24px; font-weight: 400; line-height: 1.55; margin-bottom: 6px; }
.pubk-news .signin-card .sub { color: var(--gray); font-size: 13px; margin-bottom: 22px; }
.pubk-news .signin-card label { color: var(--navy); display: block; font-size: 11px; font-weight: 700; letter-spacing: .1em; margin: 0 0 7px; text-transform: uppercase; }
.pubk-news .signin-card input { background: #fff; border: 1px solid var(--line); color: var(--ink); font-family: var(--sans); font-size: 14px; margin-bottom: 16px; min-height: 44px; outline: none; padding: 13px 15px; width: 100%; }
.pubk-news .signin-card input:focus { border-color: var(--navy); }
.pubk-news .signin-card .signin-submit { width: 100%; }
.pubk-news .signin-row { align-items: center; display: flex; font-size: 12px; justify-content: space-between; margin-top: 16px; }
.pubk-news .signin-row span { align-items: center; display: flex; }
.pubk-news .signin-row input { margin: 0 6px 0 0; width: auto; }
.pubk-news .signin-row label { color: var(--gray); display: inline; font-weight: 400; letter-spacing: 0; margin: 0; text-transform: none; }
.pubk-news .signin-row a { color: var(--navy); font-weight: 600; }
.pubk-news .signin-divider { align-items: center; color: var(--gray); display: flex; font-size: 11px; font-weight: 600; gap: 14px; letter-spacing: .12em; margin: 22px 0; text-transform: uppercase; }
.pubk-news .signin-divider::before,
.pubk-news .signin-divider::after { background: var(--line); content: ""; flex: 1; height: 1px; }
.pubk-news .join-line { color: var(--ink-soft); font-size: 13px; text-align: center; }
.pubk-news .join-line a { color: var(--red); font-weight: 700; }
.pubk-news .locked { position: relative; }
.pubk-news .teaser-list { position: relative; }
.pubk-news .teaser-item { border-top: 1px solid var(--line); display: flex; gap: 16px; padding: 15px 0; }
.pubk-news .teaser-item:first-child { border-top: 0; padding-top: 4px; }
.pubk-news .teaser-headline { color: var(--ink); font-family: var(--serif); font-size: 17px; font-weight: 420; line-height: 1.3; }
.pubk-news .teaser-meta { color: var(--gray); font-size: 10.5px; font-weight: 600; letter-spacing: .06em; margin-top: 6px; text-transform: uppercase; }
.pubk-news .ghost-row { align-items: center; border-top: 1px solid var(--line); display: flex; filter: blur(3px); gap: 16px; opacity: .5; padding: 15px 0; user-select: none; }
.pubk-news .ghost-stack { display: flex; flex: 1; flex-direction: column; gap: 8px; }
.pubk-news .ghost-bar { background: linear-gradient(90deg,#E8E3D6,#DBD5C5); border-radius: 2px; height: 13px; }
.pubk-news .ghost-bar.w1 { width: 78%; }
.pubk-news .ghost-bar.w2 { width: 62%; }
.pubk-news .ghost-bar.w3 { width: 88%; }
.pubk-news .ghost-bar.w4 { width: 54%; }
.pubk-news .teaser-fade { background: linear-gradient(to bottom,rgba(255,255,255,0),var(--paper) 86%); bottom: 0; height: 120px; left: 0; pointer-events: none; position: absolute; right: 0; }
/* Pin base type — the same card also renders inside .art-body's serif scope on article pages. */
.pubk-news .brief-cta { align-items: center; background: var(--navy); color: #E8EDF4; display: flex; flex-wrap: wrap; font-family: var(--sans); font-weight: 380; gap: 24px; justify-content: space-between; line-height: 1.55; margin-top: 18px; overflow: hidden; padding: 26px 30px; position: relative; }
.pubk-news .brief-cta::before { background: linear-gradient(180deg,var(--red),var(--gold)); bottom: 0; content: ""; left: 0; position: absolute; top: 0; width: 5px; }
.pubk-news .brief-cta-text { display: flex; flex-direction: column; gap: 5px; min-width: 0; padding-left: 8px; }
.pubk-news .brief-cta-text .k { color: var(--gold-soft); font-size: 10px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.pubk-news .brief-cta-text strong { color: #fff; font-family: var(--serif); font-size: 21px; font-weight: 380; line-height: 1.2; }
.pubk-news .brief-cta-text > span:last-child { color: #A8B4C7; font-size: 13px; line-height: 1.45; }
.pubk-news .price-tag { color: #9CA9BD; font-size: 12px; white-space: nowrap; }
.pubk-news .price-tag b { color: var(--gold-soft); font-family: var(--serif); font-size: 16px; font-style: italic; font-weight: 380; }
.pubk-news .sec-lock { align-items: center; background: var(--cream-soft); border: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 20px; justify-content: space-between; margin-top: 8px; padding: 18px 22px; }
.pubk-news .sec-lock-text { align-items: center; display: flex; font-size: 13px; gap: 12px; }
.pubk-news .sec-lock-text strong { color: var(--navy); font-weight: 600; }
.pubk-news .mini-btn { color: var(--red); font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pubk-news .mini-btn::after { content: " →"; }
.pubk-news .side-weekly-copy { color: var(--ink-soft); font-size: 13px; line-height: 1.55; margin-bottom: 14px; }
.pubk-news .side-weekly-form { display: flex; flex-direction: column; gap: 10px; }
.pubk-news .side-weekly-form input { background: #fff; border: 1px solid var(--line); color: var(--ink); font-family: var(--sans); font-size: 13px; min-height: 44px; outline: none; padding: 12px 14px; width: 100%; }
.pubk-news .join { background: var(--cream-soft); border-bottom: 1px solid var(--line); padding: 64px 0; }
.pubk-news .join-head { margin: 0 auto 44px; max-width: 680px; text-align: center; }
.pubk-news .join-head .eyebrow { display: block; margin-bottom: 12px; }
.pubk-news .join-head h2 { color: var(--ink); font-family: var(--serif); font-size: clamp(30px,3.6vw,44px); font-weight: 380; letter-spacing: -.01em; line-height: 1.08; margin-bottom: 14px; }
.pubk-news .join-head h2 em { color: var(--navy); font-style: italic; font-weight: 300; }
.pubk-news .join-head p { color: var(--gray); font-size: 15px; line-height: 1.6; }
.pubk-news .tier-grid { align-items: stretch; display: grid; gap: 24px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.pubk-news .tier { background: #fff; border: 1px solid var(--line); display: flex; flex-direction: column; padding: 32px 28px; position: relative; }
.pubk-news .tier.featured { border-color: var(--navy); border-width: 2px; box-shadow: 0 18px 40px -24px rgba(11,37,69,.4); }
.pubk-news .tier-flag { background: var(--navy); color: #fff; font-size: 10px; font-weight: 700; left: 50%; letter-spacing: .14em; padding: 6px 16px; position: absolute; text-transform: uppercase; top: -12px; transform: translateX(-50%); white-space: nowrap; }
.pubk-news .tier h3 { color: var(--ink); font-family: var(--serif); font-size: 23px; font-weight: 400; line-height: 1.55; margin-bottom: 6px; }
.pubk-news .tier-desc { color: var(--gray); font-size: 13px; line-height: 1.5; margin-bottom: 20px; min-height: 40px; }
.pubk-news .price { align-items: baseline; display: flex; gap: 6px; margin-bottom: 4px; }
.pubk-news .price .amt { color: var(--navy); font-family: var(--serif); font-size: 40px; font-weight: 380; line-height: 1; }
.pubk-news .price .per { color: var(--gray); font-size: 13px; }
.pubk-news .price-note { color: var(--gray); font-size: 11.5px; margin-bottom: 22px; }
.pubk-news .tier ul { flex: 1; list-style: none; margin: 0 0 26px; padding: 0; }
.pubk-news .tier li { border-top: 1px solid var(--line); color: var(--ink-soft); font-size: 13.5px; line-height: 1.4; padding: 9px 0 9px 26px; position: relative; }
.pubk-news .tier li:first-child { border-top: 0; }
.pubk-news .tier li::before { color: var(--gold); content: "✓"; font-weight: 700; left: 0; position: absolute; top: 9px; }
.pubk-news .tier .wp-block-button,
.pubk-news .tier .wp-block-button__link { justify-content: center; width: 100%; }
.pubk-news .briefings { border-bottom: 1px solid var(--line); padding: 64px 0; }
.pubk-news .briefings-head { align-items: baseline; border-bottom: 2px solid var(--navy); display: flex; gap: 20px; justify-content: space-between; margin-bottom: 10px; padding-bottom: 14px; }
.pubk-news .briefings-head h2 { color: var(--ink); font-family: var(--serif); font-size: clamp(26px,3vw,38px); font-weight: 380; letter-spacing: -.01em; }
.pubk-news .briefings-head h2 em { color: var(--navy); font-style: italic; font-weight: 300; }
.pubk-news .briefings-sub { color: var(--gray); font-size: 14px; line-height: 1.6; margin: 14px 0 30px; max-width: 680px; }
.pubk-news .brief-grid { display: grid; gap: 18px; grid-template-columns: repeat(5,minmax(0,1fr)); }
.pubk-news .brief { background: var(--cream-soft); border: 1px solid var(--line); display: flex; flex-direction: column; padding: 24px 20px; transition: border-color .2s, box-shadow .2s, transform .2s; }
.pubk-news .brief:hover { background: #fff; border-color: var(--navy); }
.pubk-news .brief-eyebrow { color: var(--red); font-size: 9.5px; font-weight: 700; letter-spacing: .14em; margin-bottom: 10px; text-transform: uppercase; }
.pubk-news .brief h3 { color: var(--ink); font-family: var(--serif); font-size: 19px; font-weight: 420; line-height: 1.55; margin-bottom: 10px; }
.pubk-news .brief-freq { color: var(--gray); font-size: 11px; font-weight: 600; letter-spacing: .04em; margin-bottom: 12px; }
.pubk-news .brief-desc { color: var(--gray); flex: 1; font-size: 12.5px; line-height: 1.5; margin-bottom: 18px; }
.pubk-news .brief-add {
  align-items: center;
  background: var(--red);
  border: 0;
  border-radius: 0;
  color: #fff;
  display: inline-flex;
  font-family: var(--sans);
  font-size: 12px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: .14em;
  line-height: inherit;
  padding: 15px 26px;
  text-align: center;
  text-transform: uppercase;
  width: 100%;
}
.pubk-news .brief-add::after { content: " →"; }
@media (max-width: 1024px) {
  .pubk-news .layout { grid-template-columns: 1fr; gap: 40px; }
  .pubk-news .sidebar { flex-direction: row; flex-wrap: wrap; position: static; }
  .pubk-news .sidebar > * { flex: 1; min-width: 260px; }
  .pubk-news .feature-row { gap: 32px; grid-template-columns: 1fr; }
  .pubk-news .dual-grid { gap: 44px; grid-template-columns: 1fr; }
  .pubk-news .trending-cols { gap: 36px; grid-template-columns: 1fr; }
  .pubk-news .tier-grid { grid-template-columns: 1fr; margin: 0 auto; max-width: 460px; }
  .pubk-news .tier.featured { order: -1; }
  .pubk-news .brief-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 680px) {
  .pubk-news .news-container { padding: 0 20px; }
  .pubk-news .weekly-strip-inner { align-items: stretch; flex-direction: column; gap: 20px; }
  .pubk-news .weekly-strip-left { align-items: flex-start; flex-direction: column; gap: 14px; }
  .pubk-news .weekly-strip-text { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; padding-top: 14px; }
  .pubk-news .weekly-strip-form { width: 100%; }
  .pubk-news .weekly-strip-input { flex: 1; min-width: 0; width: 1px; }
  .pubk-news .news-form-button { min-height: 44px; }
  .pubk-news .sec-head,
  .pubk-news .dual-head,
  .pubk-news .briefings-head { align-items: flex-start; flex-direction: column; gap: 10px; }
  .pubk-news .card-grid,
  
  .pubk-news .sidebar { flex-direction: column; }
  .pubk-news .submit-bar,
  .pubk-news .brief-cta { align-items: flex-start; flex-direction: column; gap: 18px; padding: 24px; }
  .pubk-news .submit-bar-actions,
  .pubk-news .brief-cta-actions { align-items: stretch; flex-direction: column; width: 100%; }
  .pubk-news .submit-bar-actions .wp-block-button,
  .pubk-news .submit-bar-actions .wp-block-button__link,
  .pubk-news .brief-cta-actions .wp-block-button,
  .pubk-news .brief-cta-actions .wp-block-button__link { justify-content: center; width: 100%; }
  .pubk-news .brief-grid { grid-template-columns: 1fr; }
}
@media (max-width: 420px) {
  .pubk-news .weekly-strip-form { flex-direction: column; }
  .pubk-news .weekly-strip-input { width: 100%; }
  .pubk-news .mini-item .imgph { height: 56px; width: 70px; }
  .pubk-news .signin-card { padding: 28px 22px; }
  .pubk-news .price .amt { font-size: 35px; }
}
@media (prefers-reduced-motion: reduce) {
  .pubk-news a,
  .pubk-news .news-form-button,
  .pubk-news .brief { transition: none; }
}

/* ---------- Page edits 2026-08-12 (membership hero photo, ARS package CTAs) ---------- */
.pubk-membership-pricing .pubk-mp-hero-grid {
  align-items: center;
  display: grid;
  gap: 64px;
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
}
.pubk-membership-pricing .pubk-mp-hero-photo {
  aspect-ratio: 4 / 5;
  margin: 0;
  overflow: hidden;
}
.pubk-membership-pricing .pubk-mp-hero-photo img { display: block; height: 100%; object-fit: cover; width: 100%; }
.pubk-sponsor .pubk-sponsor-table tfoot td { border-bottom: 0; padding: 22px 8px 8px; vertical-align: top; }
.pubk-sponsor .pubk-sponsor-table tfoot .wp-block-button__link { padding: 12px 16px; white-space: nowrap; }
@media (max-width: 1024px) {
  .pubk-membership-pricing .pubk-mp-hero-grid { gap: 40px; }
}
@media (max-width: 900px) {
  .pubk-membership-pricing .pubk-mp-hero-grid { grid-template-columns: minmax(0, 1fr); }
  .pubk-membership-pricing .pubk-mp-hero-photo { aspect-ratio: 4 / 3; max-width: 560px; }
}

/* ---------- Brief landing pages ---------- */
.pubk-brief-page {
  --pubk-brief-accent: var(--brief-cyber);
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 380;
  line-height: 1.55;
}
.pubk-brief-protests-claims { --pubk-brief-accent: var(--brief-protests); }
.pubk-brief-compliance-enforcement { --pubk-brief-accent: var(--brief-compliance); }
.pubk-brief-transforming-procurement { --pubk-brief-accent: var(--brief-transforming); }
.pubk-brief-page *,
.pubk-brief-page *::before,
.pubk-brief-page *::after { box-sizing: border-box; }
.pubk-brief-page img { display: block; max-width: 100%; }
.pubk-brief-page a { color: inherit; text-decoration: none; transition: color .2s ease; }
.pubk-brief-page a:hover { color: var(--pubk-brief-accent); }
.pubk-brief-page :focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.pubk-brief-container { margin: 0 auto; max-width: 1180px; padding: 0 32px; }
.pubk-brief-eyebrow {
  color: var(--pubk-brief-accent);
  font-family: var(--sans);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .22em;
  text-transform: uppercase;
}
.pubk-brief-page h1,
.pubk-brief-page h2,
.pubk-brief-page h3 { font-family: var(--serif); letter-spacing: -.01em; line-height: 1.1; margin: 0; }
.pubk-brief-section-title { color: var(--ink); font-size: clamp(32px,4vw,52px); font-weight: 380; letter-spacing: -.02em; line-height: 1.05; }
.pubk-brief-section-title em { color: var(--navy); font-style: italic; font-weight: 300; }
.pubk-brief-page-hero {
  background: var(--navy);
  border-bottom: 4px solid var(--gold);
  color: #fff;
  overflow: hidden;
  padding: 80px 0;
  position: relative;
}
.pubk-brief-page-hero::before {
  background: radial-gradient(circle,rgba(184,149,56,.12) 0%,transparent 62%);
  content: "";
  height: 620px;
  pointer-events: none;
  position: absolute;
  right: -140px;
  top: -160px;
  width: 620px;
}
.pubk-brief-page-hero .pubk-brief-container { position: relative; z-index: 1; }
.pubk-brief-hero-grid { align-items: center; display: grid; gap: 64px; grid-template-columns: minmax(0,1.35fr) minmax(0,.9fr); }
.pubk-brief-crumb { align-items: center; color: var(--gold-soft); display: inline-flex; font-size: 11px; font-weight: 700; gap: 10px; letter-spacing: .2em; margin-bottom: 26px; text-transform: uppercase; }
.pubk-brief-crumb a { align-items: center; color: var(--gold-soft); display: inline-flex; min-height: 44px; }
.pubk-brief-crumb a:hover { color: #fff; }
.pubk-brief-crumb span { opacity: .5; }
.pubk-brief-page-hero h1 { color: #fff; font-size: clamp(40px,5vw,64px); font-weight: 400; letter-spacing: -.015em; line-height: 1.04; }
.pubk-brief-page-hero h1 em { color: var(--gold-soft); font-style: italic; font-weight: 300; }
.pubk-brief-page-hero-sub { color: var(--on-navy-body); font-size: 19px; font-weight: 340; line-height: 1.55; margin: 24px 0 0; max-width: 560px; }
.pubk-brief-page-hero-sub em { color: #fff; font-style: italic; font-weight: 400; }
.pubk-brief-hero-cadence { color: var(--gold-soft); font-family: var(--serif); font-size: 17px; font-style: italic; line-height: 1.5; margin: 22px 0 0; max-width: 560px; }
.pubk-brief-hero-cadence b { color: #fff; font-style: normal; font-weight: 600; }
.pubk-brief-trial-card { background: var(--cream-soft); box-shadow: 0 24px 60px rgba(6,18,41,.4); color: var(--ink); padding: 36px 34px; position: relative; text-align: center; }
.pubk-brief-trial-card::before { background: linear-gradient(90deg,var(--navy) 0%,var(--navy) 50%,var(--pubk-brief-accent) 50%,var(--pubk-brief-accent) 100%); content: ""; height: 5px; left: 0; position: absolute; right: 0; top: 0; }
.pubk-brief-trial-flag { color: var(--pubk-brief-accent); font-size: 10px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.pubk-brief-trial-logo { padding: 10px 0; text-align: center; }
.pubk-brief-trial-logo img { height: auto; margin: 0 auto; max-width: 240px; width: 100%; }
.pubk-brief-trial-price { align-items: baseline; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; gap: 8px; justify-content: center; margin: 18px 0; padding: 18px 0; }
.pubk-brief-trial-price b { color: var(--ink); font-family: var(--serif); font-size: 42px; font-weight: 400; line-height: 1; }
.pubk-brief-trial-price span { color: var(--gray); font-size: 13px; }
.pubk-brief-btn { border: 0; border-radius: 0; cursor: pointer; justify-content: center; }
.pubk-brief-btn-primary { background: var(--pubk-brief-accent); color: #fff; }
.pubk-brief-btn-primary:hover { background: var(--navy); color: #fff !important; }
.pubk-brief-btn-outline-dark { background: transparent; border: 1px solid rgba(11,37,69,.35); color: var(--navy); }
.pubk-brief-btn-outline-dark:hover { background: var(--navy); border-color: var(--navy); color: #fff !important; }
/* Resting text color must out-specify the `.pubk-brief-page a { color: inherit }` rule above. */
.pubk-brief-page a.pubk-brief-btn-primary, .pubk-brief-page a.pubk-brief-signup-submit { color: #fff; }
.pubk-brief-page a.pubk-brief-btn-outline-dark { color: var(--navy); }
.pubk-brief-btn-arrow::after { content: "→"; font-size: 14px; transition: transform .25s; }
.pubk-brief-btn-arrow:hover::after { transform: translateX(4px); }
.pubk-brief-trial-card .pubk-brief-btn { margin-top: 4px; width: 100%; }
.pubk-brief-trial-fine { color: var(--gray); font-family: var(--serif); font-size: 12px; font-style: italic; margin: 14px 0 0; text-align: center; }
.pubk-brief-block { padding: 88px 0; }
.pubk-brief-coverage { background: var(--paper); }
.pubk-brief-coverage-grid { align-items: center; display: grid; gap: 72px; grid-template-columns: minmax(0,.95fr) minmax(0,1.05fr); }
.pubk-brief-coverage-intro .pubk-brief-eyebrow { display: block; margin-bottom: 16px; }
.pubk-brief-coverage-lede { color: var(--ink-soft); font-size: 18px; line-height: 1.6; margin: 22px 0 30px; max-width: 440px; }
.pubk-brief-coverage-lede em { color: var(--navy); font-style: italic; }
.pubk-brief-coverage-points { border-top: 1px solid var(--line); list-style: none; margin: 0; padding: 0; }
.pubk-brief-coverage-points li { border-bottom: 1px solid var(--line); color: var(--ink); font-family: var(--serif); font-size: 20px; font-weight: 380; letter-spacing: -.01em; line-height: 1.3; padding: 22px 0 22px 40px; position: relative; }
.pubk-brief-coverage-points li::before { background: var(--pubk-brief-accent); content: ""; height: 2px; left: 0; position: absolute; top: 30px; width: 16px; }
.pubk-brief-team.pubk-brief-tan { background: var(--cream); padding-bottom: 64px; }
.pubk-brief-team-grid { align-items: center; display: grid; gap: 72px; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.pubk-brief-team .pubk-brief-eyebrow { display: block; margin-bottom: 16px; }
.pubk-brief-team h2 { color: var(--ink); font-size: clamp(30px,3.6vw,46px); font-weight: 380; letter-spacing: -.02em; line-height: 1.06; }
.pubk-brief-team h2 em { color: var(--navy); font-style: italic; font-weight: 300; }
.pubk-brief-team-lede { color: var(--ink-soft); font-size: 17px; line-height: 1.6; max-width: none; }
.pubk-brief-team-cta { align-items: center; display: flex; flex-wrap: wrap; gap: 22px; margin-top: 32px; }
.pubk-brief-team-cta .pubk-brief-fine { color: var(--gray); font-family: var(--serif); font-size: 14px; font-style: italic; }
.pubk-brief-perk-card { background: #fff; border: 1px solid var(--line); margin-top: 52px; padding: 52px 60px; }
.pubk-brief-perk-card h3 { color: var(--ink); font-size: 30px; font-weight: 380; margin-bottom: 26px; }
.pubk-brief-perk-cols { column-gap: 80px; display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.pubk-brief-perk-item { align-items: baseline; border-bottom: 1px solid var(--line); color: var(--ink-soft); display: flex; font-size: 16.5px; gap: 16px; line-height: 1.5; padding: 17px 0; }
.pubk-brief-perk-item .pubk-brief-st { color: var(--gold); flex: none; font-size: 15px; }
.pubk-brief-perk-fine { color: var(--gray); font-size: 15px; line-height: 1.6; margin: 26px 0 0; }
.pubk-brief-perk-fine b { color: var(--ink); }
.pubk-brief-more-news { background: var(--cream); padding-top: 0; }
.pubk-brief-more-news-head { margin-bottom: 48px; max-width: 680px; }
.pubk-brief-more-news-head .pubk-brief-eyebrow { display: block; margin-bottom: 16px; }
.pubk-brief-more-news-sub { color: var(--ink-soft); font-size: 17px; line-height: 1.6; margin: 18px 0 0; }
.pubk-brief-more-news-grid { display: grid; gap: 20px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.pubk-brief-news-card { background: var(--paper); border: 1px solid var(--line); display: flex; flex-direction: column; padding: 28px 24px 24px; transition: border-color .3s ease, box-shadow .3s ease, transform .3s ease; }
.pubk-brief-news-card:hover { border-color: var(--gray-light); box-shadow: 0 18px 38px rgba(11,37,69,.12); transform: translateY(-4px); }
.pubk-brief-news-logo { align-items: center; display: flex; margin-bottom: 16px; min-height: 74px; }
.pubk-brief-news-logo img { height: auto; max-width: 180px; width: 100%; }
.pubk-brief-news-card p { color: var(--gray); flex: 1; font-size: 14px; line-height: 1.5; margin: 0; }
.pubk-brief-news-add { color: var(--pubk-brief-accent); font-size: 11px; font-weight: 700; letter-spacing: .12em; margin-top: 18px; text-transform: uppercase; }
.pubk-brief-signup { background: var(--navy); color: #fff; overflow: hidden; padding: 84px 0; position: relative; }
.pubk-brief-signup::before { background: radial-gradient(circle,rgba(184,149,56,.1) 0%,transparent 60%); content: ""; height: 520px; left: -80px; pointer-events: none; position: absolute; top: -120px; width: 520px; }
.pubk-brief-signup .pubk-brief-container { position: relative; z-index: 1; }
.pubk-brief-signup-grid { align-items: center; display: grid; gap: 64px; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); }
.pubk-brief-signup-eyebrow { color: var(--gold-soft); font-size: 11px; font-weight: 700; letter-spacing: .22em; margin-bottom: 18px; text-transform: uppercase; }
.pubk-brief-signup h2 { color: #fff; font-size: clamp(30px,3.6vw,46px); font-weight: 380; letter-spacing: -.02em; line-height: 1.06; }
.pubk-brief-signup h2 em { color: var(--gold-soft); font-style: italic; font-weight: 300; }
.pubk-brief-signup-sub { color: var(--on-navy-body); font-size: 17px; line-height: 1.6; margin: 20px 0 0; max-width: 480px; }
.pubk-brief-signup-form { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); padding: 34px; }
.pubk-brief-signup-form-label { color: var(--gold-soft); display: block; font-size: 11px; font-weight: 700; letter-spacing: .2em; margin-bottom: 18px; text-transform: uppercase; }
.pubk-brief-signup-submit { align-items: center; background: var(--pubk-brief-accent); color: #fff; display: inline-flex; font-size: 13px; font-weight: 700; gap: 10px; justify-content: center; letter-spacing: .1em; min-height: 48px; padding: 16px; text-align: center; text-transform: uppercase; width: 100%; }
.pubk-brief-signup-submit:hover { background: #fff; color: var(--navy) !important; }
.pubk-brief-signup-fine { color: var(--on-navy-muted); font-size: 12.5px; line-height: 1.5; margin: 16px 0 0; }
.pubk-brief-signup-fine b { color: #fff; }
@media (max-width: 980px) {
  .pubk-brief-hero-grid,
  .pubk-brief-team-grid,
  .pubk-brief-signup-grid,
  .pubk-brief-coverage-grid { gap: 44px; grid-template-columns: minmax(0,1fr); }
  .pubk-brief-more-news-grid { gap: 18px; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pubk-brief-perk-cols { grid-template-columns: minmax(0,1fr); }
  .pubk-brief-perk-card { padding: 36px 28px; }
}
@media (max-width: 600px) {
  .pubk-brief-container { padding: 0 22px; }
  .pubk-brief-page-hero { padding: 60px 0; }
  .pubk-brief-block { padding: 60px 0; }
  .pubk-brief-coverage-points li { font-size: 18px; }
  .pubk-brief-more-news-grid { grid-template-columns: minmax(0,1fr); }
  .pubk-brief-trial-card,
  .pubk-brief-signup-form { padding: 28px 22px; }
  .pubk-brief-team-cta { align-items: stretch; flex-direction: column; }
  .pubk-brief-team-cta .pubk-brief-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .pubk-brief-page *,
  .pubk-brief-page *::before,
  .pubk-brief-page *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}

/* ---------- Community Jobs + Calendar ---------- */
.pubk-comm,
.pubk-comm *,
.pubk-comm *::before,
.pubk-comm *::after { box-sizing: border-box; }
.pubk-comm { color: var(--ink-soft); font-family: var(--sans); font-size: 16px; font-weight: 380; line-height: 1.55; }
.pubk-comm h1,
.pubk-comm h2,
.pubk-comm h3,
.pubk-comm h4,
.pubk-comm h3,
.pubk-comm p { margin: 0; }
.pubk-comm a { color: inherit; text-decoration: none; transition: color .2s; }
.pubk-comm button,
.pubk-comm input { border-radius: 0; font-family: var(--sans); }
.pubk-comm button { cursor: pointer; }
.pubk-comm .weekly-strip { background: var(--cream); border-bottom: 1px solid var(--line); padding: 28px 0; position: relative; }
.pubk-comm .weekly-strip::before { background: linear-gradient(90deg,var(--gold) 0%,var(--gold) 50%,var(--red) 50%,var(--red) 100%); content: ""; height: 3px; left: 0; position: absolute; right: 0; top: 0; }
.pubk-comm .weekly-strip-inner { align-items: center; display: flex; gap: 48px; justify-content: space-between; position: relative; }
.pubk-comm .weekly-strip-left { align-items: center; display: flex; flex: 1; gap: 28px; min-width: 0; }
.pubk-comm .weekly-badge { align-items: center; color: var(--navy); display: flex; font-family: var(--serif); font-size: 26px; font-style: italic; font-weight: 380; gap: 10px; letter-spacing: -.01em; white-space: nowrap; }
.pubk-comm .weekly-badge::before { color: var(--gold); content: "★"; font-size: 14px; font-style: normal; }
.pubk-comm .weekly-strip-text { border-left: 1px solid var(--line); display: flex; flex-direction: column; gap: 2px; line-height: 1.4; padding-left: 24px; }
.pubk-comm .weekly-strip-text strong { color: var(--ink); font-size: 14px; font-weight: 600; }
.pubk-comm .weekly-strip-text span { color: var(--gray); font-size: 13px; }
.pubk-comm .weekly-strip-text span em { color: var(--navy); font-family: var(--serif); font-size: 14px; font-style: italic; }
.pubk-comm .weekly-strip-form { display: flex; flex-shrink: 0; gap: 0; }
.pubk-comm .weekly-strip-input { background: #fff; border: 1px solid var(--line); color: var(--ink); font-family: var(--sans); font-size: 14px; min-width: 280px; outline: none; padding: 14px 18px; }
.pubk-comm .weekly-strip-input:focus { border-color: var(--navy); }
.pubk-comm .news-form-button { align-items: center; background: var(--red); border: 0; border-radius: 0; color: #fff; cursor: pointer; display: inline-flex; font-family: var(--sans); font-size: 12px; font-weight: 700; justify-content: center; letter-spacing: .14em; line-height: inherit; min-height: 44px; padding: 15px 26px; text-transform: uppercase; transition: background-color .25s, color .25s; }
.pubk-comm .news-form-button:hover { background: var(--red-deep); }
.pubk-comm .weekly-strip-submit::after { content: "→"; margin-left: 8px; }
.pubk-comm-container { margin: 0 auto !important; max-width: 1280px; padding: 0 32px; width: 100%; }
.pubk-comm-head { background: var(--navy); color: #fff; overflow: hidden; padding: 84px 0 76px; position: relative; }
.pubk-comm-head::before { background: linear-gradient(90deg,var(--navy) 0 33%,var(--red) 33% 66%,var(--gold) 66% 100%); content: ""; height: 3px; inset: 0 0 auto; position: absolute; }
.pubk-comm-head::after { bottom: -100px; color: rgba(255,255,255,.03); content: "Jobs"; font-family: var(--serif); font-size: 340px; font-style: italic; font-weight: 300; letter-spacing: -.04em; line-height: .9; pointer-events: none; position: absolute; right: -10px; }
.pubk-comm-head.is-calendar::after { bottom: -90px; content: "Calendar"; font-size: 300px; right: -20px; }
.pubk-comm-head .pubk-comm-container > * { margin-left: 0 !important; margin-right: 0 !important; }
.pubk-comm-eyebrow { align-items: center; color: var(--gold-soft); display: inline-flex; font-size: 13px; font-weight: 700; gap: 14px; letter-spacing: .28em; margin-bottom: 22px; text-transform: uppercase; }
.pubk-comm-eyebrow::before { background: currentColor; content: ""; height: 1px; opacity: .6; width: 36px; }
.pubk-comm-head h1 { color: #fff; font-family: var(--serif); font-size: clamp(40px,5vw,68px); font-weight: 300; letter-spacing: -.025em; line-height: 1.04; margin-bottom: 24px; max-width: 880px; position: relative; z-index: 1; }
.pubk-comm-head h1 em { color: var(--gold-soft); font-style: italic; }
.pubk-comm-head p { color: var(--on-navy-body); font-size: 18px; font-weight: 300; line-height: 1.65; max-width: 600px; position: relative; z-index: 1; }
.pubk-comm-head-cta { display: flex; margin-top: 28px; position: relative; z-index: 1; }
.pubk-comm-head-meta { display: flex; flex-wrap: wrap; gap: 40px; margin-top: 40px; position: relative; z-index: 1; }
.pubk-comm-head-stat { display: flex; flex-direction: column; gap: 4px; }
.pubk-comm-head-num { color: #fff; font-family: var(--serif); font-size: 34px; font-weight: 300; line-height: 1; }
.pubk-comm-head-label { color: var(--gold-soft); font-size: 11px; font-weight: 700; letter-spacing: .16em; text-transform: uppercase; }
.pubk-comm-board { background: var(--cream-soft); padding: 90px 0 110px; position: relative; }
.pubk-comm-layout { align-items: start; display: grid; gap: 56px; grid-template-columns: minmax(0,1fr) 320px; }
.pubk-comm-main { min-width: 0; }
.pubk-comm-toolbar { align-items: center; display: flex; flex-wrap: wrap; gap: 24px; justify-content: space-between; margin-bottom: 28px; }
.pubk-comm-toolbar h2,
.pubk-comm-month-nav h2 { color: var(--ink); font-family: var(--serif); font-size: 30px; font-weight: 380; letter-spacing: -.01em; }
.pubk-comm-month-nav { align-items: center; display: flex; gap: 18px; }
.pubk-comm-month-nav button { align-items: center; background: #fff; border: 1px solid var(--line); color: var(--navy); display: flex; font-size: 15px; height: 44px; justify-content: center; width: 44px; }
.pubk-comm-month-nav button:hover { background: var(--navy); border-color: var(--navy); color: #fff; }
.pubk-comm-view-toggle { border: 1px solid var(--line); display: flex; }
.pubk-comm-view-toggle button { background: #fff; border: 0; color: var(--gray); font-size: 11px; font-weight: 700; letter-spacing: .14em; min-height: 44px; padding: 10px 18px; text-transform: uppercase; }
.pubk-comm-view-toggle button.is-active { background: var(--navy); color: #fff; }
.pubk-comm-filters { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 36px; }
.pubk-comm-filter { background: transparent; border: 1px solid var(--line); color: var(--gray); font-size: 11px; font-weight: 700; letter-spacing: .16em; min-height: 44px; padding: 10px 18px; text-transform: uppercase; }
.pubk-comm-filter:hover { border-color: var(--navy); color: var(--navy); }
.pubk-comm-filter.is-active { background: var(--navy); border-color: var(--navy); color: #fff; }
.pubk-comm-group-label { align-items: center; color: var(--gray); display: flex; font-size: 11px; font-weight: 700; gap: 14px; letter-spacing: .2em; margin: 0 0 14px 2px; text-transform: uppercase; }
.pubk-comm-group-label::after { background: var(--line); content: ""; flex: 1; height: 1px; }
.pubk-comm-list + .pubk-comm-group-label { margin-top: 40px; }
.pubk-comm-list { background: var(--paper); border: 1px solid var(--line); }
.pubk-comm-item { align-items: center; border-bottom: 1px solid var(--line); display: grid; gap: 36px; grid-template-columns: 120px minmax(0,1fr) auto; padding: 28px 36px; transition: background .25s,padding .25s; }
.pubk-comm-item:last-child { border-bottom: 0; }
.pubk-comm-item:hover { background: var(--cream-soft); padding-left: 44px; }
.pubk-comm-date { align-items: flex-start; border-right: 1px solid var(--line); display: flex; flex-direction: column; padding-right: 24px; }
.pubk-comm-month { color: var(--red); font-size: 11px; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.pubk-comm-day { color: var(--navy); font-family: var(--serif); font-size: 42px; font-weight: 300; letter-spacing: -.02em; line-height: .95; }
.pubk-comm-date-note { color: var(--gray); font-family: var(--serif); font-size: 12px; font-style: italic; margin-top: 2px; }
.pubk-comm-item-content :is(h3, h4) { color: var(--ink); font-family: var(--serif); font-size: 22px; font-weight: 380; letter-spacing: -.01em; line-height: 1.25; margin: 0 0 6px; }
.pubk-comm-meta { align-items: center; color: var(--gray); display: flex; flex-wrap: wrap; font-size: 12px; gap: 14px; margin-bottom: 8px; }
.pubk-comm-cat { background: var(--cream); color: var(--navy); font-size: 10px; font-weight: 700; letter-spacing: .16em; padding: 3px 10px; text-transform: uppercase; }
.pubk-comm-cat.is-lawfirm,
.pubk-comm-cat.is-compliance { background: rgba(200,16,46,.08); color: var(--red); }
.pubk-comm-cat.is-inhouse,
.pubk-comm-cat.is-cyber { background: rgba(31,64,104,.08); color: #1F4068; }
.pubk-comm-cat.is-government,
.pubk-comm-cat.is-protests { background: rgba(184,149,56,.12); color: #7A5B1A; }
.pubk-comm-cat.is-nonprofit,
.pubk-comm-cat.is-procurement { background: rgba(45,90,76,.08); color: #2D5A4C; }
.pubk-comm-format { color: var(--ink-soft); font-family: var(--serif); font-size: 13px; font-style: italic; }
.pubk-comm-location { font-size: 12px; }
.pubk-comm-location::before { color: var(--gray-light); content: "·"; margin-right: 8px; }
.pubk-comm-access { border: 1px solid var(--line); color: var(--gray); font-size: 10px; font-weight: 700; letter-spacing: .14em; padding: 2px 8px; text-transform: uppercase; }
.pubk-comm-access.is-featured,
.pubk-comm-access.is-members { border-color: var(--navy); color: var(--navy); }
.pubk-comm-org { color: var(--navy); font-family: var(--serif); font-size: 15px; font-style: italic; }
.pubk-comm-item-action a { align-items: center; color: var(--navy); display: inline-flex; font-size: 11px; font-weight: 700; gap: 8px; letter-spacing: .16em; min-height: 44px; text-transform: uppercase; }
.pubk-comm-item-action a::after { content: "→"; }
.pubk-comm-item:hover .pubk-comm-item-action a { color: var(--red); }
.pubk-comm-foot { align-items: center; color: var(--gray); display: flex; font-size: 13px; justify-content: space-between; margin-top: 32px; padding: 24px 0; }
.pubk-comm-foot em { color: var(--navy); font-family: var(--serif); font-style: italic; }
.pubk-comm-text-link { align-items: center; color: var(--navy); display: inline-flex; font-size: 12px; font-weight: 700; gap: 8px; letter-spacing: .14em; min-height: 44px; text-transform: uppercase; }
.pubk-comm-text-link::after { content: "→"; }
.pubk-comm-side { display: flex; flex-direction: column; gap: 28px; position: sticky; top: 24px; }
.pubk-comm-side-card { background: #fff; border: 1px solid var(--line); padding: 28px; }
.pubk-comm-side-card.is-feature { background: var(--navy); border-color: var(--navy); color: #fff; overflow: hidden; position: relative; }
.pubk-comm-side-card.is-feature::before { background: linear-gradient(90deg,var(--gold),var(--red)); content: ""; height: 3px; inset: 0 0 auto; position: absolute; }
.pubk-comm-side-card h3 { color: var(--ink); font-family: var(--serif); font-size: 21px; font-weight: 380; line-height: 1.2; margin-bottom: 6px; }
.pubk-comm-side-card.is-feature h3 { color: #fff; }
.pubk-comm-side-eyebrow { color: var(--red); display: block; font-size: 10px; font-weight: 700; letter-spacing: .2em; margin-bottom: 14px; text-transform: uppercase; }
.pubk-comm-side-card.is-feature .pubk-comm-side-eyebrow { color: var(--gold-soft); }
.pubk-comm-side-card p { color: var(--gray); font-size: 14px; line-height: 1.6; margin-bottom: 18px; }
.pubk-comm-side-card p b { color: var(--ink); font-weight: 600; }
.pubk-comm-side-card.is-feature p { color: var(--on-navy-body); }
.pubk-comm-side-meta { display: flex; flex-direction: column; gap: 12px; margin-bottom: 22px; }
.pubk-comm-side-meta-row { align-items: baseline; color: var(--on-navy-body); display: flex; font-size: 13px; gap: 12px; }
.pubk-comm-side-meta-row b { color: #fff; font-family: var(--serif); font-size: 14px; font-style: italic; font-weight: 600; }
.pubk-comm-legend { display: flex; flex-direction: column; gap: 12px; margin-top: 18px; }
.pubk-comm-legend-row { align-items: center; color: var(--ink-soft); display: flex; font-size: 13px; gap: 12px; }
.pubk-comm-legend-dot { border-radius: 2px; flex: 0 0 11px; height: 11px; }
.pubk-comm-legend-dot.is-lawfirm,
.pubk-comm-legend-dot.is-compliance { background: var(--red); }
.pubk-comm-legend-dot.is-inhouse,
.pubk-comm-legend-dot.is-cyber { background: #1F4068; }
.pubk-comm-legend-dot.is-government,
.pubk-comm-legend-dot.is-protests { background: var(--gold); }
.pubk-comm-legend-dot.is-nonprofit,
.pubk-comm-legend-dot.is-procurement { background: #2D5A4C; }
.pubk-comm-btn { border-radius: 0; cursor: pointer; justify-content: center; }
.pubk-comm-btn.is-primary { background: var(--red); color: #fff; }
.pubk-comm-btn.is-primary:hover { background: #fff; color: var(--navy); }
.pubk-comm-btn.is-outline { background: transparent; border: 1px solid rgba(11,37,69,.35); color: var(--navy); }
.pubk-comm-btn.is-outline:hover { background: var(--navy); border-color: var(--navy); color: #fff; }
.pubk-comm-btn.is-arrow::after { content: "→"; }
.pubk-comm-signup { background: var(--navy); color: #fff; overflow: hidden; padding: 110px 0; position: relative; }
.pubk-comm-signup::before { background: radial-gradient(circle,rgba(184,149,56,.1) 0%,transparent 60%); content: ""; height: 700px; pointer-events: none; position: absolute; right: -200px; top: -200px; width: 700px; }
.pubk-comm-signup::after { bottom: -110px; color: rgba(255,255,255,.025); content: "Pub K"; font-family: var(--serif); font-size: 340px; font-style: italic; font-weight: 300; left: -30px; letter-spacing: -.04em; line-height: .9; pointer-events: none; position: absolute; }
.pubk-comm-signup-grid { align-items: center; display: grid; gap: 80px; grid-template-columns: minmax(0,1.15fr) minmax(0,1fr); position: relative; z-index: 1; }
.pubk-comm-signup-eyebrow { align-items: center; color: var(--gold-soft); display: inline-flex; font-size: 11px; font-weight: 700; gap: 14px; letter-spacing: .22em; margin-bottom: 28px; text-transform: uppercase; }
.pubk-comm-signup-eyebrow::before { background: var(--gold-soft); content: ""; height: 1px; width: 38px; }
.pubk-comm-signup h2 { color: #fff; font-family: var(--serif); font-size: clamp(36px,4.6vw,60px); font-weight: 300; letter-spacing: -.025em; line-height: 1.05; margin-bottom: 22px; }
.pubk-comm-signup h2 em { color: var(--gold-soft); font-style: italic; }
.pubk-comm-signup-sub { color: var(--on-navy-body); font-size: 17px; font-weight: 300; line-height: 1.65; margin-bottom: 32px; max-width: 540px; }
.pubk-comm-signup-briefs { display: flex; flex-wrap: wrap; gap: 8px; }
.pubk-comm-signup-chip { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.15); color: #fff; font-size: 11px; font-weight: 600; letter-spacing: .12em; padding: 7px 13px; text-transform: uppercase; }
.pubk-comm-signup-form { background: rgba(255,255,255,.035); border: 1px solid rgba(255,255,255,.12); padding: 44px 40px; position: relative; }
.pubk-comm-signup-form::before { background: linear-gradient(90deg,var(--gold),var(--red)); content: ""; height: 3px; inset: 0 0 auto; position: absolute; }
.pubk-comm-signup-form-label { color: var(--gold-soft); display: block; font-size: 11px; font-weight: 700; letter-spacing: .18em; margin-bottom: 16px; text-transform: uppercase; }
.pubk-comm-signup-input-row { display: grid; grid-template-columns: minmax(0,1fr) auto; margin-bottom: 20px; }
.pubk-comm-signup-input { background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.18); color: #fff; font-size: 15px; min-width: 0; outline: 0; padding: 18px 20px; }
.pubk-comm-signup-input:focus { border-color: var(--gold-soft); }
.pubk-comm-form-button { align-items: center; background: var(--red); border: 1px solid var(--red); color: #fff; display: inline-flex; font-size: 12px; font-weight: 700; justify-content: center; letter-spacing: .14em; min-height: 48px; padding: 0 30px; text-transform: uppercase; }
.pubk-comm-form-button::after { content: "→"; margin-left: 10px; }
.pubk-comm-form-button:hover { background: #fff; border-color: #fff; color: var(--red); }
.pubk-comm-signup-fine { color: var(--on-navy-muted); font-size: 13px; line-height: 1.55; }
.pubk-comm-signup-fine b { color: #fff; }
@media (max-width: 1100px) {
  .pubk-comm .weekly-strip-inner { align-items: stretch; flex-direction: column; gap: 20px; }
  .pubk-comm .weekly-strip-left { align-items: flex-start; flex-direction: column; gap: 14px; }
  .pubk-comm .weekly-strip-text { border-left: 0; border-top: 1px solid var(--line); padding-left: 0; padding-top: 14px; width: 100%; }
  .pubk-comm .weekly-strip-form { width: 100%; }
  .pubk-comm .weekly-strip-input { flex: 1; min-width: 0; }
  .pubk-comm-layout,
  .pubk-comm-signup-grid { gap: 48px; grid-template-columns: minmax(0,1fr); }
  .pubk-comm-side { position: static; }
}
@media (max-width: 680px) {
  .pubk-comm .weekly-strip { padding: 24px 0; }
  .pubk-comm .weekly-strip-form { flex-direction: column; gap: 10px; }
  .pubk-comm .weekly-badge { font-size: 22px; }
  .pubk-comm-container { padding: 0 20px; }
  .pubk-comm-head { padding: 56px 0 52px; }
  .pubk-comm-head-meta { gap: 28px; }
  .pubk-comm-board { padding: 60px 0; }
  .pubk-comm-toolbar { align-items: stretch; flex-direction: column; }
  .pubk-comm-month-nav { justify-content: space-between; }
  .pubk-comm-month-nav h2 { font-size: 24px; }
  .pubk-comm-view-toggle { align-self: flex-start; }
  .pubk-comm-item { gap: 20px; grid-template-columns: 80px minmax(0,1fr); padding: 22px 20px; }
  .pubk-comm-item:hover { padding-left: 20px; }
  .pubk-comm-item-action { grid-column: 1/-1; }
  .pubk-comm-day { font-size: 32px; }
  .pubk-comm-foot { align-items: flex-start; flex-direction: column; gap: 12px; }
  .pubk-comm-signup { padding: 60px 0; }
  .pubk-comm-signup-form { padding: 28px 24px; }
  .pubk-comm-signup-input-row { gap: 10px; grid-template-columns: minmax(0,1fr); }
  .pubk-comm-form-button { padding: 16px 24px; }
}
@media (max-width: 420px) {
  .pubk-comm-head-meta { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .pubk-comm-month-nav { gap: 10px; }
  .pubk-comm-month-nav h2 { font-size: 21px; text-align: center; }
  .pubk-comm-filters { gap: 6px; }
  .pubk-comm-filter { font-size: 10px; padding: 9px 12px; }
  .pubk-comm-item { grid-template-columns: 64px minmax(0,1fr); padding-left: 14px; padding-right: 14px; }
  .pubk-comm-date { padding-right: 12px; }
  .pubk-comm-meta { gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .pubk-comm *,
  .pubk-comm *::before,
  .pubk-comm *::after { animation: none !important; scroll-behavior: auto !important; transition: none !important; }
}

/* ---------- The Monthly Review teaser (/monthly-review/) ---------- */
.pubk-magr {
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 16px;
  font-weight: 380;
  line-height: 1.55;
}
.pubk-magr *,
.pubk-magr *::before,
.pubk-magr *::after { box-sizing: border-box; }
.pubk-magr :focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.pubk-magr h1,
.pubk-magr h2,
.pubk-magr h3 { font-family: var(--serif); font-weight: 400; letter-spacing: -.01em; line-height: 1.1; margin: 0; }
.pubk-magr p { margin: 0; }
.pubk-magr-container { margin: 0 auto; max-width: 1180px; padding: 0 32px; }
.pubk-magr-eyebrow { color: var(--red); font-family: var(--sans); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; }
.pubk-magr-eyebrow.is-light { color: var(--gold-soft); }
.pubk-magr-crumb { align-items: center; color: var(--red); display: inline-flex; font-family: var(--sans); font-size: 11px; font-weight: 700; gap: 10px; letter-spacing: .22em; text-transform: uppercase; }
.pubk-magr-crumb a { align-items: center; color: var(--red); display: inline-flex; min-height: 44px; }
.pubk-magr-crumb a:hover { color: var(--navy); }
.pubk-magr-crumb span { opacity: .5; }
.pubk-magr-hero { background: var(--cream-soft); border-bottom: 1px solid var(--line); padding: 96px 0; }
.pubk-magr-hero-grid { align-items: center; display: grid; gap: 80px; grid-template-columns: .85fr 1.5fr; }
.pubk-magr-cover-wrap { display: flex; justify-content: center; }
.pubk-magr-cover {
  aspect-ratio: 3 / 4.1;
  background: linear-gradient(160deg, rgba(11,37,69,.55) 0%, rgba(6,18,41,.88) 78%), url(assets/img/monthly-review-cover.jpg) center/cover;
  box-shadow: 0 30px 60px rgba(6,18,41,.35);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 26px 24px;
  position: relative;
  transform: rotate(-3.5deg);
  width: 300px;
}
.pubk-magr-mc-title { display: block; font-family: var(--serif); font-size: 40px; font-weight: 400; letter-spacing: -.01em; line-height: 1; }
.pubk-magr-mc-review { color: var(--gold-soft); display: block; font-family: var(--serif); font-size: 38px; font-style: italic; font-weight: 300; line-height: 1.15; }
.pubk-magr-mc-meta { color: #E4E9F1; display: flex; font-size: 10.5px; font-weight: 700; justify-content: space-between; letter-spacing: .2em; margin-top: 18px; text-transform: uppercase; }
.pubk-magr-mc-lines { font-size: 13px; line-height: 1.7; }
.pubk-magr-mc-lines b { display: block; font-size: 14px; }
.pubk-magr-flagrow { align-items: baseline; display: flex; gap: 20px; justify-content: space-between; margin-bottom: 24px; }
.pubk-magr-flag { color: var(--gray); font-family: var(--serif); font-size: 16px; font-style: italic; }
.pubk-magr-hero h1 { color: var(--ink); font-size: clamp(36px, 4.4vw, 58px); font-weight: 380; letter-spacing: -.02em; line-height: 1.08; }
.pubk-magr-hero h1 em { color: var(--navy); font-style: italic; font-weight: 300; }
/* Scoped selector so the margin survives the .pubk-magr p reset above. */
.pubk-magr .pubk-magr-lede { color: var(--ink-soft); font-size: 18px; line-height: 1.6; margin-top: 24px; max-width: 640px; }
.pubk-magr-meta { border-top: 1px solid var(--line); color: var(--gray); display: flex; font-size: 16px; gap: 48px; margin: 28px 0; padding: 22px 0; }
.pubk-magr-meta b { color: var(--ink); font-weight: 700; }
.pubk-magr-link { color: var(--red); font-family: var(--sans); font-size: 13px; font-weight: 700; letter-spacing: .14em; text-decoration: none; text-transform: uppercase; transition: color .2s ease; }
.pubk-magr-link:hover { color: var(--navy); }
.pubk-magr-inside { background: var(--paper); padding: 88px 0; }
.pubk-magr-block-head { margin-bottom: 48px; max-width: 760px; }
.pubk-magr-block-head .pubk-magr-eyebrow { display: block; margin-bottom: 16px; }
.pubk-magr-inside h2 { color: var(--ink); font-size: clamp(32px, 4vw, 52px); font-weight: 380; letter-spacing: -.02em; line-height: 1.05; }
.pubk-magr-inside h2 em { color: var(--navy); font-style: italic; font-weight: 300; }
.pubk-magr-grid { display: grid; gap: 24px; grid-template-columns: repeat(4, minmax(0,1fr)); }
.pubk-magr-item { border-top: 3px solid var(--navy); padding-top: 22px; }
.pubk-magr-item:nth-child(2) { border-top-color: var(--red); }
.pubk-magr-item:nth-child(3) { border-top-color: var(--gold); }
.pubk-magr-item:nth-child(4) { border-top-color: var(--navy-mid); }
.pubk-magr-item h3 { color: var(--ink); font-size: 23px; letter-spacing: -.01em; margin-bottom: 10px; }
.pubk-magr-item p { color: var(--gray); font-size: 14.5px; line-height: 1.55; }
.pubk-magr-cta { background: var(--navy); color: #fff; overflow: hidden; padding: 96px 0; position: relative; }
.pubk-magr-cta::before { background: radial-gradient(circle, rgba(184,149,56,.12) 0%, transparent 62%); content: ""; height: 560px; pointer-events: none; position: absolute; right: -120px; top: -140px; width: 560px; }
.pubk-magr-cta .pubk-magr-container { position: relative; z-index: 1; }
.pubk-magr-cta-head { margin-bottom: 48px; max-width: 620px; }
.pubk-magr-cta-head h2 { color: #fff; font-size: clamp(30px, 3.6vw, 46px); font-weight: 380; letter-spacing: -.02em; line-height: 1.06; margin-top: 16px; }
.pubk-magr-cta-head h2 em { color: var(--gold-soft); font-style: italic; font-weight: 300; }
.pubk-magr-cta-head p { color: var(--on-navy-body); font-size: 17px; line-height: 1.6; margin-top: 18px; }
.pubk-magr-cta-grid { display: grid; gap: 24px; grid-template-columns: repeat(2, minmax(0,1fr)); }
.pubk-magr-cta-card { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.12); border-top: 3px solid var(--gold); padding: 40px 38px; }
.pubk-magr-cta-card:nth-child(2) { border-top-color: var(--red); }
.pubk-magr-cta-card h3 { color: #fff; font-size: 26px; font-weight: 380; letter-spacing: -.01em; }
.pubk-magr-cta-card p { color: var(--on-navy-body); font-size: 15px; line-height: 1.6; margin: 14px 0 26px; }
.pubk-magr-btn-primary { background: var(--red); color: #fff; }
.pubk-magr-btn-primary:hover { background: var(--navy); color: #fff; }
.pubk-magr-btn-ghost { background: transparent; border: 1px solid rgba(255,255,255,.4); color: #fff; }
.pubk-magr-btn-ghost:hover { background: #fff; border-color: #fff; color: var(--navy); }
.pubk-magr-btn-arrow::after { content: "→"; font-size: 14px; transition: transform .25s; }
.pubk-magr-btn-arrow:hover::after { transform: translateX(4px); }
@media (max-width: 980px) {
  .pubk-magr-hero-grid { gap: 56px; grid-template-columns: minmax(0,1fr); }
  .pubk-magr-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .pubk-magr-cta-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 600px) {
  .pubk-magr-container { padding: 0 22px; }
  .pubk-magr-flagrow { flex-wrap: wrap; row-gap: 4px; }
  .pubk-magr-hero, .pubk-magr-cta { padding: 60px 0; }
  .pubk-magr-inside { padding: 60px 0; }
  .pubk-magr-grid { grid-template-columns: minmax(0,1fr); }
  .pubk-magr-meta { flex-direction: column; gap: 10px; }
}

/* ---------- Library topic pages ---------- */
.pubk-lib-page {
  --pubk-lib-accent: var(--brief-protests);
  color: var(--ink-soft);
  font-family: var(--sans);
  font-size: 16px;
  line-height: 1.55;
}
.pubk-lib-cyber-privacy { --pubk-lib-accent: var(--brief-cyber); }
.pubk-lib-compliance-enforcement { --pubk-lib-accent: var(--brief-compliance); }
.pubk-lib-transforming-procurement { --pubk-lib-accent: var(--brief-transforming); }
.pubk-lib-page,
.pubk-lib-page *,
.pubk-lib-page *::before,
.pubk-lib-page *::after { box-sizing: border-box; }
.pubk-lib-page h1,
.pubk-lib-page h2,
.pubk-lib-page h3,
.pubk-lib-page p { margin: 0; }
.pubk-lib-page a { color: inherit; text-decoration: none; }
.pubk-lib-flow,
.pubk-lib-flow > * { margin-left: 0 !important; margin-right: 0 !important; max-width: none !important; }
.pubk-lib-inner { margin: 0 auto !important; max-width: 1280px; padding: 0 32px; width: 100%; }
.pubk-lib-hero { background: var(--paper); overflow: hidden; padding: 72px 0 64px; position: relative; }
.pubk-lib-hero::before { background: var(--pubk-lib-accent); content: ""; inset: 0; opacity: .09; position: absolute; }
.pubk-lib-hero::after { background: var(--pubk-lib-accent); bottom: 0; content: ""; height: 4px; left: 0; position: absolute; width: min(34vw,520px); }
.pubk-lib-hero-grid { align-items: center; display: grid; gap: 64px; grid-template-columns: minmax(0,1fr) minmax(240px,360px); position: relative; }
.pubk-lib-hero-copy { min-width: 0; }
.pubk-lib-crumb { align-items: center; color: var(--gray); display: flex; flex-wrap: wrap; font-size: 12px; gap: 8px; margin-bottom: 30px; }
.pubk-lib-crumb a { align-items: center; color: var(--navy); display: inline-flex; font-weight: 700; min-height: 44px; min-width: 44px; }
.pubk-lib-crumb a:hover { color: var(--pubk-lib-accent); }
.pubk-lib-eyebrow,
.pubk-lib-jump-label { color: var(--pubk-lib-accent); display: block; font-size: 11px; font-weight: 750; letter-spacing: .2em; text-transform: uppercase; }
.pubk-lib-hero h1 { color: var(--ink); font-family: var(--serif); font-size: clamp(44px,6vw,76px); font-weight: 300; letter-spacing: -.035em; line-height: .98; margin-top: 12px; max-width: 850px; }
.pubk-lib-hero p { color: var(--ink-soft); font-size: clamp(17px,2vw,20px); font-weight: 350; line-height: 1.6; margin-top: 24px; max-width: 650px; }
.pubk-lib-hero-logo { background: rgba(255,255,255,.72); border: 1px solid rgba(11,37,69,.12); padding: 28px; }
.pubk-lib-hero-logo img,
.pubk-lib-topic-logo img { display: block; height: auto; max-width: 100%; width: 100%; }
.pubk-lib-jump { background: var(--navy); color: #fff; }
.pubk-lib-jump .pubk-lib-inner { align-items: center; display: flex; gap: 28px; min-height: 84px; }
.pubk-lib-jump-label { color: var(--gold-soft); flex: 0 0 auto; }
.pubk-lib-chips { display: flex; flex-wrap: wrap; gap: 8px; padding: 14px 0; }
.pubk-lib-chip { align-items: center; border: 1px solid rgba(255,255,255,.22); color: #fff !important; display: inline-flex; font-size: 12px; font-weight: 650; min-height: 44px; padding: 9px 15px; transition: background .2s,border-color .2s; }
.pubk-lib-chip:hover,
.pubk-lib-chip:focus-visible { background: var(--pubk-lib-accent); border-color: var(--pubk-lib-accent); }
.pubk-lib-body { background: var(--cream-soft); padding: 24px 0 96px; }
.pubk-lib-layout { align-items: start; display: grid; gap: 64px; grid-template-columns: minmax(0,1fr) 320px; }
.pubk-lib-main { min-width: 0; }
.pubk-lib-section { scroll-margin-top: 24px; }
.pubk-lib-section + .pubk-lib-section { margin-top: 72px; }
.pubk-lib-section-head { align-items: baseline; border-bottom: 3px solid var(--pubk-lib-accent); display: flex; gap: 14px; padding-bottom: 14px; }
.pubk-lib-section h2 { color: var(--ink); font-family: var(--serif); font-size: clamp(30px,3.4vw,42px); font-weight: 380; letter-spacing: -.02em; line-height: 1.05; }
.pubk-lib-articles { background: var(--paper); border: 1px solid var(--line); border-top: 0; }
.pubk-lib-article + .pubk-lib-article { border-top: 1px solid var(--line); }
.pubk-lib-article a { display: grid; gap: 22px; grid-template-columns: minmax(0,1fr) auto; min-height: 112px; padding: 25px 28px; transition: background .2s,padding .2s; }
.pubk-lib-article a:hover,
.pubk-lib-article a:focus-visible { background: color-mix(in srgb,var(--pubk-lib-accent) 7%,white); padding-left: 34px; }
.pubk-lib-article h3 { color: var(--ink); font-family: var(--serif); font-size: 21px; font-weight: 420; letter-spacing: -.01em; line-height: 1.3; min-width: 0; overflow-wrap: anywhere; }
.pubk-lib-article a:hover h3 { color: var(--pubk-lib-accent); }
.pubk-lib-article time { color: var(--gray); font-size: 11px; font-weight: 700; letter-spacing: .08em; padding-top: 5px; text-transform: uppercase; white-space: nowrap; }
.pubk-lib-side { display: flex; flex-direction: column; gap: 32px; position: sticky; top: 24px; }
.pubk-lib-page .side-block { background: var(--cream-soft); border: 1px solid var(--line); }
.pubk-lib-page .side-block-head { background: var(--navy); color: #fff; font-size: 11px; font-weight: 700; letter-spacing: .18em; padding: 13px 18px; text-transform: uppercase; }
.pubk-lib-page .side-subtopics .side-block-head { background: var(--pubk-lib-accent); }
.pubk-lib-page .side-nav { list-style: none; margin: 0; padding: 0; }
.pubk-lib-page .side-nav li { border-top: 1px solid var(--line); }
.pubk-lib-page .side-nav li:first-child { border-top: 0; }
.pubk-lib-page .side-nav a { align-items: center; background: #fff; color: var(--navy); display: flex; font-size: 13.5px; font-weight: 600; justify-content: space-between; letter-spacing: .02em; padding: 13px 18px; }
.pubk-lib-page .side-nav a::after { color: var(--gold); content: "→"; opacity: 0; transform: translateX(-6px); transition: opacity .18s, transform .18s; }
.pubk-lib-page .side-nav a:hover { color: var(--red); padding-left: 24px; }
.pubk-lib-page .side-nav a:hover::after { opacity: 1; transform: translateX(0); }
.pubk-lib-page a.pubk-lib-readmore { align-items: center; color: var(--pubk-lib-accent); display: inline-flex; font-size: 11px; font-weight: 700; gap: 8px; letter-spacing: .12em; margin-top: 16px; min-height: 44px; text-transform: uppercase; }
.pubk-lib-page a.pubk-lib-readmore:hover { color: var(--ink); }
.pubk-lib-page a.pubk-lib-readmore:hover span { transform: translateX(4px); }
.pubk-lib-page a.pubk-lib-readmore span { transition: transform .18s; }
.pubk-lib-ad-lead { margin: 0 0 32px; }
.pubk-lib-ad-inline { margin: 72px 0 0; }
.pubk-lib-ad-inline + .pubk-lib-section { margin-top: 72px; }
.pubk-lib-page .ad-label-sm { color: var(--gray); font-size: 10px; font-weight: 700; letter-spacing: .18em; margin-bottom: 6px; text-align: center; text-transform: uppercase; }
.pubk-lib-page .ad-slot > div { max-width: 100%; }
.pubk-lib-page .ad-slot { align-items: center; background: #F4F1E8; border: 1px solid var(--line); color: var(--gray); display: flex; font-size: 11px; font-weight: 700; justify-content: center; letter-spacing: .18em; text-align: center; text-transform: uppercase; }
.pubk-lib-page .ad-leaderboard { height: 120px; }
.pubk-lib-page .ad-inline { height: 200px; }
.pubk-lib-page .side-ad { flex-direction: column; gap: 6px; height: 250px; margin: 0 auto; width: 300px; }
.pubk-lib-screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; white-space: nowrap; width: 1px; }
.pubk-lib-explore { background: var(--paper); border-top: 1px solid var(--line); padding: 72px 0 84px; }
.pubk-lib-explore-head { align-items: end; display: flex; justify-content: space-between; margin-bottom: 28px; }
.pubk-lib-explore h2 { color: var(--ink); font-family: var(--serif); font-size: clamp(30px,3.5vw,44px); font-weight: 380; }
.pubk-lib-explore-grid { display: grid; gap: 18px; grid-template-columns: repeat(3,minmax(0,1fr)); }
.pubk-lib-topic-card { border: 1px solid var(--line); border-top: 4px solid var(--pubk-lib-accent); display: grid; gap: 16px; grid-template-columns: minmax(0,1fr) auto; min-width: 0; padding: 24px; transition: background .2s,transform .2s; }
.pubk-lib-topic-card:hover { background: color-mix(in srgb,var(--pubk-lib-accent) 6%,white); transform: translateY(-3px); }
.pubk-lib-topic-logo { border-bottom: 1px solid var(--line); grid-column: 1/-1; min-height: 76px; padding-bottom: 18px; }
.pubk-lib-topic-logo img { max-height: 58px; object-fit: contain; object-position: left center; }
.pubk-lib-topic-card > span { color: var(--ink); font-family: var(--serif); font-size: 19px; line-height: 1.2; overflow-wrap: anywhere; }
.pubk-lib-topic-card > b { color: var(--pubk-lib-accent); }
@media (max-width: 980px) {
  .pubk-lib-hero-grid { gap: 40px; grid-template-columns: minmax(0,1fr) 280px; }
  .pubk-lib-layout { grid-template-columns: minmax(0,1fr); }
  .pubk-lib-side { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); position: static; }
}
@media (max-width: 700px) {
  .pubk-lib-inner { padding: 0 20px; }
  .pubk-lib-hero { padding: 52px 0 48px; }
  .pubk-lib-hero-grid { grid-template-columns: minmax(0,1fr); }
  .pubk-lib-hero-logo { max-width: 320px; padding: 20px; }
  .pubk-lib-jump .pubk-lib-inner { align-items: flex-start; flex-direction: column; gap: 4px; padding-bottom: 16px; padding-top: 18px; }
  .pubk-lib-body { padding: 20px 0 64px; }
  .pubk-lib-section + .pubk-lib-section { margin-top: 52px; }
  .pubk-lib-article a { gap: 8px; grid-template-columns: minmax(0,1fr); padding: 22px 20px; }
  .pubk-lib-article a:hover,
  .pubk-lib-article a:focus-visible { padding-left: 20px; }
  .pubk-lib-article time { white-space: normal; }
  .pubk-lib-side { display: flex; }
  .pubk-lib-explore { padding: 56px 0 64px; }
  .pubk-lib-explore-head { align-items: flex-start; flex-direction: column; gap: 8px; }
  .pubk-lib-explore-grid { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 390px) {
  .pubk-lib-inner { padding: 0 16px; }
  .pubk-lib-chips { width: 100%; }
  .pubk-lib-chip { flex: 1 1 calc(50% - 8px); justify-content: center; min-width: 0; text-align: center; }
  .pubk-lib-topic-card { padding: 22px 18px; }
}
@media (prefers-reduced-motion: reduce) {
  .pubk-lib-page *,
  .pubk-lib-page *::before,
  .pubk-lib-page *::after { scroll-behavior: auto !important; transition: none !important; }
}

/* ---------- Article pages (member + visitor previews) ---------- */
.pubk-news .state-note { background: var(--navy); border-bottom: 3px solid var(--gold); padding: 10px 0; }
.pubk-news .state-note-inner { align-items: center; color: var(--on-navy-body); display: flex; flex-wrap: wrap; font-size: 12.5px; gap: 12px; justify-content: center; text-align: center; }
.pubk-news .state-note-inner strong { color: #fff; }
.pubk-news .state-note-label { border: 1px solid var(--gold-soft); color: var(--gold-soft); font-size: 9.5px; font-weight: 700; letter-spacing: .16em; padding: 3px 9px; text-transform: uppercase; }
.pubk-news .state-note a { color: var(--gold-soft); font-weight: 700; }
.pubk-news .state-note a:hover { color: #fff; }
.pubk-news .art-crumbs { align-items: center; color: var(--gray); display: flex; font-size: 12px; font-weight: 600; gap: 10px; letter-spacing: .04em; overflow: hidden; padding-top: 26px; white-space: nowrap; }
.pubk-news .art-crumbs a { color: var(--navy); }
.pubk-news .art-crumbs a:hover { color: var(--red); }
.pubk-news .art-crumb-sep { color: var(--gray-light); }
.pubk-news .art-crumb-here { min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.pubk-news .art-wrap { padding-top: 30px; }
.pubk-news .art { max-width: 760px; }
.pubk-news .art-kicker { align-items: center; color: var(--red); display: flex; flex-wrap: wrap; font-size: 11px; font-weight: 700; gap: 10px; letter-spacing: .18em; text-transform: uppercase; }
.pubk-news .art-kicker .art-topic { color: var(--red); }
.pubk-news .art-kicker .art-topic:hover { color: var(--red-deep); }
.pubk-news .art-kicker-sep { color: var(--gray-light); }
.pubk-news .art-kicker span:not(.art-kicker-sep) { color: var(--gray); }
.pubk-news .art-headline { color: var(--ink); font-family: var(--serif); font-size: clamp(30px,4vw,44px); font-weight: 400; letter-spacing: -.01em; line-height: 1.12; margin: 14px 0 0; }
.pubk-news .art-byline { align-items: center; border-bottom: 1px solid var(--line); border-top: 1px solid var(--line); display: flex; flex-wrap: wrap; gap: 14px; margin: 24px 0 26px; padding: 14px 0; }
.pubk-news .art-avatar { align-items: center; background: linear-gradient(135deg,var(--navy),var(--navy-mid)); border-radius: 50%; color: var(--gold-soft); display: flex; flex-shrink: 0; font-family: var(--serif); font-size: 15px; font-style: italic; height: 44px; justify-content: center; width: 44px; }
.pubk-news .art-byline-body { display: flex; flex-direction: column; gap: 2px; }
.pubk-news .art-author { color: var(--ink); font-size: 13.5px; font-weight: 600; }
.pubk-news .art-date { color: var(--gray); font-size: 12px; }
.pubk-news .art-access-pill { border: 1px solid rgba(184,149,56,.4); color: var(--gold-accessible); font-size: 9.5px; font-weight: 700; letter-spacing: .14em; margin-left: auto; padding: 4px 10px; text-transform: uppercase; white-space: nowrap; }
.pubk-news .art-locked-pill { border: 1px solid var(--line); color: var(--gray); font-size: 9.5px; font-weight: 700; letter-spacing: .14em; margin-left: auto; padding: 4px 10px; text-transform: uppercase; white-space: nowrap; }
.pubk-news .art-hero { aspect-ratio: 16/9; margin-bottom: 28px; width: 100%; }
.pubk-news .art-body { color: var(--ink-soft); font-family: var(--serif); font-size: 17.5px; font-weight: 400; line-height: 1.72; }
.pubk-news .art-body p { margin: 0 0 22px; }
.pubk-news .art-lede { color: var(--ink); font-size: 20px; line-height: 1.6; }
.pubk-news .art-case { background: var(--cream-soft); border: 1px solid var(--line); border-left: 4px solid var(--gold); display: flex; flex-direction: column; gap: 6px; margin: 0 0 26px; padding: 18px 22px; }
.pubk-news .art-case-k { color: var(--red); font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.pubk-news .art-case strong { color: var(--ink); font-size: 16.5px; font-weight: 600; line-height: 1.45; }
.pubk-news .art-points { list-style: none; margin: 0 0 26px; padding: 0; }
.pubk-news .art-points li { border-top: 1px solid var(--line); padding: 18px 0; }
.pubk-news .art-points li:first-child { border-top: 0; padding-top: 0; }
.pubk-news .art-points li strong { color: var(--navy); font-weight: 600; }
.pubk-news .art-counsel { border-top: 1px solid var(--line); color: var(--gray); font-family: var(--sans); font-size: 13.5px; line-height: 1.6; margin: 0 0 26px; padding-top: 20px; }
.pubk-news .art-counsel-k { color: var(--gray); display: block; font-size: 10px; font-weight: 700; letter-spacing: .18em; margin-bottom: 8px; text-transform: uppercase; }
.pubk-news a.art-doc { align-items: center; background: var(--navy); color: #fff; display: flex; gap: 18px; margin: 0 0 28px; padding: 20px 24px; transition: background .2s; }
.pubk-news a.art-doc:hover { background: var(--navy-mid); color: #fff; }
.pubk-news .art-doc-icon { border: 1px solid var(--gold-soft); color: var(--gold-soft); flex-shrink: 0; font-family: var(--sans); font-size: 10px; font-weight: 700; letter-spacing: .14em; padding: 9px 11px; }
.pubk-news .art-doc-body { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pubk-news .art-doc-body strong { color: #fff; font-family: var(--serif); font-size: 17px; font-weight: 420; line-height: 1.3; }
.pubk-news .art-doc-body span { color: var(--on-navy-muted); font-family: var(--sans); font-size: 12px; }
.pubk-news .art-doc-arrow { color: var(--gold-soft); flex-shrink: 0; font-size: 18px; margin-left: auto; }
.pubk-news .art-tags { align-items: center; display: flex; flex-wrap: wrap; font-family: var(--sans); gap: 8px; }
.pubk-news .art-tags-k { color: var(--gray); font-size: 10px; font-weight: 700; letter-spacing: .18em; margin-right: 4px; text-transform: uppercase; }
.pubk-news .art-tag { background: #fff; border: 1px solid var(--line); color: var(--ink-soft); font-size: 10px; font-weight: 600; letter-spacing: .08em; padding: 5px 10px; text-transform: uppercase; }
.pubk-news .art-more { margin-top: 44px; max-width: 760px; }
.pubk-news .art-more-title { font-size: clamp(24px,2.6vw,32px); }
.pubk-news .art-locked-wrap { padding-bottom: 6px; position: relative; }
.pubk-news .art-ghost { display: flex; filter: blur(3px); flex-direction: column; gap: 12px; opacity: .5; padding: 14px 0; user-select: none; }
.pubk-news .art-ghost .ghost-bar { height: 14px; }
.pubk-news .art-paywall { margin-bottom: 28px; margin-top: 10px; }
.pubk-news .art-weekly { border-top: 1px solid var(--line); }
/* 0.9.16: brief identity card pinned top-right of article pages (Patrick 08-17) */
.pubk-news a.side-brief { align-items: center; background: var(--cream-soft); border: 1px solid var(--line); border-top: 4px solid var(--navy); display: flex; flex-direction: column; gap: 12px; padding: 20px 18px 18px; text-align: center; transition: border-color .2s,box-shadow .2s; }
.pubk-news a.side-brief.side-brief--protests { border-top-color: var(--brief-protests); }
.pubk-news a.side-brief.side-brief--cyber { border-top-color: var(--brief-cyber); }
.pubk-news a.side-brief.side-brief--compliance { border-top-color: var(--brief-compliance); }
.pubk-news a.side-brief.side-brief--transforming { border-top-color: var(--brief-transforming); }
.pubk-news a.side-brief:hover { box-shadow: 0 12px 28px rgba(11,37,69,.1); }
.pubk-news .side-brief-k { color: var(--gray); font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.pubk-news .side-brief img { display: block; height: auto; max-width: 220px; width: 100%; }
.pubk-news .side-brief-link { align-items: center; color: var(--red); display: inline-flex; font-size: 11px; font-weight: 700; gap: 8px; letter-spacing: .12em; text-transform: uppercase; }
.pubk-news a.side-brief:hover .side-brief-link { color: var(--red-deep); }
@media (max-width: 680px) {
  .pubk-news .art-byline { align-items: flex-start; flex-direction: column; gap: 10px; }
  .pubk-news .art-access-pill,
  .pubk-news .art-locked-pill { margin-left: 0; }
  .pubk-news .art-crumbs { font-size: 11px; }
  .pubk-news a.art-doc { align-items: flex-start; flex-direction: column; gap: 12px; }
  .pubk-news .art-doc-arrow { margin-left: 0; }
}

/* ---------- Article topic accents + next nav + subtopics (Patrick 08-17 batch 2) ---------- */
.pubk-article-page { --pubk-art-accent: var(--brief-protests); }
.pubk-news.pubk-article-page .art-kicker .art-topic { color: var(--pubk-art-accent); }
.pubk-news.pubk-article-page .art-kicker .art-topic:hover { color: var(--navy); }
.pubk-news.pubk-article-page .art-hero { border-top: 3px solid var(--pubk-art-accent); }
.pubk-news.pubk-article-page .art-case { background: color-mix(in srgb,var(--pubk-art-accent) 8%,white); border-left-color: var(--pubk-art-accent); }
.pubk-news.pubk-article-page .art-case-k { color: var(--pubk-art-accent); }
.pubk-news.pubk-article-page .art-tag { background: color-mix(in srgb,var(--pubk-art-accent) 7%,white); border-color: color-mix(in srgb,var(--pubk-art-accent) 30%,white); color: var(--navy); }
.pubk-news .art-pagenav { margin-top: 34px; }
.pubk-news a.art-next { align-items: center; background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--pubk-art-accent); display: flex; gap: 18px; padding: 20px 22px; transition: background .2s,box-shadow .2s; }
.pubk-news a.art-next:hover { background: color-mix(in srgb,var(--pubk-art-accent) 6%,white); box-shadow: 0 10px 24px rgba(11,37,69,.08); }
.pubk-news .art-next-k { color: var(--pubk-art-accent); flex: 0 0 auto; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.pubk-news .art-next-t { color: var(--ink); font-family: var(--serif); font-size: 17.5px; line-height: 1.35; min-width: 0; }
.pubk-news .art-next-arrow { color: var(--pubk-art-accent); flex: 0 0 auto; font-size: 18px; margin-left: auto; transition: transform .2s; }
.pubk-news a.art-next:hover .art-next-arrow { transform: translateX(4px); }
.pubk-news .side-subtopics .side-block-head { background: var(--pubk-art-accent); }
@media (max-width: 700px) {
  .pubk-news a.art-next { flex-wrap: wrap; gap: 10px; }
  .pubk-news .art-next-arrow { margin-left: 0; }
}

/* --- News: brief logotypes beside section heads (0.9.23, Patrick 08-18: half size, left of the header, uniform height) --- */
.pubk-news .sec-head--brief { align-items: center; }
.pubk-news .sec-head--brief .sec-head-left { margin-right: auto; }
.pubk-news .sec-logo { flex: 0 0 auto; line-height: 0; }
.pubk-news .sec-logo img { display: block; height: 68px; width: auto; }
@media (max-width: 680px) {
  .pubk-news .sec-head--brief { align-items: center; column-gap: 12px; display: grid; grid-template-columns: auto minmax(0,1fr); row-gap: 10px; }
  .pubk-news .sec-head--brief .sec-readmore { grid-column: 1 / -1; }
  .pubk-news .sec-logo img { height: 44px; }
}

/* --- Article: free-sample state (0.9.25, Patrick 08-21: free teaser articles sell the brief) --- */
.pubk-news .art-free-bar { align-items: center; background: color-mix(in srgb,var(--pubk-art-accent) 7%,white); border: 1px solid color-mix(in srgb,var(--pubk-art-accent) 30%,white); border-left: 4px solid var(--pubk-art-accent); display: flex; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 24px; padding: 12px 18px; }
.pubk-news .art-free-bar-k { color: var(--pubk-art-accent); flex: 0 0 auto; font-size: 10px; font-weight: 700; letter-spacing: .18em; text-transform: uppercase; }
.pubk-news .art-free-bar-text { color: var(--ink); font-size: 13.5px; line-height: 1.45; min-width: 0; }
.pubk-news a.art-free-bar-link { color: var(--pubk-art-accent); flex: 0 0 auto; font-size: 12px; font-weight: 700; letter-spacing: .06em; margin-left: auto; white-space: nowrap; }
.pubk-news a.art-free-bar-link:hover { color: var(--navy); }
.pubk-news .art-access-pill--free { border-color: color-mix(in srgb,var(--pubk-art-accent) 40%,white); color: var(--pubk-art-accent); }
@media (max-width: 700px) {
  .pubk-news a.art-free-bar-link { margin-left: 0; }
}

/* --- 0.10.0 dynamic articles + archives ------------------------------- */
/* Real post content: classic-editor prose inside .art-body. */
.pubk-news .art-body ul { list-style: none; margin: 0 0 26px; padding: 0; }
.pubk-news .art-body ul li { border-top: 1px solid var(--line); padding: 18px 0; }
.pubk-news .art-body ul li:first-child { border-top: 0; padding-top: 0; }
.pubk-news .art-body ul li strong { color: var(--navy); font-weight: 600; }
.pubk-news .art-body ol { margin: 0 0 26px; padding-left: 22px; }
.pubk-news .art-body ol li { margin-bottom: 12px; }
/* Prose links only — the paywall/free-bar button blocks live inside .art-body and keep their own styling. */
.pubk-news .art-body a:not(.wp-block-button__link) { color: var(--navy); text-decoration: underline; text-decoration-color: var(--gold-soft); text-underline-offset: 3px; }
.pubk-news .art-body a:not(.wp-block-button__link):hover { color: var(--red); text-decoration-color: var(--red); }
.pubk-news .art-body h2, .pubk-news .art-body h3, .pubk-news .art-body h4 { color: var(--navy); font-family: var(--serif); line-height: 1.3; margin: 34px 0 14px; }
.pubk-news .art-body h2 { font-size: 26px; }
.pubk-news .art-body h3 { font-size: 22px; }
.pubk-news .art-body h4 { font-size: 19px; }
.pubk-news .art-body blockquote { border-left: 3px solid var(--gold-soft); color: var(--ink); font-style: italic; margin: 0 0 22px; padding: 4px 0 4px 20px; }
.pubk-news .art-hero-img { margin: 0 0 28px; }
.pubk-news .art-hero-img img { display: block; height: auto; width: 100%; }
/* Library sections with no posts yet (partial archive). */
.pubk-lib-page .pubk-lib-empty { border-top: 1px solid var(--line); color: var(--gray); font-family: var(--sans); font-size: 14px; font-style: italic; margin: 0; padding: 18px 0 4px; }
/* Category archive pagination. */
.pubk-lib-page .pubk-lib-pagination { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 34px; }
.pubk-lib-page .pubk-lib-pagination .page-numbers { border: 1px solid var(--line); color: var(--navy); display: inline-block; font-family: var(--sans); font-size: 13px; font-weight: 600; letter-spacing: .04em; padding: 9px 14px; text-decoration: none; }
.pubk-lib-page .pubk-lib-pagination a.page-numbers:hover { border-color: var(--navy); color: var(--red); }
.pubk-lib-page .pubk-lib-pagination .page-numbers.current { background: var(--navy); border-color: var(--navy); color: #fff; }
.pubk-lib-page .pubk-lib-pagination .page-numbers.dots { border: 0; }

/* ============================================================
   0.11.0 — Jobs board machinery (WP Job Manager, theme-rendered)
   ============================================================ */
/* Board: dynamic bits */
.pubk-comm-jobs .pubk-comm-item-content :is(h3, h4) a { color: inherit; text-decoration: none; }
.pubk-comm-jobs .pubk-comm-item-content :is(h3, h4) a:hover { color: var(--red); }
.pubk-comm-jobs .pubk-comm-empty { border: 1px solid var(--line); color: var(--gray); font-size: 15px; line-height: 1.6; margin: 0; padding: 28px 32px; }
.pubk-comm-jobs .pubk-comm-filter { cursor: pointer; }
.pubk-comm-access.is-filled { border-color: var(--red); color: var(--red); }

/* Job detail page */
.pubk-jobd-crumb { align-items: center; display: flex; font-size: 12px; font-weight: 600; gap: 10px; letter-spacing: .06em; margin: 0 0 18px; text-transform: uppercase; }
.pubk-jobd-crumb a { color: var(--gray); text-decoration: none; }
.pubk-jobd-crumb a:hover { color: var(--red); }
.pubk-jobd-crumb span { color: var(--line-dark, #C9C2B2); }
.pubk-jobd-chips { margin: 0 0 16px; }
.pubk-jobd-head h1 { margin-bottom: 10px; }
.pubk-jobd-org { color: var(--gray); font-size: 16px; font-weight: 600; margin: 0; }
.pubk-jobd-filled-note { background: rgba(184,149,56,.10); border-left: 3px solid #B89538; color: var(--ink-soft); font-size: 14.5px; line-height: 1.6; margin: 0 0 28px; padding: 14px 18px; }
.pubk-jobd-filled-note a { color: var(--navy); font-weight: 600; }
.pubk-jobd-desc { color: var(--ink-soft); font-family: var(--serif); font-size: 17.5px; line-height: 1.72; }
.pubk-jobd-desc p { margin: 0 0 1.1em; }
.pubk-jobd-apply { border-top: 2px solid var(--navy); margin-top: 36px; padding-top: 24px; }
.pubk-jobd-apply h2 { font-family: var(--serif); font-size: 24px; font-weight: 420; margin: 0 0 8px; }
.pubk-jobd-apply p { color: var(--gray); font-size: 14.5px; margin: 0 0 18px; }
.pubk-jobd-contact { border-top: 1px solid var(--line); margin-top: 14px; padding-top: 14px; }
/* Plain (white) side cards reuse the featured card's meta rows, which are styled for navy — re-ink them. */
.pubk-jobd .pubk-comm-side-card:not(.is-feature) .pubk-comm-side-meta-row { color: var(--gray); }
.pubk-jobd .pubk-comm-side-card:not(.is-feature) .pubk-comm-side-meta-row b { color: var(--ink); }
/* Crumb sits on the navy head band. */
.pubk-jobd-head .pubk-jobd-crumb a, .pubk-jobform .pubk-jobd-crumb a { color: rgba(255,255,255,.72); }
.pubk-jobd-head .pubk-jobd-crumb a:hover, .pubk-jobform .pubk-jobd-crumb a:hover { color: #fff; }
.pubk-jobd-head .pubk-jobd-crumb span, .pubk-jobform .pubk-jobd-crumb span { color: rgba(255,255,255,.4); }
.pubk-jobd-contact a { color: var(--navy); text-decoration: none; }
.pubk-jobd-contact a:hover { color: var(--red); }
.pubk-jobd-main { min-width: 0; }

/* Submission + dashboard pages (WP Job Manager forms, house style) */
.pubk-jobform-body { padding: 56px 0 88px; }
.pubk-jobform-card { background: var(--paper); border: 1px solid var(--line); box-shadow: 0 10px 30px rgba(11,37,69,.06); margin: 0 auto; max-width: 860px; padding: 44px 48px; }
.pubk-jobform-aside { color: var(--gray); font-size: 14px; margin: 22px auto 0; max-width: 860px; text-align: center; }
.pubk-jobform-aside a { color: var(--navy); font-weight: 600; }
.pubk-jobform-aside a:hover { color: var(--red); }
.pubk-jobform fieldset { border: 0; display: block; margin: 0 0 22px; padding: 0; }
.pubk-jobform .job-manager-form label,
.pubk-jobform .fieldset-header label { color: var(--navy); display: block; font-size: 11px; font-weight: 700; letter-spacing: .14em; margin: 0 0 8px; text-transform: uppercase; }
.pubk-jobform .job-manager-form .field small.description { color: var(--gray); display: block; font-size: 12.5px; margin-top: 6px; }
.pubk-jobform .input-text,
.pubk-jobform input[type="text"],
.pubk-jobform input[type="email"],
.pubk-jobform input[type="url"],
.pubk-jobform textarea,
.pubk-jobform select { background: #fff; border: 1px solid var(--line); border-radius: 0; box-sizing: border-box; color: var(--ink); font-family: var(--sans); font-size: 15px; padding: 12px 14px; width: 100%; }
.pubk-jobform .input-text:focus,
.pubk-jobform input:focus,
.pubk-jobform textarea:focus,
.pubk-jobform select:focus { border-color: var(--navy); box-shadow: inset 0 0 0 1px var(--navy); outline: 0; }
.pubk-jobform .job-manager-form .submit-attachment,
.pubk-jobform .job-manager-form input[type="submit"],
.pubk-jobform .job-manager-form .button {
  background: var(--red); border: 0; border-radius: 0; color: #fff; cursor: pointer; display: inline-block;
  font-family: var(--sans); font-size: 12px; font-weight: 700; letter-spacing: .14em; padding: 15px 26px; text-transform: uppercase; transition: background .2s;
}
.pubk-jobform .job-manager-form input[type="submit"]:hover,
.pubk-jobform .job-manager-form .button:hover { background: var(--red-deep); color: #fff; }
.pubk-jobform .job-manager-message,
.pubk-jobform .job-manager-error,
.pubk-jobform .job-manager-info { border-left: 3px solid var(--navy); font-size: 14.5px; line-height: 1.6; margin: 0 0 22px; padding: 14px 18px; }
.pubk-jobform .job-manager-error { border-left-color: var(--red); }
.pubk-jobform table.job-manager-jobs { border-collapse: collapse; width: 100%; }
.pubk-jobform table.job-manager-jobs th { border-bottom: 2px solid var(--navy); color: var(--navy); font-size: 11px; font-weight: 700; letter-spacing: .14em; padding: 10px 12px; text-align: left; text-transform: uppercase; }
.pubk-jobform table.job-manager-jobs td { border-bottom: 1px solid var(--line); font-size: 14.5px; padding: 14px 12px; }
.pubk-jobform table.job-manager-jobs td a { color: var(--navy); font-weight: 600; text-decoration: none; }
.pubk-jobform table.job-manager-jobs td a:hover { color: var(--red); }
.pubk-jobform-gate { display: grid; gap: 22px; grid-template-columns: 1fr 1fr; }
.pubk-jobform-path { border: 1px solid var(--line); display: flex; flex-direction: column; padding: 28px 26px; }
.pubk-jobform-path h3 { color: var(--navy); font-family: var(--serif); font-size: 22px; font-weight: 600; line-height: 1.25; margin: 0 0 10px; }
.pubk-jobform-path p { color: var(--ink); flex-grow: 1; font-size: 14.5px; line-height: 1.6; margin: 0 0 20px; }
.pubk-jobform-path .pubk-comm-btn { align-self: flex-start; margin-top: auto; }
.pubk-jobform-path a.pubk-comm-btn.is-primary:hover { background: var(--red-deep); color: #fff; }
@media (max-width: 680px) {
  .pubk-jobform-card { padding: 28px 20px; }
  .pubk-jobform-gate { grid-template-columns: 1fr; }
}

/* ---- 0.12.0: state-aware library demo (meeting build) ---- */
/* Active primary-category chip in the blue topic-libraries bar. */
.pubk-lib-chip.is-active { background: var(--pubk-lib-accent); border-color: var(--pubk-lib-accent); }
/* Weekly signup banner dropped into library/archive flows (logged-out only). */
.pubk-weekly-banner .weekly-strip { border-top: 1px solid var(--line); }

/* ---- 0.13.0: dynamic community calendar (The Events Calendar data) ---- */
.pubk-comm-time { font-size: 12px; }
.pubk-comm-time::before { color: var(--gray-light); content: "\00b7"; margin-right: 8px; }
.pubk-comm-calendar .pubk-comm-empty { border: 1px solid var(--line); color: var(--gray); font-size: 15px; line-height: 1.6; margin: 0; padding: 28px 32px; }
.pubk-comm-calendar .pubk-comm-filter { cursor: pointer; }
.pubk-comm-calendar .pubk-comm-filter-empty { margin-top: 8px; }

/* ---- Search results + 404 (0.17.0) ---- */
.pubk-search-form { display: flex; gap: 10px; margin-top: 30px; max-width: 560px; }
.pubk-search-form input[type="search"] { appearance: none; background: #fff; border: 1px solid var(--line); border-radius: 0; color: var(--ink); flex: 1; font-family: var(--sans); font-size: 15px; min-height: 48px; min-width: 0; padding: 12px 16px; }
.pubk-search-form input[type="search"]:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.pubk-search-form button { align-items: center; background: var(--red); border: 0; border-radius: 0; color: #fff; cursor: pointer; display: inline-flex; flex-shrink: 0; font-family: var(--sans); font-size: 12px; font-weight: 700; justify-content: center; letter-spacing: .14em; min-height: 48px; padding: 14px 26px; text-transform: uppercase; transition: background-color .25s, color .25s; }
.pubk-search-form button:hover { background: var(--red-deep); }
.pubk-search-form button:focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
.pubk-lib-hero .pubk-search-form + p { margin-top: 18px; }
.pubk-404-page .pubk-lib-body { padding-bottom: 96px; }
.pubk-404-links { display: grid; gap: 12px; grid-template-columns: repeat(3, minmax(0,1fr)); }
.pubk-404-links a { align-items: center; background: var(--paper); border: 1px solid var(--line); color: var(--ink); display: flex; font-family: var(--sans); font-size: 14px; font-weight: 600; justify-content: space-between; letter-spacing: .02em; min-height: 60px; padding: 16px 22px; transition: border-color .2s; }
.pubk-404-links a::after { color: var(--red); content: "\2192"; }
.pubk-404-links a:hover,
.pubk-404-links a:focus-visible { border-color: var(--navy); }
@media (max-width: 860px) {
  .pubk-404-links { grid-template-columns: repeat(2, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  .pubk-404-links { grid-template-columns: 1fr; }
  .pubk-search-form { flex-direction: column; }
}

/* ============================================================
   Pass 2 — template cleanup (consolidated audit C-02..C-11)
   ============================================================ */

/* ---------- C-05: deliberate tablet nav breakpoint ---------- */
/* 600–999px: force the overlay menu (WP core only shows it below 600px). */
@media (min-width: 600px) and (max-width: 999px) {
  .pubk-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
  .pubk-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
/* 1000–1180px: tighten items so the single row always holds. */
@media (min-width: 1000px) and (max-width: 1180px) {
  .pubk-nav .wp-block-navigation-item__content { font-size: 12px; padding: 16px 13px; }
}

/* ---------- C-05: footer reads as groups, not a full page ---------- */
@media (max-width: 999px) {
  .pubk-footer { padding-bottom: 28px !important; padding-top: 44px !important; }
  .pubk-footer > .wp-block-columns { display: grid !important; gap: 26px 24px; grid-template-columns: 1fr 1fr; padding-bottom: 28px !important; }
  .pubk-footer .pubk-footer-brand { font-size: 21px !important; margin-bottom: 14px; }
  .pubk-benefit-badge { margin-top: 14px !important; }
  .pubk-footer-bottom { padding-top: 24px !important; }
  .pubk-footer > .wp-block-columns > .wp-block-column { flex-basis: auto !important; width: auto !important; }
  .pubk-footer > .wp-block-columns > .wp-block-column:first-child { grid-column: 1 / -1; }
  .pubk-footer ul { gap: 10px; }
  .pubk-footer .pubk-footer-heading { margin-bottom: 14px !important; }
}
@media (max-width: 600px) {
  .pubk-footer-bottom { align-items: flex-start !important; flex-direction: column; gap: 14px; }
  .pubk-social a:first-child { margin-left: 0; }
}

/* ---------- C-06: the page's own hero precedes the Weekly promo ---------- */
/* On phones, a leading promo band moves to the end of the page flow. */
@media (max-width: 781px) {
  :is(.wp-block-post-content, .pubk-membership-pricing, .pubk-publications, .pubk-sponsor, .pubk-institute-sponsor, .pubk-community, .pubk-comm-content):has(> :is(.pubk-weekly, .pubk-community-weekly, .pubk-comm-weekly):first-child) {
    display: flex;
    flex-direction: column;
  }
  :is(.wp-block-post-content, .pubk-membership-pricing, .pubk-publications, .pubk-sponsor, .pubk-institute-sponsor, .pubk-community, .pubk-comm-content) > :is(.pubk-weekly, .pubk-community-weekly, .pubk-comm-weekly):first-child { order: 99; }

  /* Section boundaries: one intentional interval instead of two stacked pads. */
  main [style*="padding-top:64px"] { padding-top: 44px !important; }
  main [style*="padding-bottom:64px"] { padding-bottom: 44px !important; }
  main [style*="padding-top:72px"] { padding-top: 48px !important; }
  main [style*="padding-bottom:72px"] { padding-bottom: 48px !important; }
  main [style*="padding-top:80px"] { padding-top: 52px !important; }
  main [style*="padding-top:88px"] { padding-top: 56px !important; }
  main [style*="padding-bottom:88px"] { padding-bottom: 56px !important; }
  main [style*="padding-bottom:90px"] { padding-bottom: 56px !important; }
  .pubk-ask .pubk-ask-hero { padding: 64px 0 56px; }
  .pubk-ask .pubk-ask-section { padding: 56px 0; }
  .pubk-ask .pubk-ask-cta { padding: 64px 0; }
}
@media (max-width: 700px) {
  .pubk-comm-head { padding: 56px 0 48px; }
  .pubk-comm-board { padding: 56px 0 72px; }
}

/* ---------- C-07: comparison tables stack on phones ---------- */
/* tables.js copies each column header onto its cells (data-th) and flags the
   table; without JS the scroll-wrap fallback below stays untouched. */
@media (max-width: 700px) {
  .pubk-gs-table-wrap:has(.pubk-table-labeled),
  .pubk-mp-seat-wrap:has(.pubk-table-labeled) { overflow-x: visible; }
  table.pubk-table-labeled { border-collapse: separate; border-spacing: 0; min-width: 0 !important; }
  .pubk-table-labeled thead { display: none; }
  .pubk-table-labeled, .pubk-table-labeled tbody, .pubk-table-labeled tfoot, .pubk-table-labeled tr, .pubk-table-labeled th, .pubk-table-labeled td { box-sizing: border-box; display: block; width: 100%; }
  .pubk-table-labeled tbody tr { background: var(--paper); border: 1px solid var(--line); margin: 0 0 12px; padding: 4px 16px 10px; }
  .pubk-table-labeled tbody tr > th { background: none !important; border-bottom: 1px solid var(--ink) !important; font-size: 13px; min-width: 0 !important; padding: 12px 0 8px !important; text-align: left !important; }
  .pubk-table-labeled tbody tr.is-group { background: var(--navy); border: 0; margin: 18px 0 12px; padding: 0; }
  .pubk-table-labeled tbody tr.is-group > th { border: 0 !important; color: #fff; font-family: var(--serif); font-size: 17px; font-weight: 380; padding: 12px 16px !important; }
  .pubk-table-labeled tbody td { align-items: baseline; border: 0 !important; display: flex; gap: 18px; justify-content: space-between; padding: 7px 0 !important; text-align: right !important; }
  .pubk-table-labeled tbody td + td { border-top: 1px solid var(--line) !important; }
  .pubk-table-labeled tbody td::before { color: var(--gray); content: attr(data-th); flex: 0 1 auto; font-size: 12px; font-weight: 600; text-align: left; }
  .pubk-table-labeled tfoot tr { background: none; border: 0; margin: 4px 0 0; padding: 0; }
  .pubk-table-labeled tfoot td { background: var(--paper); border: 1px solid var(--line) !important; margin: 0 0 10px; padding: 14px 16px !important; }
  .pubk-table-labeled tfoot td:empty { display: none; }
  .pubk-table-labeled tfoot td::before { color: var(--gray); content: attr(data-th); display: block; font-size: 12px; font-weight: 600; margin-bottom: 8px; text-align: left; }
  .pubk-table-labeled tfoot .wp-block-button, .pubk-table-labeled tfoot .wp-block-button__link { box-sizing: border-box; display: block; text-align: center; width: 100%; }
  /* stacked cards replace the drag pattern — the scroll cues come off */
  .pubk-institute-sponsor:has(.pubk-table-labeled) .pubk-gs-scroll-hint { display: none !important; }
}

/* ---------- C-08: rails stop with the content ---------- */
/* Short gated teaser (desktop): keep the brief card and the sign-in pitch,
   drop the trailing modules that ran 590–689px past the article. */
@media (min-width: 1025px) {
  .pubk-news .art-wrap .layout:has(.art-paywall) .sidebar > :nth-child(n+3) { display: none; }
}
/* Phones: article rails keep content modules; ads and the Weekly block are
   desktop furniture and made the mobile tail ~1,900px deep. */
@media (max-width: 1024px) {
  .pubk-news .art-wrap .sidebar > div:has(> .ad-slot),
  .pubk-news .art-wrap .sidebar > .side-block:has(.side-weekly-form) { display: none; }
}
/* Long-form measure: job descriptions ran ~92 characters per line. */
.pubk-jobd-desc { max-width: 680px; }

/* ---------- C-10: one deliberate focus + motion system ---------- */
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--navy); outline-offset: 2px; }
:where(.pubk-on-dark, .pubk-navy, .pubk-navy-deep, .pubk-footer, .pubk-utility, .pubk-hero, .pubk-comm-head, .has-navy-background-color, .has-navy-deep-background-color) :where(a, button, input, select, textarea, summary):focus-visible { outline-color: var(--gold-soft); }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important; }
  html { scroll-behavior: auto !important; }
}

/* ---------- C-02: event detail page ---------- */
/* Shares the job-detail shell; the light side cards and the navy head need
   the same color re-scopes the jobd page carries. */
.pubk-eventd .pubk-comm-side-card:not(.is-feature) .pubk-comm-side-meta-row { color: var(--gray); }
.pubk-eventd .pubk-comm-side-card:not(.is-feature) .pubk-comm-side-meta-row b { color: var(--ink); }
.pubk-eventd .pubk-jobd-head .pubk-comm-format { color: var(--on-navy-body); }
.pubk-eventd .pubk-jobd-head .pubk-comm-meta { color: var(--on-navy-muted); }
.pubk-eventd .pubk-comm-side-card h3 { margin: 10px 0 8px; }
.pubk-eventd .pubk-comm-side-card p { color: var(--gray); font-size: 13.5px; line-height: 1.55; margin: 0 0 16px; }

/* ---------- C-11: polish batch ---------- */
/* Signed-out job dashboard: a deliberate gate instead of an inline afterthought. */
.pubk-jobform-card .account-sign-in { align-items: flex-start; display: flex; flex-direction: column; gap: 20px; margin: 0; }
.pubk-jobform-card .account-sign-in .button {
  align-items: center; background: var(--navy); border: 0; border-radius: 0; color: #fff;
  display: inline-flex; font-family: var(--sans); font-size: 12px; font-weight: 700;
  letter-spacing: .14em; min-height: 44px; padding: 12px 26px; text-decoration: none; text-transform: uppercase;
}
.pubk-jobform-card .account-sign-in .button:hover { background: var(--navy-mid); color: #fff; }

/* Community partner rail: manual scroll with the fade cue when the marquee
   can't run (small screens and reduced motion). */
@media (max-width: 781px) {
  .pubk-community .pubk-community-marquee { overflow-x: auto; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; scrollbar-width: none; }
  .pubk-community .pubk-community-marquee::-webkit-scrollbar { display: none; }
  .pubk-community .pubk-community-marquee-track { animation: none; }
}
@media (prefers-reduced-motion: reduce) {
  .pubk-community .pubk-community-marquee { overflow-x: auto; }
}

/* One-word tails: balance display headings, tidy ledes. */
.pubk-h-section, .pubk-h-feature, .pubk-news .section-title, .pubk-comm-head h1, .pubk-ask-cta-title, .pubk-h-hero { text-wrap: balance; }
.pubk-lede, .pubk-hero-lede, .pubk-comm-head p { text-wrap: pretty; }
