/* ========================================================================
   PKOUG public-page theme system
   Opt-in only through body.pk-public-themed. Homepage, Admin, Member and
   Forum surfaces are intentionally outside this scope.
   ======================================================================== */

body.pk-public-themed {
  --page-accent: #1f7653;
  --page-accent-2: #315f8f;
  --page-accent-soft: rgba(31, 118, 83, .11);
  --page-border: color-mix(in srgb, var(--page-accent) 20%, var(--pk-border));
  --page-grid: color-mix(in srgb, var(--page-accent-2) 8%, transparent);
  --page-surface-base: color-mix(in srgb, var(--pk-surface) 96%, var(--page-accent));
  --page-surface-elevated: color-mix(in srgb, var(--pk-surface) 98%, var(--page-accent));
  --page-surface-quiet: color-mix(in srgb, var(--pk-surface-sunk) 93%, var(--page-accent));
  --page-hero-bg: linear-gradient(135deg, #edf7f2 0%, #eef5fb 58%, #f8f5ef 100%);
  --page-section-primary-bg: #f8fbfa;
  --page-section-secondary-bg: #edf5f7;
  --page-section-accent-bg: #f1f5f8;
  --page-section-quiet-bg: #f7f6f2;
  --page-closing-bg: #102c27;
  --page-closing-accent: #63c995;
  --page-closing-ink: #f4fbf8;
  --page-closing-muted: #c4d7d1;
  background: var(--page-section-primary-bg);
}

body.pk-page--about {
  --page-accent: #1f7653;
  --page-accent-2: #315f78;
  --page-hero-bg: linear-gradient(135deg, #eaf6ef 0%, #eef5f8 57%, #f8f4ec 100%);
  --page-section-primary-bg: #f8fbf9;
  --page-section-secondary-bg: #eaf3f5;
  --page-section-accent-bg: #eef3f6;
  --page-section-quiet-bg: #f7f4ec;
  --page-closing-bg: #102e27;
}

body.pk-page--vision {
  --page-accent: #315f9c;
  --page-accent-2: #584da0;
  --page-accent-soft: rgba(49, 95, 156, .11);
  --page-hero-bg: linear-gradient(135deg, #edf4fb 0%, #eef0fa 58%, #f7f5ef 100%);
  --page-section-primary-bg: #f6f9fc;
  --page-section-secondary-bg: #edf2f8;
  --page-section-accent-bg: #f0eff8;
  --page-section-quiet-bg: #f7f4ed;
  --page-closing-bg: #152744;
  --page-closing-accent: #91b8e7;
}

body.pk-page--board {
  --page-accent: #2d4968;
  --page-accent-2: #54705f;
  --page-accent-soft: rgba(45, 73, 104, .1);
  --page-hero-bg: linear-gradient(135deg, #edf2f6 0%, #f3f5f6 58%, #f7f2e8 100%);
  --page-section-primary-bg: #f8fafb;
  --page-section-secondary-bg: #edf1f4;
  --page-section-accent-bg: #edf3f1;
  --page-section-quiet-bg: #f5f3ee;
  --page-closing-bg: #17283a;
  --page-closing-accent: #d0b570;
}

body.pk-page--sig {
  --page-accent: #5749a5;
  --page-accent-2: #167d80;
  --page-accent-soft: rgba(87, 73, 165, .11);
  --page-hero-bg: linear-gradient(135deg, #f0effb 0%, #eaf5f6 62%, #f3f7f5 100%);
  --page-section-primary-bg: #f8f9fc;
  --page-section-secondary-bg: #eaf4f4;
  --page-section-accent-bg: #efeff9;
  --page-section-quiet-bg: #f3f6f6;
  --page-closing-bg: #193c3d;
  --page-closing-accent: #75d2bc;
}

body.pk-page--sponsors {
  --page-accent: #9a711d;
  --page-accent-2: #2e6f55;
  --page-accent-soft: rgba(154, 113, 29, .12);
  --page-hero-bg: linear-gradient(135deg, #fbf5e7 0%, #f5f4eb 50%, #edf6f1 100%);
  --page-section-primary-bg: #faf9f4;
  --page-section-secondary-bg: #f1ecdf;
  --page-section-accent-bg: #f7f0df;
  --page-section-quiet-bg: #edf4f0;
  --page-closing-bg: #253128;
  --page-closing-accent: #e1bf69;
}

body.pk-page--partners {
  --page-accent: #167773;
  --page-accent-2: #326b8a;
  --page-accent-soft: rgba(22, 119, 115, .11);
  --page-hero-bg: linear-gradient(135deg, #eaf7f5 0%, #edf5f7 60%, #f5f7f6 100%);
  --page-section-primary-bg: #f7fbfa;
  --page-section-secondary-bg: #eaf4f3;
  --page-section-accent-bg: #edf4f7;
  --page-section-quiet-bg: #f2f5f5;
  --page-closing-bg: #123c3b;
  --page-closing-accent: #72cec5;
}

body.pk-page--ace {
  --page-accent: #b12b36;
  --page-accent-2: #9b7625;
  --page-accent-soft: rgba(177, 43, 54, .1);
  --page-hero-bg: linear-gradient(135deg, #faeeee 0%, #f8f3e8 54%, #edf2f7 100%);
  --page-section-primary-bg: #faf9f7;
  --page-section-secondary-bg: #f4eedf;
  --page-section-accent-bg: #edf3f1;
  --page-section-quiet-bg: #f4f1ee;
  --page-closing-bg: #3b1b24;
  --page-closing-accent: #e0bc62;
}

/* Dark palettes are authored deliberately for both system and explicit dark. */
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) body.pk-public-themed {
    --page-border: color-mix(in srgb, var(--page-accent) 35%, var(--pk-border));
    --page-grid: color-mix(in srgb, var(--page-accent-2) 13%, transparent);
    --page-surface-base: color-mix(in srgb, var(--pk-surface) 91%, var(--page-accent));
    --page-surface-elevated: color-mix(in srgb, var(--pk-surface) 95%, var(--page-accent));
    --page-surface-quiet: color-mix(in srgb, var(--pk-surface-sunk) 90%, var(--page-accent));
  }
  :root:not([data-theme="light"]) body.pk-page--about {
    --page-hero-bg: linear-gradient(135deg, #0c201d, #111f2c 64%, #1f1d19);
    --page-section-primary-bg: #101b1b; --page-section-secondary-bg: #102326;
    --page-section-accent-bg: #14222c; --page-section-quiet-bg: #201f1b; --page-closing-bg: #0b2821;
  }
  :root:not([data-theme="light"]) body.pk-page--vision {
    --page-hero-bg: linear-gradient(135deg, #101b31, #191932 64%, #242018);
    --page-section-primary-bg: #121b28; --page-section-secondary-bg: #142131;
    --page-section-accent-bg: #1b1a32; --page-section-quiet-bg: #24221d; --page-closing-bg: #111f38;
  }
  :root:not([data-theme="light"]) body.pk-page--board {
    --page-hero-bg: linear-gradient(135deg, #121d2a, #1a222a 62%, #27231b);
    --page-section-primary-bg: #151c23; --page-section-secondary-bg: #19222b;
    --page-section-accent-bg: #172420; --page-section-quiet-bg: #24221d; --page-closing-bg: #132436;
  }
  :root:not([data-theme="light"]) body.pk-page--sig {
    --page-hero-bg: linear-gradient(135deg, #19172e, #13272c 64%, #152522);
    --page-section-primary-bg: #151b27; --page-section-secondary-bg: #122628;
    --page-section-accent-bg: #1b1930; --page-section-quiet-bg: #192425; --page-closing-bg: #143635;
  }
  :root:not([data-theme="light"]) body.pk-page--sponsors {
    --page-hero-bg: linear-gradient(135deg, #282319, #1d271f 60%, #15232a);
    --page-section-primary-bg: #1d1d19; --page-section-secondary-bg: #292318;
    --page-section-accent-bg: #282116; --page-section-quiet-bg: #18241f; --page-closing-bg: #222c23;
  }
  :root:not([data-theme="light"]) body.pk-page--partners {
    --page-hero-bg: linear-gradient(135deg, #102726, #14262d 64%, #192324);
    --page-section-primary-bg: #111e20; --page-section-secondary-bg: #102725;
    --page-section-accent-bg: #13252d; --page-section-quiet-bg: #192425; --page-closing-bg: #103735;
  }
  :root:not([data-theme="light"]) body.pk-page--ace {
    --page-hero-bg: linear-gradient(135deg, #301820, #252019 55%, #151f2d);
    --page-section-primary-bg: #1d191c; --page-section-secondary-bg: #292318;
    --page-section-accent-bg: #16241f; --page-section-quiet-bg: #24201e; --page-closing-bg: #361821;
  }
}

:root[data-theme="dark"] body.pk-public-themed {
  --page-border: color-mix(in srgb, var(--page-accent) 35%, var(--pk-border));
  --page-grid: color-mix(in srgb, var(--page-accent-2) 13%, transparent);
  --page-surface-base: color-mix(in srgb, var(--pk-surface) 91%, var(--page-accent));
  --page-surface-elevated: color-mix(in srgb, var(--pk-surface) 95%, var(--page-accent));
  --page-surface-quiet: color-mix(in srgb, var(--pk-surface-sunk) 90%, var(--page-accent));
}
:root[data-theme="dark"] body.pk-page--about {
  --page-hero-bg: linear-gradient(135deg, #0c201d, #111f2c 64%, #1f1d19);
  --page-section-primary-bg: #101b1b; --page-section-secondary-bg: #102326;
  --page-section-accent-bg: #14222c; --page-section-quiet-bg: #201f1b; --page-closing-bg: #0b2821;
}
:root[data-theme="dark"] body.pk-page--vision {
  --page-hero-bg: linear-gradient(135deg, #101b31, #191932 64%, #242018);
  --page-section-primary-bg: #121b28; --page-section-secondary-bg: #142131;
  --page-section-accent-bg: #1b1a32; --page-section-quiet-bg: #24221d; --page-closing-bg: #111f38;
}
:root[data-theme="dark"] body.pk-page--board {
  --page-hero-bg: linear-gradient(135deg, #121d2a, #1a222a 62%, #27231b);
  --page-section-primary-bg: #151c23; --page-section-secondary-bg: #19222b;
  --page-section-accent-bg: #172420; --page-section-quiet-bg: #24221d; --page-closing-bg: #132436;
}
:root[data-theme="dark"] body.pk-page--sig {
  --page-hero-bg: linear-gradient(135deg, #19172e, #13272c 64%, #152522);
  --page-section-primary-bg: #151b27; --page-section-secondary-bg: #122628;
  --page-section-accent-bg: #1b1930; --page-section-quiet-bg: #192425; --page-closing-bg: #143635;
}
:root[data-theme="dark"] body.pk-page--sponsors {
  --page-hero-bg: linear-gradient(135deg, #282319, #1d271f 60%, #15232a);
  --page-section-primary-bg: #1d1d19; --page-section-secondary-bg: #292318;
  --page-section-accent-bg: #282116; --page-section-quiet-bg: #18241f; --page-closing-bg: #222c23;
}
:root[data-theme="dark"] body.pk-page--partners {
  --page-hero-bg: linear-gradient(135deg, #102726, #14262d 64%, #192324);
  --page-section-primary-bg: #111e20; --page-section-secondary-bg: #102725;
  --page-section-accent-bg: #13252d; --page-section-quiet-bg: #192425; --page-closing-bg: #103735;
}
:root[data-theme="dark"] body.pk-page--ace {
  --page-hero-bg: linear-gradient(135deg, #301820, #252019 55%, #151f2d);
  --page-section-primary-bg: #1d191c; --page-section-secondary-bg: #292318;
  --page-section-accent-bg: #16241f; --page-section-quiet-bg: #24201e; --page-closing-bg: #361821;
}

/* Compact related hero family ------------------------------------------------ */
body.pk-public-themed .pk-public-hero {
  position: relative;
  isolation: isolate;
  min-height: 0;
  padding-block: clamp(3rem, 5vw, 4.75rem);
  overflow: hidden;
  border-block-end: 1px solid var(--page-border);
  background: var(--page-hero-bg);
}
body.pk-public-themed .pk-public-hero::before {
  inset: 0;
  background: linear-gradient(100deg, color-mix(in srgb, var(--page-section-primary-bg) 86%, transparent), transparent 68%);
  opacity: 1;
}
body.pk-public-themed .pk-public-hero::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  background-image:
    linear-gradient(var(--page-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--page-grid) 1px, transparent 1px),
    linear-gradient(118deg, transparent 48%, color-mix(in srgb, var(--page-accent) 14%, transparent) 49%, transparent 50%);
  background-size: 3.5rem 3.5rem, 3.5rem 3.5rem, auto;
  content: "";
  mask-image: linear-gradient(90deg, transparent, #000 45%, #000);
  pointer-events: none;
}
body.pk-public-themed .pk-public-hero .pk-videobg { opacity: .28; }
body.pk-public-themed .pk-public-hero .pk-hero__inner {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
}
body.pk-public-themed .pk-public-hero .pk-hero__copy { max-width: 50rem; }
body.pk-public-themed .pk-public-hero .pk-display {
  max-width: 17ch;
  font-size: clamp(2.7rem, 5vw, 4.8rem);
  line-height: 1;
  letter-spacing: -.042em;
  text-wrap: balance;
}
body.pk-public-themed .pk-public-hero .pk-hero__lead { max-width: 62ch; margin-top: clamp(1rem, 2vw, 1.35rem); }
body.pk-public-themed .pk-public-hero .pk-hero__cta { gap: .65rem; margin-top: clamp(1.25rem, 2.5vw, 1.8rem); }
body.pk-public-themed .pk-public-hero .pk-hero__note { margin-top: clamp(1rem, 2vw, 1.35rem); }
body.pk-public-themed .pk-public-hero .pk-hero__panel {
  align-self: center;
  border-color: var(--page-border);
  background: color-mix(in srgb, var(--page-surface-elevated) 88%, transparent);
  box-shadow: 0 20px 50px color-mix(in srgb, var(--page-accent) 12%, transparent);
}
body.pk-public-themed .pk-public-hero .pk-chip {
  border-color: var(--page-border);
  background: color-mix(in srgb, var(--page-surface-elevated) 82%, transparent);
}

/* Semantic section contrast and three internal surfaces -------------------- */
body.pk-public-themed .pk-page-section {
  position: relative;
  isolation: isolate;
  padding-block: clamp(3.75rem, 7vw, 6rem);
  border-block-start: 1px solid var(--page-border);
}
body.pk-public-themed .pk-page-section::after {
  position: absolute;
  z-index: -1;
  inset: 0;
  background:
    linear-gradient(120deg, color-mix(in srgb, var(--page-accent) 5%, transparent), transparent 34%),
    linear-gradient(90deg, transparent, color-mix(in srgb, var(--page-accent-2) 5%, transparent), transparent);
  content: "";
  pointer-events: none;
}
body.pk-public-themed .pk-page-section--primary { background: var(--page-section-primary-bg); }
body.pk-public-themed .pk-page-section--secondary { background: var(--page-section-secondary-bg); }
body.pk-public-themed .pk-page-section--accent { background: var(--page-section-accent-bg); }
body.pk-public-themed .pk-page-section--quiet { background: var(--page-section-quiet-bg); }
body.pk-public-themed .pk-page-section .pk-eyebrow,
body.pk-public-themed .pk-directory-public-hero .pk-eyebrow,
body.pk-public-themed .pk-page-chapter .pk-eyebrow { color: var(--page-accent); }
body.pk-public-themed .pk-page-section .pk-eyebrow::before { background: var(--page-accent); }

body.pk-public-themed :is(.pk-page-section, .pk-page-chapter) .pk-card,
body.pk-public-themed .pk-page-surface--elevated {
  border-color: var(--page-border);
  background: var(--page-surface-elevated);
  box-shadow: 0 12px 30px color-mix(in srgb, var(--page-accent) 7%, transparent);
}
body.pk-public-themed :is(.pk-page-section, .pk-page-chapter) :is(.pk-card--sunk, .pk-policy, .pk-faq),
body.pk-public-themed .pk-page-surface--quiet {
  border-color: var(--page-border);
  background: var(--page-surface-quiet);
  box-shadow: none;
}
body.pk-public-themed :is(.pk-page-section, .pk-page-chapter) .pk-card:is(:hover, :focus-within) {
  border-color: color-mix(in srgb, var(--page-accent) 45%, var(--page-border));
}
body.pk-public-themed :is(.pk-page-section, .pk-page-chapter) .pk-card--link::before,
body.pk-public-themed #sig-list .pk-card::before {
  position: absolute;
  inset: 0 auto 0 0;
  width: 3px;
  border-radius: inherit;
  background: linear-gradient(var(--page-accent), var(--page-accent-2));
  content: "";
}

body.pk-public-themed .pk-page-section--closing {
  background:
    linear-gradient(120deg, color-mix(in srgb, var(--page-accent) 18%, transparent), transparent 36%),
    var(--page-closing-bg);
}
body.pk-public-themed .pk-page-section--closing > .pk-container > .pk-card {
  border-color: color-mix(in srgb, var(--page-closing-accent) 32%, transparent);
  background: color-mix(in srgb, white 7%, transparent);
  color: var(--page-closing-ink);
  box-shadow: 0 24px 54px rgba(0, 0, 0, .18);
}
body.pk-public-themed .pk-page-section--closing > .pk-container > .pk-card :is(.pk-h2, .pk-h3, .pk-h4, .pk-card__title),
body.pk-public-themed .pk-page-section--closing > .pk-container > .pk-grid > div :is(.pk-h2, .pk-h3, .pk-h4) { color: var(--page-closing-ink); }
body.pk-public-themed .pk-page-section--closing > .pk-container > .pk-card :is(.pk-lead, .pk-card__body, .pk-faint, .pk-checklist),
body.pk-public-themed .pk-page-section--closing > .pk-container > .pk-grid > div :is(.pk-lead, .pk-card__body, .pk-faint, .pk-checklist) { color: var(--page-closing-muted); }
body.pk-public-themed .pk-page-section--closing > .pk-container > .pk-grid > aside.pk-card :is(.pk-h2, .pk-h3, .pk-h4, .pk-card__title) { color: var(--pk-ink); }
body.pk-public-themed .pk-page-section--closing > .pk-container > .pk-grid > aside.pk-card :is(.pk-lead, .pk-card__body, .pk-faint, .pk-checklist) { color: var(--pk-ink-soft); }
body.pk-public-themed .pk-page-section--closing .pk-btn--secondary { border-color: color-mix(in srgb, white 38%, transparent); background: transparent; color: white; }

/* Page character ----------------------------------------------------------- */
body.pk-page--vision #vision .pk-card { position: relative; overflow: hidden; }
body.pk-page--vision #vision .pk-card::after {
  position: absolute; right: 1.1rem; bottom: 1rem; color: var(--page-accent);
  content: "→"; font-size: 1.25rem; opacity: .5;
}
body.pk-page--board :is(#why-board, #scope) .pk-card { box-shadow: 0 1px 2px rgba(0, 0, 0, .04); }
body.pk-page--board :is(#why-board, #scope) .pk-card:hover { transform: none; }
body.pk-page--board .pk-empty { border: 1px solid var(--page-border); background: var(--page-surface-elevated); }

body.pk-page--sig #sig-list .pk-card {
  position: relative;
  overflow: hidden;
  border-block-start: 3px solid var(--page-accent);
}
body.pk-page--sig #sig-list .pk-card::after {
  position: absolute; top: 1.25rem; right: 1.25rem; width: .55rem; aspect-ratio: 1;
  border-radius: 50%; background: var(--page-accent-2);
  box-shadow: 0 0 0 6px color-mix(in srgb, var(--page-accent-2) 11%, transparent); content: "";
}
body.pk-page--sig #sig-list .pk-path__badge { color: var(--page-accent); }
body.pk-page--sig .pk-filter[aria-pressed="true"] { border-color: var(--page-accent); background: var(--page-accent); color: white; }

body.pk-page--ace #program > .pk-container > .pk-card { border-block-start: 3px solid var(--page-accent); }
body.pk-page--ace #plan .pk-step__num { border-color: var(--page-accent-2); background: color-mix(in srgb, var(--page-accent-2) 14%, var(--page-surface-elevated)); color: var(--page-accent-2); }
body.pk-page--ace #checklist aside .pk-card { border-inline-start: 3px solid var(--page-accent-2); }
body.pk-page--ace .pk-progress__bar { background: linear-gradient(90deg, var(--page-accent), var(--page-accent-2)); }

/* Directory-style sponsor and partner pages -------------------------------- */
body.pk-public-themed .pk-directory-page-shell {
  padding-block: clamp(1.5rem, 3vw, 2.5rem) clamp(4rem, 7vw, 6rem);
  background:
    linear-gradient(var(--page-grid) 1px, transparent 1px),
    linear-gradient(90deg, var(--page-grid) 1px, transparent 1px),
    var(--page-section-primary-bg);
  background-size: 4rem 4rem, 4rem 4rem, auto;
}
body.pk-public-themed .pk-directory-public-hero {
  position: relative;
  isolation: isolate;
  margin-top: clamp(1rem, 2.5vw, 1.75rem);
  padding: clamp(1.5rem, 4vw, 3rem);
  overflow: hidden;
  border: 1px solid var(--page-border);
  border-radius: clamp(1.25rem, 2vw, 1.8rem);
  background: var(--page-hero-bg);
  box-shadow: 0 24px 60px color-mix(in srgb, var(--page-accent) 10%, transparent);
}
body.pk-public-themed .pk-directory-public-hero::after {
  position: absolute; z-index: -1; inset: 0;
  background: linear-gradient(110deg, transparent 55%, color-mix(in srgb, var(--page-accent) 10%, transparent));
  content: "";
}
body.pk-page--partners .pk-directory-public-hero { max-width: none; }
body.pk-page--partners .pk-directory-public-hero .pk-lead { max-width: 65ch; }
body.pk-public-themed .pk-directory-tools {
  border-color: var(--page-border);
  box-shadow: 0 15px 36px color-mix(in srgb, var(--page-accent) 7%, transparent);
}
body.pk-public-themed .pk-page-chapter {
  position: relative;
  margin-top: clamp(2.5rem, 6vw, 5rem);
  padding: clamp(1.4rem, 3.5vw, 2.75rem);
  border: 1px solid var(--page-border);
  border-radius: clamp(1.1rem, 2vw, 1.65rem);
  background: var(--page-surface-base);
}
body.pk-public-themed .pk-page-chapter--recognition { background: var(--page-section-accent-bg); }
body.pk-public-themed .pk-page-chapter--definition { background: var(--page-section-secondary-bg); }
body.pk-public-themed .pk-page-chapter--premium { background: var(--page-section-accent-bg); }
body.pk-public-themed .pk-page-chapter--support { background: var(--page-section-quiet-bg); }
body.pk-public-themed .pk-page-chapter--governance { background: var(--page-section-secondary-bg); }
body.pk-public-themed .pk-page-chapter > :first-child,
body.pk-public-themed .pk-page-chapter .pk-sponsor-section-head { margin-top: 0 !important; }
body.pk-public-themed .pk-page-chapter--governance > .pk-card { margin-top: 0 !important; }
body.pk-public-themed .pk-page-chapter--governance > .pk-card + .pk-card { margin-top: var(--pk-space-6) !important; }

body.pk-page--sponsors .pk-sponsors-hero { background: var(--page-hero-bg); border-color: var(--page-border); }
body.pk-page--sponsors .pk-sponsors-hero__stat { border-color: var(--page-border); background: color-mix(in srgb, var(--page-surface-elevated) 88%, transparent); }
body.pk-page--sponsors .pk-sponsor-directory-grid .pk-sponsor-card,
body.pk-page--sponsors .pk-sponsor-package-grid .pk-tier-card { background: var(--page-surface-elevated); border-color: var(--page-border); }
body.pk-page--sponsors .pk-sponsor-card__logo,
body.pk-page--partners .pk-partner-card__logo { background: #fff; border-color: color-mix(in srgb, var(--page-accent) 16%, #d8dee5); }
body.pk-page--sponsors .pk-sponsor-package-grid .pk-tier-card { min-height: 0; text-align: left; align-items: stretch; }
body.pk-page--sponsors .pk-tier-card__emblem { margin-inline: auto; }
body.pk-page--sponsors .pk-tier-card > .pk-btn { margin-top: auto; }

.pk-page-benefit-highlights { display: grid; gap: .6rem; margin: var(--pk-space-4) 0 0; padding: 0; list-style: none; }
.pk-page-benefit-highlights li { display: grid; grid-template-columns: 1.1rem minmax(0, 1fr); gap: .45rem; color: var(--pk-ink-muted); font-size: var(--pk-text-sm); }
.pk-page-benefit-highlights li > span:first-child { color: var(--page-accent-2); font-weight: 800; }
.pk-page-benefit-disclosure { margin-top: var(--pk-space-3); border-block-start: 1px solid var(--page-border); }
.pk-page-benefit-disclosure > summary { min-height: 44px; }

body.pk-page--partners .pk-partner-card {
  border-color: var(--page-border);
  border-block-start: 3px solid var(--page-accent);
  background: var(--page-surface-elevated);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--page-accent) 8%, transparent);
}
body.pk-public-themed .pk-page-directory-cta,
body.pk-page--sponsors .pk-sponsor-cta {
  border-color: color-mix(in srgb, var(--page-closing-accent) 35%, transparent);
  background:
    radial-gradient(circle at 50% 0%, color-mix(in srgb, var(--page-accent) 22%, transparent), transparent 52%),
    var(--page-closing-bg);
  color: var(--page-closing-ink);
}
body.pk-public-themed .pk-page-directory-cta :is(.pk-h2, .pk-h3, .pk-lead),
body.pk-page--sponsors .pk-sponsor-cta :is(.pk-h2, .pk-h3, .pk-lead) { color: var(--page-closing-ink); }
body.pk-public-themed .pk-page-directory-cta .pk-btn--ghost,
body.pk-page--sponsors .pk-sponsor-cta .pk-btn--ghost { color: var(--page-closing-ink); }

@media (min-width: 1024px) {
  body.pk-public-themed .pk-public-hero .pk-hero__inner {
    grid-template-columns: minmax(0, 1.35fr) minmax(18rem, .65fr);
    align-items: center;
  }
}

@media (max-width: 767px) {
  body.pk-public-themed .pk-public-hero { padding-block: 2rem 2.4rem; }
  body.pk-public-themed .pk-public-hero .pk-hero__inner { gap: 1rem; }
  body.pk-public-themed .pk-public-hero .pk-display { font-size: clamp(2.5rem, 12vw, 3.7rem); }
  body.pk-public-themed .pk-public-hero .pk-hero__lead { margin-top: .8rem; }
  body.pk-public-themed .pk-public-hero .pk-hero__cta { gap: .45rem; margin-top: 1rem; }
  body.pk-public-themed .pk-public-hero .pk-hero__note { margin-top: .8rem; }
  body.pk-public-themed .pk-public-hero .pk-hero__panel { padding: 1rem; }
  body.pk-public-themed .pk-public-hero .pk-hero__copy > .pk-cluster:not(.pk-hero__cta) { gap: .4rem; margin-top: 1rem !important; }
  body.pk-public-themed .pk-public-hero .pk-hero__cta .pk-btn { width: 100%; }
  body.pk-public-themed .pk-page-section { padding-block: 3.25rem; }
  body.pk-public-themed .pk-page-chapter { padding: 1.15rem; }
  body.pk-public-themed .pk-directory-public-hero { padding: 1.25rem; }
  body.pk-page--sponsors .pk-sponsor-package-grid .pk-tier-card { padding: 1.25rem; }
}

@media (prefers-reduced-motion: reduce) {
  body.pk-public-themed :is(.pk-card, .pk-partner-card, .pk-sponsor-card, .pk-btn),
  body.pk-public-themed .pk-page-benefit-disclosure summary::after { transition: none !important; }
  body.pk-public-themed :is(.pk-card, .pk-partner-card, .pk-sponsor-card, .pk-btn):is(:hover, :focus-visible, :focus-within) { transform: none !important; }
}

@media print {
  body.pk-public-themed,
  body.pk-public-themed :is(.pk-public-hero, .pk-page-section, .pk-directory-page-shell, .pk-page-chapter) { background: white !important; }
}
