/* ============================================================================
   CTS public projection — site styles
   Consumes brand_package/cts-tokens.css v1.0. Adds no colours of its own.

   ROLE DISCIPLINE (enforced by convention):
     gold      -> Tier 1 statements and primary CTAs only
     cyan      -> anything the reader can operate
     subsystem -> chapter wayfinding: rules, dots, eyebrows. Never a fill.
     green     -> operational state only
   ========================================================================= */

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; background: var(--cts-ground); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body {
  margin: 0;
  background: transparent;
  color: var(--cts-text-2);
  font-family: var(--cts-font-sans);
  font-size: 17px;
  line-height: 1.65;
  -webkit-font-smoothing: antialiased;
}

/* ============================================================================
   SKY — starfield, twinkle, meteors, scan line
   Restored under Decision_2026-07-21_Starfield_Motion_Exception (Q129, (a)).
   Declared motion inventory, and the ceiling: status dot, 8s twinkle,
   two rare meteors, 20s scan line. Adding motion requires removing motion.

   Star positions are in vw/vh so the field covers any viewport without
   drift, tiling, or JS. Palette-native only: muted grey, rare cyan.
   Background layer sits at z-index -1 and never touches text contrast.
   ========================================================================= */

/* ~84 static stars — no motion at any time */
html::before {
  content: "";
  position: fixed; top: 0; left: 0;
  width: 1px; height: 1px; border-radius: 50%;
  background: transparent;
  z-index: -1; pointer-events: none;
  box-shadow:
    56.70vw 67.68vh 0 0 rgba(158,171,185,.45), 48.50vw 53.79vh 0 0 rgba(158,171,185,.45), 43.88vw 82.49vh 0 0 rgba(107,122,139,.50),
    69.67vw 11.52vh 0 0 rgba(158,171,185,.45), 30.65vw 44.11vh 0 0 rgba(158,171,185,.32), 25.25vw 20.10vh 0 0 rgba(158,171,185,.32),
    13.79vw 22.39vh 0 0 rgba(107,122,139,.50), 36.97vw 58.70vh 0 0 rgba(158,171,185,.45), 23.55vw 17.67vh 0 0 rgba(107,122,139,.50),
    75.63vw 56.67vh 0 0 rgba(107,122,139,.50), 44.57vw 20.13vh 0 0 rgba(158,171,185,.32), 2.52vw 36.51vh 0 0 rgba(158,171,185,.32),
    68.05vw 15.23vh 0 0 rgba(158,171,185,.32), 75.16vw 90.38vh 0 0 rgba(158,171,185,.38), 98.59vw 8.53vh 0 0 rgba(158,171,185,.60),
    37.27vw 36.86vh 0 0 rgba(69,215,255,.30), 88.70vw 69.01vh 0 0 rgba(158,171,185,.38), 80.54vw 2.29vh 0 0 rgba(158,171,185,.45),
    62.09vw 32.86vh 0 0 rgba(158,171,185,.38), 64.07vw 52.66vh 0 0 rgba(69,215,255,.30), 84.66vw 84.53vh 0 0 rgba(107,122,139,.50),
    62.66vw 77.47vh 0 0 rgba(107,122,139,.50), 90.62vw 50.63vh 0 0 rgba(158,171,185,.60), 42.37vw 94.88vh 0 0 rgba(107,122,139,.50),
    53.46vw 10.48vh 0 0 rgba(107,122,139,.50), 69.42vw 90.35vh 0 0 rgba(158,171,185,.32), 15.28vw 52.09vh 0 0 rgba(158,171,185,.38),
    40.33vw 12.34vh 0 0 rgba(158,171,185,.32), 16.47vw 82.99vh 0 0 rgba(158,171,185,.45), 59.36vw 21.02vh 0 0 rgba(158,171,185,.32),
    62.04vw 91.24vh 0 0 rgba(158,171,185,.38), 41.44vw 50.63vh 0 0 rgba(107,122,139,.50), 46.69vw 33.40vh 0 0 rgba(158,171,185,.60),
    68.65vw 54.88vh 0 0 rgba(158,171,185,.45), 19.99vw 6.06vh 0 0 rgba(158,171,185,.32), 64.32vw 0.25vh 0 0 rgba(107,122,139,.50),
    64.57vw 60.80vh 0 0 rgba(107,122,139,.50), 7.59vw 79.86vh 0 0 rgba(158,171,185,.60), 70.80vw 80.69vh 0 0 rgba(158,171,185,.60),
    98.31vw 72.77vh 0 0 rgba(158,171,185,.60), 25.63vw 84.77vh 0 0 rgba(158,171,185,.38), 26.92vw 38.21vh 0 0 rgba(158,171,185,.45),
    86.44vw 87.71vh 0 0 rgba(69,215,255,.30), 57.72vw 49.75vh 0 0 rgba(158,171,185,.60), 34.85vw 81.92vh 0 0 rgba(107,122,139,.50),
    11.78vw 95.98vh 0 0 rgba(158,171,185,.38), 94.24vw 92.87vh 0 0 rgba(158,171,185,.38), 29.08vw 6.25vh 0 0 rgba(158,171,185,.32),
    70.89vw 36.98vh 0 0 rgba(107,122,139,.50), 56.31vw 21.72vh 0 0 rgba(158,171,185,.45), 81.17vw 57.53vh 0 0 rgba(107,122,139,.50),
    78.02vw 36.21vh 0 0 rgba(158,171,185,.60), 76.08vw 21.64vh 0 0 rgba(158,171,185,.32), 46.91vw 68.45vh 0 0 rgba(158,171,185,.32),
    21.37vw 90.74vh 0 0 rgba(107,122,139,.50), 81.85vw 78.14vh 0 0 rgba(158,171,185,.45), 23.71vw 54.90vh 0 0 rgba(107,122,139,.50),
    37.37vw 87.65vh 0 0 rgba(158,171,185,.32), 27.38vw 96.70vh 0 0 rgba(158,171,185,.32), 11.81vw 37.27vh 0 0 rgba(107,122,139,.50),
    50.72vw 78.30vh 0 0 rgba(107,122,139,.50), 44.15vw 0.32vh 0 0 rgba(107,122,139,.50), 85.62vw 1.55vh 0 0 rgba(158,171,185,.38),
    91.49vw 34.63vh 0 0 rgba(107,122,139,.50), 0.20vw 94.36vh 0 0 rgba(158,171,185,.60), 10.36vw 1.83vh 0 0 rgba(158,171,185,.38),
    20.39vw 80.23vh 0 0 rgba(69,215,255,.30), 1.98vw 56.34vh 0 0 rgba(158,171,185,.60), 98.20vw 53.47vh 0 0 rgba(158,171,185,.60),
    1.10vw 20.30vh 0 0 rgba(158,171,185,.60), 12.32vw 70.35vh 0 0 rgba(158,171,185,.32), 50.34vw 31.42vh 0 0 rgba(158,171,185,.60),
    85.03vw 25.46vh 0 0 rgba(158,171,185,.38), 38.84vw 28.31vh 0 0 rgba(69,215,255,.30), 70.47vw 60.12vh 0 0 rgba(158,171,185,.60),
    22.10vw 37.64vh 0 0 rgba(107,122,139,.50), 5.03vw 11.75vh 0 0 rgba(107,122,139,.50), 95.52vw 70.40vh 0 0 rgba(107,122,139,.50),
    98.28vw 32.04vh 0 0 rgba(107,122,139,.50), 27.29vw 57.31vh 0 0 rgba(158,171,185,.32), 20.68vw 59.97vh 0 0 rgba(158,171,185,.38),
    5.65vw 58.11vh 0 0 rgba(69,215,255,.30), 96.50vw 27.89vh 0 0 rgba(158,171,185,.32), 55.40vw 86.65vh 0 0 rgba(158,171,185,.45);
}

