/* ==========================================================================
   Runtulalo Growth Systems -- global CSS  (source: src/styles/runtulalo.css)
   Deployed as dist-ghl/GLOBAL-CSS.txt.

   Rules of this file
   - Every class is rgs- prefixed. Nothing styles bare elements outside the
     .rgs-root / .rgs-header scopes.
   - Units are px / vw / % / em only. No rem, so a host that changes the
     html font-size (GHL themes sometimes do) cannot resize the design.
   - Motion = the Runtulalo Signal only: a gold line that draws, and nodes
     that light. State-hiding rules are gated behind .rgs-anim, which JS adds
     only when motion is allowed. No JS or reduced motion = everything shown.
   ========================================================================== */

/* ---- 1. Tokens ---------------------------------------------------------- */
.rgs-root,
.rgs-header,
.rgs-footer {
  --rgs-ink: #08111F;
  --rgs-navy: #0D1B2A;
  --rgs-navy-2: #14283C;
  --rgs-gold: #D7A54A;
  --rgs-gold-soft: #E8C477;
  --rgs-paper: #F7F3EA;
  --rgs-mist: #C8D0D8;

  --rgs-f-display: "Archivo", "Arial Narrow", "Helvetica Neue", Arial, sans-serif;
  --rgs-f-body: "Instrument Sans", "Helvetica Neue", Arial, sans-serif;
  --rgs-f-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;

  --rgs-ease: cubic-bezier(.2, .7, .2, 1);
  --rgs-gutter: clamp(20px, 5vw, 48px);
  --rgs-header-h: 64px;

  font-family: var(--rgs-f-body);
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

/* Section themes: a section sets the colors, children inherit them. */
.rgs-sec {
  --rgs-bg: var(--rgs-ink);
  --rgs-fg: #fff;
  --rgs-body: var(--rgs-mist);
  --rgs-muted: #93A0AE;
  --rgs-line: rgba(200, 208, 216, .22);
  --rgs-sig: var(--rgs-gold);
  --rgs-sig-text: var(--rgs-gold);
  background: var(--rgs-bg);
  color: var(--rgs-body);
}
.rgs-sec--navy   { --rgs-bg: var(--rgs-navy); }
.rgs-sec--navy-2 { --rgs-bg: var(--rgs-navy-2); --rgs-line: rgba(200, 208, 216, .26); }
.rgs-sec--paper {
  --rgs-bg: var(--rgs-paper);
  --rgs-fg: var(--rgs-navy);
  --rgs-body: #384656;
  --rgs-muted: #5A6776;
  --rgs-line: rgba(13, 27, 42, .22);
  --rgs-sig: #B07B1C;          /* 3:1 against paper for lines and nodes */
  --rgs-sig-text: #7D5710;     /* 5:1 against paper for small text      */
}

/* ---- 2. Scoped reset + full-bleed -------------------------------------- */
html:has(.rgs-root),
html:has(.rgs-root) body,
html:has(.rgs-footer),
html:has(.rgs-footer) body { overflow-x: clip; }

.rgs-root,
.rgs-root *,
.rgs-root *::before,
.rgs-root *::after,
.rgs-header,
.rgs-header *,
.rgs-header *::before,
.rgs-header *::after,
.rgs-footer,
.rgs-footer *,
.rgs-footer *::before,
.rgs-footer *::after { box-sizing: border-box; }

/* Zero-specificity resets: every text element also carries an rgs- class. */
:where(.rgs-root, .rgs-header, .rgs-footer) :where(h1, h2, h3, h4, p, ul, ol, li, figure, dl, dd) {
  margin: 0;
  padding: 0;
}
:where(.rgs-root, .rgs-header, .rgs-footer) :where(ul, ol) { list-style: none; }

/* Breaks out of a padded GHL row. JS keeps --rgs-vw = visible viewport width
   (no scrollbar); 100vw is the pre-JS fallback. */
.rgs-root,
.rgs-footer {
  display: block;
  width: var(--rgs-vw, 100vw);
  max-width: none;
  margin-left: calc(50% - var(--rgs-vw, 100vw) / 2);
  margin-right: 0;
  padding: 0;
  overflow-x: clip;
}

.rgs-wrap {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding-left: var(--rgs-gutter);
  padding-right: var(--rgs-gutter);
}

.rgs-sec {
  position: relative;
  padding-top: clamp(64px, 9vw, 120px);
  padding-bottom: clamp(64px, 9vw, 120px);
  scroll-margin-top: var(--rgs-header-h);
}

.rgs-sr {
  position: absolute !important;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}

/* ---- 3. Typography ------------------------------------------------------ */
.rgs-eyebrow {
  display: flex;
  align-items: center;
  gap: 12px;
  margin: 0 0 20px;
  font-family: var(--rgs-f-mono);
  font-size: 13px;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: .01em;
  color: var(--rgs-sig-text);
}
.rgs-eyebrow::before {
  content: "";
  width: 28px; height: 2px;
  background: var(--rgs-sig);
  flex: none;
}

.rgs-h1,
.rgs-h2,
.rgs-h3 {
  margin: 0;
  font-family: var(--rgs-f-display);
  font-stretch: 78%;
  font-weight: 800;
  text-transform: uppercase;
  color: var(--rgs-fg);
  text-wrap: balance;
}
.rgs-h1 { font-size: clamp(42px, 11.4vw, 62px); line-height: .96; letter-spacing: -.005em; }
.rgs-h1__line { display: inline; }
.rgs-h2 { font-size: clamp(32px, 8.4vw, 54px); line-height: .98; letter-spacing: -.005em; }
.rgs-h3 { font-size: 24px; line-height: 1.05; font-weight: 700; letter-spacing: .005em; }

.rgs-lead {
  margin: 20px 0 0;
  max-width: 40em;
  font-size: 18px;
  line-height: 1.55;
  color: var(--rgs-body);
}
.rgs-p {
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: var(--rgs-body);
}
.rgs-p + .rgs-p { margin-top: 16px; }
.rgs-mono {
  font-family: var(--rgs-f-mono);
  font-size: 13px;
  line-height: 1.5;
  letter-spacing: 0;
  color: var(--rgs-muted);
}

.rgs-head { max-width: 920px; margin-bottom: clamp(36px, 6vw, 64px); }

/* ---- 4. Buttons + links ------------------------------------------------- */
.rgs-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 26px;
  border: 2px solid transparent;
  border-radius: 4px;
  font-family: var(--rgs-f-body);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color .2s, color .2s, border-color .2s;
}
.rgs-btn--primary { background: var(--rgs-gold); color: var(--rgs-ink); }
.rgs-btn--primary:hover { background: var(--rgs-gold-soft); color: var(--rgs-ink); }
.rgs-btn--ghost { background: transparent; color: var(--rgs-fg, #fff); border-color: var(--rgs-line); }
.rgs-btn--ghost:hover { border-color: var(--rgs-sig); color: var(--rgs-fg, #fff); }
.rgs-btn--dark { background: var(--rgs-navy); color: #fff; }
.rgs-btn--dark:hover { background: var(--rgs-navy-2); color: #fff; }
.rgs-btn--sm { min-height: 44px; padding: 0 16px; font-size: 14px; }

.rgs-btns { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.rgs-btns .rgs-btn { flex: 1 1 100%; }

.rgs-link {
  color: var(--rgs-sig-text);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.rgs-link:hover { color: var(--rgs-fg); }
.rgs-work__more .rgs-link,
.rgs-offer__cta .rgs-link { display: inline-flex; align-items: center; min-height: 44px; }

.rgs-root a:focus-visible,
.rgs-root summary:focus-visible,
.rgs-header a:focus-visible,
.rgs-header button:focus-visible,
.rgs-footer a:focus-visible {
  outline: 3px solid var(--rgs-gold-soft);
  outline-offset: 3px;
  border-radius: 2px;
}
.rgs-sec--paper a:focus-visible { outline-color: #7D5710; }

/* ---- 5. Header ---------------------------------------------------------- */
.rgs-header {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 9990;
  color: #fff;
  border-bottom: 1px solid transparent;
  transition: background-color .25s, border-color .25s;
}
.rgs-header.is-solid,
.rgs-header.is-open {
  background: rgba(8, 17, 31, .97);
  border-bottom-color: rgba(200, 208, 216, .16);
}
.rgs-skip {
  position: absolute;
  left: 16px; top: 8px;
  z-index: 2;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  padding: 12px 16px;
  background: var(--rgs-gold);
  color: var(--rgs-ink);
  font-weight: 700;
  text-decoration: none;
}
.rgs-skip:focus { width: auto; height: auto; overflow: visible; clip: auto; }

.rgs-header__bar {
  display: flex;
  align-items: center;
  gap: 12px;
  max-width: 1240px;
  height: var(--rgs-header-h);
  margin: 0 auto;
  padding: 0 var(--rgs-gutter);
}
.rgs-brand {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: 44px;
  margin-right: auto;
  color: #fff;
  text-decoration: none;
  line-height: 1;
}
.rgs-brand__name {
  font-family: var(--rgs-f-display);
  font-stretch: 100%;
  font-size: 19px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #fff;
}
.rgs-brand__sub {
  margin-top: 5px;
  font-family: var(--rgs-f-mono);
  font-size: 10.5px;
  letter-spacing: .04em;
  color: var(--rgs-gold);
}

.rgs-header__nav { /* mobile: dropdown panel */
  position: absolute;
  top: 100%; left: 0; right: 0;
  padding: 8px var(--rgs-gutter) 20px;
  background: rgba(8, 17, 31, .98);
  border-bottom: 1px solid rgba(200, 208, 216, .16);
}
.rgs-js .rgs-header__nav { display: none; }
.rgs-js .rgs-header.is-open .rgs-header__nav { display: block; }
.rgs-header__link {
  display: flex;
  align-items: center;
  min-height: 52px;
  border-bottom: 1px solid rgba(200, 208, 216, .12);
  font-size: 18px;
  font-weight: 600;
  color: #fff;
  text-decoration: none;
}
.rgs-header__link:hover,
.rgs-header__link[aria-current="page"] { color: var(--rgs-gold-soft); }
.rgs-header__list li:last-child .rgs-header__link { border-bottom: 0; }

.rgs-header__toggle {
  position: relative;
  width: 44px; height: 44px;
  padding: 0;
  background: transparent;
  border: 1px solid rgba(200, 208, 216, .3);
  border-radius: 4px;
  color: #fff;
  cursor: pointer;
}
.rgs-header__bars,
.rgs-header__bars::before,
.rgs-header__bars::after {
  position: absolute;
  left: 12px;
  width: 18px; height: 2px;
  background: currentColor;
  transition: transform .2s var(--rgs-ease), opacity .2s;
}
.rgs-header__bars { top: 21px; }
.rgs-header__bars::before,
.rgs-header__bars::after { content: ""; left: 0; }
.rgs-header__bars::before { top: -6px; }
.rgs-header__bars::after  { top: 6px; }
.rgs-header.is-open .rgs-header__bars { background: transparent; }
.rgs-header.is-open .rgs-header__bars::before { transform: translateY(6px) rotate(45deg); }
.rgs-header.is-open .rgs-header__bars::after  { transform: translateY(-6px) rotate(-45deg); }

@media (max-width: 419px) { .rgs-sm-hide { display: none; } }

@media (min-width: 900px) {
  .rgs-root, .rgs-header { --rgs-header-h: 76px; }
  .rgs-header__toggle { display: none; }
  .rgs-js .rgs-header__nav,
  .rgs-header__nav {
    position: static;
    display: block;
    padding: 0;
    background: none;
    border: 0;
    margin-right: 12px;
  }
  .rgs-header__list { display: flex; gap: 32px; }
  .rgs-header__link { min-height: 44px; border: 0; font-size: 15px; font-weight: 500; }
  .rgs-header .rgs-btn--sm { min-height: 48px; padding: 0 22px; font-size: 15px; }
  .rgs-brand { margin-right: auto; }
}

/* ---- 6. The Signal: shared path component ------------------------------ */
/* A path is an ordered list. Each item has a dot (the node) and two line
   pseudo-elements: ::before is the faint track, ::after is the gold signal
   that draws over it. Vertical by default; --h makes it horizontal. */
.rgs-path { position: relative; }
.rgs-path__item {
  --rgs-dot: 16px;
  --rgs-dot-top: 4px;
  position: relative;
  padding: 0 0 var(--rgs-path-gap, 20px) 40px;
  color: var(--rgs-fg);
}
.rgs-path__item:last-child { padding-bottom: 0; }
.rgs-path__dot {
  position: absolute;
  left: 0; top: var(--rgs-dot-top);
  width: var(--rgs-dot); height: var(--rgs-dot);
  border: 2px solid var(--rgs-sig);
  border-radius: 50%;
  background: var(--rgs-sig);
  z-index: 1;
  transition: background-color .3s;
}
.rgs-path__item::before,
.rgs-path__item::after {
  content: "";
  position: absolute;
  left: 7px;
  top: calc(var(--rgs-dot-top) + 8px);
  bottom: calc(-1 * (var(--rgs-dot-top) + 8px));
  width: 2px;
  background: var(--rgs-line);
}
.rgs-path__item::after {
  background: var(--rgs-sig);
  transform-origin: top;
  transition: transform .5s var(--rgs-ease);
}
.rgs-path__item:last-child::before,
.rgs-path__item:last-child::after { display: none; }
.rgs-path__label {
  display: block;
  font-family: var(--rgs-f-display);
  font-stretch: 85%;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .01em;
  color: var(--rgs-fg);
}
.rgs-path__note { display: block; margin-top: 4px; font-size: 15px; line-height: 1.5; color: var(--rgs-body); }

/* the last stop: a bigger, lit node */
.rgs-path__item--end .rgs-path__dot {
  width: 22px; height: 22px;
  left: -3px; top: calc(var(--rgs-dot-top) - 3px);
  box-shadow: 0 0 0 5px color-mix(in srgb, var(--rgs-sig) 22%, transparent);
}

/* a dead end: the line stops and the node is empty */
.rgs-path__item--dead .rgs-path__dot { background: transparent; border: 2px dashed var(--rgs-muted); }
.rgs-path__item--dead .rgs-path__label { color: var(--rgs-muted); }
.rgs-path__item--dead::after { display: none; }
.rgs-path__item--before-dead::before {
  background: repeating-linear-gradient(to bottom, var(--rgs-muted) 0 4px, transparent 4px 9px);
}
.rgs-path__item--before-dead::after { transform: scaleY(.38); }

/* stagger */
.rgs-path__item:nth-child(2) { --i: 1; }
.rgs-path__item:nth-child(3) { --i: 2; }
.rgs-path__item:nth-child(4) { --i: 3; }
.rgs-path__item:nth-child(5) { --i: 4; }
.rgs-path__item:nth-child(6) { --i: 5; }
.rgs-path__item:nth-child(7) { --i: 6; }
.rgs-path__item:nth-child(8) { --i: 7; }
.rgs-path__item:nth-child(9) { --i: 8; }
.rgs-path__item::after,
.rgs-path__dot { transition-delay: calc(var(--i, 0) * .16s); }

/* motion enabled: an unlit path waits, then draws when scrolled into view */
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-path__item::after { transform: scaleY(0); }
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-path__item:not(:first-child) .rgs-path__dot { background: transparent; }
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-path__item--dead .rgs-path__dot { background: transparent; }

/* growth-system layers: the layer in view is active, the spine fills to it */
.rgs-layer { --rgs-path-gap: 0; padding-bottom: 0; }
.rgs-layer__body { padding-bottom: clamp(32px, 5vw, 52px); transition: opacity .4s; }
.rgs-anim .rgs-layer:not(.is-active) .rgs-layer__body { opacity: .74; }
.rgs-anim .rgs-layer:not(.is-passed)::after { transform: scaleY(0); }
.rgs-anim .rgs-layer:not(.is-passed) .rgs-path__dot { background: transparent; }
.rgs-layer .rgs-path__item--end { padding-bottom: 0; }

/* ---- 7. Hero ------------------------------------------------------------ */
.rgs-hero {
  padding-top: calc(var(--rgs-header-h) + clamp(36px, 7vw, 88px));
  padding-bottom: 0;
}
.rgs-hero .rgs-lead { margin-top: 24px; }

/* Hero system flow: six nodes, one signal. */
.rgs-flow {
  position: relative;
  margin-top: clamp(44px, 7vw, 80px);
  padding-bottom: clamp(36px, 5vw, 56px);
}
.rgs-flow__list {
  position: relative;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.rgs-flow__track {
  position: absolute;
  top: 9px;
  left: calc(100% / 12);
  right: calc(100% / 12);
  height: 2px;
  background: var(--rgs-line);
  pointer-events: none;
}
.rgs-flow__fill {
  position: absolute;
  inset: 0;
  background: var(--rgs-gold);
  transform-origin: left;
  transform: scaleX(var(--rgs-p, 1));
  transition: transform .8s var(--rgs-ease);
}
.rgs-flow__sig { /* wrapper as wide as the track; its right edge carries the pulse */
  position: absolute;
  left: 0; top: 1px;
  width: 100%; height: 0;
  transform: translateX(calc((var(--rgs-p, 1) - 1) * 100%));
  transition: transform .8s var(--rgs-ease);
}
.rgs-flow__sig::after {
  content: "";
  position: absolute;
  right: -5px; top: -6px;
  width: 10px; height: 10px;
  border-radius: 50%;
  background: var(--rgs-gold-soft);
  box-shadow: 0 0 0 4px rgba(232, 196, 119, .25);
}
.rgs-flow:not(.is-running) .rgs-flow__sig::after { display: none; }

.rgs-node { position: relative; text-align: center; min-width: 0; }
.rgs-node__dot {
  display: block;
  position: relative;
  z-index: 1;
  width: 20px; height: 20px;
  margin: 0 auto;
  border: 2px solid var(--rgs-gold);
  border-radius: 50%;
  background: var(--rgs-gold);
  box-shadow: 0 0 0 4px var(--rgs-bg);
  transition: background-color .3s, transform .3s var(--rgs-ease);
}
.rgs-node__label {
  display: block;
  margin-top: 14px;
  font-family: var(--rgs-f-mono);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  white-space: nowrap;
  color: var(--rgs-fg);
}
.rgs-node__cap { /* mobile: kept for screen readers, shown through the readout */
  position: absolute;
  width: 1px; height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}
.rgs-flow.is-running .rgs-node:not(.is-on) .rgs-node__dot { background: var(--rgs-bg); }
.rgs-flow.is-running .rgs-node:not(.is-on) .rgs-node__label { color: var(--rgs-muted); }
.rgs-node.is-now .rgs-node__dot { transform: scale(1.18); background: var(--rgs-gold-soft); }

.rgs-flow__readout {
  min-height: 3.2em;
  margin: 28px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--rgs-line);
  font-size: 17px;
  line-height: 1.5;
  color: var(--rgs-fg);
}
.rgs-flow__readout b {
  display: block;
  margin-bottom: 2px;
  font-family: var(--rgs-f-mono);
  font-size: 12px;
  font-weight: 500;
  color: var(--rgs-gold);
}

/* proof strip */
.rgs-proof { border-top: 1px solid var(--rgs-line); padding: 28px 0 40px; }
.rgs-proof__label { margin: 0 0 14px; font-family: var(--rgs-f-mono); font-size: 12px; color: var(--rgs-muted); }
.rgs-proof__list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 20px; }
.rgs-proof__item {
  font-family: var(--rgs-f-display);
  font-stretch: 85%;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--rgs-fg);
}

/* ---- 8. Selected work --------------------------------------------------- */
.rgs-work__grid { display: grid; gap: 0; }
.rgs-work__item { padding: 32px 0; border-top: 1px solid var(--rgs-line); }
.rgs-work__item:last-child { border-bottom: 1px solid var(--rgs-line); }
.rgs-work__item .rgs-p { margin: 12px 0 24px; max-width: 30em; }
.rgs-work__item .rgs-path { --rgs-path-gap: 12px; }
.rgs-work__item .rgs-path__item { padding-left: 34px; }
.rgs-work__item .rgs-path__label { font-family: var(--rgs-f-body); font-stretch: 100%; font-size: 15px; font-weight: 500; text-transform: none; letter-spacing: 0; color: var(--rgs-body); }
.rgs-work__item .rgs-path__item { --rgs-dot: 10px; --rgs-dot-top: 6px; }
.rgs-work__item .rgs-path__item::before,
.rgs-work__item .rgs-path__item::after { left: 4px; }
.rgs-work__item .rgs-path__item--end .rgs-path__label { color: var(--rgs-fg); font-weight: 700; }
.rgs-work__more { margin-top: 32px; }

/* ---- 9. Problem --------------------------------------------------------- */
.rgs-journeys { display: grid; gap: 40px; margin-top: clamp(40px, 6vw, 64px); }
.rgs-journey__tag { display: block; margin-bottom: 20px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-muted); }
.rgs-journey--good .rgs-journey__tag { color: var(--rgs-sig-text); }
.rgs-journey .rgs-path__item { --rgs-path-gap: 22px; }

/* ---- 10. Growth system -------------------------------------------------- */
.rgs-system__grid { display: grid; gap: 40px; }
.rgs-layer .rgs-h3 { margin-top: 0; }
.rgs-layer .rgs-p { margin-top: 10px; max-width: 30em; font-size: 17px; }
.rgs-layer .rgs-mono { display: block; margin-top: 10px; }
.rgs-layer .rgs-path__dot { --rgs-dot-top: 6px; }
.rgs-layer.rgs-path__item { --rgs-dot-top: 6px; }

/* ---- 11. Process -------------------------------------------------------- */
.rgs-process .rgs-path__item,
.rgs-after .rgs-path__item,
.rgs-next .rgs-path__item { --rgs-path-gap: 28px; }
.rgs-process .rgs-path__num,
.rgs-after .rgs-path__num,
.rgs-next .rgs-path__num { display: block; margin-bottom: 6px; font-family: var(--rgs-f-mono); font-size: 12px; color: var(--rgs-sig-text); }
.rgs-process__note { margin-top: 40px; max-width: 36em; }

/* ---- 12. Offer ---------------------------------------------------------- */
.rgs-offer__grid { display: grid; gap: 0; }
.rgs-tier { padding: 32px 0; border-top: 1px solid var(--rgs-line); }
.rgs-tier .rgs-h3 { font-size: 34px; }
.rgs-tier .rgs-p { margin-top: 12px; }
.rgs-tier__list { margin-top: 20px; }
.rgs-tier__list li,
.rgs-ticks li {
  position: relative;
  padding: 7px 0 7px 22px;
  font-size: 15px;
  line-height: 1.45;
  color: var(--rgs-body);
}
.rgs-tier__list li::before,
.rgs-ticks li::before {
  content: "";
  position: absolute;
  left: 0; top: 15px;
  width: 10px; height: 2px;
  background: var(--rgs-sig);
}
.rgs-tier__tag { display: block; margin-bottom: 10px; font-family: var(--rgs-f-mono); font-size: 12px; color: var(--rgs-sig-text); }
/* the featured tier is inverted: the one block that breaks the rhythm */
.rgs-tier--full {
  --rgs-fg: #fff;
  --rgs-body: var(--rgs-mist);
  --rgs-sig: var(--rgs-gold);
  --rgs-sig-text: var(--rgs-gold);
  margin: 0 calc(-1 * var(--rgs-gutter));
  padding: 36px var(--rgs-gutter);
  background: var(--rgs-navy);
  border-top-color: var(--rgs-navy);
}
.rgs-offer__cta { margin-top: 40px; display: flex; flex-wrap: wrap; align-items: center; gap: 16px 28px; }
.rgs-offer__cta .rgs-btn { flex: 1 1 100%; }

/* ---- 13. Founder -------------------------------------------------------- */
.rgs-founder__grid { display: grid; gap: 44px; align-items: center; }
.rgs-founder .rgs-p { max-width: 32em; font-size: 17px; }
.rgs-founder__statement { margin-top: 24px; }
.rgs-person { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--rgs-line); }
.rgs-person__name { display: block; font-family: var(--rgs-f-display); font-stretch: 85%; font-size: 22px; font-weight: 800; text-transform: uppercase; letter-spacing: .02em; color: var(--rgs-fg); }
.rgs-person__role { display: block; margin-top: 4px; font-family: var(--rgs-f-mono); font-size: 13px; color: var(--rgs-gold); }
.rgs-converge { display: block; width: 100%; max-width: 440px; height: auto; margin: 0 auto; }
.rgs-converge text { font-family: var(--rgs-f-mono); font-size: 15px; font-weight: 500; fill: var(--rgs-mist); }
.rgs-converge .rgs-converge__end { fill: var(--rgs-gold); }
.rgs-converge__old { fill: none; stroke: rgba(200, 208, 216, .5); stroke-width: 2; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset 1s var(--rgs-ease); }
.rgs-converge__new { fill: none; stroke: var(--rgs-gold); stroke-width: 3; stroke-dasharray: 1; stroke-dashoffset: 0; transition: stroke-dashoffset .9s var(--rgs-ease) .9s; }
.rgs-converge__node { fill: var(--rgs-gold); transition: opacity .3s .8s; }
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-converge__old,
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-converge__new { stroke-dashoffset: 1; }
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-converge__node { opacity: 0; }

/* ---- 14. FAQ ------------------------------------------------------------ */
.rgs-faq__list { max-width: 820px; border-bottom: 1px solid var(--rgs-line); }
.rgs-faq__item { border-top: 1px solid var(--rgs-line); }
.rgs-faq__q {
  position: relative;
  display: block;
  min-height: 60px;
  padding: 18px 48px 18px 0;
  font-family: var(--rgs-f-display);
  font-stretch: 85%;
  font-size: 19px;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: .005em;
  text-transform: uppercase;
  color: var(--rgs-fg);
  cursor: pointer;
  list-style: none;
}
.rgs-faq__q::-webkit-details-marker { display: none; }
.rgs-faq__q::before,
.rgs-faq__q::after {
  content: "";
  position: absolute;
  right: 6px; top: 50%;
  width: 16px; height: 2px;
  margin-top: -1px;
  background: var(--rgs-gold);
  transition: transform .25s var(--rgs-ease);
}
.rgs-faq__q::after { transform: rotate(90deg); }
.rgs-faq__item[open] .rgs-faq__q::after { transform: rotate(0); }
.rgs-faq__a { padding: 0 48px 24px 0; max-width: 42em; }

/* ---- 15. Final CTA ------------------------------------------------------ */
.rgs-final { border-top: 1px solid var(--rgs-line); }
.rgs-final__lead { max-width: 42em; margin-top: 22px; font-size: 18px; }
.rgs-final .rgs-btns { margin-top: 30px; }
.rgs-final__side { margin-top: 16px; font-size: 15px; }
.rgs-arrive { position: relative; margin-top: clamp(44px, 7vw, 72px); height: 44px; }
.rgs-arrive__line { position: absolute; left: 0; right: 22px; top: 21px; height: 2px; background: var(--rgs-line); }
.rgs-arrive__fill {
  position: absolute; inset: 0;
  background: var(--rgs-gold);
  transform-origin: left;
  transition: transform 1.4s var(--rgs-ease);
}
.rgs-arrive__node {
  position: absolute; right: 0; top: 10px;
  width: 24px; height: 24px;
  border-radius: 50%;
  background: var(--rgs-gold);
  box-shadow: 0 0 0 6px rgba(215, 165, 74, .22);
  transition: background-color .3s 1.2s, box-shadow .3s 1.2s;
}
.rgs-arrive__label {
  position: absolute; right: 0; top: -22px;
  font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500;
  color: var(--rgs-gold);
}
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-arrive__fill { transform: scaleX(0); }
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-arrive__node { background: var(--rgs-ink); box-shadow: 0 0 0 6px transparent; border: 2px solid var(--rgs-muted); }

/* ---- 16. Universal footer ----------------------------------------------- */
/* Lives in a GHL global section, outside .rgs-root, so it carries its own
   tokens, reset and full-bleed breakout (see sections 1 and 2). */
.rgs-footer {
  --rgs-fg: #fff;
  --rgs-body: var(--rgs-mist);
  --rgs-muted: #93A0AE;
  --rgs-line: rgba(200, 208, 216, .22);
  --rgs-sig: var(--rgs-gold);
  --rgs-sig-text: var(--rgs-gold);
  background: var(--rgs-ink);
  color: var(--rgs-body);
  border-top: 1px solid var(--rgs-line);
  padding: clamp(48px, 7vw, 80px) 0 28px;
}
.rgs-footer__wrap {
  width: 100%;
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 var(--rgs-gutter);
}
.rgs-footer__top { display: grid; gap: 40px; }
.rgs-footer__brand { margin: 0; }
.rgs-footer__id::before { /* the Signal, parked: a short gold line ending in a node */
  content: "";
  display: block;
  width: 56px; height: 2px;
  margin-bottom: 28px;
  background: var(--rgs-gold);
}
.rgs-footer__line {
  margin: 20px 0 0;
  font-family: var(--rgs-f-display);
  font-stretch: 85%;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  color: var(--rgs-fg);
}
.rgs-footer__about { margin: 12px 0 0; max-width: 26em; font-size: 15px; line-height: 1.55; color: var(--rgs-body); }
.rgs-footer__title { margin: 0 0 12px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-gold); }
.rgs-footer__link {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  font-size: 16px;
  font-weight: 500;
  color: #fff;
  text-decoration: none;
}
.rgs-footer__link { min-width: 44px; }
.rgs-footer__link:hover { color: var(--rgs-gold-soft); }
.rgs-footer__link[aria-current="page"] { color: var(--rgs-gold-soft); }
.rgs-footer__ask { margin: 0 0 20px; max-width: 24em; font-size: 15px; line-height: 1.55; color: var(--rgs-body); }
.rgs-footer__cta .rgs-btn { width: 100%; }
.rgs-footer__legal {
  display: grid;
  gap: 12px;
  margin-top: 40px;
  padding-top: 20px;
  border-top: 1px solid var(--rgs-line);
}
.rgs-footer__rel { margin: 0; max-width: 40em; font-size: 14px; line-height: 1.55; color: var(--rgs-body); }
.rgs-footer__inline {
  color: #fff;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}
.rgs-footer__inline:hover { color: var(--rgs-gold-soft); }
.rgs-footer__fine { display: flex; flex-wrap: wrap; align-items: center; column-gap: 24px; }
.rgs-footer__fine .rgs-footer__link { font-size: 14px; }
.rgs-footer__copy { font-size: 14px; color: var(--rgs-muted); }

@media (min-width: 600px) {
  .rgs-footer__cta .rgs-btn { width: auto; }
}
@media (min-width: 900px) {
  .rgs-footer__top { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); column-gap: 64px; }
  .rgs-footer__link { min-height: 44px; }
  .rgs-footer__legal { grid-template-columns: minmax(0, 1fr) auto; align-items: center; column-gap: 40px; }
  .rgs-footer__fine .rgs-footer__link { min-height: 44px; }
}

/* ---- 17. Larger screens ------------------------------------------------- */
@media (min-width: 600px) {
  .rgs-btns .rgs-btn,
  .rgs-offer__cta .rgs-btn { flex: 0 0 auto; }
  .rgs-proof__list { grid-template-columns: repeat(3, 1fr); }
  .rgs-node__label { font-size: 12px; }
}

@media (min-width: 900px) {
  .rgs-h1 { font-size: clamp(56px, 5.9vw, 92px); line-height: .94; }
  .rgs-h1__line { display: block; }
  .rgs-h2 { font-size: clamp(44px, 4.6vw, 64px); }
  .rgs-lead { font-size: 20px; }

  /* hero flow: all captions visible, readout retired */
  .rgs-flow__readout { display: none; }
  .rgs-node__dot { width: 22px; height: 22px; }
  .rgs-flow__track { top: 10px; }
  .rgs-node__label { margin-top: 16px; font-size: 14px; }
  .rgs-node__cap {
    position: static;
    width: auto; height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
    display: block;
    max-width: 150px;
    margin: 8px auto 0;
    font-size: 14px;
    line-height: 1.45;
    color: var(--rgs-body);
  }
  .rgs-proof__item { font-size: 18px; }
  .rgs-proof__list { display: flex; justify-content: space-between; gap: 24px; }

  .rgs-work__grid { grid-template-columns: 1fr 1fr; column-gap: 64px; }
  .rgs-work__item--wide { grid-column: 1 / -1; display: grid; grid-template-columns: 1fr 1fr; column-gap: 64px; align-items: start; }
  .rgs-work__item--wide .rgs-h3 { grid-column: 1; }
  .rgs-work__item--wide .rgs-p { grid-column: 1; }
  .rgs-work__item--wide .rgs-path { grid-column: 2; grid-row: 1 / span 2; }
  .rgs-work__item:nth-last-child(2) { border-bottom: 1px solid var(--rgs-line); }

  .rgs-system__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 80px; }
  .rgs-system__intro { position: sticky; top: calc(var(--rgs-header-h) + 40px); align-self: start; }
  .rgs-layer .rgs-h3 { font-size: 30px; }

  .rgs-offer__grid { grid-template-columns: repeat(3, 1fr); align-items: stretch; }
  .rgs-tier { padding: 40px 36px 44px; border-top: 0; border-left: 1px solid var(--rgs-line); }
  .rgs-tier:first-child { padding-left: 0; border-left: 0; }
  .rgs-tier:last-child { padding-right: 0; }
  .rgs-tier--full { margin: -16px 0; padding: 56px 36px 60px; border: 0; }
  .rgs-offer__cta .rgs-btn { flex: 0 0 auto; }
  .rgs-offer__cta { margin-top: 88px; }

  .rgs-founder__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 96px; }

  .rgs-final .rgs-h2 { font-size: clamp(48px, 5.4vw, 80px); }
}

/* horizontal paths (problem journeys + process) */
@media (min-width: 900px) {
  .rgs-path--h { display: flex; }
  .rgs-path--h > .rgs-path__item {
    flex: 1 1 0;
    min-width: 0;
    padding: 36px 20px 0 0;
  }
  .rgs-path--h > .rgs-path__item .rgs-path__dot { left: 0; top: 0; }
  .rgs-path--h > .rgs-path__item--end .rgs-path__dot { left: -3px; top: -3px; }
  .rgs-path--h > .rgs-path__item::before,
  .rgs-path--h > .rgs-path__item::after {
    left: 8px; right: -8px;
    top: 7px; bottom: auto;
    width: auto; height: 2px;
  }
  .rgs-path--h > .rgs-path__item::after { transform-origin: left; }
  .rgs-path--h > .rgs-path__item--before-dead::before {
    background: repeating-linear-gradient(to right, var(--rgs-muted) 0 4px, transparent 4px 9px);
  }
  .rgs-path--h > .rgs-path__item--before-dead::after { transform: scaleX(.38); }
  .rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-path--h > .rgs-path__item::after { transform: scaleX(0); }
  .rgs-path--h > .rgs-path__item:last-child { flex: 0 0 auto; padding-right: 0; }
}

/* ---- 17b. Audit funnel + thank-you -------------------------------------- */
.rgs-ahero {
  padding-top: calc(var(--rgs-header-h) + clamp(28px, 5vw, 64px));
  padding-bottom: clamp(56px, 8vw, 96px);
}
.rgs-h1--audit { font-size: clamp(36px, 10vw, 56px); line-height: .97; }

/* hero grid: mobile = intro, form, assurances; desktop = intro + assurances | form */
.rgs-ah {
  display: grid;
  gap: 32px;
  grid-template-areas: "intro" "panel" "assure";
}
.rgs-ah__intro { grid-area: intro; min-width: 0; }
.rgs-ah__panel { grid-area: panel; }
.rgs-ah__assure { grid-area: assure; min-width: 0; }
.rgs-ah__assure .rgs-ticks li { padding: 9px 0 9px 22px; font-size: 16px; line-height: 1.5; }
.rgs-ah__assure .rgs-ticks li::before { top: 19px; }
.rgs-assure__note { margin-top: 12px; font-size: 15px; }
.rgs-assure__note .rgs-link { display: inline-flex; align-items: center; min-height: 44px; }

/* light panel that holds a native GHL embed */
.rgs-panel {
  --rgs-fg: var(--rgs-navy);
  --rgs-body: #384656;
  --rgs-muted: #5A6776;
  --rgs-line: rgba(13, 27, 42, .22);
  --rgs-sig: #B07B1C;
  --rgs-sig-text: #7D5710;
  min-width: 0;
  padding: 24px 20px 28px;
  background: var(--rgs-paper);
  color: var(--rgs-body);
  border-top: 4px solid var(--rgs-gold);
  border-radius: 0 0 4px 4px;
  scroll-margin-top: calc(var(--rgs-header-h) + 16px);
}
.rgs-panel--light { padding: 16px 12px 20px; background: #fff; border: 1px solid var(--rgs-line); border-top: 4px solid var(--rgs-gold); }
.rgs-panel a:focus-visible { outline-color: #7D5710; }
.rgs-panel__tag { margin: 0 0 8px; font-family: var(--rgs-f-mono); font-size: 12px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-panel__title { font-size: 30px; line-height: 1; }
.rgs-panel__sub { margin-top: 8px; font-size: 15px; }

/* native GHL slot (form or calendar). Empty = public-safe fallback line. */
.rgs-slot { margin-top: 20px; }
.rgs-panel--light .rgs-slot { margin-top: 0; }
.rgs-slot__embed iframe { display: block; width: 100%; max-width: 100%; border: 0; }
.rgs-slot__pending {
  margin: 0;
  padding: 16px;
  border: 1px dashed var(--rgs-line);
  font-size: 15px;
  line-height: 1.5;
  color: var(--rgs-body);
}
.rgs-slot.is-embedded .rgs-slot__pending { display: none; }
.rgs-slot:has(iframe) .rgs-slot__pending { display: none; }

/* audit page sections */
.rgs-review .rgs-path__item { --rgs-path-gap: 20px; }
.rgs-review .rgs-path__note { max-width: 32em; }
.rgs-after .rgs-path__note { max-width: 26em; }

/* thank-you */
.rgs-split { display: grid; gap: 40px; }
.rgs-next { padding-top: 32px; border-top: 1px solid var(--rgs-line); }
.rgs-next__title { margin: 0 0 24px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-gold); }
.rgs-book .rgs-head { margin-bottom: 32px; }
.rgs-book__note { margin-top: 20px; max-width: 36em; }
.rgs-explore { padding-top: clamp(40px, 6vw, 64px); padding-bottom: clamp(40px, 6vw, 64px); }
.rgs-explore .rgs-btns { margin-top: 20px; }

@media (min-width: 600px) {
  .rgs-panel--light { padding: 24px 24px 28px; }
}
@media (min-width: 900px) {
  .rgs-h1--audit { font-size: clamp(44px, 4.5vw, 66px); line-height: .95; }
  .rgs-ah {
    grid-template-columns: minmax(0, 6fr) minmax(0, 5fr);
    grid-template-rows: auto 1fr;
    grid-template-areas: "intro panel" "assure panel";
    column-gap: 72px;
    row-gap: 28px;
    align-items: start;
  }
  .rgs-panel { padding: 32px 32px 36px; }
  .rgs-panel--light { padding: 32px 36px 36px; }
  .rgs-split { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 72px; align-items: center; }
  .rgs-next { padding: 0 0 0 56px; border-top: 0; border-left: 1px solid var(--rgs-line); }
  .rgs-after .rgs-path--h > .rgs-path__item:last-child { flex: 1 1 0; padding-right: 0; }
}

/* ---- 17c. /systems ------------------------------------------------------- */
.rgs-syshero { padding-bottom: clamp(56px, 8vw, 96px); }

/* hero journey map: the horizontal Signal path, six stops */
.rgs-smap {
  margin-top: clamp(44px, 7vw, 80px);
  padding-top: 28px;
  border-top: 1px solid var(--rgs-line);
}
.rgs-smap__tag { margin: 0 0 24px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-gold); }
.rgs-smap .rgs-path__item { --rgs-path-gap: 22px; }
.rgs-smap .rgs-path__num,
.rgs-stage .rgs-path__num { display: block; margin-bottom: 6px; font-family: var(--rgs-f-mono); font-size: 12px; color: var(--rgs-sig-text); }
.rgs-smap .rgs-path__note { max-width: 16em; }

/* journey stages (extends the homepage layer list) */
.rgs-stage .rgs-path__num { margin-bottom: 8px; }
.rgs-stage__by { display: block; margin-top: 14px; font-family: var(--rgs-f-mono); font-size: 13px; line-height: 1.5; color: var(--rgs-sig-text); }
.rgs-stage__miss { display: block; margin-top: 6px; max-width: 30em; font-size: 15px; line-height: 1.5; color: var(--rgs-body); }
.rgs-stage__miss b { font-weight: 600; color: var(--rgs-fg); }
.rgs-stage.rgs-layer { --rgs-dot-top: 0px; }
.rgs-stage .rgs-path__dot { --rgs-dot-top: 0px; }

/* five layers: row = name + sentence | which steps | numbered strip */
.rgs-lmap__legend { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0 0 20px; font-size: 12px; }
.rgs-lmap__list { border-bottom: 1px solid var(--rgs-line); }
.rgs-lrow { display: grid; gap: 14px; padding: 28px 0; border-top: 1px solid var(--rgs-line); }
.rgs-lrow__main { min-width: 0; }
.rgs-lrow__main .rgs-p { margin-top: 8px; max-width: 32em; }
.rgs-lrow__powers { margin: 0; font-size: 13px; color: var(--rgs-body); }
.rgs-lrow__k { display: block; margin-bottom: 2px; color: var(--rgs-sig-text); }
.rgs-strip { position: relative; display: inline-flex; gap: 6px; justify-self: start; }
.rgs-strip::before { /* the track the signal runs along */
  content: "";
  position: absolute;
  left: 16px; right: 16px; top: 50%;
  height: 2px; margin-top: -1px;
  background: var(--rgs-line);
}
.rgs-strip__c {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px; height: 32px;
  border: 2px solid var(--rgs-line);
  border-radius: 50%;
  background: var(--rgs-bg);
  font-family: var(--rgs-f-mono);
  font-size: 12px;
  font-style: normal;
  font-weight: 500;
  color: var(--rgs-muted);
  transition: background-color .3s, border-color .3s, color .3s;
}
.rgs-strip__c.is-on { background: var(--rgs-sig); border-color: var(--rgs-sig); color: var(--rgs-ink); font-weight: 700; }
.rgs-strip__c:nth-child(2) { transition-delay: .12s; }
.rgs-strip__c:nth-child(3) { transition-delay: .24s; }
.rgs-strip__c:nth-child(4) { transition-delay: .36s; }
.rgs-strip__c:nth-child(5) { transition-delay: .48s; }
.rgs-strip__c:nth-child(6) { transition-delay: .6s; }
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-strip__c.is-on { background: var(--rgs-bg); border-color: var(--rgs-line); color: var(--rgs-muted); }

/* proof rows (names + verified capability, no logos or numbers) */
.rgs-prow { padding: 24px 0; border-top: 1px solid var(--rgs-line); }
.rgs-prow:last-child { border-bottom: 1px solid var(--rgs-line); }
.rgs-prow__name {
  margin: 0 0 8px;
  font-family: var(--rgs-f-display);
  font-stretch: 85%;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
  text-transform: uppercase;
  letter-spacing: .01em;
  color: var(--rgs-fg);
}
.rgs-sysproof .rgs-prow .rgs-p { max-width: 36em; }

/* ways in: three ruled rows, not cards */
.rgs-way { padding: 28px 0; border-top: 1px solid var(--rgs-line); }
.rgs-way:last-child { border-bottom: 1px solid var(--rgs-line); }
.rgs-way__name { margin: 0; font-family: var(--rgs-f-display); font-stretch: 78%; font-size: 34px; font-weight: 800; line-height: 1; text-transform: uppercase; color: var(--rgs-fg); }
.rgs-way .rgs-p { margin-top: 10px; max-width: 34em; }
.rgs-way .rgs-mono { display: block; margin-top: 10px; color: var(--rgs-sig-text); }

@media (min-width: 900px) {
  /* six stops across the wrap: the last stop shares width like the rest */
  .rgs-smap .rgs-path--h > .rgs-path__item:last-child { flex: 1 1 0; padding-right: 0; }

  .rgs-lrow { grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) auto; column-gap: 48px; align-items: center; padding: 32px 0; }
  .rgs-lrow__k { display: block; }
  .rgs-strip { justify-self: end; }

  .rgs-prow { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: 48px; align-items: baseline; padding: 28px 0; }
  .rgs-prow__name { margin: 0; }
  .rgs-prow .rgs-p { margin: 0; }

  .rgs-way { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 6fr) minmax(0, 3fr); column-gap: 48px; align-items: baseline; padding: 36px 0; }
  .rgs-way .rgs-p,
  .rgs-way .rgs-mono { margin: 0; }
}

/* ---- 17d. /work: case-study system -------------------------------------- */
/* Pattern: section.rgs-case--{wide|split|ladder|compact} > head + figure (the
   "system fingerprint", rgs-fp) + dl.rgs-facts. Same parts, four compositions. */
.rgs-workhero { padding-bottom: clamp(56px, 8vw, 96px); }

/* hero index: four projects on one Signal spine */
.rgs-windex { margin-top: clamp(44px, 7vw, 80px); }
.rgs-windex__tag { margin: 0 0 12px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-gold); }
.rgs-index { --rgs-path-gap: 0; }
.rgs-index .rgs-path__item { --rgs-dot-top: 28px; padding-bottom: 0; }
.rgs-index__link {
  display: block;
  padding: 22px 0;
  border-top: 1px solid var(--rgs-line);
  color: inherit;
  text-decoration: none;
}
.rgs-index__item:last-child .rgs-index__link { border-bottom: 1px solid var(--rgs-line); }
.rgs-index__num { display: inline-block; width: 36px; font-family: var(--rgs-f-mono); font-size: 12px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-index__name {
  font-family: var(--rgs-f-display);
  font-stretch: 85%;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.15;
  text-transform: uppercase;
  letter-spacing: .01em;
  color: var(--rgs-fg);
  transition: color .2s;
}
.rgs-index__link:hover .rgs-index__name { color: var(--rgs-gold-soft); }
.rgs-index__parts { display: block; margin-top: 8px; font-size: 15px; line-height: 1.5; color: var(--rgs-body); }

/* case base */
.rgs-case { padding-top: clamp(56px, 8vw, 104px); padding-bottom: clamp(56px, 8vw, 104px); }
.rgs-case__kicker { margin: 0 0 14px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-case__line { margin: 16px 0 0; max-width: 20em; font-size: clamp(20px, 2.4vw, 26px); font-weight: 600; line-height: 1.3; color: var(--rgs-fg); }
.rgs-case__system { margin: 36px 0 0; }
.rgs-case__label { margin: 0 0 22px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-facts { display: block; margin: 36px 0 0; }
.rgs-fact { padding: 22px 0; border-top: 1px solid var(--rgs-line); }
.rgs-fact__k { margin: 0 0 8px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-fact__v { margin: 0; max-width: 34em; font-size: 16px; line-height: 1.6; color: var(--rgs-body); }
.rgs-fact--now { padding-top: 21px; border-top: 2px solid var(--rgs-sig); }
.rgs-fact--now .rgs-fact__v { font-size: 17px; color: var(--rgs-fg); }

/* flat order on small screens: head, diagram, facts */
.rgs-case__grid { display: flex; flex-direction: column; }
.rgs-case__text,
.rgs-case__side { display: contents; }
.rgs-case__head { order: 1; }
.rgs-case__system { order: 2; }
.rgs-facts { order: 3; }

/* system fingerprint: columns of components, built from real labels only */
.rgs-fp { --fp-h: 92px; --fp-k: 1; --fp-cols: 3; max-width: 560px; }
.rgs-fp--k2 { --fp-k: 2; --fp-h: 104px; }
.rgs-fp--k3 { --fp-k: 3; }
.rgs-fp--c2 { --fp-cols: 2; }
.rgs-fp--c3 { --fp-cols: 3; }
.rgs-fp--c4 { --fp-cols: 4; }
.rgs-fp__stack--n2 { --fp-n: 2; }
.rgs-fp__stack--n3 { --fp-n: 3; }
.rgs-fp__col { --i: 0; position: relative; }
.rgs-fp__col:nth-child(2) { --i: 1; }
.rgs-fp__col:nth-child(3) { --i: 2; }
.rgs-fp__col:nth-child(4) { --i: 3; }
.rgs-fp__tag {
  position: relative;
  margin: 0;
  padding: 0 0 10px 40px;
  font-family: var(--rgs-f-mono);
  font-size: 12px;
  line-height: 18px;
  color: var(--rgs-sig-text);
}
.rgs-fp__tag::before,
.rgs-fp__tag::after { content: ""; position: absolute; left: 7px; top: 0; bottom: -6px; width: 2px; background: var(--rgs-line); }
.rgs-fp__tag::after { background: var(--rgs-sig); transform-origin: top; transition: transform .5s var(--rgs-ease); transition-delay: calc(var(--i) * .22s); }
.rgs-fp__col:first-child .rgs-fp__tag::before,
.rgs-fp__col:first-child .rgs-fp__tag::after { display: none; }
.rgs-fp__stack { position: relative; }
.rgs-fp__n { position: relative; padding: 0 0 22px 40px; }
.rgs-fp__dot {
  position: absolute;
  left: 0; top: 2px;
  width: 16px; height: 16px;
  border: 2px solid var(--rgs-sig);
  border-radius: 50%;
  background: var(--rgs-sig);
  z-index: 1;
  transition: background-color .3s;
  transition-delay: calc(var(--i) * .22s);
}
.rgs-fp__n::before,
.rgs-fp__n::after { content: ""; position: absolute; left: 7px; top: 10px; bottom: -10px; width: 2px; background: var(--rgs-line); }
.rgs-fp__n::after { background: var(--rgs-sig); transform-origin: top; transition: transform .5s var(--rgs-ease); transition-delay: calc(var(--i) * .22s); }
.rgs-fp__col:last-child .rgs-fp__n:last-child { padding-bottom: 0; }
.rgs-fp__col:last-child .rgs-fp__n:last-child::before,
.rgs-fp__col:last-child .rgs-fp__n:last-child::after { display: none; }
.rgs-fp__label {
  display: block;
  font-family: var(--rgs-f-display);
  font-stretch: 85%;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: .01em;
  color: var(--rgs-fg);
}
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-fp__n::after,
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-fp__tag::after { transform: scaleY(0); }
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-fp__col:not(:first-child) .rgs-fp__dot { background: transparent; }

/* ladder (A'KERA): the vertical path, larger, with a foundation bar */
.rgs-ladder { max-width: 460px; }
.rgs-ladder__list { --rgs-path-gap: 30px; }
.rgs-ladder .rgs-path__item { --rgs-dot-top: 0px; }
.rgs-ladder .rgs-path__num { display: block; margin-bottom: 6px; font-family: var(--rgs-f-mono); font-size: 12px; color: var(--rgs-sig-text); }
.rgs-ladder .rgs-path__label { font-size: clamp(24px, 6.4vw, 30px); line-height: 1.05; }
.rgs-ladder .rgs-path__note { font-family: var(--rgs-f-mono); font-size: 13px; color: var(--rgs-muted); }
.rgs-ladder__base {
  margin: 36px 0 0;
  padding: 16px 0 16px 40px;
  border-top: 2px solid var(--rgs-sig);
  border-bottom: 1px solid var(--rgs-line);
  transition: opacity .6s .9s;
}
.rgs-ladder__basek { display: block; font-family: var(--rgs-f-mono); font-size: 12px; color: var(--rgs-sig-text); }
.rgs-ladder__basev { display: block; margin-top: 4px; font-family: var(--rgs-f-display); font-stretch: 85%; font-size: 19px; font-weight: 700; text-transform: uppercase; letter-spacing: .01em; color: var(--rgs-fg); }
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-ladder__base { opacity: .35; }

/* common thread + proof standard */
.rgs-thread__grid { display: grid; gap: 56px; }
.rgs-tpath { margin-top: 40px; --rgs-path-gap: 24px; }
.rgs-tpath .rgs-path__note { max-width: 16em; }
.rgs-standard { padding-top: 24px; border-top: 2px solid var(--rgs-sig); align-self: start; }
.rgs-standard__k { margin: 0 0 12px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-standard .rgs-p { margin-top: 14px; }

@media (min-width: 900px) {
  .rgs-index .rgs-path__item { --rgs-dot-top: 31px; }
  .rgs-index__link { display: grid; grid-template-columns: 40px minmax(0, 4fr) minmax(0, 7fr); column-gap: 24px; align-items: baseline; padding: 26px 0; }
  .rgs-index__num { width: auto; }
  .rgs-index__name { font-size: 26px; }
  .rgs-index__parts { margin-top: 0; font-size: 16px; }

  .rgs-case__head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 48px; align-items: end; }
  .rgs-case__line { margin-top: 0; }

  /* fingerprint, horizontal */
  .rgs-fp { max-width: none; }
  .rgs-fp__list { display: grid; grid-template-columns: repeat(var(--fp-cols), minmax(0, 1fr)); align-items: start; }
  .rgs-fp__tag { margin-bottom: 22px; padding: 0 12px 0 0; }
  .rgs-fp__tag::before,
  .rgs-fp__tag::after { display: none; }
  .rgs-fp__n { height: var(--fp-h); padding: 34px 12px 0 0; }
  .rgs-fp__n::before,
  .rgs-fp__n::after { left: 8px; right: -8px; top: 7px; bottom: auto; width: auto; height: 2px; }
  .rgs-fp__n::after { transform-origin: left; }
  .rgs-fp__col:last-child .rgs-fp__n::before,
  .rgs-fp__col:last-child .rgs-fp__n::after,
  .rgs-fp__stack--end .rgs-fp__n::before,
  .rgs-fp__stack--end .rgs-fp__n::after { display: none; }
  .rgs-fp__dot { top: 0; }
  .rgs-fp__label { font-size: 16px; }
  .rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-fp__n::after { transform: scaleX(0); }

  /* a single column sits level with the middle of the largest group */
  .rgs-fp__stack--solo { padding-top: calc((var(--fp-k) - 1) * var(--fp-h) / 2); }
  /* brackets between a group and its single neighbour */
  .rgs-fp__stack--in,
  .rgs-fp__stack--fed { padding-left: 14px; }
  .rgs-fp__stack--in::before,
  .rgs-fp__stack--out::after {
    content: "";
    position: absolute;
    top: 7px;
    width: 2px;
    height: calc((var(--fp-n) - 1) * var(--fp-h));
    background: var(--rgs-sig);
    transition: opacity .4s;
    transition-delay: calc(var(--i) * .22s);
  }
  .rgs-fp__stack--in::before { left: 0; }
  .rgs-fp__stack--out::after { right: 0; }
  .rgs-fp__stack--out .rgs-fp__n::before,
  .rgs-fp__stack--out .rgs-fp__n::after,
  .rgs-fp__stack--feeds .rgs-fp__n::before,
  .rgs-fp__stack--feeds .rgs-fp__n::after { right: 0; }
  .rgs-fp__stack--in .rgs-fp__dot::before,
  .rgs-fp__stack--fed .rgs-fp__dot::before {
    content: "";
    position: absolute;
    top: 5px; left: -16px;
    width: 16px; height: 2px;
    background: var(--rgs-sig);
    transition: opacity .4s;
    transition-delay: calc(var(--i) * .22s);
  }
  .rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-fp__stack--in::before,
  .rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-fp__stack--out::after,
  .rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-fp__dot::before { opacity: 0; }

  /* wide + compact: three facts in columns */
  .rgs-case--wide .rgs-case__system { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--rgs-line); }
  .rgs-case--wide .rgs-facts,
  .rgs-case--compact .rgs-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 40px; margin-top: 56px; }

  /* compact: smaller scale, head beside the diagram */
  .rgs-case--compact { padding-top: clamp(48px, 6vw, 80px); padding-bottom: clamp(48px, 6vw, 80px); }
  .rgs-case__top { display: grid; grid-template-columns: minmax(0, 4fr) minmax(0, 8fr); column-gap: 56px; align-items: end; }
  .rgs-case--compact .rgs-case__head { display: block; }
  .rgs-case--compact .rgs-case__line { margin-top: 16px; }
  .rgs-case--compact .rgs-case__system { margin-top: 0; }

  /* ladder rows */
  .rgs-case--ladder .rgs-fact { display: grid; grid-template-columns: 150px minmax(0, 1fr); column-gap: 24px; }
  .rgs-case--ladder .rgs-fact__k { margin: 3px 0 0; }

  /* thread */
  .rgs-thread__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: 88px; align-items: start; }
  .rgs-tpath > .rgs-path__item:last-child { flex: 1 1 0; padding-right: 0; }
  .rgs-standard { margin-top: 8px; }
}

@media (min-width: 1200px) {
  .rgs-case__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 88px; align-items: start; }
  .rgs-case__text,
  .rgs-case__side { display: block; }
  .rgs-case__head,
  .rgs-case__system,
  .rgs-facts { order: 0; }
  .rgs-case__text .rgs-case__head { display: block; }
  .rgs-case__text .rgs-case__line { margin-top: 16px; }
  .rgs-case__text .rgs-facts { margin-top: 40px; }
  .rgs-case__side .rgs-case__system { margin-top: 0; }
  .rgs-case__side .rgs-fp__label { font-size: 15px; letter-spacing: 0; }
  .rgs-case__side .rgs-fp__n { padding-right: 4px; }
  .rgs-case__side .rgs-facts { margin-top: 44px; }
  /* ladder: diagram left, text right */
  .rgs-case--ladder .rgs-case__grid { column-gap: 104px; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); }
  .rgs-case--ladder .rgs-case__system { margin-top: 0; }
}

