/* ============================================================
   refresh.css — Step 1: type / font / rendering system pass
   Loaded LAST. Overrides only — fully reversible (remove the
   <link> in index.html and delete this file to revert).
   Type-scale + line-height normalization live directly in
   styles.css; this file handles fonts, tokens, and polish.
   ============================================================ */

/* Brand accent token + font tokens (site's real families) */
:root {
  --accent: #25B0CF;
  --rp-mono: "geistmono-regular","JetBrains Mono",ui-monospace,Menlo,Consolas,monospace;
  --rp-sans: "helvetica-now-display-regular","Helvetica Neue",Helvetica,Arial,sans-serif;
  --rp-sans-med: "68832fb0ffba9b1995adac75-helveticanowdisplay-medium","helvetica-now-display-medium","Helvetica Neue",Helvetica,Arial,sans-serif;
}

/* --- Font unification -------------------------------------------------
   The export shipped two stray families (Helvetica Neue Light + Inter)
   used a handful of times. Re-point them at the Helvetica Now Display
   files so the whole page runs on exactly two typefaces:
   Helvetica Now Display (brand sans) + Geist Mono (instrument mono).
--------------------------------------------------------------------- */
@font-face {
  font-family: "helveticaneuelight";
  src: url("/assets/website/8ae6966c-d111-405c-8a81-b0b8dcabae69/helvetica-now-display-regular.ttf") format("truetype");
  font-weight: 100 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: helveticaneuelight;
  src: url("/assets/website/8ae6966c-d111-405c-8a81-b0b8dcabae69/helvetica-now-display-regular.ttf") format("truetype");
  font-weight: 100 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Inter";
  src: url("/assets/website/8ae6966c-d111-405c-8a81-b0b8dcabae69/helvetica-now-display-regular.ttf") format("truetype");
  font-weight: 100 700; font-style: normal; font-display: swap;
}

/* --- Rendering polish -------------------------------------------------
   Crisper type on the dark theme + real kerning/ligatures. This is the
   cheapest "premium" win and carries zero layout risk.
--------------------------------------------------------------------- */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  scroll-behavior: smooth;
}
body, #pwb-body-wrap {
  font-kerning: normal;
  font-feature-settings: "kern" 1, "liga" 1, "calt" 1;
}

/* Responsive safety: never let media force horizontal scroll */
#pwb-body-wrap img,
#pwb-body-wrap video,
#pwb-body-wrap canvas { max-width: 100%; }

/* ============================================================
   RAILS Platform: transplanted card design (from the approved
   _proto-rails-cards-v2 prototype). Replaces the three default
   cards inside #ev211 with the numbered left-to-right build.
   Reversible: restore index.html.bak2 + refresh.css.bak.
   ============================================================ */

/* remove the section eyebrow and neutralise the old container + frame so
   the new cards are not boxed inside the export's rounded panel */
#ev190 { display: none !important; }                       /* "/ The RAILS platform" eyebrow */
#ev211 { display: block !important; background: transparent !important; padding: 0 !important; }
#ev218 { border: none !important; overflow: visible !important; border-radius: 0 !important; }

#ev211 .rp-row { display: flex; align-items: stretch; gap: 14px; }
#ev211 .rp-card {
  position: relative; flex: 1 1 0; min-width: 0; display: flex; flex-direction: column;
  background: rgba(10,12,15,.55);
  backdrop-filter: blur(24px); -webkit-backdrop-filter: blur(24px);
  border: 1px solid rgba(255,255,255,.10); border-radius: 20px; padding: 24px 24px 26px;
  transition: transform .3s cubic-bezier(.4,0,.2,1), border-color .3s ease, box-shadow .3s ease;
}
#ev211 .rp-card:hover { transform: translateY(-5px); border-color: rgba(37,176,207,.5); box-shadow: 0 24px 60px rgba(0,0,0,.5); }
#ev211 .rp-hero {
  background: linear-gradient(180deg, rgba(37,176,207,.14), rgba(10,12,15,.55));
  border-color: rgba(37,176,207,.34);
  box-shadow: 0 0 0 1px rgba(37,176,207,.18), 0 30px 70px -30px rgba(37,176,207,.5);
}
#ev211 .rp-hero::before {
  content: ""; position: absolute; inset: 0 0 auto 0; height: 2px; border-radius: 20px 20px 0 0;
  background: linear-gradient(90deg, transparent, var(--accent), transparent);
}

#ev211 .rp-chead { display: flex; align-items: center; gap: 10px; margin-bottom: 16px; }
#ev211 .rp-idx {
  font-family: var(--rp-sans-med); font-size: 11px; letter-spacing: .12em; color: var(--accent);
  border: 1px solid rgba(37,176,207,.5); border-radius: 6px; padding: 3px 7px; background: rgba(37,176,207,.10);
}
#ev211 .rp-role { font-family: var(--rp-sans-med); font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: #868d95; }
#ev211 .rp-title { font-family: var(--rp-sans-med); font-weight: 500; font-size: 22px; letter-spacing: -.02em; color: #f3f5f6; margin: 0 0 9px; }
#ev211 .rp-desc { font-family: var(--rp-sans); color: #868d95; font-size: 14.5px; line-height: 1.55; margin: 0 0 22px; }

#ev211 .rp-spec {
  margin-top: auto; background: rgba(0,0,0,.28); border: 1px solid rgba(255,255,255,.06);
  border-radius: 13px; padding: 14px 14px 15px; min-height: 158px; display: flex; flex-direction: column;
}
#ev211 .rp-spec-head {
  display: flex; justify-content: space-between; align-items: center; margin-bottom: 12px;
  font-family: var(--rp-sans-med); font-size: 10.5px; letter-spacing: .14em; text-transform: uppercase; color: #565c64;
}
#ev211 .rp-end { justify-content: flex-end; }
#ev211 .rp-tag { color: #868d95; border: 1px solid rgba(255,255,255,.10); border-radius: 5px; padding: 2px 6px; font-size: 9.5px; }
#ev211 .rp-live { color: var(--accent); }
#ev211 .rp-live b {
  display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--accent); margin-right: 5px;
  box-shadow: 0 0 8px var(--accent); animation: rpBlink 1.8s ease-in-out infinite;
}
@keyframes rpBlink { 0%,100% { opacity: 1 } 50% { opacity: .35 } }

#ev211 .rp-rrow { display: grid; grid-template-columns: 1fr 20px 42px; align-items: center; gap: 9px; margin: 9px 0; }
#ev211 .rp-bar { height: 7px; border-radius: 4px; background: rgba(255,255,255,.08); overflow: hidden; }
#ev211 .rp-bar i { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, rgba(37,176,207,.5), var(--accent)); }
#ev211 .rp-grade { font-family: var(--rp-sans-med); font-size: 12px; color: var(--accent); text-align: center; }
#ev211 .rp-val { font-family: var(--rp-sans-med); font-size: 12px; color: #c7ccd1; text-align: right; }

#ev211 .rp-score-line { display: flex; align-items: baseline; gap: 12px; margin: 2px 0 4px; }
#ev211 .rp-score-num { font-family: var(--rp-sans-med); font-weight: 500; font-size: 56px; line-height: 1; letter-spacing: -.03em; color: #fff; }
#ev211 .rp-delta { font-family: var(--rp-sans-med); font-size: 13px; color: var(--accent); }
#ev211 .rp-spark { margin-top: auto; }
#ev211 .rp-score-foot { font-family: var(--rp-sans-med); font-size: 11px; letter-spacing: .06em; color: #868d95; margin-top: 10px; }

#ev211 .rp-gate-row { display: flex; align-items: center; gap: 10px; font-family: var(--rp-sans-med); font-size: 12px; margin: 7px 0; }
#ev211 .rp-out { color: #c7ccd1; }
#ev211 .rp-chip { margin-left: auto; font-size: 11px; letter-spacing: .1em; padding: 3px 9px; border-radius: 6px; }
#ev211 .rp-pass { color: var(--accent); background: rgba(37,176,207,.10); border: 1px solid rgba(37,176,207,.5); }
#ev211 .rp-hold { color: #e5686c; background: rgba(229,104,108,.1); border: 1px solid rgba(229,104,108,.45); }
#ev211 .rp-gate-note { font-family: var(--rp-sans-med); font-size: 10.5px; letter-spacing: .04em; color: #565c64; margin: 2px 0 10px 2px; }
#ev211 .rp-passnote { color: var(--accent); }
#ev211 .rp-gate-sep { height: 1px; background: rgba(255,255,255,.06); margin: 6px 0; }
#ev211 .rp-muted { opacity: .55; }

#ev211 .rp-conn { flex: 0 0 30px; position: relative; align-self: stretch; }
#ev211 .rp-conn::before {
  content: ""; position: absolute; bottom: 104px; left: -6px; right: 9px; height: 3px; border-radius: 3px;
  background: linear-gradient(90deg, rgba(37,176,207,.3), var(--accent));
}
#ev211 .rp-conn::after {
  content: ""; position: absolute; bottom: 105px; right: 0; transform: translateY(50%);
  width: 0; height: 0; border-left: 15px solid var(--accent); border-top: 9px solid transparent; border-bottom: 9px solid transparent;
  filter: drop-shadow(0 0 8px rgba(37,176,207,.7)); animation: rpFlow 2s ease-in-out infinite;
}
#ev211 .rp-c2::after { animation-delay: .5s; }
@keyframes rpFlow { 0%,100% { opacity: .6 } 50% { opacity: 1 } }

@media (max-width: 860px) { #ev211 .rp-row { flex-direction: column; } #ev211 .rp-conn { display: none; } }

/* ============================================================
   Scroll-progress bar. The site hides the native scrollbar and
   uses Lenis (overflow:clip), so a native bar cannot work. This
   is a custom accent indicator pinned to the right edge, filled
   by scroll position via a small script in index.html. Reversible.
   ============================================================ */
#rp-progress-track {
  position: fixed; top: 0; right: 0; width: 4px; height: 100vh;
  background: rgba(255,255,255,.12); z-index: 2147483647; pointer-events: none;
}
#rp-progress-fill {
  position: absolute; top: 0; left: 0; width: 100%; height: 100%;
  transform-origin: top; transform: scaleY(0);
  background: linear-gradient(180deg, #25B0CF, #5fd0e8);
  box-shadow: 0 0 8px rgba(37,176,207,.65);
}


/* ============================================================
   Autonomous Future: text boxes -> illustrated vision scenes.
   Replaces #ag_grid's four cards with .af-* illustrated cards.
   ============================================================ */
#ag_grid{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:18px!important;background:none!important;border:none!important;padding:0!important;}
#ag_grid .af-card{position:relative;border:1px solid rgba(255,255,255,.09);border-radius:20px;padding:20px 22px 26px;
  background:linear-gradient(180deg,rgba(255,255,255,.02),rgba(255,255,255,0));transition:transform .3s cubic-bezier(.4,0,.2,1),border-color .3s ease;}
#ag_grid .af-card:hover{transform:translateY(-5px);border-color:rgba(37,176,207,.45);}
#ag_grid .af-scene{position:relative;height:132px;border-radius:14px;overflow:hidden;margin-bottom:18px;
  background:radial-gradient(120% 90% at 50% 0%,rgba(37,176,207,.10),rgba(0,0,0,.25));border:1px solid rgba(255,255,255,.05);}