/* 24 brighter stars — 8s twinkle */
html::after {
  content: "";
  position: fixed; top: 0; left: 0;
  width: 1px; height: 1px; border-radius: 50%;
  background: transparent;
  z-index: -1; pointer-events: none;
  box-shadow:
    97.13vw 52.84vh 1px 0.4px rgba(233,238,243,.82), 79.57vw 50.86vh 1px 0.4px rgba(233,238,243,.90), 21.29vw 39.43vh 1px 0.4px rgba(233,238,243,.90),
    33.12vw 92.08vh 1px 0.4px rgba(233,238,243,.78), 19.46vw 77.78vh 1px 0.4px rgba(233,238,243,.82), 57.53vw 95.10vh 1px 0.4px rgba(233,238,243,.82),
    43.47vw 9.50vh 1px 0.4px rgba(233,238,243,.82), 48.32vw 38.22vh 1px 0.4px rgba(233,238,243,.78), 71.60vw 3.24vh 1px 0.4px rgba(233,238,243,.72),
    58.58vw 22.86vh 1px 0.4px rgba(233,238,243,.90), 59.05vw 42.40vh 1px 0.4px rgba(69,215,255,.60), 22.16vw 23.37vh 1px 0.4px rgba(233,238,243,.72),
    97.95vw 23.88vh 1px 0.4px rgba(233,238,243,.82), 34.08vw 22.71vh 1px 0.4px rgba(233,238,243,.78), 38.70vw 93.05vh 1px 0.4px rgba(233,238,243,.72),
    11.03vw 42.92vh 1px 0.4px rgba(233,238,243,.78), 84.18vw 0.33vh 1px 0.4px rgba(233,238,243,.72), 64.09vw 57.10vh 1px 0.4px rgba(233,238,243,.85),
    8.81vw 21.30vh 1px 0.4px rgba(233,238,243,.78), 75.57vw 70.52vh 1px 0.4px rgba(233,238,243,.85), 99.34vw 97.81vh 1px 0.4px rgba(233,238,243,.85),
    72.19vw 76.00vh 1px 0.4px rgba(233,238,243,.82), 28.67vw 45.50vh 1px 0.4px rgba(233,238,243,.72), 9.45vw 95.85vh 1px 0.4px rgba(233,238,243,.90);
  animation: twinkle 8s ease-in-out infinite;
}
@keyframes twinkle { 0%, 100% { opacity: 1; } 50% { opacity: 0.4; } }

