/* ==========================================================================
   NETAPHOR "PRINT EDITION" THEME — light editorial magazine look.
   Activated via html[data-theme="print"]. The company manages print fleets;
   this theme renders the site like fine print journalism: paper cream,
   ink black, editorial red, serif typography, ruled hairlines, drop caps,
   and newsprint photos that develop into color on hover.
   ========================================================================== */

html[data-theme="print"] {
  --pe-paper: #f7f3ea;
  --pe-paper-alt: #efe9dc;
  --pe-card: #fffdf8;
  --pe-ink: #1a1712;
  --pe-ink-2: #4a443a;
  --pe-ink-3: #6b6355;
  --pe-rule: rgba(26, 23, 18, .22);
  --pe-rule-soft: rgba(26, 23, 18, .12);
  --pe-red: #b5372c;
  --pe-blue: #1d6eb3;
  --pe-gold: #9a6d1b;
  --pe-serif-display: "Playfair Display", "Didot", "Bodoni MT", "Iowan Old Style", Cambria, Georgia, serif;
  --pe-serif-text: "Charter", "Bitstream Charter", "Sitka Text", "Palatino Linotype", Cambria, Georgia, serif;

  --font-heading: var(--pe-serif-display);
  --font-body: var(--pe-serif-text);

  /* Shared theme tokens */
  --theme-950: var(--pe-paper);
  --theme-900: var(--pe-paper);
  --theme-850: var(--pe-paper-alt);
  --theme-800: var(--pe-paper-alt);
  --theme-700: #e6ddca;
  --theme-text: var(--pe-ink);
  --theme-secondary: var(--pe-ink-2);
  --theme-muted: var(--pe-ink-3);
  --brand-blue: var(--pe-blue);
  --brand-cyan: var(--pe-red);

  /* Light-surface tokens (site-polish funnels most colors through these) */
  --light-0: var(--pe-card);
  --light-50: var(--pe-paper);
  --light-100: var(--pe-paper-alt);
  --light-200: #e4dbc6;
  --light-300: #d5c9ad;
  --light-text: var(--pe-ink);
  --light-secondary: var(--pe-ink-2);
  --light-muted: var(--pe-ink-3);
  --light-border: var(--pe-rule);
  --light-border-strong: var(--pe-ink);
  --light-shadow: none;
  --color-surface-light: var(--pe-paper);
  --color-surface-light-alt: var(--pe-paper-alt);
  --color-text-on-light: var(--pe-ink);
  --color-text-on-light-secondary: var(--pe-ink-2);
}
html[data-theme="print"] body {
  --color-primary-950: var(--pe-paper);
  --color-primary-900: var(--pe-paper);
  --color-primary-800: var(--pe-paper-alt);
  --color-primary-700: #e6ddca;
  --color-primary-600: #ddd2b9;
  --color-primary-500: var(--pe-blue);
  --color-accent-400: var(--pe-red);
  --color-accent-500: var(--pe-red);
  --color-accent-600: #93291f;
  --color-accent-700: #7c1f16;
  --color-signal-400: #2e6b3a;
  --color-signal-500: #2e6b3a;
  --color-gold-400: var(--pe-gold);
  --color-gold-500: var(--pe-gold);
  --color-surface-dark: var(--pe-paper);
  --color-surface-darker: var(--pe-paper);
  --color-surface-card: var(--pe-card);
  --color-surface-card-hover: #fffef9;
  --color-border-subtle: var(--pe-rule-soft);
  --color-border-medium: var(--pe-rule);
  --color-text-primary: var(--pe-ink);
  --color-text-secondary: var(--pe-ink-2);
  --color-text-muted: var(--pe-ink-3);
}

html[data-theme="print"],
html[data-theme="print"] body {
  background: var(--pe-paper);
  color: var(--pe-ink);
}
html[data-theme="print"] ::selection { background: rgba(181, 55, 44, .25); color: var(--pe-ink); }
html[data-theme="print"] :where(a, button, input, select, textarea, [tabindex]):focus-visible {
  outline: 3px solid var(--pe-red) !important;
  box-shadow: 0 0 0 2px var(--pe-paper) !important;
}

/* Typography: editorial voice */
html[data-theme="print"] :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--pe-serif-display);
  letter-spacing: -0.01em;
  color: var(--pe-ink);
}
html[data-theme="print"] :is(.hero h1, .story-hero h1) {
  font-weight: 900;
  letter-spacing: -0.02em;
}
html[data-theme="print"] body { font-family: var(--pe-serif-text); }

/* --------------------------------------------------------------------------
   Masthead header: centered logo over a ruled nav row, like a newspaper
   -------------------------------------------------------------------------- */