/* ---- 17e. /pricing: ways to work together ------------------------------- */
/* No prices live here. Reuses the hero index (rgs-index), the coverage strip
   (rgs-strip) and the fact rows (rgs-fact); this block only adds the option
   sections, the core-system emphasis and the scope path. */
.rgs-pricehero { padding-bottom: clamp(56px, 8vw, 96px); }

/* "Core system" tag next to Connect in the hero index */
.rgs-core {
  display: inline-block;
  margin-left: 12px;
  padding: 3px 8px;
  border: 1px solid var(--rgs-gold);
  border-radius: 2px;
  font-family: var(--rgs-f-mono);
  font-size: 12px;
  font-stretch: 100%;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: 0;
  text-transform: none;
  vertical-align: middle;
  color: var(--rgs-gold-soft);
}

/* coverage strip: an outlined cell = a basic connection only */
.rgs-strip__c.is-part { background: var(--rgs-bg); border-color: var(--rgs-sig); color: var(--rgs-sig-text); font-weight: 700; }
.rgs-anim [data-rgs-signal]:not(.is-lit) .rgs-strip__c.is-part { border-color: var(--rgs-line); color: var(--rgs-muted); }
.rgs-lrow--core { padding-left: 18px; box-shadow: inset 3px 0 0 var(--rgs-sig); }

