/* ============================================================
   AI Operations Management — the discipline of the flow
   Design system: warm ivory editorial, craft over flash.
   Grounded in Refactoring UI + Laws of UX (see planning/aiom_design_direction.md)
   ============================================================ */

:root{
  /* --- warm ink / paper ramp (hue ~34-38, saturation rises at extremes) --- */
  --paper:#F7F0E4;        /* warm ivory background */
  --paper-deep:#EFE4D1;
  --paper-card:#FBF6EC;   /* card surfaces, reads as gently raised */
  --ink:#201A12;          /* warm near-black; also dark-section bg */
  --ink-800:#443A2C;
  --ink-soft:#6B6152;     /* secondary text */
  --ink-400:#9D907B;      /* tertiary text; never a 4th */
  --line:#D9CCB4;         /* hairlines */
  --line-strong:#B9A987;

  /* --- claret ramp (base 348deg, rotates <=3deg as it darkens) --- */
  --claret:#8E1D33;       /* primary accent */
  --claret-900:#4E0E18;   /* claret TEXT on paper */
  --claret-700:#6F1526;   /* hover / deep */
  --claret-300:#CB4D69;
  --claret-100:#F5E5E9;   /* faint tint panel */

  /* --- amber: strict second accent, shares the warm axis --- */
  --amber:#A8741F;
  --amber-900:#774B18;

  /* --- dark section (Monday Test, meter) --- */
  --d-bg:#201A12;
  --d-card:#2A2318;
  --d-line:#3A332A;
  --d-line-2:#4A4234;
  --d-text:#CFC5B2;
  --d-muted:#8A7F6C;
  --d-claret:#D98A9B;     /* claret-on-dark labels */
  --d-claret-lit:#E9A0B0;

  --sans:'Archivo','Segoe UI',system-ui,sans-serif;
  --serif:'Source Serif 4',Georgia,serif;
  --display:'Besley',Georgia,serif;

  --r:2px;                /* near-square corners: serious, not playful */
  --mast:3px;             /* masthead rule height */
  --navh:64px;

  --container:1120px;
  --measure:680px;        /* prose column; hold it, do not widen */
  --diagram:1000px;
}

*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--navh) + var(--mast) + 12px)}
body{
  background:var(--paper);color:var(--ink);
  font-family:var(--serif);font-size:1.125rem;line-height:1.78;
  font-optical-sizing:auto;
  -webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  text-rendering:optimizeLegibility;
}

/* ---------- structure ---------- */
.wrap{max-width:var(--container);margin:0 auto;padding:0 24px}
.prose{max-width:var(--measure);margin:0 auto}
.section{padding:clamp(72px,10vw,112px) 0}
.section+.section{border-top:1px solid var(--line)}

/* ---------- editorial type ---------- */
.eyebrow{
  font-family:var(--sans);font-size:.72rem;font-weight:600;
  letter-spacing:.18em;text-transform:uppercase;color:var(--claret-900);
  font-variant-numeric:tabular-nums;
}
h2.sec-title{
  font-family:var(--display);font-weight:600;
  font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1.1;letter-spacing:-.017em;
  margin:16px 0 28px;
}
.prose p{margin-bottom:1.35em;text-wrap:pretty}
.prose p:last-child{margin-bottom:0}
/* editorial links: ink text, custom claret underline. Never a solid fill. */
.prose a,.about-card p a{
  color:var(--ink);text-decoration:underline;
  text-decoration-color:var(--claret);text-decoration-thickness:1.5px;
  text-underline-offset:3px;transition:text-decoration-thickness .18s,color .18s;
}
.prose a:hover,.about-card p a:hover{color:var(--claret-700);text-decoration-thickness:2.5px}

.claim{
  font-family:var(--display);font-size:clamp(1.25rem,2.2vw,1.55rem);
  font-weight:400;font-style:italic;line-height:1.45;color:var(--ink);
  border-left:3px solid var(--claret);padding-left:22px;margin:34px 0;
}