html[data-theme="print"] .site-header {
  background: var(--pe-paper) !important;
  border-bottom: 3px double var(--pe-ink) !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  box-shadow: none !important;
}
html[data-theme="print"] .site-header::before {
  height: 4px;
  background: var(--pe-ink);
  opacity: 1;
}
html[data-theme="print"] .header-inner {
  flex-direction: column;
  gap: .35rem;
  padding: .65rem 0 .45rem;
  min-height: 0;
}
html[data-theme="print"] .header-inner .logo { margin-inline: auto; }
html[data-theme="print"] .nav-desktop {
  width: 100%;
  justify-content: center;
  border-top: 1px solid var(--pe-rule);
  padding-top: .25rem;
}
html[data-theme="print"] .nav-link {
  color: var(--pe-ink);
  font-family: var(--pe-serif-text);
  font-weight: 700;
  font-size: .78rem;
  text-transform: uppercase;
  letter-spacing: .16em;
}
html[data-theme="print"] .nav-link:hover { color: var(--pe-red); background: transparent; }
html[data-theme="print"] .nav-link[aria-current="page"],
html[data-theme="print"] .nav-mobile__link[aria-current="page"] {
  color: var(--pe-red) !important;
  background: transparent !important;
}
html[data-theme="print"] .nav-link[aria-current="page"]::after { background: var(--pe-red) !important; }
html[data-theme="print"] .header-actions {
  position: absolute;
  top: .85rem;
  right: clamp(1rem, 3vw, 2rem);
}
html[data-theme="print"] .site-header .container { position: relative; }
html[data-theme="print"] .mobile-toggle__bar { background: var(--pe-ink) !important; }
html[data-theme="print"] .nav-mobile { background: var(--pe-paper) !important; border-color: var(--pe-rule) !important; }
html[data-theme="print"] .nav-mobile__link { color: var(--pe-ink) !important; font-family: var(--pe-serif-text); }
html[data-theme="print"] body.article-site-page .site-header,
html[data-theme="print"] body.requirements-page .site-header {
  background: var(--pe-paper) !important;
  border-bottom: 3px double var(--pe-ink) !important;
}
/* Taller masthead needs more breathing room below */
html[data-theme="print"] .page-context { padding-top: 148px; }
html[data-theme="print"] .page-context__inner,
html[data-theme="print"] .page-context a,
html[data-theme="print"] .page-context button,
html[data-theme="print"] .page-context__current,
html[data-theme="print"] .page-context__separator { color: var(--pe-ink-3); }
html[data-theme="print"] .page-context a:hover { color: var(--pe-red); background: transparent; }
html[data-theme="print"] :is(.hero, .story-hero, .comic-hero) { padding-top: clamp(11rem, 14vw, 13rem); }
html[data-theme="print"] .article-page { padding-top: 11rem !important; }
html[data-theme="print"] .platform-req-page { padding-top: 176px; }
@media (max-width: 960px) {
  html[data-theme="print"] .header-inner { flex-direction: row; padding: 0; }
  html[data-theme="print"] .header-inner .logo { margin-inline: 0; }
  html[data-theme="print"] .header-actions { position: static; }
  html[data-theme="print"] .page-context { padding-top: 96px; }
  html[data-theme="print"] :is(.hero, .story-hero, .comic-hero) { padding-top: 8.5rem; }
}

/* --------------------------------------------------------------------------
   Heroes & sections: paper spreads with ruled frames
   -------------------------------------------------------------------------- */
html[data-theme="print"] :is(.hero, .story-hero, .comic-hero, .cta-section, .platform-req-hero) {
  background: var(--pe-paper) !important;
}
html[data-theme="print"] :is(.hero__bg, .hero__bg-gradient, .cta-section__bg) { display: none; }
html[data-theme="print"] .story-kicker,
html[data-theme="print"] .section-label {
  color: var(--pe-red) !important;
  font-family: var(--pe-serif-text);
  font-weight: 700;
  letter-spacing: .22em;
}
html[data-theme="print"] .story-kicker::before,
html[data-theme="print"] .section-label::before { background: var(--pe-red) !important; }
html[data-theme="print"] :is(.hero__desc, .story-hero__lead) {
  color: var(--pe-ink-2);
  font-size: 1.15rem;
  line-height: 1.75;
}
/* Editorial drop cap on the lead paragraph */
html[data-theme="print"] :is(.hero__desc, .story-hero__lead)::first-letter {
  float: left;
  font-family: var(--pe-serif-display);
  font-size: 3.3em;
  line-height: .82;
  padding: .04em .12em 0 0;
  color: var(--pe-red);
  font-weight: 900;
}
html[data-theme="print"] .story-proof span {
  border: 1px solid var(--pe-rule) !important;
  border-radius: 0 !important;
  background: var(--pe-card) !important;
  color: var(--pe-ink-2) !important;
  font-family: var(--pe-serif-text);
}
/* Two-column standfirst under section headings, with a column rule */
@media (min-width: 900px) {
  html[data-theme="print"] .story-heading p,
  html[data-theme="print"] .section-header .section-desc {
    columns: 2;
    column-gap: 2.6rem;
    column-rule: 1px solid var(--pe-rule);
    text-align: justify;
    hyphens: auto;
  }
}
html[data-theme="print"] :is(.section--light, .story-section--light, .bg-light, .milestone-section) {
  background: var(--pe-paper-alt) !important;
  border-block: 1px solid var(--pe-ink) !important;
  color: var(--pe-ink) !important;
}
html[data-theme="print"] .bg-light-alt { background: var(--pe-paper-alt) !important; color: var(--pe-ink) !important; }
html[data-theme="print"] :is(.section--light, .story-section--light, .bg-light, .bg-light-alt) :is(h1, h2, h3, h4, h5, h6, dt, th) { color: var(--pe-ink) !important; }
html[data-theme="print"] :is(.section--light, .story-section--light, .bg-light, .bg-light-alt) :is(p, li, dd, td, label, .section-desc, .card__desc, .feature-list__text) { color: var(--pe-ink-2) !important; }
html[data-theme="print"] :is(.section--light, .story-section--light, .bg-light, .bg-light-alt) .section-label,
html[data-theme="print"] :is(.section--light, .story-section--light, .bg-light, .bg-light-alt) .story-kicker { color: var(--pe-red) !important; }
html[data-theme="print"] :is(.section--light, .story-section--light, .bg-light, .bg-light-alt) .section-label::before { background: var(--pe-red) !important; }