/* option sections: head, then three ruled facts */
.rgs-opt { padding-top: clamp(56px, 8vw, 104px); padding-bottom: clamp(56px, 8vw, 104px); }
.rgs-opt__grid { display: flex; flex-direction: column; }
.rgs-opt .rgs-facts { margin-top: 36px; }
.rgs-opt .rgs-tier__list li:first-child { padding-top: 0; }
.rgs-opt .rgs-tier__list li:first-child::before { top: 8px; }
.rgs-opt .rgs-fact--now .rgs-fact__v { font-size: 16px; }
.rgs-opt .rgs-fact__v { max-width: 36em; }
.rgs-opt__price { margin: 28px 0 0; padding-top: 18px; border-top: 2px solid var(--rgs-sig); font-family: var(--rgs-f-display); font-stretch: 85%; font-size: clamp(32px, 7vw, 44px); font-weight: 800; line-height: 1; color: var(--rgs-fg); }
.rgs-opt__price small { display: block; margin-top: 8px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-opt--core { border-top: 2px solid var(--rgs-gold); border-bottom: 2px solid var(--rgs-gold); }

/* why Connect is the core */
.rgs-why { margin-top: clamp(48px, 7vw, 88px); }
.rgs-why__box { padding-top: 28px; border-top: 1px solid var(--rgs-line); }
.rgs-why__k { margin: 0 0 14px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-why__title { font-size: clamp(26px, 6vw, 36px); line-height: 1.02; }
.rgs-why__body { margin-top: 20px; }
.rgs-why__body .rgs-p { max-width: 36em; }
.rgs-why__more { margin-top: 8px; }
.rgs-why__more .rgs-link { display: inline-flex; align-items: center; min-height: 44px; }

/* scope: why no price list, then audit -> recommendation -> scope */
.rgs-scope__grid { display: grid; gap: 48px; }
.rgs-scope__areas { margin: 24px 0 0; max-width: 40em; font-size: 13px; line-height: 1.7; color: var(--rgs-mist); }
.rgs-spath .rgs-path__item { --rgs-path-gap: 30px; --rgs-dot-top: 0px; }
.rgs-spath .rgs-path__dot { --rgs-dot-top: 0px; }
.rgs-spath .rgs-path__num { display: block; margin-bottom: 6px; font-family: var(--rgs-f-mono); font-size: 12px; color: var(--rgs-sig-text); }
.rgs-spath .rgs-path__note { max-width: 28em; }

@media (min-width: 900px) {
  .rgs-opt__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 88px; align-items: start; }
  .rgs-opt .rgs-facts { margin-top: 0; }
  .rgs-opt .rgs-case__line { margin-top: 16px; }
  .rgs-opt .rgs-fact { display: grid; grid-template-columns: 150px minmax(0, 1fr); column-gap: 24px; }
  .rgs-opt .rgs-fact__k { margin: 3px 0 0; }
  .rgs-opt--core .rgs-h2 { font-size: clamp(56px, 6.4vw, 92px); }
  .rgs-why__box { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 88px; align-items: start; }
  .rgs-why__body { margin-top: 0; }
  .rgs-scope__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 88px; align-items: start; }
  .rgs-spath { padding-top: 12px; }
}