/* 20s cyan scan line — sweeps the viewport above content */
body::before {
  content: "";
  position: fixed; left: 0; right: 0; top: 0; height: 1px;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--cts-cyan) 22%, transparent) 25%,
    color-mix(in srgb, var(--cts-cyan) 30%, transparent) 50%,
    color-mix(in srgb, var(--cts-cyan) 22%, transparent) 75%,
    transparent);
  z-index: 2; pointer-events: none;
  animation: scan 20s linear infinite;
}
@keyframes scan {
  0%        { top: 0;    opacity: 0; }
  3%        { opacity: 1; }
  97%       { opacity: 0.6; }
  100%      { top: 100%; opacity: 0; }
}

/* two meteors — roughly every 83s and 127s, staggered to read irregular */
.meteor {
  position: fixed;
  width: 88px; height: 1px;
  background: linear-gradient(90deg,
    transparent,
    color-mix(in srgb, var(--cts-cyan) 18%, transparent) 55%,
    rgba(233,238,243,0.85));
  z-index: -1; pointer-events: none;
  opacity: 0;
  will-change: transform, opacity;
}
.meteor.m1 { top: 6vh;  left: -8vw; animation: meteor-1 83s linear infinite;  animation-delay: 11s; }
.meteor.m2 { top: 2vh;  left: 46vw; animation: meteor-2 127s linear infinite; animation-delay: 54s; }
@keyframes meteor-1 {
  0%            { transform: translate3d(0, 0, 0) rotate(26deg);        opacity: 0; }
  0.5%          { opacity: 0.9; }
  3.0%          { opacity: 0; }
  3.1%, 100%    { transform: translate3d(58vw, 28vh, 0) rotate(26deg);  opacity: 0; }
}
@keyframes meteor-2 {
  0%            { transform: translate3d(0, 0, 0) rotate(38deg);        opacity: 0; }
  0.4%          { opacity: 0.8; }
  2.2%          { opacity: 0; }
  2.3%, 100%    { transform: translate3d(44vw, 34vh, 0) rotate(38deg);  opacity: 0; }
}