/* ---------- editorial CTAs (not SaaS buttons) ---------- */
.cta-row{display:flex;gap:32px;flex-wrap:wrap;align-items:center}
.link-cta{
  font-family:var(--sans);font-weight:700;font-size:.9rem;letter-spacing:.02em;
  color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:.5em;
  padding-bottom:4px;border-bottom:2px solid var(--claret);
  transition:color .18s,border-color .18s;
}
.link-cta .arw{color:var(--claret);transition:transform .2s}
.link-cta:hover{color:var(--claret-700)}
.link-cta:hover .arw{transform:translateX(4px)}
.link-cta.subtle{border-bottom-color:var(--line-strong);color:var(--ink-soft)}
.link-cta.subtle .arw{color:var(--ink-400)}
.link-cta.subtle:hover{color:var(--ink);border-bottom-color:var(--ink-soft)}

/* ---------- reveal on scroll (single, restrained fade-up) ---------- */
.rv{opacity:0;transform:translateY(16px);transition:opacity .7s ease,transform .7s ease}
.rv.in{opacity:1;transform:none}

/* ---------- masthead rule + nav ---------- */
.masthead-rule{position:fixed;top:0;left:0;right:0;height:var(--mast);background:var(--claret);z-index:100}
#nav{
  position:fixed;top:var(--mast);left:0;right:0;z-index:90;
  background:transparent;border-bottom:1px solid transparent;
  transition:background .3s,border-color .3s;
}
#nav.stuck{background:rgba(247,240,228,.90);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
.nav-inner{max-width:var(--container);margin:0 auto;padding:0 24px;height:var(--navh);display:flex;align-items:center;justify-content:space-between}
.brand{font-family:var(--sans);font-weight:700;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);text-decoration:none}
.brand span{color:var(--claret)}
.nav-links{display:flex;gap:26px;align-items:center}
.nav-links a{font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.05em;color:var(--ink-soft);text-decoration:none;transition:color .18s}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--claret)}
.nav-links a.nav-cta{color:var(--ink);font-weight:700;border-bottom:2px solid var(--claret);padding-bottom:2px}
.nav-links a.nav-cta:hover{color:var(--claret-700)}
.menu-btn{display:none;background:none;border:1px solid var(--line-strong);border-radius:var(--r);padding:8px 12px;font-family:var(--sans);font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;color:var(--ink)}
@media(max-width:860px){
  .nav-links{display:none;position:absolute;top:var(--navh);left:0;right:0;background:var(--paper);border-bottom:1px solid var(--line);flex-direction:column;gap:0;padding:8px 0}
  .nav-links.open{display:flex}
  .nav-links a{padding:14px 24px;width:100%;font-size:.9rem}
  .nav-links a.nav-cta{border-bottom:none;color:var(--claret)}
  .menu-btn{display:block}
}

/* ---------- hero ---------- */
.hero{min-height:calc(92vh - var(--mast));display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;padding:132px 0 84px}
.hero-inner{position:relative;z-index:2}
.hero h1{
  font-family:var(--display);font-weight:800;
  font-size:clamp(2.7rem,7vw,5.4rem);line-height:1.0;letter-spacing:-.028em;
  margin:20px 0 12px;max-width:15ch;
}
.hero .sub{font-family:var(--display);font-style:italic;font-weight:400;font-size:clamp(1.25rem,2.6vw,1.8rem);color:var(--claret);letter-spacing:-.01em;margin-bottom:34px}
.hero .lede{font-size:clamp(1.1rem,1.7vw,1.28rem);max-width:560px;line-height:1.6;color:var(--ink);margin-bottom:44px;text-wrap:pretty}

/* ---------- comparison table (fewer borders; two paper tones) ---------- */
.compare{display:grid;grid-template-columns:1fr 1fr;max-width:820px;margin:44px auto;border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden;background:var(--paper-card)}
.compare .col h3{font-family:var(--sans);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;padding:16px 22px;border-bottom:1px solid var(--line)}
.compare .col:first-child h3{color:var(--ink-soft)}
.compare .col:last-child{border-left:1px solid var(--line-strong);background:var(--paper)}
.compare .col:last-child h3{color:var(--claret-900)}
.compare ul{list-style:none}
.compare li{font-family:var(--sans);font-size:.95rem;padding:14px 22px;border-bottom:1px solid var(--line)}
.compare li:last-child{border-bottom:none}
.compare .col:first-child li{color:var(--ink-soft)}
@media(max-width:640px){.compare{grid-template-columns:1fr}.compare .col:last-child{border-left:none;border-top:2px solid var(--claret)}}