/* ---- 17e. /about, /contact, /privacy, /terms ----------------------------- */
.rgs-abouthero { padding-bottom: clamp(56px, 8vw, 96px); }
.rgs-abouthero .rgs-btns { margin-top: 32px; }

.rgs-principles .rgs-path__note { max-width: 32em; }
.rgs-aboutfounder__grid { display: grid; gap: 40px; align-items: center; }
.rgs-aboutfounder .rgs-p { max-width: 32em; font-size: 17px; }
.rgs-aboutfounder .rgs-btns { margin-top: 24px; }

/* founder photo slot: intentionally empty, designed to hold the real portrait later */
.rgs-photo { margin: 0; max-width: 420px; }
.rgs-photo__frame {
  position: relative;
  aspect-ratio: 4 / 5;
  background: var(--rgs-navy-2);
  border: 1px solid var(--rgs-line);
  border-top: 4px solid var(--rgs-gold);
  overflow: hidden;
}
.rgs-photo__frame img { display: block; width: 100%; height: 100%; object-fit: cover; }
.rgs-photo__empty { position: absolute; inset: 0; }
.rgs-photo__line { position: absolute; left: 12%; right: 12%; bottom: 24%; height: 2px; background: var(--rgs-gold); opacity: .8; }
.rgs-photo__dot { position: absolute; right: 12%; bottom: calc(24% - 5px); width: 12px; height: 12px; border-radius: 50%; background: var(--rgs-gold); }
.rgs-photo__cap { margin-top: 16px; }
.rgs-photo__cap .rgs-person__name { display: block; }