/* motion off; the static field has no motion and stays */
@media (prefers-reduced-motion: reduce) {
  html::after { animation: none; }
  body::before { display: none; }
  .meteor { display: none; }
}

.wrap { max-width: var(--cts-content-max); margin: 0 auto; padding: 0 24px; }
@media (min-width: 720px) { .wrap { padding: 0 40px; } }
.reading { max-width: var(--cts-reading-max); }

section { padding: var(--cts-section-gap) 0 0; scroll-margin-top: 76px; }

h1, h2, h3 { color: var(--cts-text); line-height: 1.15; margin: 0; text-wrap: balance; }
h1 {
  font-family: var(--cts-font-display);
  font-weight: 500;
  font-size: clamp(2.3rem, 6vw, 3.9rem);
  letter-spacing: -0.01em;
  color: var(--cts-gold-text);
}
h2 {
  font-family: var(--cts-font-display);
  font-weight: 500;
  font-size: clamp(1.7rem, 3.4vw, 2.3rem);
  margin-bottom: 20px;
}
h3 { font-size: 1.06rem; font-weight: 600; margin-bottom: 6px; }
.mt { margin-top: 64px; }

p { margin: 0 0 18px; }
a { color: var(--cts-cyan); text-decoration-color: color-mix(in srgb, var(--cts-cyan) 40%, transparent); text-underline-offset: 3px; }
a:hover { text-decoration-color: currentColor; }
:focus-visible { outline: 2px solid var(--cts-cyan); outline-offset: 3px; border-radius: var(--cts-radius); }
strong { color: var(--cts-text); font-weight: 600; }
em { font-style: italic; }

.skip {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--cts-surface); color: var(--cts-cyan);
  padding: 12px 18px; border: 1px solid var(--cts-cyan);
}
.skip:focus { left: 12px; top: 12px; }

.eyebrow {
  font-family: var(--cts-font-mono);
  font-size: 0.7rem; text-transform: uppercase; letter-spacing: 0.15em;
  color: var(--cts-text-3); margin-bottom: 16px;
}
.eyebrow.gold { color: var(--cts-gold); }

.note {
  border-left: 2px solid var(--cts-rule-2);
  padding: 2px 0 2px 18px;
  color: var(--cts-text-3);
  font-size: 0.95rem;
}

/* --- header --- */
.site-head {
  position: sticky; top: 0; z-index: 10;
  background: color-mix(in srgb, var(--cts-ground) 92%, transparent);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--cts-rule);
  padding: 16px 0;
}
.head-inner { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; flex-wrap: wrap; }
.wordmark {
  font-family: var(--cts-font-display);
  font-size: 1.4rem; font-weight: 600; letter-spacing: 0.06em;
  color: var(--cts-text); text-decoration: none;
}
.site-head nav { display: flex; gap: 22px; flex-wrap: wrap; }
.site-head nav a { font-size: 0.86rem; color: var(--cts-text-2); text-decoration: none; }
.site-head nav a:hover { color: var(--cts-cyan); }

/* --- hero --- */
.hero { padding-top: 92px; }
.hero .thesis {
  color: var(--cts-text); font-size: 1.22rem; margin-top: 26px; font-weight: 400;
}

.video-figure { margin: 48px 0 0; }
.video-figure video, .video-figure img {
  width: 100%; height: auto; display: block;
  background: var(--cts-surface);
  border: 1px solid var(--cts-rule);
  border-radius: var(--cts-radius);
}
.video-figure figcaption {
  margin-top: 12px; font-family: var(--cts-font-mono);
  font-size: 0.75rem; color: var(--cts-text-3);
}

/* --- three domains --- */
.domains { display: grid; gap: 18px; margin: 32px 0 0; grid-template-columns: 1fr; }
@media (min-width: 760px) { .domains { grid-template-columns: repeat(3, 1fr); } }
.domain {
  background: var(--cts-surface);
  border: 1px solid var(--cts-rule);
  border-top: 2px solid var(--cts-gold);
  padding: 22px 20px;
}
.domain p { font-size: 0.94rem; margin-bottom: 0; }
.domain-fn {
  font-family: var(--cts-font-mono); font-size: 0.7rem;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--cts-text-3); margin-bottom: 12px !important;
}