/* Links: classic editorial underlines */
html[data-theme="print"] a:not(.btn):not(.nav-link):not(.nav-mobile__link):not(.logo):not(.lang-tag):not(.footer-col__link):not(.footer-bottom__link) {
  color: var(--pe-blue);
  text-decoration-color: rgba(29, 110, 179, .4);
}
html[data-theme="print"] :is(.section--light, .story-section--light, .bg-light, .bg-light-alt) a:not(.btn):not(.lang-link):not(.lang-tag) { color: var(--pe-blue) !important; }
html[data-theme="print"] :is(.section--light, .story-section--light, .bg-light, .bg-light-alt) a:not(.btn):not(.lang-link):not(.lang-tag):hover { color: var(--pe-red) !important; }

/* --------------------------------------------------------------------------
   Buttons: letterpress rectangles
   -------------------------------------------------------------------------- */
html[data-theme="print"] .btn {
  border-radius: 0 !important;
  font-family: var(--pe-serif-text) !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: .14em;
  font-size: .78rem !important;
}
html[data-theme="print"] .btn--primary {
  background: var(--pe-ink) !important;
  border: 2px solid var(--pe-ink) !important;
  color: var(--pe-paper) !important;
  box-shadow: none !important;
}
html[data-theme="print"] .btn--primary:hover {
  background: var(--pe-red) !important;
  border-color: var(--pe-red) !important;
  color: #fffdf8 !important;
  transform: none;
}
html[data-theme="print"] .btn--secondary {
  background: transparent !important;
  border: 2px solid var(--pe-ink) !important;
  color: var(--pe-ink) !important;
}
html[data-theme="print"] .btn--secondary:hover {
  background: var(--pe-ink) !important;
  color: var(--pe-paper) !important;
}
html[data-theme="print"] .lang-tag {
  border-radius: 0 !important;
  background: var(--pe-card) !important;
  border: 1px solid var(--pe-ink) !important;
  color: var(--pe-ink) !important;
  font-family: var(--pe-serif-text) !important;
  font-weight: 700;
}
html[data-theme="print"] .lang-tag:hover {
  background: var(--pe-ink) !important;
  color: var(--pe-paper) !important;
}

/* --------------------------------------------------------------------------
   Cards: flat paper plates with ink rules — no glow, no glass
   -------------------------------------------------------------------------- */