.rgs-structure .rgs-head { margin-bottom: 24px; }
.rgs-idlist { margin: 0; max-width: 820px; border-bottom: 1px solid var(--rgs-line); }
.rgs-idlist__row { display: grid; gap: 4px; padding: 18px 0; border-top: 1px solid var(--rgs-line); }
.rgs-idlist dt { margin: 0; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-idlist dd { margin: 0; font-size: 17px; line-height: 1.5; color: var(--rgs-body); }

/* contact */
.rgs-contacthero .rgs-btns { margin-top: 28px; }
.rgs-formnote { margin-top: 16px; font-size: 14px; line-height: 1.5; }
.rgs-formnote .rgs-link { display: inline; }
.rgs-routes .rgs-head { margin-bottom: 24px; }
.rgs-routes__list { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; }
.rgs-route { padding: 28px 0; border-top: 1px solid var(--rgs-line); }
.rgs-route .rgs-h3 { font-size: 26px; }
.rgs-route .rgs-p { margin-top: 10px; max-width: 30em; }
.rgs-route .rgs-link,
.rgs-route__links .rgs-link { display: inline-flex; align-items: center; min-height: 44px; margin-top: 6px; margin-right: 20px; }
.rgs-contactid__p { max-width: 40em; margin-top: 12px; }

/* legal: light, wide-margin, long-form reading */
.rgs-legalhero { padding-bottom: clamp(40px, 6vw, 72px); }
.rgs-h1--legal { font-size: clamp(40px, 9vw, 64px); line-height: .97; }
.rgs-legalhero__date { margin-top: 20px; color: var(--rgs-muted); }
.rgs-legal { padding-top: clamp(40px, 6vw, 72px); padding-bottom: clamp(56px, 8vw, 104px); }
.rgs-legal__grid { display: grid; gap: 32px; }
.rgs-legal__toc { padding: 16px 18px; border: 1px solid var(--rgs-line); border-left: 4px solid var(--rgs-gold); background: #fff; }
.rgs-legal__toctitle { margin: 0 0 8px; font-family: var(--rgs-f-mono); font-size: 12px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-legal__toc ol { margin: 0; padding: 0; list-style: none; }
.rgs-legal__toc a { display: flex; align-items: center; min-height: 44px; color: var(--rgs-fg); font-size: 15px; text-decoration: none; }
.rgs-legal__toc a:hover { text-decoration: underline; text-decoration-color: var(--rgs-gold); text-underline-offset: 3px; }
.rgs-legal__body { min-width: 0; max-width: 700px; }
.rgs-legal__body section { padding: 0 0 36px; scroll-margin-top: calc(var(--rgs-header-h) + 16px); }
.rgs-legal__h { margin: 0 0 14px; font-family: var(--rgs-f-display); font-stretch: 85%; font-size: 26px; font-weight: 800; line-height: 1.1; letter-spacing: .01em; text-transform: uppercase; color: var(--rgs-fg); }
.rgs-legal__body p,
.rgs-legal__body li { font-size: 17px; line-height: 1.65; color: var(--rgs-body); }
.rgs-legal__body p { margin: 0 0 14px; max-width: 42em; }
.rgs-legal__body ul,
.rgs-legal__body ol { margin: 0 0 14px; padding-left: 22px; }
.rgs-legal__body ul { list-style: disc; }
.rgs-legal__body ol { list-style: decimal; }
.rgs-legal__body li { margin: 0 0 8px; padding-left: 4px; }
.rgs-legal__body li ul { margin-top: 8px; }
.rgs-legal__body strong { color: var(--rgs-fg); font-weight: 700; }
.rgs-legal__key { padding: 16px 18px; border-left: 4px solid var(--rgs-gold); background: #fff; color: var(--rgs-fg) !important; font-weight: 600; }
.rgs-legal__body .rgs-link { overflow-wrap: anywhere; }
.rgs-legal__cross { margin-top: 20px; }

@media (min-width: 900px) {
  .rgs-aboutfounder__grid { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: 96px; }
  .rgs-idlist__row { grid-template-columns: 200px minmax(0, 1fr); column-gap: 32px; align-items: baseline; }
  .rgs-routes__list { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: 48px; }
  .rgs-route { padding-right: 0; }
  .rgs-legal__grid { grid-template-columns: 260px minmax(0, 700px); column-gap: 72px; align-items: start; }
  .rgs-legal__toc { position: sticky; top: calc(var(--rgs-header-h) + 20px); }
}

/* ---- 17f. Homepage v2: Business Hub, keep-your-site, walkthrough, prices -- */
/* hero: the headline is longer than v1, so it steps down a size */
.rgs-h1--home { font-size: clamp(40px, 10.6vw, 60px); }
.rgs-hero__note { display: block; margin-top: 18px; color: var(--rgs-muted); }
@media (max-width: 599px) { /* six columns on a phone: labels may wrap to two short lines */
  .rgs-hero .rgs-node__label { font-size: 10px; letter-spacing: -.02em; white-space: normal; }
}

/* Business Hub: intro + price | what's inside (a vertical Signal path) */
.rgs-hub__grid { display: grid; gap: 48px; }
.rgs-hub__price { display: flex; align-items: baseline; gap: 6px; margin-top: 32px; padding-top: 24px; border-top: 2px solid var(--rgs-sig); }
.rgs-hub__amt { font-family: var(--rgs-f-display); font-stretch: 78%; font-size: clamp(72px, 18vw, 112px); font-weight: 800; line-height: .9; color: var(--rgs-fg); }
.rgs-hub__per { font-family: var(--rgs-f-mono); font-size: 16px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-hub__terms { margin-top: 20px; max-width: 34em; }
.rgs-hub__terms li { font-size: 16px; }
.rgs-hub__k { margin: 0 0 22px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-hubparts .rgs-path__item { --rgs-path-gap: 22px; --rgs-dot-top: 2px; }
.rgs-hubparts .rgs-path__note { max-width: 28em; }
.rgs-hub .rgs-btn--ghost { color: var(--rgs-fg); }

/* Keep your website: three ruled rows, numbered */
.rgs-keep__list { border-bottom: 1px solid var(--rgs-line); }
.rgs-keep__row { display: grid; gap: 8px; padding: 28px 0; border-top: 1px solid var(--rgs-line); }
.rgs-keep__num { font-family: var(--rgs-f-mono); font-size: 12px; color: var(--rgs-sig-text); }
.rgs-keep__row .rgs-h3 { font-size: clamp(30px, 7vw, 40px); font-weight: 800; font-stretch: 78%; }
.rgs-keep__row .rgs-p { max-width: 32em; }
.rgs-keep__row .rgs-link { justify-self: start; display: inline-flex; align-items: center; min-height: 44px; }
.rgs-keep__row:first-child .rgs-h3 { color: var(--rgs-gold-soft); }

/* Walkthrough: a tablist drawn as a Signal path over a two-column panel */
.rgs-demo [hidden] { display: none !important; }
.rgs-demo__box { border-top: 1px solid var(--rgs-line); }
.rgs-demo__steps {
  --rgs-demo-p: 0;
  position: relative;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  padding-top: 28px;
}
.rgs-demo__steps::before,
.rgs-demo__steps::after { /* track + gold fill, dot centre to dot centre */
  content: "";
  position: absolute;
  top: 38px;
  left: 10%; right: 10%;
  height: 2px;
  background: var(--rgs-line);
}
.rgs-demo__steps::after {
  background: var(--rgs-gold);
  transform-origin: left;
  transform: scaleX(var(--rgs-demo-p));
  transition: transform .5s var(--rgs-ease);
}
.rgs-demo__tab {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  min-height: 72px;
  padding: 0 2px 8px;
  background: none;
  border: 0;
  color: var(--rgs-muted);
  font-family: var(--rgs-f-mono);
  font-size: 11px;
  font-weight: 500;
  line-height: 1.3;
  cursor: pointer;
}
.rgs-demo__dot {
  width: 22px; height: 22px;
  margin-bottom: 6px;
  border: 2px solid var(--rgs-line);
  border-radius: 50%;
  background: var(--rgs-bg);
  box-shadow: 0 0 0 4px var(--rgs-bg);
  transition: background-color .3s, border-color .3s, transform .3s var(--rgs-ease);
}
.rgs-demo__n { display: none; }
.rgs-demo__tab.is-done { color: var(--rgs-mist); }
.rgs-demo__tab.is-done .rgs-demo__dot { background: var(--rgs-gold); border-color: var(--rgs-gold); }
.rgs-demo__tab[aria-selected="true"] { color: #fff; }
.rgs-demo__tab[aria-selected="true"] .rgs-demo__dot { background: var(--rgs-gold-soft); border-color: var(--rgs-gold-soft); transform: scale(1.15); }
.rgs-demo__tab:hover { color: #fff; }
.rgs-demo__tab:hover .rgs-demo__dot { border-color: var(--rgs-gold); }
.rgs-demo__tab:focus-visible { outline: 3px solid var(--rgs-gold-soft); outline-offset: 2px; border-radius: 2px; }

.rgs-demo__panel { display: grid; gap: 28px; padding: 32px 0; border-bottom: 1px solid var(--rgs-line); }
.rgs-demo__panel:focus-visible { outline: 3px solid var(--rgs-gold-soft); outline-offset: 4px; }
.rgs-demo.is-live .rgs-demo__panel { border-bottom: 0; padding-bottom: 0; }
.rgs-demo__k { margin: 0 0 12px; font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-gold); }
.rgs-demo__text .rgs-h3 { font-size: clamp(26px, 6.4vw, 36px); font-weight: 800; font-stretch: 78%; }
.rgs-demo__text .rgs-p { margin-top: 14px; max-width: 30em; font-size: 17px; }
.rgs-demo__nav { display: flex; gap: 12px; justify-content: flex-end; margin-top: 28px; }
.rgs-demo__nav .rgs-btn:disabled { opacity: .4; cursor: default; }
.rgs-demo__note { display: block; margin-top: 24px; color: var(--rgs-muted); }

/* the illustration: a plain product frame, light on the dark section */
.rgs-ui {
  --rgs-fg: var(--rgs-navy);
  --rgs-body: #384656;
  min-width: 0;
  background: var(--rgs-paper);
  border-top: 4px solid var(--rgs-gold);
  border-radius: 0 0 4px 4px;
  color: var(--rgs-body);
}
.rgs-ui__bar { margin: 0; padding: 12px 16px; border-bottom: 1px solid rgba(13, 27, 42, .14); font-family: var(--rgs-f-mono); font-size: 12px; color: #5A6776; }
.rgs-ui__body { display: grid; gap: 10px; padding: 18px 16px 20px; }
.rgs-ui__body p { margin: 0; }
.rgs-ui__title { font-family: var(--rgs-f-display); font-stretch: 85%; font-size: 22px; font-weight: 800; text-transform: uppercase; color: var(--rgs-navy); }
.rgs-ui__field { display: grid; gap: 2px; padding: 10px 12px; background: #fff; border: 1px solid rgba(13, 27, 42, .16); border-radius: 3px; font-size: 15px; color: var(--rgs-navy); }
.rgs-ui__field span { font-family: var(--rgs-f-mono); font-size: 11px; color: #5A6776; }
.rgs-ui__btn { justify-self: start; padding: 10px 18px; background: var(--rgs-navy); border-radius: 3px; font-size: 14px; font-weight: 700; color: #fff; }
.rgs-ui__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.rgs-ui__tags i { padding: 3px 8px; border: 1px solid #B07B1C; border-radius: 2px; font-family: var(--rgs-f-mono); font-size: 11px; font-style: normal; color: #7D5710; }
.rgs-ui__log { display: flex; gap: 10px; align-items: baseline; padding-top: 10px; border-top: 1px solid rgba(13, 27, 42, .12); font-size: 14px; }
.rgs-ui__log b { flex: none; min-width: 72px; font-family: var(--rgs-f-mono); font-size: 11px; font-weight: 500; color: #7D5710; }
.rgs-ui__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.rgs-ui__col { display: grid; align-content: start; gap: 8px; min-height: 120px; padding: 8px; background: rgba(13, 27, 42, .05); border-radius: 3px; }
.rgs-ui__col b { font-family: var(--rgs-f-mono); font-size: 11px; font-weight: 500; color: #5A6776; overflow-wrap: anywhere; }
.rgs-ui__card { padding: 8px; background: #fff; border: 1px solid rgba(13, 27, 42, .16); border-left: 3px solid #B07B1C; border-radius: 3px; font-size: 13px; font-weight: 600; color: var(--rgs-navy); overflow-wrap: anywhere; }
.rgs-ui__msg { max-width: 85%; padding: 10px 12px; background: #fff; border: 1px solid rgba(13, 27, 42, .16); border-radius: 3px; font-size: 15px; color: var(--rgs-navy); }
.rgs-ui__msg.is-out { justify-self: end; background: var(--rgs-navy); border-color: var(--rgs-navy); color: #fff; }
.rgs-ui__slot { display: grid; gap: 2px; padding: 12px; background: #fff; border: 1px solid rgba(13, 27, 42, .16); border-left: 3px solid #B07B1C; border-radius: 3px; font-size: 15px; color: var(--rgs-navy); }
.rgs-ui__slot b { font-weight: 700; }
/* the panel's frame settles in when it becomes the current step */
.rgs-demo.is-live .rgs-demo__panel.is-in .rgs-ui { animation: rgs-ui-in .45s var(--rgs-ease); }
@keyframes rgs-ui-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }

/* Ways to work: the four options on one horizontal Signal path */
.rgs-ways__path .rgs-path__item { --rgs-path-gap: 30px; }
.rgs-ways__path .rgs-path__num { display: block; margin-bottom: 6px; font-family: var(--rgs-f-mono); font-size: 12px; color: var(--rgs-sig-text); }
.rgs-ways__path .rgs-path__label { font-size: clamp(24px, 6vw, 28px); font-stretch: 78%; font-weight: 800; }
.rgs-ways__path .rgs-path__note { max-width: 22em; margin-top: 8px; }

/* Pricing preview: ruled rows, the Hub row carries the gold rule */
.rgs-plist { margin: 0; border-bottom: 1px solid var(--rgs-line); }
.rgs-plist__row { display: grid; gap: 10px; padding: 24px 0; border-top: 1px solid var(--rgs-line); }
.rgs-plist__row--base { border-top: 2px solid var(--rgs-sig); }
.rgs-plist dt, .rgs-plist dd { margin: 0; }
.rgs-plist__name { display: block; font-family: var(--rgs-f-display); font-stretch: 78%; font-size: 28px; font-weight: 800; line-height: 1; text-transform: uppercase; color: var(--rgs-fg); }
.rgs-plist__what { display: block; margin-top: 6px; font-family: var(--rgs-f-mono); font-size: 12px; color: var(--rgs-sig-text); }
.rgs-plist__amt { display: block; font-family: var(--rgs-f-display); font-stretch: 85%; font-size: 30px; font-weight: 800; line-height: 1.05; color: var(--rgs-fg); }
.rgs-plist__amt small { font-family: var(--rgs-f-mono); font-size: 13px; font-weight: 500; color: var(--rgs-sig-text); }
.rgs-plist__note { display: block; margin-top: 4px; font-size: 15px; line-height: 1.5; color: var(--rgs-body); }
.rgs-prices__fine { margin: 20px 0 0; max-width: 40em; font-size: 15px; color: var(--rgs-body); }
.rgs-prices .rgs-offer__cta { margin-top: 36px; }
.rgs-prices .rgs-btn--primary { background: var(--rgs-navy); color: #fff; }
.rgs-prices .rgs-btn--primary:hover { background: var(--rgs-navy-2); color: #fff; }

/* Audit block + founder link */
.rgs-auditcta__grid { display: grid; gap: 44px; }
.rgs-auditcta__areas { padding-top: 24px; border-top: 2px solid var(--rgs-sig); }
.rgs-auditcta__areas .rgs-ticks li { font-size: 16px; }
.rgs-founder__more { margin-top: 20px; }
.rgs-founder__more .rgs-link { display: inline-flex; align-items: center; min-height: 44px; }

@media (min-width: 600px) {
  .rgs-demo__tab { font-size: 13px; }
  .rgs-demo__n { display: block; font-size: 11px; color: var(--rgs-muted); }
}
@media (min-width: 900px) {
  .rgs-h1--home { font-size: clamp(56px, 5.6vw, 88px); }
  .rgs-hub__grid { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: 96px; align-items: start; }
  .rgs-hub__inside { padding-top: 8px; }
  .rgs-keep__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-bottom: 0; }
  .rgs-keep__row { align-content: start; padding: 32px 40px 8px; border-top: 0; border-left: 1px solid var(--rgs-line); }
  .rgs-keep__row:first-child { padding-left: 0; border-left: 0; }
  .rgs-keep__list { border-top: 1px solid var(--rgs-line); }
  .rgs-demo__steps::before,
  .rgs-demo__steps::after { top: 39px; }
  .rgs-demo__panel { grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 72px; align-items: center; padding: 48px 0; }
  .rgs-demo.is-live .rgs-demo__panel { min-height: 360px; }
  .rgs-ways__path .rgs-path--h > .rgs-path__item:last-child { flex: 1 1 0; padding-right: 0; }
  .rgs-plist__row { grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: 48px; align-items: baseline; padding: 28px 0; }
  .rgs-plist__row dd { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); column-gap: 32px; align-items: baseline; }
  .rgs-plist__note { margin-top: 0; }
  .rgs-auditcta__grid { grid-template-columns: minmax(0, 7fr) minmax(0, 4fr); column-gap: 96px; align-items: start; }
}

/* ---- 18. Reduced motion ------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  .rgs-root *,
  .rgs-root *::before,
  .rgs-root *::after,
  .rgs-header,
  .rgs-header *,
  .rgs-header *::before,
  .rgs-header *::after,
  .rgs-footer,
  .rgs-footer *,
  .rgs-footer *::before,
  .rgs-footer *::after {
    transition-duration: 0s !important;
    transition-delay: 0s !important;
    animation: none !important;
  }
  .rgs-node.is-now .rgs-node__dot { transform: none; }
}