.isnot { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.isnot li::marker { color: var(--cts-text-3); }

/* --- pipeline --- */
.pipe {
  list-style: none; margin: 40px 0 32px; padding: 0;
  display: grid; gap: 14px;
  grid-template-columns: 1fr;
  counter-reset: none;
}
@media (min-width: 700px) { .pipe { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1000px) { .pipe { grid-template-columns: repeat(6, 1fr); } }
@media (min-width: 1000px) { .pipe.five { grid-template-columns: repeat(5, 1fr); } }

.node {
  background: var(--cts-surface);
  border: 1px solid var(--cts-rule);
  padding: 0 16px 16px;
  display: flex; flex-direction: column;
}
.node-rule { display: block; height: 2px; margin: 0 -16px 16px; background: var(--cts-rule-2); }
.node h3 { font-size: 0.98rem; }
.node h3 a { text-decoration: none; }
.node p { font-size: 0.86rem; color: var(--cts-text-2); flex: 1; margin-bottom: 12px; }
.node .status {
  font-family: var(--cts-font-mono); font-size: 0.63rem;
  text-transform: uppercase; letter-spacing: 0.1em; color: var(--cts-text-3);
}
.node .status.ok { color: var(--cts-status-active); }
.node.held { opacity: 0.78; }
.node.held h3 { color: var(--cts-text-2); }

/* subsystem hues — location role, rules only, never fills */
[data-sub="capture"]   .node-rule, [data-sub="capture"]   .card-rule { background: var(--cts-sub-capture); }
[data-sub="sieve"]     .node-rule, [data-sub="sieve"]     .card-rule { background: var(--cts-sub-sieve); }
[data-sub="forge"]     .node-rule, [data-sub="forge"]     .card-rule { background: var(--cts-sub-forge); }
[data-sub="reflexion"] .node-rule, [data-sub="reflexion"] .card-rule { background: var(--cts-sub-reflexion); }
[data-sub="crucible"]  .node-rule, [data-sub="crucible"]  .card-rule { background: var(--cts-sub-crucible); }
[data-sub="cauldron"]  .node-rule, [data-sub="cauldron"]  .card-rule { background: var(--cts-sub-cauldron); }
[data-sub="governance"] .card-rule { background: var(--cts-gold); }

/* --- audience scales --- */
.scale { padding: 22px 0; border-bottom: 1px solid var(--cts-rule); }
.scale:last-of-type { border-bottom: 0; }
.scale h3 { font-size: 1.1rem; margin-bottom: 10px; }
.scale p:last-child { margin-bottom: 0; }

/* --- chapter cards --- */
.cards { display: grid; gap: 16px; margin-top: 36px; grid-template-columns: 1fr; }
@media (min-width: 700px) { .cards { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .cards.three { grid-template-columns: repeat(3, 1fr); } }
div.card:hover { border-color: var(--cts-rule); background: var(--cts-surface); }
.mt-sm { margin-top: 28px; }
.card {
  background: var(--cts-surface);
  border: 1px solid var(--cts-rule);
  padding: 0 22px 22px;
  text-decoration: none; color: inherit;
  display: flex; flex-direction: column;
  transition: border-color 160ms ease, background-color 160ms ease;
}
.card:hover { border-color: var(--cts-rule-2); background: var(--cts-surface-2); }
.card-rule { display: block; height: 2px; margin: 0 -22px 20px; }
.card h3 { font-family: var(--cts-font-display); font-size: 1.45rem; font-weight: 500; }
.card-sub {
  font-family: var(--cts-font-mono); font-size: 0.7rem;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--cts-text-3); margin-bottom: 12px;
}
.card p:last-child { font-size: 0.94rem; margin-bottom: 0; }

/* --- chapter page --- */
.chapter-head { padding-top: 76px; }
.chapter-head .kicker {
  font-family: var(--cts-font-mono); font-size: 0.7rem;
  text-transform: uppercase; letter-spacing: 0.14em; margin-bottom: 14px;
}
.chapter-head h1 { font-size: clamp(2.1rem, 5vw, 3.2rem); color: var(--cts-text); }
.chapter-head .lede { color: var(--cts-text); font-size: 1.15rem; margin-top: 20px; }
.chapter-rule { height: 2px; border: 0; margin: 28px 0 0; }

.transcript { margin-top: 8px; }
.transcript h2 { font-size: 1.4rem; }
.transcript-body p { max-width: var(--cts-reading-max); }
.boundary {
  background: var(--cts-surface); border: 1px solid var(--cts-rule);
  padding: 22px; margin: 32px 0;
}
.boundary h3 { margin-bottom: 10px; }
.boundary ul { margin: 0; padding-left: 20px; display: flex; flex-direction: column; gap: 6px; }
.boundary li { font-size: 0.94rem; }
.boundary li::marker { color: var(--cts-text-3); }

.chapter-nav {
  display: flex; justify-content: space-between; gap: 18px; flex-wrap: wrap;
  border-top: 1px solid var(--cts-rule); margin-top: 64px; padding-top: 24px;
  font-size: 0.9rem;
}

/* --- footer --- */
footer {
  margin-top: var(--cts-section-gap);
  border-top: 1px solid var(--cts-rule);
  padding: 56px 0 80px;
}
.closing {
  font-family: var(--cts-font-display);
  color: var(--cts-gold-text); font-size: 1.45rem; line-height: 1.35;
}
.status-line {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: var(--cts-font-mono); font-size: 0.72rem;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--cts-text-3); margin-top: 20px;
}
.status-line .dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--cts-status-active);
  animation: pulse 2.4s ease-in-out infinite;
}
@keyframes pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.35; } }
@media (prefers-reduced-motion: reduce) { .status-line .dot { animation: none; } }
/* CTS logo — Decision_2026-07-15_CTS_Logo: the luminous network-sphere mark,
   glow included, at 120px, clear space retained. Not to be de-glowed,
   dimmed, scaled down, or substituted. */