/* ---------- principle cards (accent-border finishing move) ---------- */
.principle{max-width:var(--measure);margin:52px auto 0;background:var(--paper-card);border:1px solid var(--line-strong);border-top:3px solid var(--claret);border-radius:var(--r);padding:30px 34px}
.principle .p-label{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--claret-900);margin-bottom:10px;font-variant-numeric:tabular-nums}
.principle h3{font-family:var(--display);font-size:1.35rem;font-weight:600;margin-bottom:10px;line-height:1.3;letter-spacing:-.01em}
.principle p{font-size:1.02rem;color:var(--ink);line-height:1.65}

/* ---------- historical rhyme ---------- */
.rhyme{display:grid;grid-template-columns:repeat(3,1fr);gap:0;max-width:940px;margin:48px auto 0;border:1px solid var(--line-strong);border-radius:var(--r);overflow:hidden}
.rhyme-panel{padding:34px 28px;background:var(--paper-card);border-left:1px solid var(--line)}
.rhyme-panel:first-child{border-left:none}
.rhyme-panel .era{font-family:var(--sans);font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:14px}
.rhyme-panel .flow-name{font-family:var(--display);font-size:1.2rem;font-weight:600;margin-bottom:6px;letter-spacing:-.01em}
.rhyme-panel .arrow{font-family:var(--sans);color:var(--claret);font-size:1.2rem;margin:10px 0}
.rhyme-panel .disc{font-family:var(--sans);font-size:.92rem;font-weight:600;color:var(--claret-900)}
.rhyme-panel.now{background:var(--paper);border-top:3px solid var(--claret)}
@media(max-width:760px){.rhyme{grid-template-columns:1fr}.rhyme-panel{border-left:none;border-top:1px solid var(--line)}.rhyme-panel:first-child{border-top:none}}

/* ---------- pull quote (promoted, one only) ---------- */
.pullquote{font-family:var(--display);font-size:clamp(1.6rem,3.6vw,2.5rem);font-weight:600;line-height:1.28;text-align:center;max-width:var(--diagram);margin:80px auto;letter-spacing:-.017em}
.pullquote em{color:var(--claret);font-style:italic}