#ag_grid .af-scene svg{position:absolute;inset:0;width:100%;height:100%;}
#ag_grid .af-title{font-family:var(--rp-sans-med);font-weight:500;font-size:21px;letter-spacing:-.02em;color:#f4f6f7;margin:0 0 8px;}
#ag_grid .af-cap{font-family:var(--rp-sans);color:#9198a0;font-size:14px;line-height:1.5;margin:0;}
#ag_grid .af-dash{stroke-dasharray:2.5 3.5;}
@keyframes afDrift{to{stroke-dashoffset:-24;}}
#ag_grid .af-flowln{animation:afDrift 1.6s linear infinite;}
@media(max-width:900px){#ag_grid{grid-template-columns:1fr 1fr!important;}}
@media(max-width:520px){#ag_grid{grid-template-columns:1fr!important;}}
/* Display face: Anton (headlines only), self-hosted */
@font-face{font-family:"Anton";src:url("/fonts/anton.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
:root{ --display:"Anton","Arial Narrow",sans-serif; }

/* ============================================================
   $1T editorial system pass. Eyebrows removed; Anton (display)
   on the hero + clean section headlines; accent on hero payload.
   Body/support stays Helvetica Now. WebGL and Research untouched.
   ============================================================ */
#ev_why_eyebrow,#ag_eyebrow,#ir_k_inputs,#ir_k_fit,#mn_eyebrow,#hr_we_eyebrow{display:none!important;}
#ev003,#ag_title,#ir_title,#ev183,#ev413,#ev590,#ev297,#ev750{
  font-family:var(--display)!important;font-weight:400!important;
  text-transform:uppercase!important;letter-spacing:.008em!important;line-height:.98!important;
}
#ieagqp2{color:var(--accent)!important;}

#ag_label{display:none!important;}

/* Inside RAILS: 3D mesh schematic replaces the tile grid (transparent over WebGL) */
#ir_grid{display:block!important;background:none!important;grid-template-columns:none!important;padding:0!important;}
#rp-mesh text{font-family:var(--rp-sans);}

/* ============================================================
   Opaque cards (Adrian's call): solid surfaces so they do not
   compete with the WebGL background; WebGL lives in the gaps.
   ============================================================ */
#ev211 .rp-card,#ag_grid .af-card{
  background:linear-gradient(180deg,#101319,#0b0d11)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border-color:rgba(255,255,255,.08)!important;}
#ev211 .rp-hero{ /* the Score card = the cyan hub */
  background:linear-gradient(180deg,#0f2c36,#0a1519)!important;
  border-color:rgba(37,176,207,.45)!important;
  box-shadow:0 0 0 1px rgba(37,176,207,.2),0 30px 70px -30px rgba(37,176,207,.5)!important;}
#ev211 .rp-spec{background:#070a0e!important;}
#ag_grid .af-scene{background:#070a0e!important;}
#ir_inputs_panel{background:#0b0d11!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}

/* ============================================================
   RAILS Platform ornament strip: no arrows, no pills, no mono
   chrome. Everything to Helvetica Now (locked language).
   ============================================================ */
#ev211 .rp-conn::before,#ev211 .rp-conn::after{display:none!important;}
#ev211 .rp-idx,#ev211 .rp-role,#ev211 .rp-spec-head,#ev211 .rp-live,#ev211 .rp-tag,#ev211 .rp-chip,#ev211 .rp-grade,#ev211 .rp-val,#ev211 .rp-gate-row,#ev211 .rp-score-foot,#ev211 .rp-out,#ev211 .rp-gate-note{font-family:var(--rp-sans)!important;}
#ev211 .rp-idx{border:none!important;background:none!important;padding:0!important;color:var(--accent)!important;font-weight:500!important;font-size:14px!important;letter-spacing:0!important;}
#ev211 .rp-role,#ev211 .rp-spec-head,#ev211 .rp-live,#ev211 .rp-tag{text-transform:none!important;letter-spacing:0!important;}
#ev211 .rp-tag,#ev211 .rp-chip{border:none!important;background:none!important;padding:0!important;}

/* ============================================================
   B2 highlight accent, approved 2026-07-06. Cyan block, ink
   text, straight vertical edges. Replaces cyan-text accents on
   the hero and all section headline accent words, the manifesto
   payoff, the Mindlas headline, and the footer echo. Placed last
   so it wins over the earlier cyan color rules.
   ============================================================ */
#ieagqp2,#irfurgo,#izowuwh,#iv2hixg,#im5tnil,#iwoob7c,#inl97fs,#ag_hl,#ir_hl,#ev154,#mn-hero .mn-h .a{
  background:var(--accent);
  color:#06090c!important;
  display:inline-block;
  line-height:1.05;
  padding:.03em .2em .07em;
  white-space:nowrap;
}
/* the manifesto payoff runs long; let it wrap on narrow viewports */
#ev154{white-space:normal;}

/* ============================================================
   Rhythm pass, approved 2026-07-06 (reference: _proto-rhythm.html).
   1) Manifesto standalone beat   2) Inside RAILS condensed band
   3) Report Cards axis flip      4) Stats full-bleed band
   ============================================================ */

/* 1. Manifesto: alone in the viewport. Eyebrow removed 2026-07-08
   per founder note ("remove WHY RAILS"). */
#ilwyn{min-height:100vh;display:flex;flex-direction:column;justify-content:center;}
#ev_why_eyebrow{display:none!important;}

/* 2026-07-06 pm: Inside RAILS condensation and Report Cards flip REVERTED per founder review. */

/* 4. Stats: full-bleed band, hairline separators, no card chrome */
#ev703,#ev707,#ev711,#ev715{background:transparent!important;border:0!important;border-radius:0!important;border-left:1px solid rgba(255,255,255,.12)!important;padding:6px 28px!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;}
#ev703{border-left:0!important;padding-left:0!important;}
#ev716 .ev-count{font-family:var(--display)!important;font-weight:400!important;letter-spacing:.01em!important;}
@media(max-width:900px){#ev703,#ev707,#ev711,#ev715{border-left:0!important;padding:6px 0!important;}}

/* Hero: entrance runs on page load, not on the IntersectionObserver.
   The observer added its own latency; above-the-fold content skips it. */
html.evai-rv #ev003,html.evai-rv #ev007,html.evai-rv #ev010,html.evai-rv #ev017{opacity:1!important;animation:evReveal .5s cubic-bezier(.2,.7,.2,1) backwards!important;}
html.evai-rv #ev003{animation-delay:.05s!important;}
html.evai-rv #ev007{animation-delay:.18s!important;}
html.evai-rv #ev010{animation-delay:.3s!important;}
html.evai-rv #ev017{animation-delay:.42s!important;}

/* Manifesto: the three sentence blocks land one after the other */
html.evai-rv #ev155.ev-in{animation-duration:.01s!important;animation-delay:0s!important;}
html.evai-rv .ev-rv#ev155:not(.ev-in) #ev152,
html.evai-rv .ev-rv#ev155:not(.ev-in) #ev155b,
html.evai-rv .ev-rv#ev155:not(.ev-in) #ev154{opacity:0;}
html.evai-rv #ev155.ev-in #ev152,
html.evai-rv #ev155.ev-in #ev155b,
html.evai-rv #ev155.ev-in #ev154{animation:evReveal .6s cubic-bezier(.2,.7,.2,1) backwards;}
html.evai-rv #ev155.ev-in #ev152{animation-delay:.05s;}
html.evai-rv #ev155.ev-in #ev155b{animation-delay:.7s;}
html.evai-rv #ev155.ev-in #ev154{animation-delay:1.35s;}

/* Hero sub-line: the three phrases flow naturally left with a single
   word-space between them. Periods rendered as cyan squares. */
#ev007{display:flex;flex-wrap:wrap;justify-content:flex-start;align-items:baseline;column-gap:.65em;row-gap:.3em;width:auto;max-width:100%;}
#ev007 .evc{white-space:nowrap;}
#ev004,#ev005,#ev006{display:none!important;}
#ev007 .evc::after{content:"";display:inline-block;width:.3em;height:.3em;background:var(--accent);margin-left:.38em;}

/* ============================================================
   Fixes 2026-07-07 pm.
   1) Who-uses cascade cards get a cyan border + faint glow to pop.
   2) Cyan-highlighted display words read optically thinner than the
      white title even though both are Anton 400 (dark-on-bright
      irradiation). Anton is single-weight, so a hairline text-stroke
      in the ink colour thickens the glyphs back to a visual match.
   ============================================================ */
#ev338 .uc{border:1px solid rgba(37,176,207,.5)!important;box-shadow:0 30px 60px -34px rgba(0,0,0,.9),0 0 22px -6px rgba(37,176,207,.28)!important;}
#ev338 .uc:hover{border-color:rgba(37,176,207,.85)!important;box-shadow:0 34px 70px -30px rgba(37,176,207,.4)!important;}
#irfurgo,#iv2hixg,#im5tnil,#iwoob7c,#inl97fs,#ag_hl,#ir_hl,#rp-ch .payoff .should{-webkit-text-stroke:.5px #06090c;}
/* izowuwh removed 2026-07-09: on the white Report Cards card the
   neighbor title is black, so the stroke read as fuzz and a second
   black. Ink matched to the title exactly. */
#izowuwh{-webkit-text-stroke:0!important;color:#000!important;}

/* ============================================================
   Story pass 2, approved 2026-07-06 pm.
   1) Clearinghouse: can-vs-should leads, mechanics follow
   2) Act-two pause before THE RAILS PLATFORM.
   3) Team: founders elevated, other bios clamped
   4) Who uses RAILS: lede moves to the right column
   ============================================================ */

/* 1. Clearinghouse story order: the can-vs-should payoff leads the section,
   the how-it-works headline and mechanics card follow it */
#rp-ch{display:flex;flex-direction:column;}
#rp-ch > .payoff{order:-1;margin-top:0!important;margin-bottom:20px!important;}
#rp-ch > h2{margin-top:72px!important;font-size:clamp(22px,2vw,30px)!important;letter-spacing:.01em;}

/* 2. Breathing before the act-two opener */
#ilwyn-2{margin-top:160px!important;}

/* 3. Team hierarchy: founders larger, staff bios clamped to two lines */
#tm2_m1_hs,#tm2_m2_hs{width:96px!important;height:96px!important;}
#tm2_m1_name,#tm2_m2_name{font-size:22px!important;}
#tm2_m3_bio,#tm2_m4_bio,#tm2_m5_bio,#tm2_m6_bio,#tm2_m7_bio,#tm2_m8_bio{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}

/* 4. Who uses RAILS: headline left, lede right, diagonal into the grid */
#ev339{display:grid;grid-template-columns:1fr 1fr;column-gap:56px;align-items:end;}
#ev297{grid-column:1;margin-bottom:0!important;}
#ev301{grid-column:2;margin:0!important;}
#ev338{grid-column:1/-1;}
@media(max-width:900px){#ev339{display:block;}}

/* Platform: acronym expansion as a prominent sub-line */
#ev184{font-family:var(--rp-sans-med)!important;font-size:clamp(15px,1.4vw,21px)!important;letter-spacing:.01em!important;text-transform:none!important;background:var(--accent)!important;color:#06090c!important;display:inline-block;padding:.16em .5em .22em;white-space:nowrap;margin:16px 0 0!important;}
@media(max-width:640px){#ev184{white-space:normal;font-size:13.5px!important;}}

/* Inside RAILS: flow diagram first, the six input features below it */
#ev293{display:flex;flex-direction:column;}
#ev293 > #ir_title{order:1;}
#ev293 > #ir_caption{order:2;}
#ev293 > #ir_mesh_wrap{order:3;}
#ev293 > #ir_body{order:4;}
#ev293 > #ir_inputs_panel{order:5;margin-top:44px;}

/* Clearinghouse payoff: should. gets the B2 highlight */
#rp-ch .payoff .should{background:var(--accent);color:#06090c!important;display:inline-block;line-height:1.05;padding:.03em .18em .07em;white-space:nowrap;}

/* Mindlas: explicit left alignment */
#mn-hero .mn-h,#mn-hero .mn-body{text-align:left;}

/* Report Cards homepage embed: strip the research-snapshot line */
#ev424{display:none!important;}

/* Report Cards teaser window: header + ~5 rows, fade at the cut,
   and (where supported) the rows drift up as the section moves
   through the viewport */
#ev504 .table-shell{max-height:344px;overflow:hidden!important;position:relative;}
#ev504 .table-shell::after{content:"";position:absolute;left:0;right:0;bottom:0;height:64px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff);pointer-events:none;}
/* the site scrolls via transform (Lenis), so viewport-driven timelines
   never advance; a slow time-based drift gives the same living-preview feel */
/* 2026-07-10: Report Cards teaser scrolls in a continuous downward loop (was ping-pong). */
#ev504 #tableView tbody{animation:rcLoop 46s linear infinite;will-change:transform;}
#ev504:hover #tableView tbody{animation-play-state:paused;}
@keyframes rcLoop{from{transform:translateY(0)}to{transform:translateY(-50%)}}

to{transform:translateY(max(calc(344px - 100%),-1100px))}}

/* Report Cards footer links: methodology gone, Explore becomes the cyan CTA */
#ev507{background:var(--accent)!important;border-radius:999px;padding:11px 22px;}
#ev507 p{color:#06090c!important;font-weight:500;}
#ev507 img{filter:invert(1) brightness(0);}
#ev510{display:none!important;}

/* Agent-era cards: transaction-pair eyebrows */
#ag_grid .af-pair{font-family:var(--rp-sans-med);font-weight:500;font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:#25B0CF;margin:0 0 12px;} /* 2026-07-10: out of mono per no-interface-fonts rule */ /* 2026-07-10: card eyebrows cyan per founder */

/* Markets: the light bar breathes */
@keyframes afBar5{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
#ag_grid .af-bar5{animation:afBar5 2.8s ease-in-out infinite;}

/* Autonomous: cars face down the lanes */
#ag_grid .af-card:nth-child(4) .af-scene g[fill] > g{transform:rotate(90deg);transform-box:fill-box;transform-origin:center;}

/* Inside RAILS mesh panel: text left, mesh right, no page-centered sprawl */
#ev293 > #ir_inputs_panel{margin-top:28px;display:flex!important;flex-direction:row!important;align-items:center!important;gap:56px;}
#ir_k_txt{flex:5 1 0;}
#ir_grid{flex:7 1 0;}
#ir_k_inputs{display:block!important;font-family:var(--rp-sans-med)!important;text-transform:none!important;letter-spacing:-.01em!important;font-size:19px!important;line-height:1.35!important;color:#f4f6f7!important;margin:0!important;text-align:left;}
#ir_k_body{font-family:var(--rp-sans);font-size:15px;line-height:1.6;color:#9aa1a8;margin:14px 0 0;max-width:44ch;text-align:left;}
#ir_grid svg#rp-mesh{max-width:100%!important;margin:0!important;}
#rp-mesh circle[r="3"]{display:none!important;}
@media(max-width:900px){#ev293 > #ir_inputs_panel{display:block;}#ir_k_txt{margin-bottom:24px;}}
@keyframes meshFlow{to{stroke-dashoffset:-9;}}
#rp-mesh path[stroke-dasharray]{animation:meshFlow 1.5s linear infinite;}

/* ============================================================
   Mindlas product island, approved 2026-07-06 pm.
   Monochrome metal slab floating above the WebGL field; the
   vitals screen is the only color. Terminal-select animation
   on MINDLAS. Reference: _proto-mindlas-standout.html
   ============================================================ */
#ev409{max-width:1240px;margin:72px auto!important;border-radius:26px;
border:1px solid rgba(255,255,255,.22);
background:
 radial-gradient(1100px 420px at 14% -4%, rgba(255,255,255,.10), transparent 58%),
 linear-gradient(160deg,#22262c 0%,#16181c 34%,#0e1013 78%,#0c0e11 100%);
box-shadow:0 80px 160px -40px rgba(0,0,0,.95),0 30px 60px -30px rgba(0,0,0,.8),inset 0 1px 0 rgba(255,255,255,.28),inset 0 -1px 0 rgba(0,0,0,.6);
padding:16px 48px 40px!important;}
#ev408{padding-top:52px!important;padding-bottom:28px!important;}

.mn-avail{display:flex;align-items:center;gap:12px;margin:0 0 30px;font-family:var(--rp-sans-med);font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#c7ccd1;}
.mn-avail i{width:7px;height:7px;background:#e8eaec;box-shadow:0 0 10px rgba(255,255,255,.7);animation:mnPulse 2s ease-in-out infinite;}
@keyframes mnPulse{0%,100%{opacity:1}50%{opacity:.35}}

/* monochrome dialect inside the island */
#mn-hero .mn-cta{background:#f4f6f7!important;color:#0a0c0f!important;border-radius:999px!important;padding:13px 26px!important;}
#mn-hero .mn-cta:hover{background:#fff!important;}
#mn-hero .mn-cta2{display:inline-flex;align-items:center;gap:6px;margin:30px 0 0;font-family:var(--rp-sans-med),Helvetica,Arial,sans-serif;font-weight:500;font-size:15px;color:#0a0c0f;background:#f4f6f7;border:0;border-radius:5px;padding:14px 26px;text-decoration:none;}
#mn-hero .mn-cta2:hover{background:#ffffff;}
#mn-hero .mn-card{border-color:rgba(255,255,255,.25)!important;background:#0a0c0f!important;box-shadow:0 34px 90px -34px rgba(0,0,0,.9)!important;}
#mn-hero .mn-live b{background:#e8eaec!important;box-shadow:0 0 8px rgba(255,255,255,.7)!important;}
#ev407{background:rgba(0,0,0,.3)!important;border:1px solid rgba(255,255,255,.1)!important;box-shadow:none!important;}

/* MINDLAS terminal-select: blinking cursor, then the white box sweeps
   across the word. Static end state (no JS) is the plain white block. */
#mn-hero .mn-h .a{position:relative;white-space:nowrap;display:inline-block;
color:transparent!important; /* rev 3: word is drawn by the ::before ink only, so untyped letters are invisible */
background:linear-gradient(#f4f6f7,#f4f6f7) no-repeat left center/100% 100%;
padding:.03em .18em .07em;}
#mn-hero .mn-h .a::before{content:"/Mindlas";position:absolute;inset:0;padding:.03em .18em .07em;box-sizing:border-box;color:#0a0c0f;}
/* rev 5, 2026-07-13 (founder spec): the "/" flashes ONCE and stays; the
   word then types after it so the finished box reads "/Mindlas" and the
   slash never disappears. The slash lives on ::after (solid after its
   single flash); ::before types "/Mindlas" over it, the overlapping
   slash glyphs coincide exactly. Holds, then the 7s cycle repeats. */
html.evai-rv #mn-hero.ev-in .mn-h .a::before{animation:mnInk 7s linear .3s infinite both;}
#mn-hero .mn-h .a::after{content:"/";position:absolute;inset:0;padding:.03em .18em .07em;box-sizing:border-box;color:#0a0c0f;opacity:0;}
html.evai-rv #mn-hero.ev-in .mn-h .a::after{animation:mnSlash 7s linear .3s infinite both;}
@keyframes mnInk{
 0%,19.97%{clip-path:inset(0 100% 0 0);}
 20%,22.5%{clip-path:inset(0 92% 0 0);}
 22.53%,24.97%{clip-path:inset(0 74% 0 0);}
 25%,27.4%{clip-path:inset(0 69% 0 0);}
 27.43%,29.83%{clip-path:inset(0 55% 0 0);}
 29.86%,32.26%{clip-path:inset(0 41% 0 0);}
 32.29%,34.69%{clip-path:inset(0 30% 0 0);}
 34.71%,37.11%{clip-path:inset(0 16% 0 0);}
 37.14%,100%{clip-path:inset(0 0 0 0);}
}
@keyframes mnSlash{
 0%,6.4%{opacity:1;}
 6.43%,12.83%{opacity:0;}
 12.86%,100%{opacity:1;}
}

/* ============================================================
   Team photos, 2026-07-06 pm (Adrian's call, rev 2).
   All eight photos one size: 112px. The base export pinned the
   img elements at 72px independently of their containers; imgs
   now fill their container. Clamped bios (ending in the line-
   clamp ellipsis) expand on click via .tm-bio-open, wired by a
   small script at the end of index.html.
   ============================================================ */
#tm2_m1_hs,#tm2_m2_hs,#tm2_m3_hs,#tm2_m4_hs,#tm2_m5_hs,#tm2_m6_hs,#tm2_m7_hs,#tm2_m8_hs{width:112px!important;height:112px!important;}
#i4jck06,#i8d2vvi,#iapflts,#ie6q2zz,#ipg9p5i,#ir5asrh,#ivezcki,#ix3obj4{width:100%!important;height:100%!important;object-fit:cover;}
@media(max-width:640px){
  #tm2_m1_hs,#tm2_m2_hs,#tm2_m3_hs,#tm2_m4_hs,#tm2_m5_hs,#tm2_m6_hs,#tm2_m7_hs,#tm2_m8_hs{width:88px!important;height:88px!important;}
}
/* rev 3, 2026-07-06 pm: all bios fully visible, no clamp, no toggle */
#tm2_m3_bio,#tm2_m4_bio,#tm2_m5_bio,#tm2_m6_bio,#tm2_m7_bio,#tm2_m8_bio{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important;}

/* ============================================================
   Lab logo tiles, 2026-07-06 pm (Adrian's call): no cyan
   highlight on any logo. The export left the first tile (OpenAI,
   ev162) with the accent border and tint while ev164-ev176 were
   reset to neutral; ev162 now matches its siblings.
   ============================================================ */
#ev162{background-color:rgba(10,12,15,.45)!important;border:1px solid rgba(255,255,255,.08)!important;}
#ev162:hover{border-color:rgba(255,255,255,.16)!important;}

/* ============================================================
   Stats band cleanup, 2026-07-06 pm (Adrian's call): the caption
   hairlines read as borders around the numbers, and captions were
   bottom-aligned so one-line and two-line captions started at
   different heights. Hairlines gone; captions top-aligned at a
   fixed gap under the numbers. Vertical column separators stay.
   ============================================================ */
#ev702,#ev706,#ev710,#ev714{border:0!important;padding-top:0!important;margin-top:12px!important;}
#ev703,#ev707,#ev711,#ev715{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;align-items:flex-start!important;gap:0!important;}

/* ============================================================
   Stats band rev 2, 2026-07-06 pm (Adrian's call): no separators
   at all — the band is just numbers over captions. Numbers step
   up to 76px bold.
   ============================================================ */
#ev703,#ev707,#ev711,#ev715{border:0!important;padding-left:0!important;}
#ev717{border:0!important;} /* band frame line above the numbers */
#ev179{border-top:0!important;} /* logos-section divider directly below the numbers */
#ev716 #ev700,#ev716 #ev704,#ev716 #ev708,#ev716 #ev712{font-size:72px!important;line-height:1!important;font-weight:400!important;}
@media(max-width:640px){
  #ev716 #ev700,#ev716 #ev704,#ev716 #ev708,#ev716 #ev712{font-size:56px!important;}
}

/* ============================================================
   Stats band rev 3, 2026-07-06 pm (Adrian's call): the 1.23M
   counter is removed; the remaining three figures are centered
   as a group.
   ============================================================ */
#ev715{display:none!important;}
#ev716{display:flex!important;justify-content:center!important;gap:140px!important;}
#ev703,#ev707,#ev711{flex:0 1 auto!important;width:auto!important;min-width:0!important;max-width:340px;padding:6px 0!important;}
@media(max-width:900px){
  #ev716{flex-direction:column!important;gap:40px!important;align-items:center!important;}
}

/* ============================================================
   RAILS Platform white cards, approved 2026-07-06 pm (proto
   _proto-rails-cards-white.css + dark-dashboard v2 overlay).
   Supersedes the "Opaque cards" treatment for #ev211 only:
   paper-white shells with the dark instrument dashboards kept
   inside; ink type; Score card stays the hero via cyan crown
   and halo on white. Interior instrument colors are the
   original dark-design values and are restated here so this
   block is self-contained.
   ============================================================ */
#ev211 .rp-card{
  background:linear-gradient(180deg,#ffffff,#eef0f2)!important;
  border:1px solid rgba(0,0,0,.10)!important;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.85)!important;
}
#ev211 .rp-card:hover{border-color:rgba(0,0,0,.28)!important;}
/* rev 2026-07-06 pm: no cyan borders on the white cards. The Score
   card keeps only its faint cyan interior wash for hierarchy; border,
   halo, crown line, and hover all neutral. */
#ev211 .rp-hero{
  background:linear-gradient(180deg,#ffffff,#e8f4f8)!important;
  border-color:rgba(0,0,0,.10)!important;
  box-shadow:0 30px 70px -30px rgba(0,0,0,.85)!important;
}
#ev211 .rp-hero::before{display:none!important;}
#ev211 .rp-title{color:#0b0d11!important;}
#ev211 .rp-desc{color:#4a5158!important;}
#ev211 .rp-role{color:#6a7178!important;}
#ev211 .rp-idx{color:#0e93b0!important;}
#ev211 .rp-spec{background:linear-gradient(180deg,#0d1014,#080a0d)!important;border:1px solid rgba(0,0,0,.55)!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)!important;}
#ev211 .rp-spec-head{color:#6f767e!important;}
#ev211 .rp-tag{color:#868d95!important;}
#ev211 .rp-live{color:#25B0CF!important;}
#ev211 .rp-bar{background:rgba(255,255,255,.08)!important;}
#ev211 .rp-val{color:#c7ccd1!important;}
#ev211 .rp-grade{color:#25B0CF!important;}
#ev211 .rp-score-num{color:#ffffff!important;}
#ev211 .rp-delta{color:#25B0CF!important;}
#ev211 .rp-score-foot{color:#868d95!important;}
#ev211 .rp-out{color:#c7ccd1!important;}
#ev211 .rp-gate-note{color:#6f767e!important;}
#ev211 .rp-passnote{color:#25B0CF!important;}
#ev211 .rp-gate-sep{background:rgba(255,255,255,.08)!important;}
#ev211 .rp-pass{color:#25B0CF!important;background:rgba(37,176,207,.10)!important;border:1px solid rgba(37,176,207,.5)!important;padding:3px 9px!important;}
#ev211 .rp-hold{color:#e5686c!important;background:rgba(229,104,108,.1)!important;border:1px solid rgba(229,104,108,.45)!important;padding:3px 9px!important;}

/* Cards animate in one at a time, left to right, when the section
   scrolls into view. Keyed to #ev218's existing ev-rv reveal; row
   children are card / conn / card / conn / card, hence 1-3-5. */
html.evai-rv #ev218.ev-rv:not(.ev-in) .rp-card{opacity:0;}
html.evai-rv #ev218.ev-in .rp-card{animation:rpCardIn .55s cubic-bezier(.2,.7,.2,1) backwards;}
html.evai-rv #ev218.ev-in .rp-row .rp-card:nth-child(1){animation-delay:.05s;}
html.evai-rv #ev218.ev-in .rp-row .rp-card:nth-child(3){animation-delay:.32s;}
html.evai-rv #ev218.ev-in .rp-row .rp-card:nth-child(5){animation-delay:.59s;}
@keyframes rpCardIn{from{opacity:0;transform:translateY(26px);}to{opacity:1;transform:none;}}

/* ============================================================
   Platform section strips removed, 2026-07-06 pm (Adrian's
   call): the "Real-time integrity infrastructure" header strip
   (#ev192) and the "Powering four institutional surfaces" strip
   (#ev217) are gone; the three white cards stand alone.
   ============================================================ */
#ev192{display:none!important;}
#ev217{display:none!important;}

/* ============================================================
   Inside RAILS + Clearinghouse opacity pass, 2026-07-06 pm
   (Adrian's call). The mesh flow panel, the Verification Inputs
   panel, and the two settlement flow cards were translucent
   (rgba .025 + backdrop blur), letting the WebGL field bleed
   through; the inputs panel also read blue-toned (#0b0d11).
   All four now share one opaque neutral-graphite card recipe so
   the section reads cohesive.
   ============================================================ */
#ir_mesh_wrap,#ir_inputs_panel,#fl_p1,#fl_p2{
  background:linear-gradient(180deg,#121316,#0c0d0f)!important;
  backdrop-filter:none!important;-webkit-backdrop-filter:none!important;
  border:1px solid rgba(255,255,255,.09)!important;
}

/* ============================================================
   The Live Gate, approved 2026-07-07 (proto W1, monochrome
   wireframe). Replaces the earlier cyan volumetric scene. Two
   scenarios (agent-to-agent, agent-to-merchant) auto-rotate,
   each telling a two-case story (a trusted output clears, a
   wrong output is held). Rail-accurate attribution marks sit
   below the scene; RAILS and the traveling transaction are the
   only cyan. The old three-column logo strip is hidden as
   redundant; the outcome line and disclaimer are retained.
   ============================================================ */
#hr_samegate{display:none!important;}
#fl_wrap{display:none!important;}
/* the three-column logo strip is now redundant: the scene attributes every
   mark per-station with role captions. Hidden; the outcome line and the
   "no partnership or endorsement" disclaimer (#hr_we_disc) are retained. */
#rp-ch .stack{display:none!important;}
#rp-lg{--lg-mut:#868d95;--lg-dim:#565c64;--lg-red:#e5686c;}
#rp-lg .lg-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;}
/* 2026-07-13: four-segment run progress across the top of the stage, one
   segment per case (2 scenarios x 2 cases), so viewers know to stay for
   all four. Active segment fills over roughly one run; jumps done on the
   next case regardless. Driven from announceCase. */
#rp-lg .lg-progress{display:flex;gap:6px;margin:16px 0 2px;}
#rp-lg .lg-progress i{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.13);position:relative;overflow:hidden;display:block;}
#rp-lg .lg-progress i::after{content:'';position:absolute;inset:0;border-radius:2px;background:#25B0CF;transform:scaleX(0);transform-origin:left center;}
/* done segments stay fully lit; dimming them read as the bar resetting */
#rp-lg .lg-progress i.done::after{transform:scaleX(1);opacity:.9;}
#rp-lg .lg-progress i.active::after{animation:lgSegFill 9.6s linear forwards;}
@keyframes lgSegFill{from{transform:scaleX(0)}to{transform:scaleX(1)}}
#rp-lg .lg-title{font-family:var(--rp-sans-med);font-size:19px;letter-spacing:-.01em;color:#f4f6f7;}
#rp-lg .lg-sub{font-family:var(--rp-sans);font-size:14px;color:#9aa2aa;letter-spacing:.01em;margin-top:6px;}
#rp-lg .lg-chips{display:flex;gap:8px;}
#rp-lg .lg-chip{font-family:var(--rp-sans-med);font-weight:500;font-size:14.5px;color:var(--accent);border:1px solid var(--accent);background:#0a0c0f;border-radius:5px;padding:12px 22px;cursor:pointer;transition:all .25s;}
#rp-lg .lg-chip.on{background:var(--accent);color:#06090c;border-color:var(--accent);}
#rp-lg .lg-chip:hover:not(.on){background:rgba(37,176,207,.14);}
#rp-lg .lg-stagewrap{overflow-x:auto;}
#rp-lg #lg-stage{display:block;width:100%;max-width:1130px;margin:-4px auto 0;height:auto;}
#rp-lg .lg-ledger{border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(255,255,255,.018);padding:16px 18px 18px;margin-top:6px;}
#rp-lg .lg-lt{font-family:var(--rp-sans-med);font-size:10.5px;letter-spacing:.2em;color:var(--lg-dim);text-transform:uppercase;margin-bottom:10px;display:flex;justify-content:space-between;}
#rp-lg .lg-rows{display:flex;flex-direction:column-reverse;gap:7px;min-height:72px;}
#rp-lg .lg-row{font-family:var(--rp-sans-med);font-size:12.5px;display:grid;grid-template-columns:130px 160px 80px 1fr;gap:18px;color:#a7aeb5;opacity:0;transform:translateY(6px);transition:opacity .45s,transform .45s;}
#rp-lg .lg-row.in{opacity:1;transform:none;}
#rp-lg .lg-row .ts{color:#7d858d;}
#rp-lg .lg-row .ok{color:#e8edf0;}
#rp-lg .lg-row .no{color:var(--lg-red);}
#rp-lg .lg-note{font-family:var(--rp-sans);font-size:13px;color:#868d95;letter-spacing:.01em;margin-top:12px;}
#rp-lg #lg-stage text{font-family:var(--rp-sans);letter-spacing:.06em;}
#rp-lg #lg-stage .t-num{font-size:10px;fill:#9aa2aa;letter-spacing:.14em;transition:fill .3s;}
#rp-lg #lg-stage .t-name{font-family:var(--rp-sans-med);font-size:14px;fill:#c6cdd3;transition:fill .3s;}
#rp-lg #lg-stage .t-cap{font-family:var(--rp-sans);font-size:11px;fill:#9aa2aa;letter-spacing:.02em;transition:fill .3s,opacity .3s;opacity:.9;}
#rp-lg #lg-stage .st-chip{stroke:rgba(255,255,255,.14);fill:rgba(0,0,0,.35);transition:stroke .3s,fill .3s;}
#rp-lg #lg-stage .st-on .st-chip{stroke:rgba(255,255,255,.55);fill:rgba(255,255,255,.06);}
#rp-lg #lg-stage .st-on .t-num{fill:#f4f6f7;}
#rp-lg #lg-stage .st-on .t-name{fill:#f4f6f7;}
#rp-lg #lg-stage .st-on .t-cap{opacity:1;}
#rp-lg #lg-stage .t-beam{font-family:var(--rp-sans-med);font-size:14px;fill:var(--accent);letter-spacing:.34em;}
#rp-lg #lg-stage .t-gatelab{font-size:13px;fill:rgba(255,255,255,.75);letter-spacing:.32em;}
#rp-lg #lg-stage .t-bigscore{font-family:var(--rp-sans-med);font-size:30px;fill:#f4f6f7;letter-spacing:-.02em;}
#rp-lg #lg-stage .t-tx{font-size:11.5px;fill:#f4f6f7;}
#rp-lg #lg-stage .t-verdict{font-family:var(--rp-sans-med);font-size:12px;letter-spacing:.18em;}
#rp-lg #lg-stage .t-hold{font-size:10.5px;fill:rgba(229,104,108,.85);letter-spacing:.04em;}
#rp-lg #lg-stage .t-lcd{font-size:8.5px;fill:#d3dade;letter-spacing:.22em;}
#rp-lg #lg-stage .t-mark{font-family:var(--rp-sans-med);font-size:16px;fill:#fff;opacity:1;letter-spacing:.01em;}
#rp-lg #lg-stage .t-mark-cap{font-family:var(--rp-sans-med);font-size:11px;fill:#98a0a8;letter-spacing:.2em;}
#rp-lg #lg-stage .t-case{font-family:var(--rp-sans-med);font-size:11px;letter-spacing:.18em;}
#rp-lg #lg-stage .t-inter{font-family:var(--rp-sans-med);font-weight:500;font-size:52px;fill:#f4f6f7;letter-spacing:-.015em;}
/* 2026-07-13: kicker enlarged for visibility (founder request); the case
   block stays left-anchored at x=87 so kicker, title, and story align. */
#rp-lg #lg-stage .t-casekick{font-family:var(--rp-sans-med);font-size:15px;font-weight:500;letter-spacing:.22em;}
#rp-lg #lg-stage .t-casetitle{font-family:var(--rp-sans-med);font-size:23px;letter-spacing:-.01em;}


/* ============================================================
   Who uses RAILS, restyled 2026-07-07: the flat 2x2 grid becomes
   four staggered cascade cards (a "use case" pattern),
   numbered 01-04 to echo the live-gate rail. Audience is the cyan
   title; the value phrase is the neutral tag above it.
   ============================================================ */
#ev338{display:grid!important;grid-template-columns:repeat(4,1fr)!important;gap:22px!important;margin-top:48px!important;padding-bottom:180px!important;grid-auto-rows:auto!important;align-items:start!important;}
#ev338 .uc{position:relative;display:flex;flex-direction:column;min-height:340px;padding:26px 24px 24px;border-radius:18px;background:linear-gradient(180deg,#141619,#0b0c0e);border:1px solid rgba(255,255,255,.09);box-shadow:0 30px 60px -34px rgba(0,0,0,.9);transition:transform .3s cubic-bezier(.3,.6,.3,1),border-color .3s,box-shadow .3s;}
#ev338 .uc:nth-child(1){transform:translateY(0);}
#ev338 .uc:nth-child(2){transform:translateY(52px);}
#ev338 .uc:nth-child(3){transform:translateY(104px);}
#ev338 .uc:nth-child(4){transform:translateY(156px);}
#ev338 .uc:hover{border-color:rgba(37,176,207,.55);box-shadow:0 34px 70px -30px rgba(37,176,207,.35);}
#ev338 .uc:nth-child(1):hover{transform:translateY(-8px);}
#ev338 .uc:nth-child(2):hover{transform:translateY(44px);}
#ev338 .uc:nth-child(3):hover{transform:translateY(96px);}
#ev338 .uc:nth-child(4):hover{transform:translateY(148px);}
#ev338 .uc-idx{position:absolute;top:20px;right:22px;font-family:var(--rp-sans-med);font-size:12px;color:#565c64;letter-spacing:.1em;}
#ev338 .uc-tag{font-family:var(--rp-sans-med);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:#868d95;margin:0 0 20px;}
#ev338 .uc-title{font-family:var(--rp-sans-med);font-size:27px;letter-spacing:-.01em;line-height:1.04;margin:0 0 14px;color:var(--accent);}
#ev338 .uc-body{font-family:var(--rp-sans);color:#9aa2aa;font-size:14.5px;line-height:1.58;margin:0;}
#ev338 .uc-body b{color:#f4f6f7;font-family:var(--rp-sans-med);font-weight:500;}
#ev338 .uc-spacer{flex:1 1 auto;min-height:16px;}
#ev338 .uc-cta{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;margin-top:20px;font-family:var(--rp-sans-med);font-size:14px;color:#0a0c0f;background:#f4f6f7;border-radius:999px;padding:10px 8px 10px 18px;transition:gap .25s;cursor:pointer;}
#ev338 .uc-cta:hover{gap:13px;}
#ev338 .uc-arw{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:#f4f6f7;}
#ev338 .uc-arw svg{width:11px;height:11px;}
@media(max-width:980px){
  #ev338{grid-template-columns:repeat(2,1fr)!important;padding-bottom:16px!important;}
  #ev338 .uc,#ev338 .uc:nth-child(1),#ev338 .uc:nth-child(2),#ev338 .uc:nth-child(3),#ev338 .uc:nth-child(4){transform:none;}
  #ev338 .uc:hover{transform:translateY(-6px)!important;}
}
@media(max-width:560px){ #ev338{grid-template-columns:1fr!important;} }


/* ============================================================
   Corner radius unification, 2026-07-07. The card surfaces read
   too soft (18-22px) next to the hard-edged cyan text highlights.
   Tighten every container card to 8px so the corners rhyme with
   the typography; dark inner sub-panels scale to 5px and stay
   dark; CTA pills and chips keep their round shape on purpose.
   The 20px version is saved in drafts/*-20px-2026-07-07.*
   ============================================================ */
#rp-ch .card{border-radius:8px!important;}
#ev211 .rp-card{border-radius:8px!important;}
#ev211 .rp-hero::before{border-radius:8px 8px 0 0!important;}
#ev211 .rp-spec{border-radius:5px!important;}
#ev338 .uc{border-radius:8px!important;}
#rp-lg .lg-ledger{border-radius:5px!important;}
#ag_grid .af-card{border-radius:8px!important;}

/* Corner unification, sweep 2: the remaining card surfaces the first
   pass missed - Inside RAILS (mesh + inputs panels and their frame),
   MINDLAS panels, Build-on-RAILS cards, science cards, lab-logo tiles,
   and the contact panel. Full-bleed section bands (#ev513, #ev746) and
   form controls (search/select/segmented) are left on purpose. */
#ir_inputs_panel,#ir_mesh_wrap,#ev409,#ev407,#ev762,#ev769,#ev776,#ev790,#ev852,#ev162,#ev164,#ev166,#ev168,#ev170,#ev172,#ev174,#ev176,#idhjnz5,#iabdmb2,#rsh_t1,#rsh_t2,#rsh_t3,#rsh_t4,.mn-card{border-radius:8px!important;}
#ev364,#ev405,.af-scene{border-radius:5px!important;}

/* ============================================================
   MINDLAS opens like a CLI terminal window, rev 5 2026-07-08.
   The zoom is now SCROLL-DRIVEN: a time-based animation raced the
   user's scroll momentum, so fast scrollers were already past the
   card by the time it opened. Binding progress to scroll position
   means the card opens exactly as the visitor brings it in - fast
   scroll, fast open; slow scroll, slow unfold; impossible to miss
   or outrun. Scrolling back up closes the terminal again.
   Fallback (no scroll-timeline support): the timed IO-triggered
   zoom from rev 4, driven by #rp-mn-js.
   ============================================================ */
#ev409{position:relative;transform-origin:50% 50%;}
/* fallback path: timed animation on IO trigger */
#ev409.mn-armed{opacity:0;transform:scale(.05);}
#ev409.mn-arrive{animation:mnZoomOpen 1.3s cubic-bezier(.3,.7,.3,1) both;transform-origin:50% 50%;will-change:transform,opacity;}
@keyframes mnZoomOpen{
  0%{opacity:0;transform:scale(.05);}
  8%{opacity:1;transform:scale(.06);}
  36%{opacity:1;transform:scale(.10);}
  66%{transform:scale(1.07);}
  80%{transform:scale(.982);}
  91%{transform:scale(1.015);}
  100%{opacity:1;transform:scale(1);}
}
/* primary path: scroll-driven zoom (owns the animation slot on all
   states, so the fallback classes become inert where supported) */
@supports (animation-timeline: view()){
  #ev409, #ev409.mn-armed, #ev409.mn-arrive{
    animation: mnZoomScroll linear both;
    animation-timeline: view();
    animation-range: entry 0% cover 36%;
    will-change: transform, opacity;
  }
  @keyframes mnZoomScroll{
    0%{opacity:0;transform:scale(.05);}
    10%{opacity:1;transform:scale(.065);}
    42%{opacity:1;transform:scale(.11);}
    78%{transform:scale(1.06);}
    100%{opacity:1;transform:scale(1);}
  }
}


/* ============================================================
   Section hairlines removed, 2026-07-08. Every section wrapper in
   the export opened with a 1px rgba(255,255,255,.08) top border,
   drawing a thin line across the page at the start of each section.
   All removed, plus the bright divider above the research extras.
   ============================================================ */
#ev159,#ag_inner,#ev219,#ev293,#ev512,#ev586,#ev339,#ev693,#ev793,#injpw,#ev838,#rsh_extras{border-top:0!important;}


/* ============================================================
   Research: two cards added 2026-07-08 (The Geno-Synthetic
   Algorithm, Free Energy Heuristics), content sourced from the
   research sub-page. Styling mirrors the existing rsh_t1 cards.
   ============================================================ */
#rsh_t5,#rsh_t6{background-color:#fff;border:1px solid #e8e9e6;border-radius:8px;padding:40px 36px 32px;flex-direction:column;position:relative;overflow:hidden;min-height:0;flex:0 1 calc(50% - 12px);width:calc(50% - 12px);box-sizing:border-box;box-shadow:0 4px 16px rgba(20,24,28,.06),0 1px 3px rgba(20,24,28,.04);transition:box-shadow .25s ease,transform .25s ease,background-color .25s ease;display:flex;}
#rsh_t5:hover,#rsh_t6:hover{background-color:#fafaf8;transform:translateY(-4px);box-shadow:0 16px 40px rgba(20,24,28,.12),0 2px 6px rgba(20,24,28,.06);}
#rsh_t5_kind,#rsh_t6_kind{font-family:var(--rp-sans-med);font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#1b8fa8;margin:0 0 28px;width:fit-content;min-height:0;}
#rsh_t5_title,#rsh_t6_title{font-family:var(--rp-sans-med);font-size:20px;font-weight:500;letter-spacing:-.025em;line-height:1.2;color:#14181c;margin:0 0 14px;max-width:22ch;min-height:0;}
#rsh_t5_meta,#rsh_t6_meta{display:flex;flex-direction:column;align-items:flex-start;margin:0 0 28px;min-height:0;}
#rsh_t5_m1,#rsh_t5_m2,#rsh_t6_m1,#rsh_t6_m2{font-family:var(--rp-sans-med);font-size:12px;line-height:1.6;color:#6b7682;width:fit-content;min-height:0;}
#rsh_t5_links,#rsh_t6_links{margin-top:auto;padding-top:20px;border-top:1px solid #edeeeb;display:flex;gap:24px;flex-wrap:wrap;align-items:center;width:100%;min-height:0;}
#rsh_t5_l1,#rsh_t6_l1{font-family:var(--rp-sans-med);font-size:14px;font-weight:500;color:#1b8fa8;white-space:nowrap;cursor:pointer;pointer-events:auto;width:fit-content;min-height:0;transition:color .2s ease;}
#rsh_t5_l1:hover,#rsh_t6_l1:hover{color:#14181c;}
#irshgeno,#irshfree{display:block;opacity:1;flex:0 0 auto;height:250px;width:100%;object-fit:cover;margin:0 0 24px;}


/* ============================================================
   Research section rebuilt 2026-07-08 as the sub-page card design
   (approved variant B): image-top cards, title/subtitle split, full
   author credits, description, pill links (Learn More / PDF / arXiv),
   3 across x 2 rows. Content mirrors the research sub-page verbatim.
   2026-07-08: the "100,000x cheaper than an LLM as a judge" line is
   included per founder direction (sourced directly from the paper).
   ============================================================ */
#rsh_grid{display:grid!important;grid-template-columns:repeat(3,1fr);gap:22px;align-items:stretch;}
.rs2-card{background:#fff;border:1px solid #e8e9e6;border-radius:8px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 16px rgba(20,24,28,.06),0 1px 3px rgba(20,24,28,.04);transition:transform .15s ease,box-shadow .15s ease;}
.rs2-card:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(20,24,28,.12);}
.rs2-media{height:168px;overflow:hidden;flex:0 0 auto;}
.rs2-media img{width:100%;height:100%;object-fit:cover;display:block;opacity:1;}
.rs2-body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}
.rs2-tag{font-family:var(--rp-sans-med);font-size:11px;text-transform:uppercase;letter-spacing:.14em;color:#1b8fa8;margin:0 0 10px;}
.rs2-title{font-family:var(--rp-sans);font-weight:400;font-size:24px;line-height:1.12;letter-spacing:-.01em;color:#14181c;margin:0 0 9px;}
.rs2-sub{font-family:var(--rp-sans);font-size:14px;line-height:1.4;color:#4a5158;margin:0 0 13px;}
.rs2-auth{font-family:var(--rp-sans);font-size:12px;line-height:1.45;letter-spacing:.01em;color:#6b7682;margin:0 0 16px;}
.rs2-desc{font-family:var(--rp-sans);font-size:14px;line-height:1.55;color:#4a5158;margin:0 0 18px;}
.rs2-links{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;}
.rs2-pill{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font-family:var(--rp-sans-med);font-size:13px;text-decoration:none;border:1px solid rgba(27,143,168,.5);color:#1b8fa8;background:rgba(27,143,168,.05);transition:background .2s ease;}
.rs2-pill:hover{background:rgba(27,143,168,.12);}
@media(max-width:1000px){#rsh_grid{grid-template-columns:repeat(2,1fr)!important;}}
@media(max-width:620px){#rsh_grid{grid-template-columns:1fr!important;}}


/* ============================================================
   Type discipline pass, 2026-07-08. Team note: "a lot of different
   fonts and a lot of different sizes." Audit found 72 font/size/
   weight combos across 31 sizes. Three fixes:
   1) The Report Cards app (#reportCardsNative) ran on the OS system
      font (-apple-system, 272 text nodes). Its --font/--display
      tokens now point at the brand faces.
   2) Faux bold everywhere: fonts ship in 400/500 only, so declared
      600/700 forced synthetic bold. font-synthesis:none kills the
      synthesis; declared weights normalised to 500 (Anton to 400).
   3) Stray sizes snapped to the scale: 72/56/27/22/18/15/13/12/11.
   ============================================================ */
/* 1. report cards on brand faces (tokens win via !important
      because native.css loads after this sheet) */
#reportCardsNative{
  --font: var(--rp-sans) !important;
  --display: var(--rp-sans-med) !important;
}
#reportCardsNative .tile .label,#reportCardsNative .tile .value,
#reportCardsNative th,#reportCardsNative .model-name,
#reportCardsNative .tier,#reportCardsNative .metric-main,
#reportCardsNative .sheet h2,#reportCardsNative .drill-panel h3{font-weight:500!important;}

/* 2. no synthetic bold anywhere; normalise declared weights */
html,body{font-synthesis:none;}
b,strong{font-weight:500!important;}
#ev008,#ev009,#ev152,#ev185,#ev186,#ev187,#ev188,#ev298,#ev299,#ev300,
#ev344,#ev518,#ev538,#ev550,#ev591,#ev751,#ev752,#ev753,#ev754,#ev782{font-weight:500!important;}

/* 3. size snaps onto the scale */
#rsh_title{font-size:clamp(40px,3.9vw,56px)!important;}          /* 60 -> 56 */
#mn-hero .mn-h{font-size:clamp(36px,3.9vw,56px)!important;}      /* 62 -> 56 */
#rp-ch h2{font-size:27px!important;}                             /* 28.8 -> 27 */
/* ev591 flattened 2026-07-09: emphasis spans inside sub blocks keep the
   block size and weight; emphasis is carried by full-white ink only. */
#ev591{font-size:inherit!important;font-weight:400!important;color:#fff!important;}                                /* 30 -> 27 */
#ev518{font-size:22px!important;}                                /* 24 -> 22 */
.rs2-title{font-size:22px!important;}                            /* 24 -> 22 */
#ev007{font-size:clamp(15px,1.4vw,18px)!important;}              /* 21 -> 18 */
#rp-lg .lg-title{font-size:18px!important;}                      /* 19 -> 18 */
#ev211 .rp-desc{font-size:15px!important;}                       /* 14.5 -> 15 */
#ev338 .uc-body{font-size:15px!important;}                       /* 14.5 -> 15 */
.rs2-sub,.rs2-desc{font-size:15px!important;}                    /* 14 -> 15 */
#rp-lg .lg-chip{font-size:15.5px!important;letter-spacing:.01em!important;}                       /* 13.5 -> 13 */
#rp-lg .lg-row{font-size:12px!important;}                        /* 12.5 -> 12 */
.tm{font-weight:500!important;}
#ev007{font-family:var(--rp-sans)!important;font-weight:400!important;}


/* ============================================================
   De-busying pass 1, 2026-07-08 (everything except the gate).
   Team note vs Cursor/Linear/Vercel: too many small text strata.
   Rule adopted: max three text levels per section at rest.
   1) Restating taglines removed (the section content already says it).
   2) Who-uses cards lose the corner numbers; the tag does the work.
   3) Inter-section air +30%: 128/96 -> 168/128 so sections breathe
      like the reference sites.
   ============================================================ */
#rsh_tagline{display:none!important;}
#ev338 .uc-idx{display:none!important;}
#ev159,#ag_inner,#ev219,#ev293,#ev512,#ev586,#ev339,#ev693,#ev793{padding-top:168px!important;padding-bottom:128px!important;}


/* ============================================================
   Explainer density pass, 2026-07-08. MINDLAS, Agent Era, and
   Inside RAILS paragraphs tightened in index.html (Mind-Atlas
   beat retained). One-bold-per-paragraph: the hero keeps only
   the settlement emphasis. The RAILS acronym reveal moves from
   the Platform section to the clearinghouse payoff, the first
   RAILS-centric moment after the reorder; the Platform copy of
   the expansion is hidden so the name unpacks exactly once.
   ============================================================ */
#ev008{font-weight:400!important;}
#ev184{display:none!important;}
#rp-ch .payoff-acr{font-family:var(--rp-sans-med);font-size:clamp(14px,1.3vw,18px);letter-spacing:.01em;background:var(--accent);color:#06090c;display:inline-block;width:fit-content;padding:.16em .5em .22em;white-space:nowrap;margin:14px 0 0;}


/* ============================================================
   Clearinghouse on a light band, 2026-07-08 (Cursor pattern: the
   dark instrument panel becomes the darkest object on screen,
   framed by a light field). Same light neutral as the Research
   band; type flips to ink; the cyan blocks are unchanged; the
   card gains a real shadow so it sits up off the page. No
   background image: instrument register stays.
   ============================================================ */
#ev586{background:#f4f4f1!important;border-radius:28px;}
#ev586 #rp-ch .payoff .big{color:#14181c!important;}
#ev586 #rp-ch .payoff .can{color:#8a919a!important;}
#ev586 #rp-ch h2{color:#14181c!important;}
#ev586 #rp-ch .lede{color:#4a5158!important;}
#ev586 #rp-ch .lede b{color:#14181c!important;}
#ev586 #hr_we_close{color:#4a5158!important;}
#ev586 #hr_we_close b,#ev586 #hr_we_close span{color:#14181c!important;}
#ev586 #hr_we_disc{color:#8a919a!important;}
#ev586 #rp-ch .card{box-shadow:0 44px 90px -42px rgba(20,24,28,.5),0 6px 20px rgba(20,24,28,.10)!important;border-color:rgba(20,24,28,.14)!important;}
/* card size must not follow scenario text: the card was shrink-wrapping
   to the sub-line's length, so switching scenarios changed its width and
   height. Fixed width; the stage now renders identically in both. */
#ev586 #rp-ch{width:100%!important;max-width:none!important;}
#ev586 #rp-ch .card{width:100%!important;align-self:stretch!important;box-sizing:border-box;}


/* De-busying the light band, 2026-07-08: six text strata sat above
   the scene. The section heading ("How the clearinghouse works") and
   the lede duplicated what the payoff + acronym and the card's own
   title already say. Both removed; payoff hands straight to the card. */
#ev586 #rp-ch h2{display:none!important;}
#ev586 #rp-ch .lede{display:none!important;}
#ev586 #rp-ch .payoff-acr{margin-bottom:34px;}

/* ============================================================
   Light band rev 2, 2026-07-08. Founder: the light field should
   frame ONLY the animation, not the title. Section returns to
   dark; a light matte panel wraps just the instrument card, so
   the dark scene sits inside a white surround like a mounted
   print. Title audit for this section:
   - payoff headline: keeps (the thesis), back on dark.
   - acronym chip: keeps (the name reveal).
   - card title "Watch a transaction clear": keeps (the invitation).
   - card scenario sub-line: CUT (chips + in-scene case titles
     already say it).
   - closing paragraph after the card (hr_we_close): CUT (verbatim
     duplicate of the payoff and the in-card outcome line).
   - in-card outcome line: keeps (the verdict summary).
   ============================================================ */
#ev586{background:transparent!important;border-radius:0!important;}
#ev586 #rp-ch .payoff .big{color:#f4f6f7!important;}
#ev586 #rp-ch .payoff .can{color:#6f767e!important;}
#ev586 #hr_we_close{display:none!important;}
#ev586 #hr_we_disc{color:#565c64!important;}
#ev586 #rp-ch .card{box-shadow:none!important;border-color:rgba(255,255,255,.06)!important;}
/* rectangular matte, Cursor proportions: generous sides, slim top/bottom */
/* 2026-07-09 matte rev: the white band read as jarring against the dark
   page. Now an elevated dark gradient frame in the Linear/Cursor app-
   frame register: soft top light, hairline border, deep drop shadow. */
/* 2026-07-09 matte rev B: full-bleed atmospheric gradient, no outline.
   Transparent at the top, gathering light early so the whole scene sits
   inside the glow; the card and the payoff title share one 1240px grid. */
.lg-matte{background:linear-gradient(180deg,rgba(255,255,255,0) 0%,rgba(255,255,255,.06) 14%,rgba(255,255,255,.34) 58%,#f4f4f1 100%);border:0;border-radius:0;padding:36px 0 48px;margin-top:26px;width:auto;box-sizing:border-box;box-shadow:none;}
.lg-matte .card{margin-top:0!important;}
@media(max-width:1100px){.lg-matte{padding:24px 40px;}}
/* 2026-07-13: lg-sub un-hidden and repurposed as the persistent scenario
   line (title + story, cyan) so viewers see which case is running at all
   times; the interstitial now flashes NEXT SCENARIO only. */
#rp-lg .lg-sub{color:#25B0CF;font-weight:500;letter-spacing:.015em;}

/* Gate section polish, 2026-07-08 pm:
   - trademark line moves to the footer legal block (ev837 extended);
     the under-graphic disclaimer is gone.
   - payoff aligns to the section grid (rp-ch carried a stray 25px
     margin) and wraps on two balanced lines instead of four. */
#ev586 #hr_we_disc{display:none!important;}
#ev586 #rp-ch{margin-left:0!important;margin-right:0!important;}
#ev586 #rp-ch .payoff .big{max-width:none!important;text-wrap:balance;}

/* ============================================================
   Gate stage enlarged + acronym introduction, 2026-07-08 pm.
   - The matte breaks out of the text column to ~96vw (max 1420px)
     and the stage cap rises so the scene fills a center view.
   - The acronym stops being an orphaned chip: it is now a proper
     definition line where the R A I L S initials carry the cyan
     highlight, teaching the name at first sight.
   ============================================================ */
/* the gate wrapper itself becomes the 29px frame; the title is
   re-indented back onto the site grid. Exact and scrollbar-proof. */
#ilwyn-4-2{padding-left:29px!important;padding-right:29px!important;}
#ev586{width:100%!important;max-width:none!important;}
#ev586 #rp-ch{width:100%!important;max-width:none!important;}
/* the payoff keys to the matte: same width cap, same centering,
   so their left edges lock at every viewport width */
#ev586 #rp-ch .payoff{width:100%;max-width:1240px;margin-left:auto!important;margin-right:auto!important;}
.lg-matte{width:calc(100% + 58px)!important;max-width:none!important;position:relative;left:0;transform:none;margin:26px -29px 0;}
#rp-lg #lg-stage{max-width:1320px!important;}
#ev586 #rp-ch .payoff-acr{
  background:none!important;color:#c6cdd3!important;
  font-family:var(--rp-sans-med)!important;
  font-size:clamp(17px,1.8vw,24px)!important;
  letter-spacing:.02em!important;padding:0!important;
  margin:18px 0 0!important;white-space:nowrap;
}
#ev586 #rp-ch .payoff-acr .al{
  background:var(--accent);color:#06090c;
  display:inline-block;padding:.04em .1em;margin-right:.02em;
}

/* ============================================================
   RAILS nameplate, 2026-07-08 pm. The acronym's introduction is a
   dedicated instrument plate in the manifesto (section 2), right
   where "RAILS catches it in real time" first names the product.
   The gate's orphaned chip and the highlighted-initials experiment
   are both retired.
   ============================================================ */
/* RAILS official seal, rev 3: engraved circular seal in the site's
   wireframe register. Calibrated tick bezel, ring lettering with the
   full designation, guilloche rosette, the clearinghouse emblem in
   fine line-work, RAILS wordmark, issuer line. Left of the manifesto. */
#rails-plate{
  align-self:flex-start;
  width:300px;height:300px;box-sizing:border-box;
  margin-top:64px;padding:0;
  background:transparent;border:none;border-radius:0;box-shadow:none;
  filter:drop-shadow(0 0 34px rgba(37,176,207,.22));
}
#rails-plate .rp-seal{width:100%;height:100%;display:block;}
#rails-plate .sr-ring{font-family:var(--rp-mono);font-size:12.5px;letter-spacing:.34em;fill:#3fc4e2;}
#rails-plate .sr-word{font-family:var(--display);font-size:46px;letter-spacing:.08em;fill:#f4f6f7;}
#rails-plate .sr-co{font-family:var(--rp-mono);font-size:8.5px;letter-spacing:.42em;fill:rgba(255,255,255,.55);}


/* ============================================================
   2026-07-08 seal rev4, founder-approved direction: the manifesto
   dial seal now carries the Evolutionairy emblem and wordmark
   (brand-kit masters, trimmed to web weight in local-added/), and
   RAILS is set in Michroma as the product letterform. Michroma is
   self-hosted; latin subset only. Also on this date fonts/anton.woff2
   was found to be the Vietnamese subset of Anton (no A-Z), silently
   falling back to Arial Narrow site-wide; replaced with the latin
   subset. Do not re-download Anton from the first URL in the
   Google Fonts CSS payload: subsets are listed vietnamese-first.
   ============================================================ */
@font-face{font-family:"Michroma";src:url("/fonts/michroma.woff2") format("woff2");font-weight:400;font-style:normal;font-display:swap;}
#rails-plate .sr-word{font-family:"Michroma","Arial Narrow",sans-serif!important;font-size:29px!important;letter-spacing:.03em!important;}


/* ============================================================
   2026-07-09 seal option B, founder-approved: the manifesto seal is
   struck in one material. Ring lettering joins RAILS in Michroma
   (12px, .26em); all chrome white; the wordmark AI block is the only
   color on the dial. Glow follows the metal: white, not cyan.
   ============================================================ */
#rails-plate .sr-ring{font-family:"Michroma","Arial Narrow",sans-serif!important;font-size:12px!important;letter-spacing:.26em!important;fill:#dfe5e8!important;}
#rails-plate{filter:drop-shadow(0 0 30px rgba(255,255,255,.10))!important;}


/* 2026-07-09 manifesto headline: first sentence joins the rest in full
   white (was 40% grey from the original export). */
#ev152{color:#fff!important;}


/* 2026-07-09 Report Cards header: title on one line (the 17ch cap wrapped
   a 19-character headline), and the white card carries less air above it
   (the 168px de-busy padding reads as dead space on a white ground). */
#ev413{max-width:none!important;}
#ev512{padding-top:88px!important;}


/* 2026-07-09 key stats: footnote asterisks. 100,000x cites the
   Universality paper page; the turnover stat points to About Us. */
.stat-fn{color:var(--rp-cyan,#25B0CF);text-decoration:none;margin-left:3px;pointer-events:auto;cursor:pointer;}
.stat-fn:hover{color:#3fc4e2;}


/* 2026-07-09 lab wall: the strip label becomes a proper title (was a
   12px mono eyebrow). Anton, 27px step on the size scale, full white. */
#ev160{font-family:var(--display)!important;font-size:27px!important;letter-spacing:.012em!important;font-weight:400!important;color:#f4f6f7!important;text-transform:uppercase!important;line-height:1!important;margin-bottom:40px!important;}


/* ============================================================
   2026-07-09 global standardization pass (founder-directed):
   1) Buttons: one system. Square corners, accent cyan fill, black
      text, HNM 500. Applies to every CTA on the page.
   2) Type hierarchy: ONE major-title spec (Anton, clamp to 72px,
      uppercase) and ONE subtitle spec (HN 400, 20px, 68% ink).
      Fixes Inside RAILS (44px), Research. (HNM 56), and the
      Platform sub that was 12px grey mono.
   3) Eyebrows/footers leave the terminal register: Geist Mono is
      reserved for data readouts inside instruments; labels and
      legal lines set in the sans.
   ============================================================ */

/* 1 - buttons */
.ev-btn,#ev507,.uc-cta{border-radius:5px!important;background:var(--accent)!important;border:0!important;}
.ev-btn:hover,#ev507:hover,.uc-cta:hover{background:#3ec3e0!important;}
.ev-btn p,#ev507 p{color:#06090c!important;font-family:var(--rp-sans-med)!important;font-weight:500!important;}
.uc-cta{color:#06090c!important;font-family:var(--rp-sans-med)!important;font-weight:500!important;}
.rs2-pill{border-radius:5px!important;}
#ispyh-2-3-2-2-2-2-3{background:var(--accent)!important;color:#06090c!important;border-radius:5px!important;font-family:var(--rp-sans-med)!important;font-weight:500!important;}

/* 2 - one title spec, one subtitle spec */
#ag_title,#ev183,#ev413,#ev590,#ev297,#ev750,#ir_title,#rsh_title{
  font-family:var(--display)!important;font-weight:400!important;text-transform:uppercase!important;
  font-size:clamp(38px,5.2vw,72px)!important;line-height:.98!important;letter-spacing:.008em!important;
}
#ag_sub,#ev191,#ev414,#ev301,#ev592,#ev755{
  font-family:var(--rp-sans)!important;font-weight:400!important;font-size:20px!important;
  line-height:1.55!important;letter-spacing:0!important;text-transform:none!important;
}
#ag_sub,#ev191,#ev301,#ev592,#ev755{color:rgba(255,255,255,.68)!important;}
#ev414{color:rgba(20,24,28,.68)!important;}

/* 3 - labels and legal lines out of mono */
#ev835,#ev836,#ev837,#ev178,#ev416,#ev418,#ev419,#ev420,#ev421,#rsh_extras_link{
  font-family:var(--rp-sans)!important;letter-spacing:.02em!important;
}
.rs2-tag{font-family:var(--rp-sans-med)!important;letter-spacing:.12em!important;}


/* 2026-07-09 standardization pass, addendum: every remaining eyebrow
   and label leaves Geist Mono for the sans (medium, letterspaced,
   uppercase kept). Mono now appears only inside instruments: the gate
   scene, score digits, code. */
#ag_c1_rel,#ag_c2_rel,#ag_c3_rel,#ag_c4_rel,#ag_stat_l,#ev144,#ev147,#ev196,#ev202,#ev208,#ev212,
#ev303,#ev312,#ev321,#ev330,#ev359,#ev365,#ev430,#ev523,#ev528,#ev546,#ev569,#ev581,
#ev757,#ev764,#ev771,#ev810,#ev818,#ev825,#fl_p1_lab,#fl_p2_lab,#hr_arch,#ieqcfq5,.uc-tag{
  font-family:var(--rp-sans-med)!important;font-weight:500!important;letter-spacing:.14em!important;
}


/* 2026-07-09 Report Cards app type: the audit showed one family in five
   combos, but every 500-weight element referenced the REGULAR file
   (synthesis is off, so it rendered flat). Medium roles now use the
   medium face; controls join the button system with the 5px radius. */
#reportCardsNative .model-name,#reportCardsNative .metric-main,#reportCardsNative .tile .label,
#reportCardsNative th,#reportCardsNative .tier,#reportCardsNative .sheet h2,#reportCardsNative .drill-panel h3{
  font-family:var(--rp-sans-med)!important;font-weight:500!important;
}
#reportCardsNative input,#reportCardsNative select,#reportCardsNative button{font-family:var(--rp-sans)!important;}
#reportCardsNative button{border-radius:5px!important;}
#reportCardsNative button.active,#reportCardsNative .active{background:var(--accent)!important;color:#06090c!important;border-color:var(--accent)!important;}


/* 2026-07-09 hierarchy pass 2: stragglers onto the two specs.
   - ir_caption (32px kicker) and ir_body (16px) join the subtitle
     spec, matching every other support line.
   - ag_close_txt (24px medium) joins the subtitle spec beside ag_sub.
   - The gate payoff rises to the standard title clamp so "Payment
     networks prove..." sits at the same size as every section title.
   The manifesto (#ev155) stays HNM sentence-case by design: it is the
   one statement register on the page, distinct from Anton titles. */
#ir_caption,#ir_body,#ag_close_txt{
  font-family:var(--rp-sans)!important;font-weight:400!important;font-size:20px!important;
  line-height:1.55!important;letter-spacing:0!important;color:rgba(255,255,255,.68)!important;
}
#ev586 #rp-ch .payoff .big{font-size:clamp(38px,5.2vw,72px)!important;line-height:.98!important;letter-spacing:.008em!important;}


/* 2026-07-09 hierarchy pass 3, full-section audit sweep: every
   section-level text block now sits on the single subtitle spec.
   Sanctioned exceptions, by design: hero (#ev010), manifesto (#ev155),
   footer echo, and component internals (scenario captions, stat
   captions, team bio cards, research cards, instruments). */
#ev189,#ev594,#ir_k_inputs,#ir_k_body{
  font-family:var(--rp-sans)!important;font-weight:400!important;font-size:20px!important;
  line-height:1.55!important;letter-spacing:0!important;color:rgba(255,255,255,.68)!important;
  text-transform:none!important;
}
/* stat captions harmonized to one opacity */
#ag_stat_b{color:rgba(255,255,255,.64)!important;}


/* 2026-07-09 hero exceptions (founder-directed):
   - The hero button pair becomes dark frosted glass; every other CTA
     stays on the cyan system. Nav button unaffected.
   - The hero paragraph joins the mantra line in the regular cut: one
     hero support font, opacity alone separates their roles. */
#ev014,#ev016{
  background:rgba(10,13,16,.42)!important;
  -webkit-backdrop-filter:blur(12px) saturate(1.1);backdrop-filter:blur(12px) saturate(1.1);
  border:1px solid rgba(255,255,255,.16)!important;border-radius:5px!important;
}
#ev014:hover,#ev016:hover{background:rgba(20,25,30,.55)!important;border-color:rgba(255,255,255,.28)!important;}
#ev014 p,#ev016 p{color:#f4f6f7!important;}
#ev010{font-family:var(--rp-sans)!important;font-weight:400!important;}


/* 2026-07-09 vertical rhythm: the gate->platform boundary measured
   482px and the cascade->team boundary 338px against a 264-312px band
   everywhere else. Trimmed into the band. */
#ev586{padding-bottom:0!important;}
#ev219{padding-top:96px!important;}
#ev693{padding-top:100px!important;} /* team wrapper; ev293 was a misread */


/* 2026-07-09 Explore all research joins the button system. */
#rsh_extras_link{
  display:inline-flex!important;align-items:center!important;width:fit-content;
  background:var(--accent)!important;color:#06090c!important;border-radius:5px!important;
  padding:13px 26px!important;font-family:var(--rp-sans-med)!important;font-weight:500!important;
  font-size:16px!important;line-height:18px!important;cursor:pointer;pointer-events:auto;
}
#rsh_extras_link:hover{background:#3ec3e0!important;}


/* 2026-07-09 Research white box: title rises in the box. Top padding
   128->64; the freed air moves below the title (24->56) so the cards
   keep their seat. */
#ev745{padding-top:64px!important;}
#rsh_title{margin-bottom:56px!important;}


/* ============================================================
   Hero rev 2026-07-09, founder-approved: two-line centered title
   over the arch; the mantra moves into the sub-text block as its
   bold title (DOM move in index.html); copy tightened to three
   lines; primary CTA (Start with Mindlas) scrolls to the MINDLAS
   slab, to be swapped to the GitHub repo at launch. Frosted
   buttons unchanged.
   ============================================================ */
#ev021{position:static!important;}
#ev022{position:relative!important;}
#ev018{position:absolute!important;top:clamp(110px,21vh,210px);left:0!important;right:0!important;bottom:auto!important;width:100%!important;display:flex!important;flex-direction:column!important;align-items:center!important;z-index:6;}
#ev003{text-align:center!important;max-width:none!important;}
#ieagqp2{display:block;width:fit-content;margin:0 auto;}
#ev020{justify-content:flex-end!important;}
#ev019{width:560px!important;max-width:min(560px,92vw)!important;}
#ev019 #ev007{justify-content:flex-start!important;margin:0 0 14px 0!important;color:#f4f6f7!important;font-size:19px!important;font-family:var(--rp-sans-med)!important;font-weight:500!important;}
@media(max-width:900px){
  #ev018{position:static!important;margin:110px 0 26px!important;}
  #ev020{justify-content:center!important;}
}


/* 2026-07-09 hero highlight knockout: AUTONOMOUS AI. letters punch
   through the cyan block so the WebGL scene shows inside the
   letterforms (screen blend: black -> backdrop, cyan holds on dark). */
/* rev: blend was isolated by the hero stacking context; the block is
   now an SVG whose letters are mask holes, so the WebGL shows through
   as plain transparency. Sizing script: #rp-ko-js in index.html. */
#ieagqp2{background:none!important;padding:0!important;}
#ieagqp2 #ko-svg{display:block;margin:0 auto;}
.ko-a11y{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;}

#ev586 #rp-ch .lg-matte .card{width:calc(100% - 58px)!important;max-width:1240px!important;margin:0 auto!important;align-self:center!important;}
@media(max-width:1100px){.lg-matte{padding:24px 0 36px;}}


/* 2026-07-09 clearinghouse title centered: the full-bleed band makes a
   left-locked title read as misaligned; the section now centers its
   headline over the card. */
#ev586 #rp-ch .payoff{text-align:center!important;}
#ev586 #rp-ch .payoff .big{margin-left:auto!important;margin-right:auto!important;}
#ev586 #rp-ch .payoff-acr{width:fit-content;margin-left:auto!important;margin-right:auto!important;}


/* 2026-07-09 clearinghouse fit: the band measured 1090px against a
   900px viewport. Stage narrowed (scene height scales with width),
   ledger and paddings tightened so the instrument fits one screen. */
#rp-lg #lg-stage{max-width:1000px!important;}
#ev586 #rp-ch .lg-matte .card{padding:26px 48px 22px!important;}
#rp-lg .lg-ledger{max-height:92px;overflow:hidden;}
#rp-lg .outcome,#rp-ch .outcome{margin-top:10px!important;}
#rp-lg .lg-ledger{padding:10px 16px 12px!important;margin-top:2px!important;}
.lg-matte{padding:22px 0 32px!important;}


/* 2026-07-09 gate de-clutter (founder-directed): the settlement record
   box and the closing payoff sentence are cut; the case narration and
   PASS/HOLD verdicts already tell the story. The simulated-outputs
   label stays (claims rule: simulated data remains labeled) as the
   single small caption under the scene. */
#rp-lg .lg-ledger{display:none!important;}
#rp-ch .outcome,#rp-lg .outcome{display:none!important;}
#rp-lg .lg-note{margin-top:6px!important;}

/* 2026-07-10: footer hero echo conformed to the title spec (Anton uppercase, like the hero).
   Also fixes the "g" of "engine" being painted over by the cyan highlight box on the next
   line: HN 72/72 sentence case let the span background cover the descender; uppercase has none. */
#ev781{font-family:"Anton","Arial Narrow",sans-serif!important;font-weight:400!important;text-transform:uppercase!important;line-height:1.04!important;letter-spacing:.01em!important;}
#inl97fs{padding:0 .09em;}

/* 2026-07-10: ag_stat numeral cut (big cyan % read as a RAILS Score one scroll before the
   real Score appears). The point is now a statement title + two-sided failure body. */
#ag_close_t,#ag_stat_l{font-family:var(--rp-sans-med),"Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:500!important;font-size:20px!important;line-height:31px!important;color:#f4f6f7!important;letter-spacing:normal!important;text-transform:none!important;margin:0 0 10px!important;}
/* 2026-07-10: row unified to the sub-text spec: 20px throughout, weight marks the title */
#ag_stat_b{font-family:"helvetica-now-display-regular","Helvetica Neue",Helvetica,Arial,sans-serif!important;font-weight:400!important;font-size:20px!important;line-height:31px!important;color:rgba(255,255,255,.68)!important;}

/* 2026-07-10: equalize title-to-body gap in the ag_close row (wrapper added 12px on the right) */
#ag_stat{margin-bottom:0!important;}

/* 2026-07-10: gate case storylines (t-story); interstitial drops SAME GATE line for the incoming story */
#rp-lg #lg-stage .t-story{font-family:"helvetica-now-display-regular",Helvetica,Arial,sans-serif;font-size:16.5px;letter-spacing:0;}

/* 2026-07-10: full mono sweep per founder; only literal terminal commands and the seal keep their faces */

/* 2026-07-10: Inside RAILS rebuilt as ONE schematic: mesh (3 nodes, Verification Inputs sprouting its 4 instruments) -> RAILS Score -> gate -> clearinghouse. Radial panel and static mesh img removed. */
/* 2026-07-10: light frame slightly larger than the dark schematic card; card floats on it with shadow */
/* 2026-07-11: frame recoloured warm-taupe -> cool Graphite (C) per founder — complements the site's teal/near-black palette */
#ir_panel2{background:radial-gradient(130% 85% at 50% -12%,rgba(226,231,237,.11) 0%,rgba(226,231,237,.03) 40%,rgba(226,231,237,0) 64%),radial-gradient(150% 110% at 50% 118%,rgba(0,0,0,.4) 0%,rgba(0,0,0,0) 55%),linear-gradient(180deg,#3d4147 0%,#33363c 55%,#2c2f34 100%);border:1px solid rgba(255,255,255,.06);border-radius:14px;padding:38px 36px 56px;margin-top:46px;}
#rp-mesh2{background:#0b0e13!important;border:1px solid rgba(255,255,255,.10);border-radius:18px;padding:16px 8px;box-shadow:0 24px 50px rgba(5,8,11,.55),0 8px 18px rgba(5,8,11,.4);}
#ir_body{max-width:66ch;}
#ir_panel2{order:99;}

/* 2026-07-10: Inside RAILS schematic — on narrow screens keep it legible by scrolling
   horizontally inside the frame at a readable min-width, instead of shrinking to nothing. */
@media (max-width:900px){
  #ir_panel2{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding:22px 16px 30px;}
  #ir_panel2 #rp-mesh2{min-width:860px;}
  #ir_panel2::-webkit-scrollbar{height:6px;}
  #ir_panel2::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px;}
}

/* 2026-07-10: transaction animation stage — same mobile treatment as the schematic:
   scroll horizontally at a readable width instead of shrinking to nothing. */
@media (max-width:900px){
  .lg-stagewrap{-webkit-overflow-scrolling:touch;}
  #lg-stage{min-width:940px;}
  .lg-stagewrap::-webkit-scrollbar{height:6px;}
  .lg-stagewrap::-webkit-scrollbar-thumb{background:rgba(255,255,255,.18);border-radius:3px;}
}

/* 2026-07-10: Mindlas slab gets CLI-window chrome — dark title strip + 3 grey dots (Cursor style) */
#ev409{overflow:hidden;}
.mn-slab-bar{position:absolute;top:0;left:0;right:0;height:40px;z-index:6;display:flex;align-items:center;gap:9px;padding:0 22px;background:#1a1e24;border-bottom:1px solid rgba(255,255,255,.09);}
.mn-slab-bar .mn-sd{width:12px;height:12px;border-radius:50%;background:rgba(255,255,255,.22);}
#ev408{padding-top:66px!important;}

/* 2026-07-10: button text is ALWAYS bold. Only Regular+Medium HN cuts are loaded and
   font-synthesis is off site-wide, so re-enable weight synthesis for button labels only. */
.ev-btn p,#ev507 p,.uc-cta,.mn-cta2,#rsh_extras_link,#ev846,#ev011,#ev015,#i47q5my,#iyyb7qd,#ev014 p,#ev016 p,.mn-agent em{
  font-weight:700!important;
  font-synthesis:weight!important;
  -webkit-font-synthesis:weight!important;
}

/* 2026-07-10: Mistral now a wordmark lockup (was icon-only) — size to match the wall. */
#ih9m6cf{width:124px!important;}
@media (max-width:760px){#ih9m6cf{width:96px!important;}}

/* 2026-07-10: official inline Alibaba lockup — wide aspect, size to fit tile. */
#i5rqvc7{width:160px!important;}
@media (max-width:760px){#i5rqvc7{width:120px!important;}}

/* 2026-07-10: teaser loop — cells own their borders so hairlines scroll WITH the rows
   (collapsed borders paint on a fixed grid layer that ignores the tbody transform). */
#ev504 #tableView table{border-collapse:separate!important;border-spacing:0!important;}

/* 2026-07-10: Explore all Report Cards -> standard button sizing (was 0-padding/17px). */
#ev507{padding:13px 24px!important;gap:8px!important;width:fit-content!important;}
#ev505{font-size:16px!important;line-height:18px!important;}
/* teaser header bar: solid opaque fill, elevated above the scrolling rows. */
#ev504 #tableView thead{position:relative!important;z-index:6!important;}
#ev504 #tableView thead th{background:#e9ebef!important;}

/* 2026-07-11: Mindlas hero card rebuilt as a looping CLI demo — a simplified session where the
   gauges (Rot/Verify/Blast/Loop, the real product statusline) catch a false "done", the gate
   holds it, the correction lands, and the session ends on a scorecard. Literal terminal => mono. */
#mn-term{padding:0!important;overflow:hidden;font-family:var(--rp-mono);}
#mn-term .mn-tbar{display:flex;align-items:center;gap:7px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);}
#mn-term .mn-td{width:10px;height:10px;border-radius:50%;background:rgba(255,255,255,.13);}
#mn-term .mn-tt{margin-left:8px;font-size:11px;letter-spacing:.06em;color:#6f767e;}
#mn-term .mn-tlog{height:302px;overflow:hidden;padding:14px 16px 10px;display:flex;flex-direction:column;gap:7px;transition:opacity .7s ease;}
#mn-term .mn-ln{font-size:12px;line-height:1.45;color:#c9cfd6;}
#mn-term .mn-ln.d{color:#79828c;}
#mn-term .mn-ln.w{color:#e8ecee;}
#mn-term .mn-ln.r{color:#e5686c;}
#mn-term .mn-ln.g{color:#3fb98a;}
#mn-term .mn-ln.in{padding-left:17px;}
#mn-term .mn-ln.cmd{margin-top:3px;}
#mn-term .mn-ln b{font-weight:400;}
#mn-term .mn-ln .c{color:#25B0CF;}
#mn-term .mn-ln .w{color:#e8ecee;}
#mn-term .mn-ln .r{color:#e5686c;}
#mn-term .mn-ln .gg{color:#3fb98a;}
#mn-term .mn-badge{background:#25B0CF;color:#04252c;font-size:10px;letter-spacing:.06em;padding:2px 7px;flex:none;}
/* 2026-07-13: the /mindlas plugin picker shown between alert and correction */
#mn-term .mn-menu{border:1px solid rgba(255,255,255,.14);border-radius:6px;background:#0d1014;padding:4px;margin:2px 0;flex:none;}
#mn-term .mn-mi{display:flex;gap:10px;align-items:baseline;padding:3px 8px;border-radius:4px;font-size:11.5px;color:#9aa2aa;white-space:nowrap;overflow:hidden;}
#mn-term .mn-mi b{font-weight:400;color:#c9cfd6;flex:none;}
#mn-term .mn-mi span{overflow:hidden;text-overflow:ellipsis;font-size:10.5px;color:#79828c;}
#mn-term .mn-mi.on{background:rgba(37,176,207,.14);}
#mn-term .mn-mi.on b{color:#25B0CF;}
/* statusline (bottom of the CLI window) */
#mn-term .mn-sl{border-top:1px solid rgba(255,255,255,.1);background:#08090c;padding:11px 16px 13px;display:flex;flex-direction:column;gap:9px;}
#mn-term .mn-sl-top{display:flex;align-items:center;gap:9px;font-size:10.5px;color:#79828c;}
#mn-term .mn-sl-sep{color:#3a4048;}
#mn-term .mn-cbar{flex:1;max-width:120px;height:5px;margin-left:auto;background:repeating-linear-gradient(90deg,rgba(255,255,255,.13) 0 5px,transparent 5px 8px);overflow:hidden;}
#mn-term .mn-cbar i{display:block;height:100%;background:repeating-linear-gradient(90deg,#25B0CF 0 5px,transparent 5px 8px);transition:width .5s ease;}
#mn-term #mnCtxPct{color:#25B0CF;}
#mn-term .mn-sl-gs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
#mn-term .mn-g{display:grid;grid-template-columns:auto 1fr;gap:4px 8px;font-size:10.5px;align-items:center;}
#mn-term .mn-g-l{color:#e8ecee;}
#mn-term .mn-g-s{justify-self:end;font-style:normal;}
#mn-term .mn-g-s.ok{color:#3fb98a;}
#mn-term .mn-g-s.bad{color:#e5686c;}
#mn-term .mn-g-v{color:#c9cfd6;}
#mn-term .mn-g-bar{display:block;height:5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.13) 0 5px,transparent 5px 8px);overflow:hidden;}
#mn-term .mn-g-bar i{display:block;height:100%;background:repeating-linear-gradient(90deg,#3fb98a 0 5px,transparent 5px 8px);transition:width .5s ease;}
#mn-term .mn-g-bar i.bad{background:repeating-linear-gradient(90deg,#e5686c 0 5px,transparent 5px 8px);}
#mn-term .mn-g-bar i.cy{background:repeating-linear-gradient(90deg,#25B0CF 0 5px,transparent 5px 8px);}
#mn-term .mn-alr{color:#e5686c;font-size:10.5px;line-height:1.5;display:flex;gap:7px;}
#mn-term .mn-alr b{font-weight:400;flex:none;}
#mn-term .mn-sl-al:empty{display:none;}
#mn-term .mn-sl-msg{font-size:11px;color:#3fb98a;display:flex;align-items:center;gap:8px;}
#mn-term .mn-sl-msg b{color:#25B0CF;font-weight:400;}
/* end-of-session scorecard block */
#mn-term .mn-sc{border:1px solid rgba(255,255,255,.16);border-radius:6px;padding:10px 12px 11px;font-size:10px;color:#c9cfd6;}
#mn-term .mn-sc-h{display:flex;align-items:center;gap:9px;color:#e8ecee;font-size:11px;padding-bottom:8px;border-bottom:1px solid rgba(255,255,255,.1);margin-bottom:8px;}
#mn-term .mn-sc-task{color:#79828c;margin-bottom:8px;}
#mn-term .mn-sc-task span{margin-right:16px;}
#mn-term .mn-sc-row{display:grid;grid-template-columns:44px 34px minmax(56px,1fr) 50px 26px 38px 34px;gap:8px;align-items:center;line-height:1.6;}
#mn-term .mn-sc-row.hd{color:#6f767e;}
#mn-term .mn-sc-row.dim{color:#5a626b;}
#mn-term .mn-sc-row .w{color:#e8ecee;}
#mn-term .mn-sc-row .ok{color:#3fb98a;}
#mn-term .mn-sc-row .cy{color:#25B0CF;}
#mn-term .mn-sc-c{border-top:1px solid rgba(255,255,255,.1);margin-top:8px;padding-top:8px;}
#mn-term .mn-sc-ch{color:#e8ecee;font-size:10.5px;margin-bottom:6px;}
#mn-term .mn-sc-cr{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:3px;}
#mn-term .mn-sc-cr b{color:#25B0CF;font-weight:400;flex:none;}
#mn-term .mn-sc-cr em{color:#6f767e;font-style:normal;}
@media(max-width:480px){#mn-term .mn-sl-gs{grid-template-columns:repeat(2,1fr);}}

/* 2026-07-11: Mindlas terminal v2 per founder — session opens with Claude (spark + banner),
   gauges move gradually during coding, an exaggerated red drift-alert triangle fills the
   screen at the catch, then the correction runs. Card pushed below the Works-with logos. */
#mn-term .mn-tlogwrap{position:relative;}
#mn-term .mn-tlog{height:322px;}
#mn-term .mn-ov{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:13px;background:rgba(8,9,12,.92);z-index:3;}
#mn-term .mn-ov.on{display:flex;}
#mn-term .mn-ov svg{width:96px;height:87px;animation:mnOvPulse .6s ease-in-out infinite alternate;}
@keyframes mnOvPulse{from{transform:scale(1);opacity:.85;}to{transform:scale(1.1);opacity:1;}}
#mn-term .mn-ov-t{color:#e5686c;font-size:15px;letter-spacing:.3em;text-indent:.3em;}
#mn-term .mn-ov-s{color:rgba(229,104,108,.75);font-size:11px;letter-spacing:.14em;}
#mn-term .mn-ln.cl{color:#e8ecee;display:flex;align-items:center;gap:8px;}
#mn-term .mn-ln.cl svg{width:13px;height:13px;fill:#D97757;flex:none;}
/* 2026-07-12: logos moved below the demo terminal — clearance margin removed */
/* install strip tightened: links row removed, padding pulled in */
#ev407{padding:40px 48px!important;gap:44px!important;}

/* 2026-07-11: terminal v3 — Clawd robot in the session banner; macOS traffic lights on the titlebar */
#mn-term .mn-ln.cl svg.mn-bot{width:20px;height:18px;}
#mn-term .mn-td:nth-child(1){background:#ff5f57;}
#mn-term .mn-td:nth-child(2){background:#febc2e;}
#mn-term .mn-td:nth-child(3){background:#28c840;}
/* 2026-07-11: titlebar Live badge was inheriting body size — pin it */
#mn-term .mn-live{margin-left:auto;font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:#6f767e;display:inline-flex;align-items:center;}

/* 2026-07-11: session start rebuilt as the real Claude Code welcome panel — orange-bordered
   box with the title on the border, welcome line, the pixel-art critter, model line. */
#mn-term .mn-ln.wb{padding:6px 2px 2px;}
#mn-term .mn-wb{position:relative;border:1px solid #D97757;border-radius:7px;padding:15px 12px 12px;display:flex;flex-direction:column;align-items:center;gap:8px;max-width:340px;margin:0 auto;}
#mn-term .mn-wb-t{position:absolute;top:-8px;left:12px;background:#0a0c0f;padding:0 7px;color:#D97757;font-size:10.5px;letter-spacing:.04em;}
#mn-term .mn-wb .w1{color:#e8ecee;font-size:12px;}
#mn-term .mn-wb .w2{color:#79828c;font-size:10.5px;}
#mn-term .mn-clawd{width:46px;height:33px;display:block;}

/* 2026-07-11: install strip folded into the hero — one vertical two-command box on the left;
   demo terminal gets the reclaimed vertical space. Timelapse burst lines + amber Watch band. */
#mn-hero .mn-inst{display:flex;flex-direction:column;gap:12px;margin-top:36px;max-width:470px;border:1px solid rgba(255,255,255,.12);border-radius:8px;background:rgba(0,0,0,.3);padding:22px 24px 18px;}
#mn-hero .mn-inst-t{font-family:"helvetica-now-display-regular","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:#8a939d;margin-bottom:3px;}
#mn-hero .mn-inst code{font-family:var(--rp-mono);font-size:15.5px;color:#e2e7ec;}
#mn-hero .mn-inst code b{color:#25B0CF;font-weight:400;margin-right:8px;}
#mn-hero .mn-inst-n{font-family:"helvetica-now-display-regular","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:13px;color:#8a939d;margin-top:5px;}
#mn-term .mn-tlog{height:384px;}
#mn-term .mn-ln.tl{font-size:11px;line-height:1.3;}
#mn-term .mn-g-s.warn{color:#e5a23f;}
#mn-term .mn-g-bar i.warn{background:repeating-linear-gradient(90deg,#e5a23f 0 5px,transparent 5px 8px);}
#mn-term .mn-sl-msg.warn{color:#e5a23f;}
#mn-term .mn-sl-msg.warn b{color:#e5a23f;}

/* 2026-07-12: privacy line moved out of the install box, body-size for prominence */
/* 2026-07-13 layout rev (founder): inst-sub sits ABOVE the GitHub button,
   one line below the body copy; works-with logos moved into the left
   column under the button; both columns stretch so the demo card matches
   the left content height (log window absorbs the slack). */
#mn-hero .mn-inst-sub{font-size:16.5px;line-height:1.55;color:#9aa1a8;margin:28px 0 0;max-width:470px;}
#mn-hero .mn-cta2{margin:26px 0 0;}
#mn-hero .mn-card{display:flex;flex-direction:column;}
/* basis 0 so appended log lines can never grow the card mid-demo; the
   window height comes only from the flex slack and the log scrolls inside */
#mn-term .mn-tlogwrap{flex:1 1 0px;min-height:0;overflow:hidden;}
#mn-term .mn-tlogwrap .mn-tlog{height:100%;}
@media(max-width:860px){#mn-term .mn-tlogwrap .mn-tlog{height:322px;}}