.orb { display: block; margin-top: 40px; width: 120px; height: 120px; }
.fine { margin-top: 24px; font-size: 0.82rem; color: var(--cts-text-3); }

/* --- print (the one-page overview) --- */
@media print {
  html, body { background: #fff !important; color: #1a1a1a; }
  html::before, html::after, body::before, .meteor, .site-head, .skip { display: none !important; }
  h1, h2, h3, .thesis, .hero h1, strong { color: #111 !important; }
  .eyebrow, .eyebrow.gold, .note, .fine, .card-sub, .status-line { color: #444 !important; }
  .node, .card { background: #fff !important; border-color: #bbb !important; break-inside: avoid; }
  .node p, .card p { color: #222 !important; }
  section { padding-top: 18px !important; }
  .hero { padding-top: 0 !important; }
  .status-line .dot { animation: none !important; }
  @page { size: letter; margin: 0.45in; }
  body { font-size: 10pt !important; line-height: 1.4 !important; }
  .wrap { padding: 0 !important; max-width: none !important; }
  .reading { max-width: none !important; }
  section { padding-top: 10px !important; }
  .hero h1 { font-size: 22pt !important; }
  .hero .thesis { font-size: 11pt !important; margin-top: 8px !important; }
  h2 { font-size: 14pt !important; }
  p { margin: 0 0 6px !important; }
  .eyebrow { margin-bottom: 4px !important; }
  .pipe { grid-template-columns: repeat(5, 1fr) !important; margin: 8px 0 !important; gap: 6px !important; }
  .cards.three { grid-template-columns: repeat(3, 1fr) !important; margin-top: 6px !important; gap: 6px !important; }
  .node, .card { padding: 0 8px 8px !important; }
  .node-rule { margin: 0 -8px 8px !important; }
  .card-rule { margin: 0 -8px 8px !important; }
  .node p, .card p { font-size: 8.5pt !important; margin: 0 !important; }
  .card h3 { font-size: 11pt !important; }
  .node h3, .reading h3 { font-size: 10pt !important; }
  .note { font-size: 8.5pt !important; }
  .mt-sm { margin-top: 10px !important; }
  .isnot { gap: 2px !important; }
  footer { padding: 10px 0 0 !important; margin-top: 10px !important; }
  footer .fine { margin-top: 4px !important; }
}