/* ---------- triple flow diagram ---------- */
.diagram-shell{max-width:var(--diagram);margin:56px auto 0;background:var(--paper-card);border:1px solid var(--line-strong);border-radius:var(--r);padding:44px 36px 34px;overflow-x:auto}
.flow-track{margin-bottom:44px}
.flow-track:last-child{margin-bottom:0}
.ft-label{font-family:var(--sans);font-size:.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin-bottom:16px;display:flex;align-items:center;gap:10px}
.ft-label .tick{width:22px;border-top:2.5px solid}
.ft-usage .ft-label{color:var(--claret-900)}.ft-usage .tick{border-color:var(--claret)}
.ft-records .ft-label{color:var(--ink)}.ft-records .tick{border-color:var(--ink);border-top-style:dashed}
.ft-cost .ft-label{color:var(--amber-900)}.ft-cost .tick{border-color:var(--amber)}
.stages{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;position:relative}
.stage{background:var(--paper);border:1px solid var(--line);border-radius:var(--r);padding:14px 12px;font-family:var(--sans);font-size:.82rem;font-weight:500;text-align:center;position:relative;transition:border-color .3s,box-shadow .3s,background .3s;color:var(--ink)}
.stage small{display:block;font-size:.64rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-soft);margin-top:4px;font-weight:400}
.stage.hot{border-color:var(--claret);box-shadow:inset 0 0 0 1px var(--claret);background:#FDF6EF}
.track-line{height:3px;margin:0 4px 14px;border-radius:2px;transform-origin:left;transform:scaleX(0);transition:transform 1.6s ease}
.ft-usage .track-line{background:var(--claret)}
.ft-records .track-line{background:repeating-linear-gradient(90deg,var(--ink) 0 10px,transparent 10px 18px)}
.ft-cost .track-line{background:linear-gradient(90deg,var(--amber),var(--amber) 68%,transparent 68%)}
.diagram-shell.armed .track-line{transform:scaleX(1)}
.diagram-shell.armed .ft-records .track-line{transition-delay:.5s}
.diagram-shell.armed .ft-cost .track-line{transition-delay:1s}
.value-bracket{position:relative}
.value-bracket::before,.value-bracket::after{content:'';position:absolute;top:-6px;bottom:-6px;width:8px;border:2.5px solid var(--claret);opacity:0;transition:opacity .6s ease 2.2s}
.value-bracket::before{left:-4px;border-right:none}
.value-bracket::after{right:-4px;border-left:none}
.diagram-shell.armed .value-bracket::before,.diagram-shell.armed .value-bracket::after{opacity:1}
.diagram-note{margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font-family:var(--sans);font-size:.85rem;color:var(--ink-soft);line-height:1.6}
.diagram-note strong{color:var(--ink)}
@media(max-width:720px){.stages{grid-template-columns:1fr 1fr}.diagram-shell{padding:30px 20px}}

/* ---------- worked value-boundary callout (rhymes with the meter ledger) ---------- */
.boundary-example{max-width:var(--measure);margin:52px auto 0;background:var(--paper-card);border:1px solid var(--line-strong);border-top:3px solid var(--claret);border-radius:var(--r);padding:30px 34px}
.boundary-example .be-eyebrow{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--claret-900)}
.boundary-example .be-title{font-family:var(--display);font-size:1.35rem;font-weight:600;letter-spacing:-.01em;margin:8px 0 3px;line-height:1.3}
.boundary-example .be-sub{font-family:var(--sans);font-size:.8rem;letter-spacing:.02em;color:var(--ink-soft);margin-bottom:14px}
.be-ledger{margin:0}
.be-row{display:flex;justify-content:space-between;align-items:baseline;gap:24px;padding:14px 0;border-top:1px solid var(--line)}
.be-row dt{font-family:var(--sans);font-size:.95rem;font-weight:600;color:var(--ink)}
.be-row dt span{display:block;font-weight:400;font-size:.8rem;color:var(--ink-soft);margin-top:3px;line-height:1.45;max-width:44ch}
.be-row dd{font-family:var(--sans);font-size:1.05rem;font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.be-row.be-net{border-top:2px solid var(--line-strong)}
.be-row.be-net dt,.be-row.be-net dd{color:var(--claret-900)}
.be-row.be-net dd{font-size:1.22rem}
.be-foot{font-family:var(--serif);font-style:italic;font-size:.98rem;color:var(--ink-soft);line-height:1.55;margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}
@media(max-width:520px){.be-row{flex-direction:column;gap:4px}.be-row dd{text-align:left}}

/* ---------- function cards (flat depth: border + bg, no blur) ---------- */
.func-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;max-width:var(--diagram);margin:48px auto 0}
.func-card{background:var(--paper-card);border:1px solid var(--line-strong);border-top:3px solid transparent;border-radius:var(--r);padding:26px 24px;cursor:pointer;transition:border-color .22s,background .22s,transform .22s;text-align:left;font-family:inherit}
.func-card:hover,.func-card:focus-visible{border-color:var(--claret);background:var(--paper);transform:translateY(-2px)}
.func-card.active{border-color:var(--claret);border-top-color:var(--claret);background:var(--paper)}
.func-card .f-num{font-family:var(--display);font-size:1.6rem;font-weight:800;color:var(--claret);line-height:1;font-variant-numeric:tabular-nums}
.func-card h3{font-family:var(--sans);font-size:.95rem;font-weight:700;letter-spacing:.05em;margin:12px 0 8px;text-transform:uppercase}
.func-card .f-q{font-family:var(--serif);font-style:italic;font-size:.98rem;color:var(--ink);line-height:1.5;margin-bottom:10px}
.func-card .f-x{font-family:var(--sans);font-size:.86rem;color:var(--ink-soft);line-height:1.6}