html[data-theme="print"] :is(
  .card, .solution-card, .leader-card, .award-card, .download-card, .resource-card,
  .whitepaper-card, .event-card, .dl-card, .yt-card, .contact-info, .contact-form,
  .partner-logo, .value-step, .cap-card,
  .requirement-section, .platform-req-sidebar__card, .sidebar-block, .kb-article-card,
  .milestone-card, .addon-card
) {
  background: var(--pe-card) !important;
  border: 1px solid var(--pe-rule) !important;
  border-top: 3px solid var(--pe-ink) !important;
  border-radius: 0 !important;
  color: var(--pe-ink) !important;
  box-shadow: none !important;
}
html[data-theme="print"] :is(
  .card, .solution-card, .leader-card, .award-card, .download-card, .resource-card,
  .whitepaper-card, .event-card, .dl-card, .yt-card, .partner-logo, .value-step, .cap-card
):hover {
  background: #ffffff !important;
  border-color: var(--pe-ink) !important;
  box-shadow: 6px 6px 0 var(--pe-rule) !important;
}
html[data-theme="print"] :is(.card__title, .leader-card__name, .award-card__title, .dl-card__name, .yt-card__title) { color: var(--pe-ink) !important; }
html[data-theme="print"] :is(.leader-card__role, .leader-card__bio, .award-card__year, .dl-card__meta, .yt-card__meta) { color: var(--pe-ink-2) !important; }
html[data-theme="print"] :is(.theme-card--blue, .milestone-card--blue) { border-top-color: var(--pe-blue) !important; }
html[data-theme="print"] :is(.theme-card--cyan, .milestone-card--cyan) { border-top-color: var(--pe-red) !important; }
html[data-theme="print"] :is(.theme-card--green, .milestone-card--green) { border-top-color: #4a5e23 !important; }
html[data-theme="print"] :is(.theme-card--gold, .milestone-card--gold) { border-top-color: var(--pe-gold) !important; }
html[data-theme="print"] .milestone-card__year { color: var(--pe-red) !important; font-family: var(--pe-serif-display); }
html[data-theme="print"] .milestone-card h3 { color: var(--pe-ink) !important; }
html[data-theme="print"] .milestone-card p { color: var(--pe-ink-2) !important; }

/* Product visuals become framed plates: thick ink frame, offset letterpress
   shadow, and newsprint photos that develop into color on hover */
html[data-theme="print"] :is(.story-visual, .feature-split__visual, .feature-row__visual) {
  background: var(--pe-card) !important;
  border: 2px solid var(--pe-ink) !important;
  border-radius: 0 !important;
  box-shadow: 12px 12px 0 var(--pe-ink) !important;
}
html[data-theme="print"] :is(.story-visual, .feature-split__visual, .feature-row__visual, .content-video__poster, .comic-panel) img {
  filter: grayscale(1) sepia(.12) contrast(1.05);
  transition: filter .45s ease;
  border-radius: 0;
}
html[data-theme="print"] :is(.story-visual:hover, .feature-split__visual:hover, .feature-row__visual:hover, .content-video__poster:hover, .comic-panel:hover) img {
  filter: none;
}
html[data-theme="print"] .partner-node,
html[data-theme="print"] .story-visual__badge {
  background: var(--pe-paper) !important;
  color: var(--pe-ink) !important;
  border: 1px solid var(--pe-ink) !important;
  border-radius: 0 !important;
  box-shadow: 5px 5px 0 var(--pe-ink) !important;
  font-family: var(--pe-serif-display);
}
html[data-theme="print"] .partner-hub {
  background: var(--pe-ink) !important;
  color: var(--pe-paper) !important;
  border-radius: 0 !important;
}

/* --------------------------------------------------------------------------
   Forms
   -------------------------------------------------------------------------- */
html[data-theme="print"] input,
html[data-theme="print"] select,
html[data-theme="print"] textarea {
  color: var(--pe-ink) !important;
  background: #ffffff !important;
  border: 1px solid var(--pe-ink) !important;
  border-radius: 0 !important;
  font-family: var(--pe-serif-text);
  accent-color: var(--pe-red);
}
html[data-theme="print"] input::placeholder,
html[data-theme="print"] textarea::placeholder { color: var(--pe-ink-3) !important; }
html[data-theme="print"] input:focus,
html[data-theme="print"] select:focus,
html[data-theme="print"] textarea:focus {
  border-color: var(--pe-red) !important;
  box-shadow: 3px 3px 0 rgba(181, 55, 44, .25) !important;
}
html[data-theme="print"] select option { color: var(--pe-ink) !important; background: #ffffff !important; }

/* --------------------------------------------------------------------------
   Articles: the reading experience IS the magazine
   -------------------------------------------------------------------------- */
html[data-theme="print"] .article-page,
html[data-theme="print"] .platform-req-page {
  background: var(--pe-paper) !important;
  color: var(--pe-ink) !important;
}
html[data-theme="print"] .article-content {
  background: var(--pe-card) !important;
  border: 1px solid var(--pe-ink) !important;
  border-radius: 0 !important;
  box-shadow: 10px 10px 0 var(--pe-rule) !important;
}
html[data-theme="print"] .article-page :is(.article-title, .article__body h2, .article-body h2, .article__body h3, .article-body h3, .article-sidebar__title, .sidebar-block__title) {
  color: var(--pe-ink) !important;
  font-family: var(--pe-serif-display);
}
html[data-theme="print"] .article-page :is(.article-subtitle, .article__body p, .article-body p, .article__body li, .article-body li, .article__date, .article-breadcrumb, .article-breadcrumb__current) {
  color: var(--pe-ink-2) !important;
}
html[data-theme="print"] :is(.article__body, .article-body) > p:first-of-type::first-letter {
  float: left;
  font-family: var(--pe-serif-display);
  font-size: 3.4em;
  line-height: .82;
  padding: .04em .12em 0 0;
  color: var(--pe-red);
  font-weight: 900;
}
html[data-theme="print"] .article-page :is(.article-sidebar__section, .sidebar-block, .article-back, .article-next) {
  background: var(--pe-paper-alt) !important;
  border: 1px solid var(--pe-rule) !important;
  border-radius: 0 !important;
  color: var(--pe-ink) !important;
  box-shadow: none !important;
}
html[data-theme="print"] .article-page :is(.article-toc a, .sidebar-toc a, .sidebar-related a, .article-back, .article-next) { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .article-page :is(.article-toc a, .sidebar-toc a, .sidebar-related a, .article-back, .article-next):hover { color: var(--pe-red) !important; }
html[data-theme="print"] .article-page :is(.article__note, .callout--info) {
  background: var(--pe-paper-alt) !important;
  color: var(--pe-ink-2) !important;
  border: 1px solid var(--pe-ink) !important;
  border-left-width: 4px !important;
  border-radius: 0 !important;
}
html[data-theme="print"] .article-page :is(.article__body pre, .article-body pre) {
  background: var(--pe-ink) !important;
  border: 0 !important;
  border-radius: 0 !important;
}
html[data-theme="print"] .article-page :is(.article__body pre code, .article-body pre code) { color: #f0ead9 !important; }
html[data-theme="print"] .article-page :is(.article__body code, .article-body code) {
  background: var(--pe-paper-alt) !important;
  color: var(--pe-red) !important;
  border: 1px solid var(--pe-rule) !important;
  border-radius: 0 !important;
}
html[data-theme="print"] :is(.article-page, .platform-req-page) :is(table, .article-table, .requirement-table-wrap) {
  background: var(--pe-card) !important;
  border: 1px solid var(--pe-ink) !important;
  border-radius: 0 !important;
}
html[data-theme="print"] :is(.article-page, .platform-req-page) :is(th, td) { border-color: var(--pe-rule) !important; }
html[data-theme="print"] :is(.article-page th, .requirement-table th) {
  background: var(--pe-paper-alt) !important;
  color: var(--pe-ink) !important;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: .78rem;
}
html[data-theme="print"] :is(.article-page td, .requirement-table td) { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .requirement-table td:first-child,
html[data-theme="print"] .addon-card h3 { color: var(--pe-ink) !important; }
html[data-theme="print"] .platform-req-hero {
  --color-text-primary: var(--pe-ink);
  --color-text-secondary: var(--pe-ink-2);
  --color-text-muted: var(--pe-ink-3);
  color: var(--pe-ink);
}
html[data-theme="print"] .platform-req-summary__item {
  background: var(--pe-card) !important;
  border: 1px solid var(--pe-rule) !important;
  border-radius: 0 !important;
}
html[data-theme="print"] .platform-req-summary__label { color: var(--pe-ink-3) !important; }
html[data-theme="print"] .platform-req-summary__value { color: var(--pe-ink) !important; }
html[data-theme="print"] .platform-req-note {
  background: #f5ecd4 !important;
  color: var(--pe-ink-2) !important;
  border: 1px solid var(--pe-gold) !important;
  border-radius: 0 !important;
}
html[data-theme="print"] :is(.platform-req-toc a, .platform-req-related a, .platform-req-page .platform-req-breadcrumb, .platform-req-page .platform-req-breadcrumb a) {
  color: var(--pe-ink-2) !important;
}

/* --------------------------------------------------------------------------
   Planner, admin, archive, error pages
   -------------------------------------------------------------------------- */
html[data-theme="print"] body.planner-page {
  --ink: var(--pe-ink);
  --muted: var(--pe-ink-2);
  --bg: var(--pe-paper);
  --bg2: var(--pe-paper-alt);
  --surface: var(--pe-card);
  --chip: var(--pe-paper-alt);
  --border: var(--pe-ink);
  --shadow: none;
  background: var(--pe-paper) !important;
  color: var(--pe-ink) !important;
}
html[data-theme="print"] .planner-page > nav { background: var(--pe-paper) !important; border-bottom: 3px double var(--pe-ink); }
html[data-theme="print"] .planner-page > nav a:first-child { color: var(--pe-ink) !important; }
html[data-theme="print"] .planner-page .hero,
html[data-theme="print"] .planner-page .hero :is(h1, p, .pill) { color: var(--pe-ink) !important; }
html[data-theme="print"] .planner-page :is(.sidebar, main > .card, .results .section) {
  background: var(--pe-card) !important;
  border: 1px solid var(--pe-rule) !important;
  border-radius: 0 !important;
  color: var(--pe-ink) !important;
  box-shadow: none !important;
}
html[data-theme="print"] .planner-page :is(.title, .side-title, .section h3, .section h4, label, td) { color: var(--pe-ink) !important; }
html[data-theme="print"] .planner-page :is(.desc, .hint, .muted) { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .planner-page .step { color: var(--pe-ink-2) !important; border-color: var(--pe-rule) !important; }
html[data-theme="print"] .planner-page .step.active { color: var(--pe-ink) !important; background: #f5ecd4 !important; }
html[data-theme="print"] .planner-page .opt { background: var(--pe-card) !important; color: var(--pe-ink) !important; border-color: var(--pe-rule) !important; border-radius: 0 !important; }
html[data-theme="print"] .planner-page .opt.active { background: #f5ecd4 !important; border-color: var(--pe-red) !important; }
html[data-theme="print"] .planner-page :is(input[type="text"], input[type="email"], input[type="tel"]) { background: #ffffff !important; color: var(--pe-ink) !important; }
html[data-theme="print"] .planner-page .btn-subtle { background: var(--pe-paper-alt) !important; color: var(--pe-ink) !important; border-color: var(--pe-ink) !important; }
html[data-theme="print"] .planner-page .btn-ghost { color: var(--pe-ink) !important; border-color: var(--pe-ink) !important; }
html[data-theme="print"] .planner-page tr:nth-child(even) td { background: var(--pe-paper) !important; }
html[data-theme="print"] .planner-page .infobox { background: var(--pe-paper-alt) !important; color: var(--pe-ink-2) !important; }
html[data-theme="print"] .planner-page .warn { background: #f5ecd4 !important; }
html[data-theme="print"] .planner-page footer,
html[data-theme="print"] .planner-page footer a { color: var(--pe-ink-2) !important; }

html[data-theme="print"] body.archive-page {
  background: var(--pe-paper) !important;
  color: var(--pe-ink) !important;
}
html[data-theme="print"] .archive-page .archive-card {
  background: var(--pe-card) !important;
  border: 1px solid var(--pe-ink) !important;
  border-radius: 0 !important;
  color: var(--pe-ink) !important;
  box-shadow: 10px 10px 0 var(--pe-rule) !important;
}
html[data-theme="print"] .archive-page .archive-card h1 { color: var(--pe-ink) !important; }
html[data-theme="print"] .archive-page .archive-card p { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .archive-page .secondary { color: var(--pe-ink) !important; border-color: var(--pe-ink) !important; }
html[data-theme="print"] .archive-page .primary { background: var(--pe-ink) !important; }

html[data-theme="print"] body.admin-page {
  --bg: var(--pe-paper);
  --bg2: var(--pe-card);
  --card: var(--pe-card);
  --line: var(--pe-rule);
  --ink: var(--pe-ink);
  --muted: var(--pe-ink-2);
  background: var(--pe-paper) !important;
  color: var(--pe-ink) !important;
}
html[data-theme="print"] .admin-page header.top { background: var(--pe-ink) !important; color: var(--pe-paper) !important; }
html[data-theme="print"] .admin-page header.top .who { color: #cfc7b4 !important; }
html[data-theme="print"] .admin-page .card { background: var(--pe-card) !important; border-color: var(--pe-rule) !important; border-radius: 0 !important; box-shadow: none !important; }
html[data-theme="print"] .admin-page :is(input, select, textarea) { background: #ffffff !important; color: var(--pe-ink) !important; }
html[data-theme="print"] .admin-page dialog { background: var(--pe-card) !important; color: var(--pe-ink) !important; }
html[data-theme="print"] .admin-page button.ghost { color: var(--pe-ink) !important; border-color: var(--pe-ink) !important; }
html[data-theme="print"] .admin-page .tabs button { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .admin-page .tabs button.active { color: var(--pe-red) !important; }

html[data-theme="print"] .error-page main {
  background: var(--pe-paper) !important;
  color: var(--pe-ink);
}
html[data-theme="print"] .error-page main > .container {
  background: var(--pe-card) !important;
  border: 1px solid var(--pe-ink) !important;
  border-radius: 0 !important;
  box-shadow: 10px 10px 0 var(--pe-rule) !important;
}
html[data-theme="print"] .error-page main h1 { color: var(--pe-ink) !important; }
html[data-theme="print"] .error-page main p { color: var(--pe-ink-2) !important; }

/* --------------------------------------------------------------------------
   Content hub
   -------------------------------------------------------------------------- */
html[data-theme="print"] .support-updates {
  background: var(--pe-ink) !important;
  border-radius: 0 !important;
  box-shadow: 12px 12px 0 var(--pe-rule) !important;
  color: var(--pe-paper);
}
html[data-theme="print"] .support-updates__head h2 { color: var(--pe-paper) !important; }
html[data-theme="print"] .support-updates__head p { color: #d8d0bd !important; }
html[data-theme="print"] :is(.update-card, .updates-page-grid .update-card) {
  background: var(--pe-card) !important;
  color: var(--pe-ink) !important;
  border-radius: 0 !important;
  border: 1px solid var(--pe-rule) !important;
  box-shadow: none !important;
}
html[data-theme="print"] .update-card h3 { color: var(--pe-ink) !important; }
html[data-theme="print"] :is(.update-card p, .update-card__meta) { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .update-card__link { color: var(--pe-red) !important; }
html[data-theme="print"] .content-video { background: var(--pe-card) !important; border: 1px solid var(--pe-rule) !important; border-radius: 0 !important; }
html[data-theme="print"] .attachment-card { background: var(--pe-card) !important; border: 1px solid var(--pe-rule) !important; border-radius: 0 !important; }
html[data-theme="print"] .attachment-card__title { color: var(--pe-ink) !important; }
html[data-theme="print"] .attachment-card__meta { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .attachment-card[aria-disabled="true"] { background: var(--pe-paper-alt) !important; color: var(--pe-ink-3) !important; }
html[data-theme="print"] .updates-filter button { background: var(--pe-card) !important; border: 1px solid var(--pe-ink) !important; border-radius: 0 !important; color: var(--pe-ink) !important; }
html[data-theme="print"] .updates-filter button[aria-pressed="true"] { background: var(--pe-ink) !important; color: var(--pe-paper) !important; }

/* --------------------------------------------------------------------------
   Footer: the colophon
   -------------------------------------------------------------------------- */
html[data-theme="print"] .site-footer {
  background: var(--pe-paper) !important;
  border-top: 3px double var(--pe-ink) !important;
  color: var(--pe-ink);
}
html[data-theme="print"] .footer-col__title {
  color: var(--pe-red) !important;
  font-family: var(--pe-serif-text);
  text-transform: uppercase;
  letter-spacing: .18em;
  font-size: .74rem;
}
html[data-theme="print"] :is(.footer-col__link, .footer-bottom__link, .footer-brand__desc, .footer-brand__address, .footer-bottom__copy) {
  color: var(--pe-ink-2) !important;
}
html[data-theme="print"] :is(.footer-col__link, .footer-bottom__link):hover { color: var(--pe-red) !important; }
html[data-theme="print"] .footer-bottom { border-top: 1px solid var(--pe-rule) !important; }

/* --------------------------------------------------------------------------
   Misc: sign-in bar, scroll-top, dividers, comics, downloads req box
   -------------------------------------------------------------------------- */
html[data-theme="print"] .kb-signin-bar {
  background: var(--pe-card) !important;
  border: 1px solid var(--pe-ink) !important;
  border-radius: 0 !important;
}
html[data-theme="print"] .kb-signin-bar.is-authenticated,
html[data-theme="print"] [data-authenticated="true"] .kb-signin-bar {
  border-color: #4a5e23 !important;
  background: #f2f0e2 !important;
}
html[data-theme="print"] .kb-signin-bar.is-authenticated .kb-signin-bar__text strong,
html[data-theme="print"] [data-authenticated="true"] .kb-signin-bar__text strong { color: #3c4d1c !important; }
html[data-theme="print"] .site-scroll-top {
  border-radius: 0;
  border: 2px solid var(--pe-ink);
  background: var(--pe-paper);
  color: var(--pe-ink);
  box-shadow: 4px 4px 0 var(--pe-ink);
}
html[data-theme="print"] .site-scroll-top:hover { background: var(--pe-ink); color: var(--pe-paper); border-color: var(--pe-ink); }
html[data-theme="print"] .divider { border-color: var(--pe-ink) !important; background: var(--pe-ink); opacity: .8; }
html[data-theme="print"] .dl-req-box {
  background: var(--pe-card) !important;
  border: 1px solid var(--pe-ink) !important;
  border-radius: 0 !important;
  color: var(--pe-ink-2) !important;
}
html[data-theme="print"] .dl-req-box h3 { color: var(--pe-ink) !important; }
html[data-theme="print"] .dl-note {
  background: #f5ecd4 !important;
  border: 1px solid var(--pe-gold) !important;
  border-radius: 0 !important;
  color: var(--pe-ink-2) !important;
}
html[data-theme="print"] .comic-hero { border-bottom: 3px double var(--pe-ink); }
html[data-theme="print"] .comic-hero p { color: var(--pe-ink-2); }
html[data-theme="print"] .comic-kicker { color: var(--pe-red); border-color: var(--pe-red); background: transparent; border-radius: 0; }
html[data-theme="print"] .comic-burst { background: var(--pe-red); color: var(--pe-paper); }
html[data-theme="print"] .comic-status { background: var(--pe-card); border-color: var(--pe-rule); }
html[data-theme="print"] .comic-panel { background: var(--pe-card); border-color: var(--pe-ink); box-shadow: 8px 8px 0 var(--pe-ink); }
html[data-theme="print"] .comic-panel:nth-child(even) { box-shadow: 8px 8px 0 var(--pe-red); }
html[data-theme="print"] .comic-panel:nth-child(3n) { box-shadow: 8px 8px 0 var(--pe-gold); }
html[data-theme="print"] .comic-panel figcaption { color: var(--pe-ink); }
html[data-theme="print"] .comic-panel__meta { color: var(--pe-ink-3); }

/* --------------------------------------------------------------------------
   Theme picker appearance in Print Edition
   -------------------------------------------------------------------------- */
html[data-theme="print"] .theme-toggle {
  border: 2px solid var(--pe-ink);
  border-radius: 0;
  background: var(--pe-paper);
  color: var(--pe-ink);
  font-family: var(--pe-serif-text);
  text-transform: uppercase;
  letter-spacing: .1em;
  box-shadow: none;
}
html[data-theme="print"] .theme-toggle:hover { background: var(--pe-ink); color: var(--pe-paper); }
html[data-theme="print"] .theme-toggle__dot {
  background: var(--pe-red);
  box-shadow: none;
  border-radius: 0;
}
html[data-theme="print"] .theme-menu {
  border-radius: 0;
  border: 2px solid var(--pe-ink);
  background: var(--pe-card);
  box-shadow: 8px 8px 0 var(--pe-rule);
}
html[data-theme="print"] .theme-menu__item { color: var(--pe-ink); border-radius: 0; font-family: var(--pe-serif-text); }
html[data-theme="print"] .theme-menu__item:hover { background: var(--pe-paper-alt); color: var(--pe-ink); }
html[data-theme="print"] .theme-menu__check { color: var(--pe-red); }

/* --------------------------------------------------------------------------
   WCAG 2.1 AA hardening — every component with hardcoded colors that the
   token remap could not reach. Audited across all pages.
   -------------------------------------------------------------------------- */

/* Sections and heroes never inherit stray light text */
html[data-theme="print"] :is(.hero, .story-hero, .comic-hero, .cta-section, .section) { color: var(--pe-ink); }
html[data-theme="print"] .cta-section__title { color: var(--pe-ink) !important; }
html[data-theme="print"] .cta-section__desc { color: var(--pe-ink-2) !important; }

/* Legal pages (privacy / terms) */
html[data-theme="print"] .legal-hero { background: var(--pe-paper) !important; }
html[data-theme="print"] .legal-hero h1 { color: var(--pe-ink) !important; }
html[data-theme="print"] .legal-hero .hero__desc { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .legal-nav { background: var(--pe-paper-alt) !important; border: 1px solid var(--pe-rule) !important; border-radius: 0 !important; }
html[data-theme="print"] .legal-nav a { color: var(--pe-ink-2) !important; border-radius: 0 !important; }
html[data-theme="print"] .legal-nav a:hover { background: #f5ecd4 !important; color: var(--pe-ink) !important; }
html[data-theme="print"] .legal-document { background: var(--pe-card) !important; border: 1px solid var(--pe-ink) !important; border-radius: 0 !important; box-shadow: 10px 10px 0 var(--pe-rule) !important; }
html[data-theme="print"] .legal-document :is(h2, h3) { color: var(--pe-ink) !important; }
html[data-theme="print"] :is(.legal-document p, .legal-document li) { color: var(--pe-ink-2) !important; }

/* Home page: quick access, web reports, ROI, deployment cards */
html[data-theme="print"] .quick-access-card { background: var(--pe-card) !important; border: 1px solid var(--pe-rule) !important; border-radius: 0 !important; }
html[data-theme="print"] .quick-access-card:hover { border-color: var(--pe-ink) !important; background: #ffffff !important; }
html[data-theme="print"] .quick-access-card strong { color: var(--pe-ink) !important; }
html[data-theme="print"] .quick-access-card span { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .quick-access-card::before { background: var(--pe-red) !important; }
html[data-theme="print"] .webreports-point { background: var(--pe-card) !important; border: 1px solid var(--pe-rule) !important; border-radius: 0 !important; color: var(--pe-ink-2) !important; }
html[data-theme="print"] .roi-panel { background: var(--pe-card) !important; border: 1px solid var(--pe-ink) !important; border-radius: 0 !important; }
html[data-theme="print"] .roi-metric { background: var(--pe-paper-alt) !important; border: 1px solid var(--pe-rule) !important; border-radius: 0 !important; }
html[data-theme="print"] .roi-metric strong { color: var(--pe-ink) !important; }
html[data-theme="print"] .roi-metric span { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .deploy-card { background: var(--pe-card) !important; border: 1px solid var(--pe-rule) !important; border-top: 3px solid var(--pe-ink) !important; border-radius: 0 !important; box-shadow: none !important; }
html[data-theme="print"] .deploy-card--featured { border-color: var(--pe-red) !important; border-top-color: var(--pe-red) !important; box-shadow: 6px 6px 0 rgba(181, 55, 44, .25) !important; }
html[data-theme="print"] .deploy-card__badge { background: var(--pe-red) !important; color: #fffdf8 !important; border-radius: 0 !important; }

/* Contact page: info panel becomes a letterpress ink block, form stays paper */
html[data-theme="print"] .contact-info { background: var(--pe-ink) !important; border: 0 !important; border-radius: 0 !important; box-shadow: 10px 10px 0 var(--pe-rule) !important; }
html[data-theme="print"] :is(.contact-info h3, .contact-info .contact-info__label) { color: var(--pe-paper) !important; }
html[data-theme="print"] .contact-info .contact-info__value { color: #d8d0bd !important; }
html[data-theme="print"] .contact-info a { color: #f0c987 !important; }
html[data-theme="print"] .contact-info__block { background: rgba(247, 243, 234, .07) !important; border-color: rgba(247, 243, 234, .15) !important; border-radius: 0 !important; }
html[data-theme="print"] .contact-form-shell { background: var(--pe-card) !important; border: 1px solid var(--pe-ink) !important; border-radius: 0 !important; box-shadow: 10px 10px 0 var(--pe-rule) !important; }
html[data-theme="print"] .contact-form .form-group__label { color: var(--pe-ink) !important; }
html[data-theme="print"] .contact-form-note { color: var(--pe-ink-3) !important; }
html[data-theme="print"] .error { color: #b91c1c !important; }

/* Older-downloads help panel: ink block */
html[data-theme="print"] .archive-help { background: var(--pe-ink) !important; border-radius: 0 !important; color: var(--pe-paper) !important; }
html[data-theme="print"] .archive-help h2 { color: var(--pe-paper) !important; }
html[data-theme="print"] .archive-help p { color: #d8d0bd !important; }

/* Status and tag colors that fail contrast on paper */
html[data-theme="print"] .dash-alert--warn { background: rgba(154, 109, 27, .14) !important; color: #6d4a0d !important; border-left-color: #9a6d1b !important; }
html[data-theme="print"] :is(.kb-role-highlight, .role.admin) { color: #6d4a0d !important; }
html[data-theme="print"] :is(.article__tag--config, .kb-article-card__tag--config) { color: #a81b60 !important; }
html[data-theme="print"] :is(.article__tag--security, .kb-article-card__tag--security) { color: #b91c1c !important; }
html[data-theme="print"] :is(.dl-card__icon--pdf, .download-card__icon--pdf) { color: #b91c1c !important; }

/* Generic guards for hardcoded white text */
html[data-theme="print"] th { color: var(--pe-ink) !important; }
html[data-theme="print"] table th { background: var(--pe-paper-alt) !important; }
html[data-theme="print"] button:where(:not(.btn):not(.btn-primary):not(.btn-subtle):not(.btn-ghost):not(.primary):not(.secondary):not(.lang-tag):not(.theme-toggle):not(.theme-menu__item):not(.mobile-toggle):not(.tabs__btn):not(.content-video__poster)) { color: var(--pe-ink); }
html[data-theme="print"] .logo__wordmark { color: var(--pe-ink) !important; }
html[data-theme="print"] .skip-link { background: var(--pe-ink) !important; color: var(--pe-paper) !important; }
html[data-theme="print"] .comparison-card--featured::before { background: var(--pe-red) !important; color: #fffdf8 !important; }
html[data-theme="print"] .tabs__btn--active { background: var(--pe-ink) !important; color: var(--pe-paper) !important; }

/* Partners page: the network showcase becomes a framed newsprint plate */
html[data-theme="print"] .partner-network-showcase { background: var(--pe-paper-alt) !important; border-block: 1px solid var(--pe-ink); }
html[data-theme="print"] .partner-network-card {
  background: var(--pe-card) !important;
  border: 2px solid var(--pe-ink) !important;
  border-radius: 0 !important;
  box-shadow: 12px 12px 0 var(--pe-ink) !important;
}
html[data-theme="print"] .partner-network-card svg {
  filter: grayscale(1) sepia(.12) contrast(1.04) brightness(1.06) !important;
  transition: filter .45s ease;
}
html[data-theme="print"] .partner-network-card:hover svg { filter: none !important; }
html[data-theme="print"] .partner-network-stats {
  background: var(--pe-paper-alt) !important;
  border-top: 2px solid var(--pe-ink) !important;
}
html[data-theme="print"] .partner-network-stats [style*="color:var(--color-text-muted)"] { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .partner-network-stats :is(strong, b, .stat-value) { color: var(--pe-ink) !important; }

/* Popup dialogs (sign-in / gated downloads, inline-styled by netaphor-app.js) */
html[data-theme="print"] .nx-modal-overlay { background: rgba(26, 23, 18, .62) !important; }
html[data-theme="print"] .nx-modal {
  background: var(--pe-card) !important;
  border: 2px solid var(--pe-ink) !important;
  border-radius: 0 !important;
  color: var(--pe-ink) !important;
  box-shadow: 12px 12px 0 var(--pe-ink) !important;
}
html[data-theme="print"] .nx-modal [style*="#52647a"] { color: var(--pe-ink-2) !important; }
html[data-theme="print"] .nx-modal button[type="submit"] {
  background: var(--pe-ink) !important;
  color: var(--pe-paper) !important;
  border-radius: 0 !important;
  text-transform: uppercase;
  letter-spacing: .12em;
}
html[data-theme="print"] .nx-modal button[type="submit"]:hover { background: var(--pe-red) !important; }

@media print {
  html[data-theme="print"] body { background: #ffffff !important; }
}