/* ---------- territory map (contrast-flip center, no solid fill) ---------- */
.territory{max-width:760px;margin:52px auto 0;display:grid;grid-template-columns:1fr 1.4fr 1fr;grid-template-rows:auto auto auto;gap:14px;align-items:center;justify-items:center}
.terr-node{font-family:var(--sans);font-size:.85rem;font-weight:600;padding:16px 22px;border:1px solid var(--line-strong);border-radius:var(--r);background:var(--paper-card);text-align:center;width:100%}
.terr-node small{display:block;font-weight:400;font-size:.72rem;color:var(--ink-soft);margin-top:4px;letter-spacing:.02em}
.terr-center{grid-column:2;grid-row:2;background:var(--claret-100);color:var(--claret-900);border:2px solid var(--claret);padding:26px 22px;font-size:1rem;font-weight:700}
.terr-center small{color:var(--claret-700)}
.t-gov{grid-column:2;grid-row:1}
.t-fin{grid-column:1;grid-row:2}
.t-ml{grid-column:3;grid-row:2}
.t-aiops{grid-column:2;grid-row:3}
@media(max-width:640px){.territory{grid-template-columns:1fr;grid-template-rows:auto}.terr-node{grid-column:1!important;grid-row:auto!important}}
.not-blocks{max-width:var(--measure);margin:48px auto 0}
.not-block{padding:22px 0;border-bottom:1px solid var(--line)}
.not-block:last-child{border-bottom:none}
.not-block h3{font-family:var(--sans);font-size:.9rem;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--claret-900);margin-bottom:8px}
.not-block p{font-size:1.02rem;line-height:1.65}

/* ---------- monday test (inverts to ink-dark) ---------- */
#monday{background:var(--d-bg);color:var(--paper)}
#monday .eyebrow{color:var(--d-claret)}
#monday h2.sec-title{color:var(--paper)}
#monday .prose p{color:var(--d-text)}
.quiz{max-width:720px;margin:52px auto 0}
.q-item{border:1px solid var(--d-line);border-radius:var(--r);background:var(--d-card);padding:26px 28px;margin-bottom:14px}
.q-item .q-num{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--d-claret);margin-bottom:8px;font-variant-numeric:tabular-nums}
.q-item .q-text{font-family:var(--display);font-size:1.14rem;font-weight:400;line-height:1.45;color:var(--paper);margin-bottom:18px}
.q-opts{display:flex;gap:10px;flex-wrap:wrap}
.q-opt{font-family:var(--sans);font-size:.82rem;font-weight:600;letter-spacing:.06em;padding:12px 26px;border-radius:var(--r);border:1px solid var(--d-line-2);background:transparent;color:var(--d-text);cursor:pointer;transition:border-color .18s,background .18s,color .18s}
.q-opt:hover,.q-opt:focus-visible{border-color:var(--d-claret);color:var(--paper)}
.q-opt.sel{background:var(--claret);border-color:var(--claret);color:var(--paper)}
.quiz-result{margin-top:34px;border:1px solid var(--d-line-2);border-top:3px solid var(--claret);border-radius:var(--r);background:var(--d-card);padding:34px;opacity:0;max-height:0;overflow:hidden;transition:opacity .5s ease}
.quiz-result.show{opacity:1;max-height:none;overflow:visible}
.quiz-result .r-label{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--d-claret);margin-bottom:10px}
.quiz-result h3{font-family:var(--display);font-size:1.7rem;font-weight:600;color:var(--paper);margin-bottom:12px;line-height:1.25;letter-spacing:-.01em}
.quiz-result p{color:var(--d-text);line-height:1.65;font-size:1.02rem}
.quiz-result .score-bar{height:6px;background:var(--d-line);border-radius:3px;margin:22px 0 8px;overflow:hidden}
.quiz-result .score-fill{height:100%;background:var(--claret);width:0;transition:width 1s ease .2s;border-radius:3px}
.quiz-result .score-cap{font-family:var(--sans);font-size:.75rem;letter-spacing:.1em;color:var(--d-muted);font-variant-numeric:tabular-nums}
.quiz-result .r-next-label{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--d-claret);margin-top:24px;padding-top:20px;border-top:1px solid var(--d-line)}
.quiz-result .r-next{font-family:var(--serif);font-size:1rem;line-height:1.62;color:var(--d-text);margin-top:8px}

/* ---------- field notes ---------- */
.notes-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;max-width:var(--diagram);margin:48px auto 0}
.note-card{background:var(--paper-card);border:1px solid var(--line-strong);border-radius:var(--r);padding:28px 26px;text-decoration:none;color:var(--ink);transition:border-color .22s,background .22s,transform .22s;display:block}
.note-card:hover{border-color:var(--claret);background:var(--paper);transform:translateY(-2px)}
.note-card .n-cat{font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:12px}
.note-card h3{font-family:var(--display);font-size:1.25rem;font-weight:600;line-height:1.3;margin-bottom:10px;letter-spacing:-.01em}
.note-card p{font-family:var(--sans);font-size:.88rem;color:var(--ink-soft);line-height:1.6}
.note-card .n-read{font-family:var(--sans);font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--claret-900);margin-top:16px;display:inline-block}

/* ---------- about / footer ---------- */
.about-card{max-width:var(--measure);margin:0 auto}
.about-card p{margin-bottom:1.35em}
.about-card .cta-row{margin-top:32px}
footer{border-top:1px solid var(--line);padding:44px 0}
.foot-inner{max-width:var(--container);margin:0 auto;padding:0 24px;display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}
footer p{font-family:var(--sans);font-size:.78rem;color:var(--ink-soft)}
footer .foot-invite{color:var(--claret-900);font-weight:600}

/* currency mark: render ¤ (U+00A4) in a stack that excludes Archivo,
   whose web subset lacks the glyph and boxes it instead of falling back */
.cur{font-family:'Segoe UI',Georgia,sans-serif;font-weight:inherit}
.nowrap{white-space:nowrap}

/* ---------- session meter (precision instrument, typographically native) ---------- */
.meter{position:fixed;bottom:18px;right:18px;z-index:80;font-family:var(--sans)}
.meter-pill{
  display:flex;align-items:center;gap:10px;
  background:var(--ink);color:var(--paper);
  border:1px solid var(--d-line);border-left:2px solid var(--claret);
  border-radius:var(--r);padding:9px 15px;
  font-family:var(--sans);font-size:.74rem;font-weight:600;letter-spacing:.04em;
  cursor:pointer;box-shadow:0 4px 16px rgba(32,26,18,.18);
  font-variant-numeric:tabular-nums;transition:transform .2s;
}
.meter-pill:hover{transform:translateY(-1px)}
.m-dot{width:8px;height:8px;border-radius:50%;background:var(--claret);animation:mpulse 2.4s ease infinite;flex:none}
@keyframes mpulse{0%,100%{box-shadow:0 0 0 0 rgba(142,29,51,.5)}50%{box-shadow:0 0 0 5px rgba(142,29,51,0)}}
.m-figures .m-sep{color:var(--d-muted);margin:0 2px}
.meter-pill.flash{animation:mflash .9s ease}
@keyframes mflash{0%,100%{background:var(--ink)}40%{background:var(--claret)}}
.meter-panel{position:absolute;bottom:52px;right:0;width:min(332px,88vw);background:var(--ink);color:var(--paper);border:1px solid var(--d-line);border-radius:var(--r);padding:20px 20px 16px;box-shadow:0 10px 34px rgba(32,26,18,.28)}
.m-title{font-size:.64rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--d-claret);margin-bottom:14px}
.m-row{display:flex;justify-content:space-between;align-items:baseline;font-size:.8rem;color:var(--d-text);padding:5px 0;font-variant-numeric:tabular-nums}
.m-row strong{color:var(--paper);font-weight:600}
.m-row.m-value strong{color:var(--d-muted);transition:color .5s}
.m-row.m-value.captured strong{color:var(--d-claret-lit);text-shadow:0 0 14px rgba(142,29,51,.55)}
.m-val-pulse{animation:mvalpulse .8s ease}
@keyframes mvalpulse{0%{transform:scale(1)}35%{transform:scale(1.14)}100%{transform:scale(1)}}
.m-thesis{font-family:var(--display);font-style:italic;font-size:.92rem;color:var(--paper);border-top:1px solid var(--d-line);border-bottom:1px solid var(--d-line);padding:11px 0;margin:11px 0;transition:color .5s}
.m-thesis.captured{color:var(--d-claret-lit)}
.m-ledger{max-height:150px;overflow-y:auto;margin-bottom:11px}
.m-entry{display:flex;gap:10px;font-size:.68rem;color:var(--d-muted);padding:3.5px 0;font-variant-numeric:tabular-nums;line-height:1.45}
.m-entry .m-t{color:var(--ink-soft);flex:none}
.m-entry .m-c{margin-left:auto;flex:none;color:#A8956F}
.m-entry.m-capture{color:var(--d-claret-lit)}
.m-entry.m-capture .m-c{color:var(--d-claret-lit);font-weight:700}
.m-foot{font-size:.66rem;color:var(--ink-soft);line-height:1.55}
@media(max-width:640px){.meter{bottom:14px;right:14px}.meter-pill{padding:8px 12px;font-size:.7rem}}

/* ---------- field note article pages ---------- */
.note-back{font-family:var(--sans);font-size:.8rem;font-weight:500;letter-spacing:.05em;color:var(--ink-soft);text-decoration:none;transition:color .18s}
.note-back:hover{color:var(--claret)}
.note{padding:calc(var(--navh) + var(--mast) + 56px) 0 24px}
.note-head{margin-bottom:34px;padding-bottom:26px;border-bottom:1px solid var(--line)}
.note-eyebrow{font-family:var(--sans);font-size:.72rem;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--claret-900);font-variant-numeric:tabular-nums}
.note-title{font-family:var(--display);font-weight:800;font-size:clamp(2rem,5vw,3rem);line-height:1.04;letter-spacing:-.02em;margin:14px 0 18px}
.note-dek{font-family:var(--serif);font-style:italic;font-size:clamp(1.15rem,2vw,1.32rem);line-height:1.5;color:var(--ink-soft);text-wrap:pretty}
.note-meta{font-family:var(--sans);font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-400);margin-top:20px}
.note-principle{font-family:var(--display);font-style:italic;font-weight:600;font-size:clamp(1.25rem,2.4vw,1.55rem);line-height:1.35;color:var(--claret-900);border-left:3px solid var(--claret);padding-left:22px;margin:32px 0}
.note-end{margin-top:38px;padding-top:24px;border-top:1px solid var(--line)}
.note-end p{font-family:var(--serif);font-style:italic;color:var(--ink-soft);line-height:1.6}
.note-end a{color:var(--claret-900);font-style:normal;text-decoration:underline;text-decoration-color:var(--claret);text-underline-offset:3px;text-decoration-thickness:1.5px}
.note-end a:hover{text-decoration-thickness:2.5px}
.note-more{margin-top:52px}
.note-more .nm-label{font-family:var(--sans);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:6px}
.note-more a{display:block;text-decoration:none;padding:16px 0;border-top:1px solid var(--line);color:var(--ink)}
.note-more a:last-child{border-bottom:1px solid var(--line)}
.note-more .nm-cat{display:block;font-family:var(--sans);font-size:.66rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}
.note-more .nm-title{display:block;font-family:var(--display);font-size:1.15rem;font-weight:600;margin-top:4px;letter-spacing:-.01em;transition:color .18s}
.note-more a:hover .nm-title{color:var(--claret)}

/* ---------- a11y ---------- */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
a:focus-visible,button:focus-visible{outline:2px solid var(--claret);outline-offset:2px;border-radius:1px}
#monday a:focus-visible,#monday button:focus-visible,.meter :focus-visible{outline-color:var(--d-claret)}

/* ---------- reduced motion: render final state ---------- */
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important}
  .rv{opacity:1;transform:none}
  .track-line{transform:scaleX(1)}
  .value-bracket::before,.value-bracket::after{opacity:1}
  html{scroll-behavior:auto}
}
