
    .sc-placeholder{background:color-mix(in srgb,currentColor 8%,transparent);
      border:1px solid color-mix(in srgb,currentColor 50%,transparent);
      border-radius:2px;box-sizing:border-box;overflow:hidden}
    @keyframes sc-shine{0%{background-position:100% 50%}100%{background-position:0% 50%}}
    html.sc-dc-streaming .sc-placeholder,
    html.sc-dc-streaming .sc-interp.sc-missing{position:relative;
      background:color-mix(in srgb,currentColor 5%,transparent);
      border-color:transparent}
    html.sc-dc-streaming .sc-placeholder::before,
    html.sc-dc-streaming .sc-interp.sc-missing::before{content:'';
      position:absolute;inset:0;pointer-events:none;
      background:linear-gradient(90deg,rgba(217,119,87,0) 25%,rgba(247,225,211,.95) 37%,rgba(217,119,87,0) 63%);
      background-size:400% 100%;animation:sc-shine 1.4s ease infinite}
    html.sc-dc-streaming .sc-placeholder:nth-child(n+9 of .sc-placeholder)::before,
    html.sc-dc-streaming .sc-interp.sc-missing:nth-child(n+9 of .sc-interp.sc-missing)::before{animation:none;
      background:color-mix(in srgb,currentColor 8%,transparent)}
    .sc-placeholder-error{padding:4px 8px;font:11px/1.4 ui-monospace,monospace;
      color:color-mix(in srgb,currentColor 70%,transparent);word-break:break-word}
    .sc-interp.sc-missing{display:inline-block;width:2em;height:1em;overflow:hidden;
      vertical-align:text-bottom;background:rgba(255,255,255,.3);border:1px solid rgba(0,0,0,.5);
      border-radius:2px;box-sizing:border-box;color:transparent;
      user-select:none}
    .sc-interp.sc-unresolved{font-family:ui-monospace,monospace;font-size:.85em;
      color:color-mix(in srgb,currentColor 50%,transparent);
      background:color-mix(in srgb,currentColor 10%,transparent);border-radius:3px;
      padding:0 3px}
    .sc-host.sc-has-error{position:relative}
    .sc-logic-error{position:absolute;top:8px;left:8px;z-index:2147483647;max-width:60ch;
      padding:6px 10px;background:#b00020;color:#fff;font:12px/1.4 ui-monospace,monospace;
      border-radius:4px;white-space:pre-wrap;pointer-events:none}
    /* Mirrors PRINT_BASELINE_CSS in apps/web deck-stage-export.ts, keep both
       in sync until dc-runtime regains a build step. */
    @media print {
      @page { margin: 0.5cm; }
      figure, table { break-inside: avoid; }
      #dc-root, #dc-root > .sc-host { height: auto; }
      *, *::before, *::after {
        print-color-adjust: exact; -webkit-print-color-adjust: exact;
        backdrop-filter: none !important; -webkit-backdrop-filter: none !important;
        animation-delay: -99s !important; animation-duration: .001s !important;
        animation-iteration-count: 1 !important; animation-fill-mode: both !important;
        animation-play-state: running !important; transition-duration: 0s !important;
      }
    }
  
/* ---- */
x-dc{display:none!important}
/* ---- */
/* Inter, variable, from Google Fonts. No local binaries were supplied with the
   prototype, which loads the same hosted files. Weights in use: 400 500 600 700 800. */
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/dd009dd4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/55a75ab6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/cf46f1e0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/47f5802d.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/e2cfa947.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/55e9bc36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/626a9def.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/dd009dd4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/55a75ab6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/cf46f1e0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/47f5802d.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/e2cfa947.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/55e9bc36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/626a9def.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/dd009dd4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/55a75ab6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/cf46f1e0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/47f5802d.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/e2cfa947.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/55e9bc36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/626a9def.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/dd009dd4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/55a75ab6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/cf46f1e0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/47f5802d.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/e2cfa947.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/55e9bc36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/626a9def.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/dd009dd4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/55a75ab6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/cf46f1e0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/47f5802d.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/e2cfa947.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/55e9bc36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/626a9def.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* ---- */
/* Inter, variable, from Google Fonts. No local binaries were supplied with the
   prototype, which loads the same hosted files. Weights in use: 400 500 600 700 800. */
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/dd009dd4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/55a75ab6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/cf46f1e0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/47f5802d.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/e2cfa947.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/55e9bc36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("assets/626a9def.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/dd009dd4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/55a75ab6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/cf46f1e0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/47f5802d.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/e2cfa947.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/55e9bc36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url("assets/626a9def.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/dd009dd4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/55a75ab6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/cf46f1e0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/47f5802d.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/e2cfa947.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/55e9bc36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("assets/626a9def.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/dd009dd4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/55a75ab6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/cf46f1e0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/47f5802d.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/e2cfa947.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/55e9bc36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("assets/626a9def.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* cyrillic-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/dd009dd4.woff2") format('woff2');
  unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}
/* cyrillic */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/55a75ab6.woff2") format('woff2');
  unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;
}
/* greek-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/cf46f1e0.woff2") format('woff2');
  unicode-range: U+1F00-1FFF;
}
/* greek */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/47f5802d.woff2") format('woff2');
  unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;
}
/* vietnamese */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/e2cfa947.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/55e9bc36.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("assets/626a9def.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}


/* Flic palette. Raw ramps only, no semantics.
   Every step the prototype already used is pinned exactly:
   indigo 25=accent-wash 50=accent-tint 100=sc-1 tint 200/300=confidence ramp 500=accent 600=accent-deep
   neutral 0=surface 25=app 50=divider 100=line 400=faint 500=sub 900=ink
   green 50=good-tint 500=good | amber 50=warn-tint 500=warn | red 50=alert-tint 500=alert
   Consolidated on the way in: #E4E5EC, #E6E7EE and #E8E9EF all became neutral-100.
   #E3E3F8 became indigo-100. #101216 became neutral-950. */
:root{
--f-neutral-0:#FFFFFF;--f-neutral-25:#F7F7FA;--f-neutral-50:#F1F2F6;--f-neutral-100:#E8E9EF;--f-neutral-200:#D6D8E1;--f-neutral-300:#B9BDC7;--f-neutral-400:#9AA1AC;--f-neutral-500:#6B7280;--f-neutral-600:#565C67;--f-neutral-700:#43474F;--f-neutral-800:#2E3137;--f-neutral-900:#17181C;--f-neutral-950:#0D0E11;
--f-indigo-25:#F7F7FD;--f-indigo-50:#EEEEFB;--f-indigo-100:#E4E4F8;--f-indigo-200:#CFCFF0;--f-indigo-300:#A9A9E4;--f-indigo-400:#8181DE;--f-indigo-500:#5B5BD6;--f-indigo-600:#4747BF;--f-indigo-700:#3A3A9E;--f-indigo-800:#2C2C77;--f-indigo-900:#1F1F52;--f-indigo-950:#151535;
--f-green-25:#F4FBF7;--f-green-50:#E7F6EF;--f-green-100:#D2EDE0;--f-green-200:#A9DCC2;--f-green-300:#77C6A0;--f-green-400:#4CB183;--f-green-500:#2E9E6B;--f-green-600:#26855A;--f-green-700:#1E6A48;--f-green-800:#175035;--f-green-900:#0F3523;--f-green-950:#0A2117;
--f-amber-25:#FDF9F1;--f-amber-50:#FBF3E4;--f-amber-100:#F6E6C7;--f-amber-200:#EED3A0;--f-amber-300:#E5B96A;--f-amber-400:#DFA748;--f-amber-500:#D9962E;--f-amber-600:#B87D24;--f-amber-700:#94631C;--f-amber-800:#6F4A15;--f-amber-900:#4A310E;--f-amber-950:#2F1F09;
--f-red-25:#FEF6F5;--f-red-50:#FDECEA;--f-red-100:#FAD8D4;--f-red-200:#F3B5AE;--f-red-300:#E88D84;--f-red-400:#DE6E63;--f-red-500:#D6544A;--f-red-600:#BE3F35;--f-red-700:#9C332B;--f-red-800:#762620;--f-red-900:#4F1915;--f-red-950:#33100D;
/* Brand. Mark only. Never a control, never text, never a tint. */
--f-brand-blue:#207DFF;--f-brand-pink:#FB3160;--f-brand-navy:#000E53;
/* Positional scenario colours. Index is the rail position, not the scenario. */
--f-sc-0:#2F8FB5;--f-sc-0-tint:#DDEDF4;--f-sc-1:#5B5BD6;--f-sc-1-tint:#E4E4F8;--f-sc-2:#8E4FD1;--f-sc-2-tint:#EBE0F6;--f-sc-3:#C2477F;--f-sc-3-tint:#F7E2EC;--f-sc-4:#C04ABF;--f-sc-4-tint:#F6E4F6;
--f-sc-0-dark:#79C4E2;--f-sc-0-tint-dark:#23414D;--f-sc-1-dark:#7878E3;--f-sc-1-tint-dark:#23234D;--f-sc-2-dark:#AC79E2;--f-sc-2-tint-dark:#37244D;--f-sc-3-dark:#DB80A9;--f-sc-3-tint-dark:#482837;--f-sc-4-dark:#DA81D9;--f-sc-4-tint-dark:#472947;
/* Identity ramp. Avatars and any per-person colour. Clear of all three state hues by more than 30 degrees. */
--f-id-1-tint:#EEF8E8;--f-id-1-ink:#4E7932;--f-id-2-tint:#E8F6F8;--f-id-2-ink:#34777F;--f-id-3-tint:#E8F0F8;--f-id-3-ink:#3F6F9A;--f-id-4-tint:#E8EAF8;--f-id-4-ink:#4A5CB5;--f-id-5-tint:#EBE8F8;--f-id-5-ink:#5F4AB5;--f-id-6-tint:#F1E8F8;--f-id-6-ink:#874AB5;--f-id-7-tint:#F8E8F8;--f-id-7-ink:#A142A1;--f-id-8-tint:#F8E8F1;--f-id-8-ink:#A8457F;
--f-id-1-tint-dark:#3A4D2D;--f-id-1-ink-dark:#BCDFA4;--f-id-2-tint-dark:#2D4A4D;--f-id-2-ink-dark:#A4D9DF;--f-id-3-tint-dark:#2D3E4D;--f-id-3-ink-dark:#A4C4DF;--f-id-4-tint-dark:#2D334D;--f-id-4-ink-dark:#A4AEDF;--f-id-5-tint-dark:#342D4D;--f-id-5-ink-dark:#B0A4DF;--f-id-6-tint-dark:#3F2D4D;--f-id-6-ink-dark:#C6A4DF;--f-id-7-tint-dark:#4D2D4D;--f-id-7-ink-dark:#DFA4DF;--f-id-8-tint-dark:#4D2D40;--f-id-8-ink-dark:#DFA4C7;
}

/* The semantic layer. This is the layer product code reads.
   Names carried over from the prototype unchanged so the working file keeps building.
   Dark follows the OS. [data-theme=dark] and [data-theme=light] force it either way.
   Scenario colour resolves through two hops so the .sc-N scopes need no theme variants:
   .sc-N maps --sccol to --sc-N-col, and --sc-N-col is themed on :root. */
:root{
--surface:var(--f-neutral-0);--app:var(--f-neutral-25);--raised:var(--f-neutral-0);--sunken:var(--f-neutral-25);--inverse:var(--f-neutral-900);--on-inverse:var(--f-neutral-0);
--ink:var(--f-neutral-900);--sub:var(--f-neutral-500);--faint:var(--f-neutral-400);--quiet:var(--f-neutral-600);
--line:var(--f-neutral-100);--divider:var(--f-neutral-50);--line-strong:var(--f-neutral-300);
--accent:var(--f-indigo-500);--accent-deep:var(--f-indigo-600);--accent-tint:var(--f-indigo-50);--accent-tint-hover:var(--f-indigo-100);--accent-wash:var(--f-indigo-25);--accent-ink:var(--f-indigo-600);--on-accent:var(--f-neutral-0);--on-accent-quiet:rgba(255,255,255,.82);
--good:var(--f-green-500);--good-tint:var(--f-green-50);--good-ink:var(--f-green-700);--good-line:var(--f-green-200);--on-good:var(--f-neutral-0);
--warn:var(--f-amber-500);--warn-tint:var(--f-amber-50);--warn-ink:var(--f-amber-700);--warn-line:var(--f-amber-200);--on-warn:var(--f-neutral-900);
--alert:var(--f-red-500);--alert-tint:var(--f-red-50);--alert-ink:var(--f-red-600);--alert-line:var(--f-red-200);--on-alert:var(--f-neutral-0);
--conf-caught:var(--f-indigo-500);--conf-known:var(--f-indigo-300);--conf-related:var(--f-indigo-200);--conf-missing:var(--f-neutral-100);--conf-track:var(--f-neutral-100);
--sc-0-col:var(--f-sc-0);--sc-0-tint:var(--f-sc-0-tint);
--sc-1-col:var(--f-sc-1);--sc-1-tint:var(--f-sc-1-tint);
--sc-2-col:var(--f-sc-2);--sc-2-tint:var(--f-sc-2-tint);
--sc-3-col:var(--f-sc-3);--sc-3-tint:var(--f-sc-3-tint);
--sc-4-col:var(--f-sc-4);--sc-4-tint:var(--f-sc-4-tint);
--sccol:var(--sc-1-col);--sctint:var(--sc-1-tint);
--scrim:rgba(255,255,255,.66);--scrim-dim:rgba(23,24,28,.44);
--shadow-hue:16 18 22; /* @kind other */
--focus:var(--f-indigo-500);
color-scheme:light}

@media (prefers-color-scheme:dark){:root{
--surface:#17181C;--app:#0D0E11;--raised:#1E2025;--sunken:#101115;--inverse:var(--f-neutral-0);--on-inverse:var(--f-neutral-900);
--ink:#F2F3F6;--sub:#A0A6B0;--faint:#6E747E;--quiet:#C3C8D1;
--line:#2A2D34;--divider:#22242A;--line-strong:#454B55;
--accent:var(--f-indigo-400);--accent-deep:var(--f-indigo-300);--accent-tint:#1D1D3D;--accent-tint-hover:#26264C;--accent-wash:#191930;--accent-ink:var(--f-indigo-300);--on-accent:var(--f-neutral-950);--on-accent-quiet:rgba(13,14,17,.72);
--good:var(--f-green-400);--good-tint:#0F2A1E;--good-ink:var(--f-green-300);--good-line:#1E6A48;--on-good:var(--f-neutral-950);
--warn:var(--f-amber-400);--warn-tint:#2C2110;--warn-ink:var(--f-amber-300);--warn-line:#6F4A15;--on-warn:var(--f-neutral-950);
--alert:var(--f-red-400);--alert-tint:#2E1614;--alert-ink:var(--f-red-300);--alert-line:#762620;--on-alert:var(--f-neutral-950);
--conf-caught:var(--f-indigo-400);--conf-known:#5F5FA8;--conf-related:#3F3F72;--conf-missing:#2A2C36;--conf-track:#22242A;
--sc-0-col:var(--f-sc-0-dark);--sc-0-tint:var(--f-sc-0-tint-dark);
--sc-1-col:var(--f-sc-1-dark);--sc-1-tint:var(--f-sc-1-tint-dark);
--sc-2-col:var(--f-sc-2-dark);--sc-2-tint:var(--f-sc-2-tint-dark);
--sc-3-col:var(--f-sc-3-dark);--sc-3-tint:var(--f-sc-3-tint-dark);
--sc-4-col:var(--f-sc-4-dark);--sc-4-tint:var(--f-sc-4-tint-dark);
--sccol:var(--sc-1-col);--sctint:var(--sc-1-tint);
--scrim:rgba(13,14,17,.72);--scrim-dim:rgba(6,7,9,.6);
--shadow-hue:0 0 0; /* @kind other */
--focus:var(--f-indigo-300);
color-scheme:dark}}

:root[data-theme=dark]{
--surface:#17181C;--app:#0D0E11;--raised:#1E2025;--sunken:#101115;--inverse:var(--f-neutral-0);--on-inverse:var(--f-neutral-900);
--ink:#F2F3F6;--sub:#A0A6B0;--faint:#6E747E;--quiet:#C3C8D1;
--line:#2A2D34;--divider:#22242A;--line-strong:#454B55;
--accent:var(--f-indigo-400);--accent-deep:var(--f-indigo-300);--accent-tint:#1D1D3D;--accent-tint-hover:#26264C;--accent-wash:#191930;--accent-ink:var(--f-indigo-300);--on-accent:var(--f-neutral-950);--on-accent-quiet:rgba(13,14,17,.72);
--good:var(--f-green-400);--good-tint:#0F2A1E;--good-ink:var(--f-green-300);--good-line:#1E6A48;--on-good:var(--f-neutral-950);
--warn:var(--f-amber-400);--warn-tint:#2C2110;--warn-ink:var(--f-amber-300);--warn-line:#6F4A15;--on-warn:var(--f-neutral-950);
--alert:var(--f-red-400);--alert-tint:#2E1614;--alert-ink:var(--f-red-300);--alert-line:#762620;--on-alert:var(--f-neutral-950);
--conf-caught:var(--f-indigo-400);--conf-known:#5F5FA8;--conf-related:#3F3F72;--conf-missing:#2A2C36;--conf-track:#22242A;
--sc-0-col:var(--f-sc-0-dark);--sc-0-tint:var(--f-sc-0-tint-dark);
--sc-1-col:var(--f-sc-1-dark);--sc-1-tint:var(--f-sc-1-tint-dark);
--sc-2-col:var(--f-sc-2-dark);--sc-2-tint:var(--f-sc-2-tint-dark);
--sc-3-col:var(--f-sc-3-dark);--sc-3-tint:var(--f-sc-3-tint-dark);
--sc-4-col:var(--f-sc-4-dark);--sc-4-tint:var(--f-sc-4-tint-dark);
--sccol:var(--sc-1-col);--sctint:var(--sc-1-tint);
--scrim:rgba(13,14,17,.72);--scrim-dim:rgba(6,7,9,.6);
--shadow-hue:0 0 0; /* @kind other */
--focus:var(--f-indigo-300);
color-scheme:dark}

:root[data-theme=light]{
--surface:var(--f-neutral-0);--app:var(--f-neutral-25);--raised:var(--f-neutral-0);--sunken:var(--f-neutral-25);--inverse:var(--f-neutral-900);--on-inverse:var(--f-neutral-0);
--ink:var(--f-neutral-900);--sub:var(--f-neutral-500);--faint:var(--f-neutral-400);--quiet:var(--f-neutral-600);
--line:var(--f-neutral-100);--divider:var(--f-neutral-50);--line-strong:var(--f-neutral-300);
--accent:var(--f-indigo-500);--accent-deep:var(--f-indigo-600);--accent-tint:var(--f-indigo-50);--accent-tint-hover:var(--f-indigo-100);--accent-wash:var(--f-indigo-25);--accent-ink:var(--f-indigo-600);--on-accent:var(--f-neutral-0);--on-accent-quiet:rgba(255,255,255,.82);
--good:var(--f-green-500);--good-tint:var(--f-green-50);--good-ink:var(--f-green-700);--good-line:var(--f-green-200);--on-good:var(--f-neutral-0);
--warn:var(--f-amber-500);--warn-tint:var(--f-amber-50);--warn-ink:var(--f-amber-700);--warn-line:var(--f-amber-200);--on-warn:var(--f-neutral-900);
--alert:var(--f-red-500);--alert-tint:var(--f-red-50);--alert-ink:var(--f-red-600);--alert-line:var(--f-red-200);--on-alert:var(--f-neutral-0);
--conf-caught:var(--f-indigo-500);--conf-known:var(--f-indigo-300);--conf-related:var(--f-indigo-200);--conf-missing:var(--f-neutral-100);--conf-track:var(--f-neutral-100);
--sc-0-col:var(--f-sc-0);--sc-0-tint:var(--f-sc-0-tint);
--sc-1-col:var(--f-sc-1);--sc-1-tint:var(--f-sc-1-tint);
--sc-2-col:var(--f-sc-2);--sc-2-tint:var(--f-sc-2-tint);
--sc-3-col:var(--f-sc-3);--sc-3-tint:var(--f-sc-3-tint);
--sc-4-col:var(--f-sc-4);--sc-4-tint:var(--f-sc-4-tint);
--sccol:var(--sc-1-col);--sctint:var(--sc-1-tint);
--scrim:rgba(255,255,255,.66);--scrim-dim:rgba(23,24,28,.44);
--shadow-hue:16 18 22; /* @kind other */
--focus:var(--f-indigo-500);
color-scheme:light}

/* Positional scenario scopes. Reordering the rail recolours card and centre column together.
   Each scope redeclares --inset-scenario against its own literal colours: a composite
   declared once on :root would resolve there and bake in position 1's indigo. */
.sc-0{--sccol:var(--sc-0-col);--sctint:var(--sc-0-tint);--inset-scenario:inset 0 0 0 2px var(--sc-0-tint),inset 0 3px 0 0 var(--sc-0-col)}
.sc-1{--sccol:var(--sc-1-col);--sctint:var(--sc-1-tint);--inset-scenario:inset 0 0 0 2px var(--sc-1-tint),inset 0 3px 0 0 var(--sc-1-col)}
.sc-2{--sccol:var(--sc-2-col);--sctint:var(--sc-2-tint);--inset-scenario:inset 0 0 0 2px var(--sc-2-tint),inset 0 3px 0 0 var(--sc-2-col)}
.sc-3{--sccol:var(--sc-3-col);--sctint:var(--sc-3-tint);--inset-scenario:inset 0 0 0 2px var(--sc-3-tint),inset 0 3px 0 0 var(--sc-3-col)}
.sc-4{--sccol:var(--sc-4-col);--sctint:var(--sc-4-tint);--inset-scenario:inset 0 0 0 2px var(--sc-4-tint),inset 0 3px 0 0 var(--sc-4-col)}

/* Type. Inter, one family, five weights.
   41 sizes in the prototype collapsed to 12 named steps. No step moves a value by more than 0.4px. */
:root{
--font:'Inter',system-ui,-apple-system,'Helvetica Neue',sans-serif;
--fs-display:34px;--fs-figure-xl:27px;--fs-figure-lg:23px;--fs-figure-md:19px;--fs-heading:17px;--fs-figure-sm:16px;--fs-title:15px;--fs-body-lg:14px;--fs-body:13px;--fs-body-sm:12px;--fs-caption:11px;--fs-micro:10px;
--lh-tight:1.1; /* @kind font */
--lh-snug:1.25; /* @kind font */
--lh-normal:1.45; /* @kind font */
--lh-relaxed:1.6; /* @kind font */
--fw-regular:400; /* @kind font */
--fw-medium:500; /* @kind font */
--fw-semibold:600; /* @kind font */
--fw-bold:700; /* @kind font */
--fw-black:800; /* @kind font */
--tr-tightest:-.025em; /* @kind font */
--tr-tighter:-.02em; /* @kind font */
--tr-tight:-.015em; /* @kind font */
--tr-snug:-.01em; /* @kind font */
--tr-none:0; /* @kind font */
--tr-caps:.04em; /* @kind font */
}
/* Roles. Apply as a single class, do not restate the parts. */
.t-display{font-size:var(--fs-display);font-weight:var(--fw-bold);letter-spacing:var(--tr-tighter);line-height:var(--lh-tight)}
.t-figure-xl{font-size:var(--fs-figure-xl);font-weight:var(--fw-bold);letter-spacing:var(--tr-tightest);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}
.t-figure-lg{font-size:var(--fs-figure-lg);font-weight:var(--fw-bold);letter-spacing:var(--tr-tighter);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}
.t-figure-md{font-size:var(--fs-figure-md);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);line-height:var(--lh-tight);font-variant-numeric:tabular-nums}
.t-figure-sm{font-size:var(--fs-figure-sm);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);line-height:var(--lh-snug);font-variant-numeric:tabular-nums}
.t-heading{font-size:var(--fs-heading);font-weight:var(--fw-bold);letter-spacing:var(--tr-snug);line-height:var(--lh-snug)}
.t-title{font-size:var(--fs-title);font-weight:var(--fw-bold);letter-spacing:var(--tr-snug);line-height:var(--lh-snug)}
.t-body-lg{font-size:var(--fs-body-lg);font-weight:var(--fw-regular);letter-spacing:var(--tr-snug);line-height:var(--lh-normal)}
.t-body{font-size:var(--fs-body);line-height:var(--lh-normal)}
.t-body-sm{font-size:var(--fs-body-sm);line-height:var(--lh-normal)}
.t-caption{font-size:var(--fs-caption);line-height:var(--lh-normal)}
.t-micro{font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:var(--tr-caps);text-transform:uppercase;line-height:1}
/* Money and figures. Tabular by default so columns align down the page.
   Deliberately dropped when a value is unknown, so unknown reads as prose and not as a number. */
.t-money{font-variant-numeric:tabular-nums;font-feature-settings:'ss01';letter-spacing:var(--tr-tight)}
.t-money-unknown{font-variant-numeric:normal;letter-spacing:var(--tr-none);color:var(--faint)}

/* Base unit 2px, scale in 4px increments above 8px.
   The odd values are real, they came from the prototype and are kept. */
:root{
--sp-0:0; /* @kind spacing */--sp-1:2px;--sp-2:4px;--sp-3:6px;--sp-4:8px;--sp-5:10px;--sp-6:12px;--sp-7:14px;--sp-8:16px;--sp-9:18px;--sp-10:22px;--sp-11:28px;--sp-12:36px;--sp-13:48px;--sp-14:64px;
/* Shell tracks. Change the template and the display rule together, never one alone. */
--rail-quick:64px;--rail-clients:230px;--rail-scenario:370px;--rail-setup:320px;
--main-pad-x:28px;--main-pad-y:22px;--main-bleed:calc(-1 * var(--main-pad-x));
--app-min-width:1280px; /* @kind spacing */
/* Label gutters, re-derived against the 1280 minimum rather than carried over from
   the prototype's 1520. Content budget is 616px centre column less 2 x --main-pad-x
   = 560px. A 186px gutter plus a 26px gap left a 348px right column, which could not
   hold a four column money row. These three plus --band-gap are the numbers that
   have to change together if the minimum width ever moves again. */
--gutter:150px;--gutter-wide:300px;--gutter-narrow:92px;--band-gap:20px;
--row-h:34px;--row-h-lg:44px;--hit-min:28px;
}

/* Radii, unchanged from the prototype, plus the two the prototype missed.
   Seven off scale values consolidated: 13px to --r-panel, 6px and 5px to --r-xs,
   4px and 3px to --r-tick, 11px on the toggle track to --r-pill. */
:root{--r-card:15px;--r-panel:14px;--r-btn:11px;--r-sm:9px;--r-xs:7px;--r-tick:4px;--r-pill:99px;--r-circle:50%;
--sw-hair:1px; /* @kind spacing */
--sw-line:1.5px; /* @kind spacing */
--sw-bold:2px; /* @kind spacing */
--sw-spine:3px; /* @kind spacing */
--sw-dash:1.5px; /* @kind spacing */
}

/* Elevation. Six ad hoc shadows and three shadow colours collapsed to four steps
   on one colour. Rule: depth only when a surface floats over content the user can still
   see. Anything inline uses a line, never a shadow. */
:root{
--el-0:none; /* @kind shadow */
--el-1:0 1px 2px rgba(var(--shadow-hue)/.14);
--el-2:0 2px 6px rgba(var(--shadow-hue)/.16),0 0 0 .5px rgba(var(--shadow-hue)/.04);
--el-3:0 8px 24px rgba(var(--shadow-hue)/.26),0 1px 3px rgba(var(--shadow-hue)/.1);
--el-4:0 18px 60px rgba(var(--shadow-hue)/.32),0 2px 8px rgba(var(--shadow-hue)/.12);
/* State tints are always inset, never a border, so applying one causes no layout shift. */
--inset-line:inset 0 0 0 1px var(--line);
--inset-accent:inset 0 0 0 1px var(--accent);
/* --inset-scenario is NOT declared here. A custom property holding var() is
   substituted on the element that declares it, so a :root composite would bake
   in :root's --sccol and every rail position would ring indigo. It is declared
   inside each .sc-N scope in semantic.css instead, and the two components that use it
   (ScenarioCard, Card) write the two-part shadow literally so it resolves on the
   element itself even with no .sc-N ancestor. */
}
/* The band tint. A row tint that bleeds past its container into the parent padding,
   so a changed row reads as a full width band. Set --band-bleed to the container's
   inline padding. Was three hard coded widths, 7, 8 and 10px. */
.f-band{--band-bleed:8px;box-shadow:calc(-1 * var(--band-bleed)) 0 0 var(--band-tint,var(--accent-tint)),var(--band-bleed) 0 0 var(--band-tint,var(--accent-tint));background:var(--band-tint,var(--accent-tint))}
.f-band--changed{box-shadow:calc(-1 * var(--band-bleed)) 0 0 var(--warn-tint),var(--band-bleed) 0 0 var(--warn-tint);background:var(--warn-tint)}
.f-band--new{box-shadow:calc(-1 * var(--band-bleed)) 0 0 var(--accent-tint),var(--band-bleed) 0 0 var(--accent-tint);background:var(--accent-tint)}

/* Motion. Everything is instant except the recording pulse, which means something.
   Five durations in the prototype collapsed to three. */
:root{
--dur-instant:90ms; /* @kind other */
--dur-fast:150ms; /* @kind other */
--dur-slow:240ms; /* @kind other */
--dur-pulse:1600ms; /* @kind other */
--ease-out:cubic-bezier(.22,.61,.36,1); /* @kind other */
--ease-in-out:cubic-bezier(.4,0,.2,1); /* @kind other */
--ease-spring:cubic-bezier(.34,1.3,.64,1); /* @kind other */
--tr-color:color var(--dur-fast) var(--ease-out),background-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out); /* @kind other */
--tr-transform:transform var(--dur-instant) var(--ease-out); /* @kind other */
}
@keyframes f-pulse{0%,100%{box-shadow:0 0 0 0 rgba(214,84,74,.5)}50%{box-shadow:0 0 0 7px rgba(214,84,74,0)}}
@keyframes f-spin{to{transform:rotate(360deg)}}
@keyframes f-shimmer{0%{background-position:-160% 0}100%{background-position:260% 0}}
@keyframes f-caret{0%,49%{opacity:1}50%,100%{opacity:0}}
/* The pulse is the only persistent motion. It is a state indicator, so under reduced
   motion it does not stop, it becomes a static ring. */
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
.f-recording-pulse{animation:none!important;box-shadow:0 0 0 3px rgba(214,84,74,.45)!important}
}

/* Minimal reset and the one global focus treatment.
   The prototype overrode the global ring in two places with a tighter ring on :focus
   rather than :focus-visible, so textareas ringed on mouse click. One treatment now. */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);font-size:var(--fs-body);color:var(--ink);background:var(--app);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
:focus{outline:none}
:focus-visible{outline:3px solid var(--focus);outline-offset:2px;border-radius:var(--r-xs)}
a{color:var(--accent-ink);text-decoration:none}
a:hover{color:var(--accent-deep);text-decoration:underline}
button,input,textarea,select{font:inherit;color:inherit}
[hidden]{display:none!important}
::selection{background:var(--accent-tint);color:var(--ink)}


/* ---- */
/* Site layer. Prefix per the surface prefix rule: f- for design system primitives
   recreated statically for the export, w- for this marketing website surface. */
html{scroll-behavior:smooth}
#demo,#signup{scroll-margin-top:72px}
:root{color-scheme:light}
body{background:var(--surface);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
a{color:var(--accent-ink);text-decoration:none}
a:hover{color:var(--accent-deep);text-decoration:underline}
img{max-width:100%}
p{text-wrap:pretty}

/* Buttons */
.f-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border-radius:var(--r-btn);font-family:var(--font);font-weight:var(--fw-semibold);cursor:pointer;border:1px solid transparent;transition:var(--tr-color),var(--tr-transform);white-space:nowrap;text-decoration:none}
.f-btn:hover{text-decoration:none}
.f-btn:active{transform:scale(.98)}
.f-btn--sm{padding:5px 10px;font-size:var(--fs-body-sm)}
.f-btn--md{padding:8px 14px;font-size:var(--fs-body)}
.f-btn--lg{padding:11px 18px;font-size:var(--fs-body-lg)}
.f-btn--primary{background:var(--accent);color:var(--on-accent)}
.f-btn--primary:hover{background:var(--accent-deep);color:var(--on-accent)}
.f-btn--secondary{background:var(--surface);color:var(--sub);border-color:var(--line)}
.f-btn--secondary:hover{color:var(--accent);border-color:var(--accent)}
.f-btn--link{background:transparent;color:var(--accent);padding:0}
.f-btn--link:hover{color:var(--accent-deep);text-decoration:underline}
.f-btn--full{width:100%}

/* Chips, stamps, verdicts */
.f-chip{display:inline-flex;align-items:center;gap:5px;border-radius:var(--r-pill);padding:3px 10px;font-size:var(--fs-caption);font-weight:var(--fw-semibold);white-space:nowrap;background:var(--app);color:var(--sub)}
.f-chip--icon{padding:2px 8px 2px 7px}
.f-stamp,.f-verdict{font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:var(--tr-caps);text-transform:uppercase;border-radius:var(--r-pill);white-space:nowrap;display:inline-block}
.f-stamp{padding:2px 7px}
.f-verdict{padding:3px 8px}
.f-tone-good{color:var(--good-ink);background:var(--good-tint)}
.f-tone-accent{color:var(--accent-ink);background:var(--accent-tint)}
.f-tone-warn{color:var(--warn-ink);background:var(--warn-tint)}
.f-tone-alert{color:var(--alert-ink);background:var(--alert-tint)}
.f-tone-neutral{color:var(--sub);background:var(--app)}

/* Confidence dots */
.f-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;display:inline-block;box-sizing:border-box}
.f-dot--stated{border:1.5px solid var(--accent)}
.f-dot--hedged{background:var(--warn)}
.f-dot--supported{background:linear-gradient(90deg,var(--good) 50%,var(--good-tint) 50%);box-shadow:inset 0 0 0 1.5px var(--good)}
.f-dot--proven{background:var(--good)}
.f-dot--missing{border:1.5px solid var(--faint)}

/* Confidence bar */
.f-bar-wrap{display:grid;gap:9px}
.f-bar{position:relative;display:flex;height:6px;border-radius:var(--r-tick);overflow:hidden;background:var(--conf-track)}
.f-bar span{display:block}
.f-mark{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--ink);opacity:.55}
.f-mark--verified{background:var(--good);opacity:1}
.f-legend{display:flex;flex-wrap:wrap;gap:4px 14px}
.f-legend span{display:inline-flex;align-items:center;gap:5px;font-size:var(--fs-caption);color:var(--sub)}
.f-legend i{width:8px;height:8px;border-radius:var(--r-tick);display:block}

/* Fact rows */
.f-fact{display:grid;grid-template-columns:11px minmax(0,1.6fr) 88px minmax(0,1fr);gap:10px;align-items:baseline;padding:9px 0;font-size:var(--fs-body)}
.f-fact .f-dot{margin-top:5px}
.f-fact-label{color:var(--ink)}
.f-fact-val{text-align:right;white-space:nowrap;font-weight:var(--fw-semibold);font-variant-numeric:tabular-nums;color:var(--ink)}
.f-fact-val s{color:var(--faint);font-weight:var(--fw-medium);margin-right:7px}
.f-fact-note{display:flex;align-items:baseline;gap:4px 8px;min-width:0;flex-wrap:wrap;font-size:var(--fs-caption);line-height:var(--lh-normal);color:var(--sub)}
.f-fact-note .f-stamp{margin-left:auto}
.f-fact--unknown .f-fact-val{color:var(--faint);font-variant-numeric:normal}
.f-fact--changed{background:var(--warn-tint);border-radius:var(--r-xs);box-shadow:-8px 0 0 var(--warn-tint),8px 0 0 var(--warn-tint)}
.f-fact--changed .f-fact-label{font-weight:var(--fw-semibold)}
.f-fact--changed .f-fact-note{color:var(--warn-ink)}
.f-fact--final{border-top:1px solid var(--line);margin-top:6px;padding:13px 0 9px}
.f-fact--final .f-fact-label{font-weight:var(--fw-black);font-size:var(--fs-body-lg);letter-spacing:var(--tr-snug)}
.f-fact--final .f-fact-val{font-weight:var(--fw-black);font-size:var(--fs-figure-md);letter-spacing:var(--tr-tighter)}

/* Summary figure */
.f-sum{display:grid;gap:4px}
.f-sum-label{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--sub)}
.f-sum-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.f-sum-val{font-size:var(--fs-figure-lg);font-weight:var(--fw-bold);letter-spacing:var(--tr-tighter);line-height:var(--lh-tight);font-variant-numeric:tabular-nums;color:var(--ink)}
.f-sum--md .f-sum-val{font-size:var(--fs-figure-md)}
.f-sum-work{font-size:var(--fs-caption);color:var(--faint);line-height:var(--lh-normal);font-variant-numeric:tabular-nums}

/* Transcript */
.f-tline{display:grid;grid-template-columns:62px minmax(0,1fr);gap:12px;padding:7px 0;align-items:baseline}
.f-tline-meta{font-size:var(--fs-caption);color:var(--faint);font-variant-numeric:tabular-nums;white-space:nowrap}
.f-tline-meta b{color:var(--sub);font-weight:var(--fw-semibold);margin-right:5px}
.f-tline-body{font-size:var(--fs-body);line-height:var(--lh-normal);color:var(--quiet)}
.f-tline--current .f-tline-body{color:var(--ink)}
.f-caret{display:inline-block;width:2px;height:.95em;background:var(--accent);margin-left:3px;vertical-align:text-bottom;animation:f-caret 1s step-end infinite}
.f-tline-chip{margin-left:8px;vertical-align:middle}

/* Cards and surfaces */
.w-card{background:var(--surface);border-radius:var(--r-card);box-shadow:var(--inset-line)}
.w-card--float{box-shadow:var(--inset-line),var(--el-3)}
.w-card--float-2{box-shadow:var(--inset-line),var(--el-2)}
.w-card--picked{box-shadow:inset 0 0 0 1px var(--accent),inset 0 0 0 4px var(--accent-tint)}
.w-sunken{background:var(--app);border-radius:var(--r-card);box-shadow:var(--inset-line)}
.w-eyebrow{font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--sub)}
.w-eyebrow--accent{color:var(--accent-ink)}

/* Layout */
.w-shell{max-width:1160px;margin:0 auto;padding:0 40px}
.w-wrap{max-width:1080px;margin:0 auto}
.w-sec{padding:96px 40px;border-top:1px solid var(--line)}
.w-sec--app{background:var(--app)}
.w-sec--flush{border-top:0}
.w-h1{margin:16px 0 0;font-size:46px;font-weight:var(--fw-bold);letter-spacing:-.03em;line-height:1.05}
.w-hero-h1{margin:18px 0 0;font-size:58px;font-weight:var(--fw-bold);letter-spacing:-.03em;line-height:1.02}
.w-h2{margin:0;font-size:34px;font-weight:var(--fw-bold);letter-spacing:var(--tr-tighter);line-height:1.12}
.w-h2--sm{font-size:27px;letter-spacing:var(--tr-tightest);line-height:1.15}
.w-h3{margin:0;font-size:23px;font-weight:var(--fw-bold);letter-spacing:var(--tr-tighter);line-height:1.2}
.w-lead{margin:20px 0 0;font-size:19px;line-height:1.5;letter-spacing:var(--tr-snug);color:var(--quiet)}
.w-body{margin:14px 0 0;font-size:15px;line-height:1.65;color:var(--sub)}
.w-small{margin:8px 0 0;font-size:13px;line-height:1.6;color:var(--sub)}
.w-btns{display:flex;flex-wrap:wrap;gap:10px}

/* Header */
.w-head{position:sticky;top:0;z-index:30;background:var(--surface);box-shadow:inset 0 -1px 0 var(--line)}
.w-head-in{height:64px;display:flex;align-items:center;gap:24px}
.w-nav{display:flex;align-items:center;gap:24px;margin-left:12px}
.w-nav a{position:relative;padding:20px 0;font-size:var(--fs-body);font-weight:var(--fw-semibold);letter-spacing:var(--tr-snug);color:var(--sub);text-decoration:none}
.w-nav a:hover{color:var(--accent-ink);text-decoration:none}
.w-nav a::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--accent);opacity:0}
.w-nav a[aria-current="page"]{color:var(--ink)}
.w-nav a[aria-current="page"]::after{opacity:1}

/* Grids */
.w-g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.w-g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.w-g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:28px}
.w-hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,470px);gap:64px;align-items:start;max-width:1080px;margin:0 auto}
.w-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,480px);gap:64px;align-items:start}
.w-split--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px;align-items:center}
.w-step{display:grid;grid-template-columns:52px minmax(0,1fr) minmax(0,560px);gap:36px;padding:44px 0;border-top:1px solid var(--line);align-items:center}
.w-step .w-h3{font-size:19px;line-height:1.25;letter-spacing:var(--tr-tight)}
.w-step .w-body{font-size:14px;line-height:1.55}
.w-step .w-step-why{margin:14px 0 0;font-size:15px;font-weight:var(--fw-semibold);line-height:1.45;color:var(--accent-ink)}
.w-steps{max-width:1120px}
@media (max-width:1100px){.w-step{grid-template-columns:52px minmax(0,1fr);row-gap:20px}.w-step > div:last-child{grid-column:1 / -1}}
@media (max-width:1299px){#hero-row{width:100% !important;left:0 !important}}
.w-step-n{font-size:var(--fs-figure-xl);font-weight:var(--fw-bold);letter-spacing:var(--tr-tightest);color:var(--accent)}
.w-tbl{display:grid;gap:20px;align-items:center}
.w-tbl--states{grid-template-columns:170px minmax(0,1fr) 150px}
.w-tbl--apps{grid-template-columns:minmax(0,1.2fr) 110px 110px}
.w-thead{padding:12px 20px;background:var(--app);border-bottom:1px solid var(--line);font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--sub)}
.w-trow{padding:16px 20px;border-bottom:1px solid var(--divider);font-size:var(--fs-body)}
.w-trow:last-child{border-bottom:0}
.w-ticklist{display:grid}
.w-ticklist div{display:flex;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);font-size:var(--fs-body-lg);line-height:1.55;color:var(--sub)}
.w-ticklist div:last-child{border-bottom:0}
.w-ticklist svg{flex-shrink:0}

.w-tint{padding:24px;border-radius:var(--r-card);background:var(--accent-tint)}
.w-tint .w-tint-h{font-size:var(--fs-figure-md);font-weight:var(--fw-bold);letter-spacing:var(--tr-tight);color:var(--accent-ink)}
.w-tint p{margin:8px 0 0;font-size:var(--fs-body);line-height:1.6;color:var(--accent-ink)}

/* Record indicator: a Flic mic glyph with the subtle expanding ring used on the home chain */
.w-rec{position:relative;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--alert);flex-shrink:0}
.w-rec svg{display:block}
.w-rec::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--alert);opacity:0;animation:w-ring var(--dur-pulse) ease-out infinite}
@media (prefers-reduced-motion:reduce){.w-rec::after{animation:none;opacity:.3}}

/* Dark close band */
.w-close{padding:88px 40px;background:var(--ink);color:var(--on-inverse);border-top:1px solid var(--line)}
.w-close h2{color:var(--on-inverse)}
.w-close p{color:rgba(255,255,255,.72)}
.w-close .w-fine{color:rgba(255,255,255,.5);font-size:var(--fs-caption);line-height:1.6;margin:14px 0 0}
.w-input{display:flex;align-items:center;width:100%;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-sm);transition:var(--tr-color)}
.w-input:focus-within{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}
.w-input span{padding-left:10px;color:var(--faint);display:flex}
.w-input input,.w-input select,.w-input textarea{flex:1;min-width:0;border:0;background:transparent;outline:none;padding:8px 10px;font:inherit;font-size:var(--fs-body);color:var(--ink);line-height:1.5}
.w-input textarea{resize:vertical}
.w-field{display:grid;gap:6px}
.w-field-l{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--sub)}

/* Footer */
.w-foot{padding:56px 40px 48px;background:var(--surface);border-top:1px solid var(--line)}
.w-foot-g{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:40px}
.w-foot-col{display:grid;gap:9px;margin-top:14px;font-size:var(--fs-body)}
.w-foot-col a{color:var(--sub);text-decoration:none}
.w-foot-col a:hover{color:var(--accent-ink)}

.w-page{display:none}
.w-page[data-active]{display:block}

@media (max-width:900px){
  .w-shell,.w-sec,.w-close,.w-foot{padding-left:24px;padding-right:24px}
  .w-sec,.w-close{padding-top:64px;padding-bottom:64px}
  .w-nav{display:none}
  .w-hero,.w-split,.w-split--even,.w-g2,.w-g3,.w-g4,.w-step,.w-foot-g{grid-template-columns:1fr}
  .w-hero,.w-split{gap:40px}
  .w-hero-h1{font-size:38px}
  .w-h1{font-size:34px}
  .w-h2{font-size:26px}
}
@media (max-width:720px){
  .w-tbl--states,.w-tbl--apps{grid-template-columns:1fr;gap:6px}
}

/* ============================================ the capture hero
   A permanently dark surface, so it reads from the RAW ramp only:
   semantic tokens flip with the theme and would invert this section.
   Ground is indigo-950/900, the deepest steps already in the palette.
   The wave is the indigo ramp; only the record dot is red-400, which is
   the one place alert is the correct meaning rather than a decoration. */
.w-cap{position:relative;overflow:hidden;background:var(--f-indigo-950);color:var(--f-neutral-0);
       padding:200px 0 200px;border-top:0}
.w-cap::before{content:"";position:absolute;inset:0;pointer-events:none;
       background:radial-gradient(120% 90% at 78% 8%,var(--f-indigo-900) 0%,rgba(31,31,82,0) 62%)}
.w-cap::after{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;
       background:var(--f-indigo-800);pointer-events:none}
.w-cap-in{position:relative;z-index:1;max-width:1160px;margin:0 auto;padding:0 40px;
       display:grid;grid-template-columns:minmax(0,1fr) minmax(0,500px);gap:64px;align-items:start}
.w-cap-title{position:relative;z-index:1;max-width:1160px;margin:0 auto 100px;padding:0 40px;
       text-align:left;font-size:clamp(34px,5vw,62px);font-weight:var(--fw-bold);
       letter-spacing:-.03em;line-height:1.02;color:var(--f-neutral-0);text-wrap:balance}
.w-cap-h{margin:0;font-size:50px;font-weight:var(--fw-bold);letter-spacing:-.03em;
       line-height:1.05;color:var(--f-indigo-200)}
.w-cap-lead{margin:28px 0 0;max-width:560px;font-size:17px;line-height:1.55;
       letter-spacing:var(--tr-snug);color:var(--f-indigo-100);text-wrap:pretty}
.w-cap-btns{display:flex;flex-wrap:wrap;gap:10px;margin-top:40px}
.w-cap .f-btn--primary{background:var(--f-indigo-500);color:var(--f-neutral-0)}
.w-cap .f-btn--primary:hover{background:var(--f-indigo-400)}
.w-cap .f-btn--ghost{background:transparent;color:var(--f-indigo-100);border-color:var(--f-indigo-700)}
.w-cap .f-btn--ghost:hover{color:var(--f-neutral-0);border-color:var(--f-indigo-400);text-decoration:none}
.w-cap-note{display:flex;align-items:center;gap:8px;margin-top:24px;
       font-size:var(--fs-body-sm);color:var(--f-indigo-300)}

/* the capture panel */
.w-rig{padding:0}
.w-rig-top{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
.w-rig-timer{flex:0 0 auto;font-size:var(--fs-caption);font-weight:var(--fw-semibold);
       letter-spacing:var(--tr-none);font-variant-numeric:tabular-nums;line-height:1;
       color:var(--f-neutral-0)}
.w-caprec{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;margin-left:auto;white-space:nowrap;font-size:var(--fs-caption);
       font-weight:var(--fw-semibold);letter-spacing:var(--tr-none);color:var(--f-red-400)}
.w-caprec-i{position:relative;flex:0 0 auto;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--f-red-400)}
.w-caprec-i svg{display:block}
.w-caprec-i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--f-red-400);opacity:0;animation:w-ring var(--dur-pulse) ease-out infinite}
@keyframes w-pulse{50%{opacity:.25}}

/* the wave. Bars are centred on a baseline and driven by rAF so the
   envelope ebbs like speech instead of looping a single sine. */
.w-wave{display:flex;align-items:center;justify-content:space-between;gap:0;height:88px;margin:14px 0 0}
.w-wave i{flex:0 0 2px;width:2px;height:100%;border-radius:1px;background:var(--f-indigo-400);
       transform:scaleY(.06);transform-origin:center;will-change:transform}
.w-wave i:nth-child(3n){background:var(--f-indigo-300)}
.w-wave i.w-lit{background:var(--f-indigo-200)}
/* the transcript: the last few lines of the conversation, newest at the bottom.
   The phrase that carries a fact is marked as the fact lands. */
.w-heard{display:grid;gap:8px;align-content:end;min-height:84px;margin-top:16px;font-size:var(--fs-body);line-height:1.45;color:var(--f-indigo-100)}
.w-heard .w-say:first-child:not(:only-child){opacity:.45}
.w-say{display:grid;grid-template-columns:56px minmax(0,1fr);gap:10px;animation:w-land .32s ease both}
.w-say-w{font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--f-indigo-400);padding-top:2px}
.w-say--b .w-say-t{color:var(--f-indigo-300)}
.w-say mark{animation:w-land .3s ease both;background:rgba(165,180,252,.18);color:var(--f-neutral-0);border-radius:3px;padding:0 3px;margin:0 -1px;box-shadow:inset 0 -1.5px 0 var(--f-indigo-300)}

/* facts landing out of the wave */
.w-caught{margin-top:18px;border-top:1px solid rgba(255,255,255,.07);padding-top:10px}
.w-caught-h{display:flex;align-items:center;font-size:var(--fs-caption);font-weight:var(--fw-semibold);
       letter-spacing:var(--tr-none);color:var(--f-indigo-300);margin-bottom:4px}
.w-caught-h b{margin-left:auto;color:var(--f-neutral-0);font-size:var(--fs-caption);font-variant-numeric:tabular-nums}
.w-caught-list{display:grid;gap:0;min-height:120px;align-content:start}
.w-cfact{display:flex;align-items:baseline;gap:12px;padding:3px 0;font-size:var(--fs-caption);border-bottom:0;
       animation:w-land .32s ease both}
.w-cfact:last-child{border-bottom:0}
@keyframes w-land{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}
.w-cfact-k{color:var(--f-indigo-300);flex:1;min-width:0}
.w-cfact-v{display:inline-flex;align-items:center;gap:6px;color:var(--f-indigo-100);font-weight:var(--fw-medium);font-variant-numeric:tabular-nums}
.w-cfact-q{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;border-radius:50%;border:1px solid var(--f-indigo-300);color:var(--f-indigo-300);font-style:normal;font-size:9px;font-weight:var(--fw-bold);line-height:1;opacity:0;transform:scale(.6);transition:opacity .35s,transform .35s}
.w-cfact.w-hedge .w-cfact-q{opacity:1;transform:none}

/* the header, while the dark hero is behind it */
.w-head--dark{background:var(--f-indigo-950);box-shadow:inset 0 -1px 0 rgba(255,255,255,.07)}
.w-head--dark .w-nav a{color:var(--f-indigo-200)}
.w-head--dark .w-nav a:hover{color:var(--f-neutral-0)}
.w-head--dark .f-btn--secondary{background:transparent;color:var(--f-indigo-100);border-color:var(--f-indigo-700)}
.w-head--dark .f-btn--secondary:hover{color:var(--f-neutral-0);border-color:var(--f-indigo-400)}
.w-head--dark .f-btn--primary{background:var(--f-indigo-500);color:var(--f-neutral-0)}
/* Pricing */
.w-price{display:flex;align-items:baseline;gap:9px;margin-top:14px}
.w-price-n{font-size:44px;font-weight:var(--fw-bold);letter-spacing:var(--tr-tightest);line-height:1;font-variant-numeric:tabular-nums}
.w-price-p{font-size:var(--fs-body);color:var(--sub)}
.w-ticklist b{color:var(--ink);font-weight:var(--fw-semibold)}
.w-dl{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:28px}
@media (max-width:860px){
  .w-price-n{font-size:38px}
  .w-dl .f-btn{flex:1 1 240px}
}
.w-logo-light,.w-logo-dark{display:block}
.w-logo-dark{display:none}
.w-head--dark .w-logo-light{display:none}
.w-head--dark .w-logo-dark{display:block}

@media (max-width:940px){
  .w-cap{padding:36px 0 84px}
  .w-cap-title{margin-bottom:64px;padding:0 24px}
  .w-cap-in{padding:0 24px;grid-template-columns:minmax(0,1fr);gap:36px}
  .w-cap-h{font-size:36px}
  .w-cap-lead{font-size:16px}
  /* Stacked, the headline, lead and the two buttons come first and the capture rig
     sits under them (Isaac, 2026-10-07; the design had the wave leading). */
  .w-cap-copy{order:1}
  .w-rig{order:2}
  .w-wave{height:80px;margin:14px 0 0}
  .w-caught-list{min-height:120px}
}
@media (prefers-reduced-motion:reduce){
  .w-caprec-i::after{animation:none;opacity:.3}
  .w-cfact,.w-say{animation:none}
}


/* ============================================ v2 additions */
#waitlist{scroll-margin-top:72px}
.w-x{display:grid}
.w-x div{display:flex;gap:12px;padding:17px 0;border-bottom:1px solid var(--line);font-size:var(--fs-body-lg);line-height:1.5;color:var(--sub)}
.w-x div:last-child{border-bottom:0}
.w-x svg{flex-shrink:0;margin-top:5px}

/* the output chain */
.w-chain{list-style:none;margin:0;padding:0;display:grid}
.w-chain li{position:relative;display:flex;align-items:center;gap:14px;padding:14px 0;font-size:var(--fs-body-lg);color:var(--ink);opacity:0;transform:translateY(8px);transition:opacity .4s ease-out,transform .4s ease-out}
.w-chain li.w-head,.w-chain li.w-on{opacity:1;transform:none}
.w-chain-i{width:18px;height:18px;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--faint);background:var(--surface);position:relative;z-index:1;transition:color .2s}
.w-chain-i svg{display:block}
.w-chain li::after{content:"";position:absolute;left:8.5px;top:37px;bottom:-10px;width:1px;background:var(--accent);opacity:.35;transform:scaleY(0);transform-origin:top;transition:transform .45s ease-in}
.w-chain li.w-draw::after{transform:scaleY(1)}
.w-chain li:last-child::after{display:none}
.w-chain li:not(.w-on):not(.w-head) .w-chain-i{color:var(--faint)}
@media (prefers-reduced-motion:reduce){.w-chain li{opacity:1;transform:none}.w-chain li::after{transform:none}}
.w-chain li.w-on{color:var(--ink)}
.w-chain li.w-on .w-chain-i{color:var(--accent)}
.w-chain li.w-on.w-good .w-chain-i{color:var(--good)}
.w-chain li.w-head{color:var(--ink);font-weight:var(--fw-bold)}
.w-chain li.w-head .w-chain-i{color:var(--alert);border-radius:50%;animation:none}
.w-chain li.w-head .w-chain-i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--alert);opacity:0;animation:w-ring var(--dur-pulse) ease-out infinite}
@keyframes w-ring{0%{transform:scale(.7);opacity:.45}70%{transform:scale(1.25);opacity:0}100%{transform:scale(1.25);opacity:0}}
@media (prefers-reduced-motion:reduce){.w-chain li.w-head .w-chain-i::after{animation:none;opacity:.3;transform:none}}
.w-chain .f-chip{opacity:0;transition:opacity .25s}
.w-chain li.w-on .f-chip{opacity:1}
.w-chain-k{flex:1;min-width:0}
.w-chain .f-stamp{opacity:0;transition:opacity .25s}
.w-chain li.w-on .f-stamp{opacity:1}

/* the generic-AI panel */
.w-tri{display:grid;grid-template-columns:minmax(0,1.15fr) 24px minmax(0,1fr) 24px minmax(0,1.15fr);gap:16px;align-items:start;margin-top:40px}
.w-tri-h{font-size:var(--fs-body);font-weight:var(--fw-semibold);color:var(--sub);margin-bottom:12px}
.w-tri-arrow{display:flex;align-items:center;justify-content:center;color:var(--accent);padding-top:48px}
.w-tx{padding:20px 22px;display:grid;gap:12px;font-size:var(--fs-body);line-height:1.55;color:var(--quiet)}
.w-tx b{color:var(--sub);font-weight:var(--fw-semibold)}
.w-prompt{padding:20px 22px;border-radius:var(--r-card);background:var(--accent-tint);font-size:17px;line-height:1.5;color:var(--ink)}
.w-doing{margin-top:22px}
.w-doing-h{font-size:var(--fs-body);font-weight:var(--fw-bold);color:var(--accent-ink)}
.w-doing ul{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:10px}
.w-doing li{display:flex;gap:10px;font-size:var(--fs-body-lg);font-weight:var(--fw-semibold);line-height:1.4;color:var(--ink)}
.w-doing li::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:8px}
.w-wrong{padding:18px 22px;display:grid;gap:14px}
.w-wrong-row{display:grid;gap:3px}
.w-wrong-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:var(--fs-body);color:var(--sub)}
.w-wrong-v{color:var(--ink);font-weight:var(--fw-bold);font-size:var(--fs-body-lg);font-variant-numeric:tabular-nums;text-decoration:none;text-decoration-thickness:2px;transition:color .3s}
.w-wrong-why{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--alert-ink)}
/* four stage reveal: transcript, prompt, confident answers, then the strike */
.w-s2,.w-s3,.w-s4{opacity:0;transform:translateY(6px);transition:opacity .4s ease-out,transform .4s ease-out}
.w-s4{transform:none}
.w-tri.w-st2 .w-s2,.w-tri.w-st3 .w-s2,.w-tri.w-st3 .w-s3,.w-tri.w-st4 .w-s2,.w-tri.w-st4 .w-s3,.w-tri.w-st4 .w-s4{opacity:1;transform:none}
/* in stage 4 each row is struck one at a time via .w-fix, set by site-v2.js */
.w-wrong-row.w-fix .w-wrong-v{color:var(--alert-ink);text-decoration:line-through}
.w-wrong-why.w-s4{display:none}
.w-tri.w-st4 .w-wrong-why{display:block;opacity:0}
.w-tri.w-st4 .w-wrong-row.w-fix .w-wrong-why{opacity:1}
.w-tri.w-st4 .w-doing.w-s4{opacity:0}
.w-tri.w-st4.w-after .w-doing.w-s4{opacity:1}

/* the fact register and the working */
.w-reg{display:grid;gap:18px;padding:22px}
.w-reg-item{padding:2px 0 2px 14px;box-shadow:inset 3px 0 0 var(--f-indigo-200)}
.w-reg-item.w-hi{box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-tint);border-radius:0 var(--r-sm) var(--r-sm) 0;padding:12px 14px 12px 14px}
.w-reg-k{font-size:var(--fs-micro);font-weight:var(--fw-bold);letter-spacing:var(--tr-caps);text-transform:uppercase;color:var(--sub)}
.w-reg-t{margin:4px 0 0;font-size:var(--fs-body);line-height:1.55;color:var(--ink)}
.w-reg-q{display:inline-block;margin-top:6px;font-size:var(--fs-caption);color:var(--accent-ink);text-decoration:underline;text-decoration-color:var(--f-indigo-300)}
.w-reg-s{margin-top:2px;font-size:var(--fs-caption);color:var(--faint)}
.w-ans{padding:22px}
.w-ans-q{margin-left:auto;max-width:85%;width:fit-content;padding:9px 14px;border-radius:var(--r-card);background:var(--app);font-size:var(--fs-body);color:var(--ink)}
.w-ans-tools{margin-top:16px;font-size:var(--fs-caption);color:var(--faint)}
.w-ans-t{margin:10px 0 0;font-size:var(--fs-body);line-height:1.6;color:var(--ink)}
.w-ans-tbl{margin-top:12px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1fr) minmax(0,1fr);font-size:var(--fs-body-sm);border-radius:var(--r-sm);overflow:hidden;box-shadow:inset 0 0 0 1px var(--line)}
.w-ans-tbl div{padding:7px 10px;border-bottom:1px solid var(--divider);color:var(--sub);font-variant-numeric:tabular-nums;min-width:0;overflow-wrap:anywhere}
.w-ans-tbl div:nth-child(-n+3){background:var(--app);font-weight:var(--fw-semibold);color:var(--ink)}
.w-ans-tbl div:nth-last-child(-n+3){border-bottom:0}
.w-ans-sum{margin:12px 0 0;font-size:var(--fs-body);line-height:1.6;color:var(--ink)}

/* pricing v2 */
.w-trial{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:var(--r-pill);background:var(--good-tint);color:var(--good-ink);font-size:var(--fs-body);font-weight:var(--fw-semibold)}

@media (max-width:900px){
  .w-tri{grid-template-columns:1fr;gap:12px}
  .w-tri-arrow{padding:0;transform:rotate(90deg)}
}



/* ============================================ evidence reveal
   The register is "clicked" and the working appears on the right, step by
   step. Stages are set on #evid by site-v2.js: e0 idle, e1 cursor over the row,
   e2 pressed, e3 question, e4 answer text, e5 table, e6 sum. */
.w-evid{position:relative}
.w-reg{position:relative}
.w-reg-item{transition:box-shadow .25s,background .25s,transform .12s}
.w-reg-item.w-hi{box-shadow:inset 3px 0 0 var(--f-indigo-200);background:transparent;padding:12px 14px;margin:-10px 0;border-radius:0 var(--r-sm) var(--r-sm) 0}
.w-evid.e1 .w-reg-item.w-hi,.w-evid.e2 .w-reg-item.w-hi,.w-evid.e3 .w-reg-item.w-hi,.w-evid.e4 .w-reg-item.w-hi,.w-evid.e5 .w-reg-item.w-hi,.w-evid.e6 .w-reg-item.w-hi{box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-tint)}
.w-cursor{position:absolute;z-index:3;left:62%;top:52%;width:22px;height:22px;pointer-events:none;opacity:0;transform:translate(70px,90px);transition:transform .9s cubic-bezier(.2,.7,.2,1),opacity .3s;color:var(--ink);filter:drop-shadow(0 1px 2px rgba(0,0,0,.25))}
.w-evid.e1 .w-cursor,.w-evid.e2 .w-cursor{opacity:1;transform:translate(0,0)}
.w-evid.e2 .w-cursor{transform:translate(0,0) scale(.88)}
.w-cursor::after{content:"";position:absolute;left:-7px;top:-7px;width:36px;height:36px;border-radius:50%;background:var(--accent);opacity:0;transform:scale(.4)}
.w-evid.e2 .w-cursor::after{animation:w-tap .5s ease-out}
@keyframes w-tap{0%{opacity:.35;transform:scale(.4)}100%{opacity:0;transform:scale(1.3)}}
.w-ans-q,.w-ans-tools,.w-ans-t,.w-ans-tbl,.w-ans-sum{opacity:0;transform:translateY(6px);transition:opacity .4s ease-out,transform .4s ease-out}
.w-evid.e3 .w-ans-q,.w-evid.e4 .w-ans-q,.w-evid.e5 .w-ans-q,.w-evid.e6 .w-ans-q{opacity:1;transform:none}
.w-evid.e4 .w-ans-tools,.w-evid.e5 .w-ans-tools,.w-evid.e6 .w-ans-tools,.w-evid.e4 .w-ans-t,.w-evid.e5 .w-ans-t,.w-evid.e6 .w-ans-t{opacity:1;transform:none}
.w-evid.e5 .w-ans-tbl,.w-evid.e6 .w-ans-tbl{opacity:1;transform:none}
.w-evid.e6 .w-ans-sum{opacity:1;transform:none}
.w-ans{transition:box-shadow .3s}
.w-evid.e0 .w-ans,.w-evid.e1 .w-ans,.w-evid.e2 .w-ans{box-shadow:var(--inset-line)}
.w-evid.e0 .w-ans-q{opacity:0}
@media (prefers-reduced-motion:reduce){
  .w-cursor{display:none}
  .w-ans-q,.w-ans-tools,.w-ans-t,.w-ans-tbl,.w-ans-sum{opacity:1;transform:none}
  .w-reg-item.w-hi{box-shadow:inset 3px 0 0 var(--accent);background:var(--accent-tint)}
}


/* ============================================ evidence: the raw statement
   e3 the pdf opens, e4 first highlight, e5 second highlight, e6 notes. */
.w-doc{display:grid;grid-template-rows:minmax(0,1fr);overflow:hidden}
.w-doc-bar{display:flex;align-items:center;gap:10px;padding:12px 16px;box-shadow:inset 0 -1px 0 var(--line);font-size:var(--fs-body-sm);color:var(--ink)}
.w-doc-name,.w-doc-src{opacity:0;transition:opacity .35s}
.w-evid.e3 .w-doc-name,.w-evid.e4 .w-doc-name,.w-evid.e5 .w-doc-name,.w-evid.e6 .w-doc-name,.w-evid.e3 .w-doc-src,.w-evid.e4 .w-doc-src,.w-evid.e5 .w-doc-src,.w-evid.e6 .w-doc-src{opacity:1}
.w-doc-name{font-weight:var(--fw-bold)}
.w-doc-src{margin-left:auto;color:var(--faint)}
.w-pdf{position:relative;padding:0;background:#fff;overflow:hidden}
.w-pdf-sheet{background:#fff;padding:22px 24px 24px;opacity:0;transition:opacity .45s ease-out;font-family:Arial,Helvetica,sans-serif;color:#222}
/* fade the top and bottom of the raw statement, matching the fact register */
.w-pdf::before,.w-pdf::after{content:"";position:absolute;left:0;right:0;height:34%;pointer-events:none;z-index:3}
.w-pdf::before{top:0;background:linear-gradient(to bottom,#fff 14%,rgba(255,255,255,0))}
.w-pdf::after{bottom:0;background:linear-gradient(to top,#fff 14%,rgba(255,255,255,0))}
.w-pdf-row-a,.w-pdf-row-b{position:relative;z-index:5}
.w-note{z-index:6}
.w-pdf-band{background:#eef0ea;padding:10px 12px 8px}
.w-pdf-h{font-size:15px;font-weight:700;color:#1f4a45;letter-spacing:-.01em}
.w-pdf-t{font-size:11.5px;margin-top:2px;text-transform:uppercase}
.w-pdf-grid{display:grid;grid-template-columns:130px minmax(0,1fr);gap:6px 12px;margin-top:8px;font-size:10.5px;align-items:start}
.w-pdf-k{font-weight:700}
.w-pdf-v{font-variant-numeric:tabular-nums;display:flex;flex-direction:column;align-items:flex-start;gap:0}
.w-pdf-v .w-mk{align-self:flex-start}
.w-pdf-fine{margin:12px 0 0;font-size:10px;line-height:1.45;color:#d2d5da}
.w-mk{background:transparent;color:inherit;padding:0 3px;margin:0 -3px;border-radius:2px;transition:background .3s,box-shadow .3s}
/* the note sits directly under its highlight, pointer touching the mark, and
   takes no space until it appears so the sheet reads raw first */
/* notes hover over the sheet, taking no space: the loan note sits above its
   mark, the repayment note below its mark */
.w-pdf-v{position:relative}
.w-note{position:absolute;left:0;right:-8px;z-index:2;display:block;width:auto;max-width:none;padding:9px 12px;border-radius:var(--r-sm);background:var(--surface);box-shadow:var(--inset-line),var(--el-3);font-family:var(--font);font-size:var(--fs-body-sm);line-height:1.5;color:var(--ink);opacity:0;pointer-events:none;transition:opacity .35s,transform .35s}
.w-note b{display:block;font-weight:var(--fw-bold);color:var(--accent-ink);margin-bottom:2px}
.w-note::before{content:"";position:absolute;left:14px;width:11px;height:11px;background:var(--surface);transform:rotate(45deg)}
.w-note-a{top:calc(100% + 9px);transform:translateY(6px)}
.w-note-a::before{top:-6px;box-shadow:-1px -1px 0 var(--line)}
.w-note-b{bottom:calc(100% + 9px);transform:translateY(-6px)}
.w-note-b::before{bottom:-6px;box-shadow:1px 1px 0 var(--line)}
.w-note-b b{color:var(--warn-ink)}
.w-evid.e6 .w-note{opacity:1;transform:none}
.w-evid.e3 .w-pdf-sheet,.w-evid.e4 .w-pdf-sheet,.w-evid.e5 .w-pdf-sheet,.w-evid.e6 .w-pdf-sheet{opacity:1;transform:none}
.w-evid.e4 .w-mk-a,.w-evid.e5 .w-mk-a,.w-evid.e6 .w-mk-a{background:var(--accent-tint);box-shadow:inset 0 0 0 1.5px var(--accent);color:var(--accent-ink);font-weight:700}
.w-evid.e5 .w-mk-b,.w-evid.e6 .w-mk-b{background:var(--warn-tint);box-shadow:inset 0 0 0 1.5px var(--warn);color:var(--warn-ink);font-weight:700}
.w-evid.e6 .w-note-a{transition-delay:.25s}
@media (max-width:520px){.w-pdf-grid{grid-template-columns:1fr;gap:2px 0}.w-pdf-k{margin-top:5px}}
@media (prefers-reduced-motion:reduce){
  .w-pdf-sheet{opacity:1;transform:none}
  .w-doc-name,.w-doc-src,.w-note{opacity:1;transform:none}
  .w-mk-a{background:var(--accent-tint);box-shadow:inset 0 0 0 1.5px var(--accent)}
  .w-mk-b{background:var(--warn-tint);box-shadow:inset 0 0 0 1.5px var(--warn)}
}


/* hover swap: the polite line by default, the blunt one on mouse-over */
.w-swap{position:relative;cursor:default}
.w-swap-a,.w-swap-b{display:block;transition:opacity .25s}
.w-swap-b{position:absolute;inset:0;opacity:0}
.w-swap:hover .w-swap-a{opacity:0}
.w-swap:hover .w-swap-b{opacity:1}


/* ============================================ pricing cards
   One subgrid across the three cards so every section (title, price,
   description, ingest, auto-create, button) starts on the same row. */
.w-plans{align-items:stretch}
.w-plan{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:subgrid;grid-row:span 7;row-gap:0;padding:26px 26px 24px;min-width:0}
.w-plan > *{min-width:0}
.w-plan-head{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.w-plan .w-price{margin-top:8px}
.w-plan-desc{margin:16px 0 0;font-size:var(--fs-body);line-height:1.55;color:var(--sub)}
.w-plan-sub{margin:0 0 6px;font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--accent-ink)}
.w-plan > div:nth-child(4){margin-top:22px}
.w-plan > div:nth-child(5),.w-plan > div:nth-child(6),.w-plan > div:nth-child(7){margin-top:16px}
.w-plan-row{display:flex;align-items:flex-start;gap:8px;padding:6px 0;font-size:var(--fs-body-sm);line-height:1.45;color:var(--ink)}
.w-plan-row svg{flex-shrink:0;margin-top:2px}
@supports not (grid-template-rows: subgrid){.w-plan{grid-template-rows:auto auto auto auto auto auto 1fr}}
@media (max-width:900px){.w-plan{grid-template-rows:auto auto auto auto auto auto 1fr;grid-row:auto}}


/* waitlist checkbox, on the dark close band */
.w-check{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-body);color:var(--f-neutral-0);padding:2px 0}
.w-check input{position:absolute;opacity:0;width:0;height:0}
.w-check-box{width:18px;height:18px;flex-shrink:0;border-radius:var(--r-tick);background:var(--surface);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--accent);transition:var(--tr-color)}
.w-check-box svg{opacity:0;transition:opacity var(--dur-fast)}
.w-check input:checked + .w-check-box{background:var(--accent);border-color:var(--accent);color:#fff}
.w-check input:checked + .w-check-box svg{opacity:1}
.w-check input:focus-visible + .w-check-box{outline:3px solid var(--focus);outline-offset:2px}
#wl-partner-more{display:none;gap:10px}
#wl-partner-more.w-open{display:grid}


/* contact page faqs */
.w-faq{border-bottom:1px solid var(--line)}
.w-faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 0;cursor:pointer;list-style:none;font-size:var(--fs-body-lg);font-weight:var(--fw-semibold);color:var(--ink)}
.w-faq summary::-webkit-details-marker{display:none}
.w-faq summary svg{flex-shrink:0;color:var(--faint);transition:transform var(--dur-base,.15s)}
.w-faq[open] summary svg{transform:rotate(180deg)}
.w-faq summary:hover{color:var(--accent-ink)}
.w-faq p{margin:0 0 16px;font-size:var(--fs-body);line-height:1.6;color:var(--sub);max-width:440px}


/* info tooltip */
.w-info{position:relative;display:inline-flex;align-items:center;color:var(--faint);cursor:help;border-radius:50%}
.w-info:hover,.w-info:focus-visible{color:var(--accent-ink)}
.w-info-tip{position:absolute;left:50%;bottom:calc(100% + 8px);transform:translate(-50%,4px);width:240px;padding:9px 11px;border-radius:var(--r-sm);background:var(--inverse,var(--ink));color:#fff;font-size:var(--fs-caption);font-weight:var(--fw-regular,400);line-height:1.5;text-align:left;opacity:0;pointer-events:none;transition:opacity var(--dur-fast,.15s),transform var(--dur-fast,.15s);z-index:5;box-shadow:var(--el-3)}
.w-info-tip::after{content:"";position:absolute;left:50%;top:100%;transform:translateX(-50%);border:5px solid transparent;border-top-color:var(--inverse,var(--ink))}
.w-info:hover .w-info-tip,.w-info:focus-visible .w-info-tip{opacity:1;transform:translate(-50%,0)}


/* fact register: fade the outer flags so the middle one carries the point */
.w-reg{position:relative}
.w-reg::before,.w-reg::after{content:"";position:absolute;left:0;right:0;height:30%;pointer-events:none;z-index:2;border-radius:inherit}
.w-reg::before{top:0;background:linear-gradient(to bottom,var(--surface) 18%,rgba(255,255,255,0))}
.w-reg::after{bottom:0;background:linear-gradient(to top,var(--surface) 18%,rgba(255,255,255,0))}
.w-reg-item.w-hi{position:relative;z-index:3;isolation:isolate}
.w-cursor{z-index:4}


/* pain then chain, in the same spot. The pain list sizes the box; the chain
   fades in over it once it has been read. */
.w-stack{position:relative;display:grid}
.w-stack-a,.w-stack-b{grid-area:1 / 1}
.w-stack-a{transition:opacity .6s ease}
.w-stack-b{opacity:0;transition:opacity .6s ease;pointer-events:none}
.w-stack.w-flip .w-stack-a{opacity:0}
.w-stack.w-flip .w-stack-b{opacity:1}
@media (prefers-reduced-motion:reduce){.w-stack-a{display:none}.w-stack-b{opacity:1}}

/* ---- */
html{scroll-behavior:smooth}body{margin:0;background:var(--surface);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}
/* ---- */
#__claude_design_branding{position:fixed;right:16px;bottom:16px;z-index:2147483646;display:flex;align-items:center;gap:7px;height:30px;padding:0 5px 0 10px;border-radius:999px;font-family:"Anthropic Sans",-apple-system,BlinkMacSystemFont,system-ui,sans-serif;font-size:12.5px;font-weight:400;line-height:1;letter-spacing:normal;text-transform:none;color:#141413;background:rgba(255,255,255,.86);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 0 0 .5px rgba(31,30,29,.14),0 2px 10px rgba(0,0,0,.09)}
#__claude_design_branding *{box-sizing:border-box;margin:0}
#__claude_design_branding a{color:inherit;text-decoration:none;display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
#__claude_design_branding a:hover span{text-decoration:underline}
#__claude_design_branding svg{flex:none}
#__claude_design_branding a svg{color:#D97757}
#__claude_design_branding button{width:20px;height:20px;padding:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:currentColor;opacity:.55;border:0;background:none;cursor:pointer;flex:none;font:inherit;transition:opacity .14s}
#__claude_design_branding button:hover{opacity:1;background:rgba(127,127,127,.22)}
@media print{#__claude_design_branding{display:none}}
/* ---- added for the live site: honeypot, Turnstile, both off-design ---- */
.w-trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.w-turnstile{display:flex;justify-content:center;min-height:0}
.w-turnstile:empty{display:none}
.w-turnstile iframe{transform:scale(.72);transform-origin:center}

/* How it works step stills. These were <image-slot> elements, drawn by the design
   canvas runtime; without it the browser renders an unknown tag as nothing. Frame
   per the design: 12px radius, hairline plus soft shadow, contain on white, and an
   aspect-ratio set to each still's native size so nothing letterboxes. */
.how-shot{position:relative;width:100%;border-radius:12px;background:#FFFFFF;
  box-shadow:inset 0 0 0 1px #E8E9EF,0 6px 16px rgba(16,18,22,.08);overflow:hidden}
.how-shot img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:12px;display:block}

/* Home page "With Flic" section: a touch smaller on the left so the chain and the
   walkthrough both sit inside the content column, aligned with the heading above and
   the callout below. The status chips have been removed from the chain. */
#stack .w-h3{font-size:18px}
#stack .w-x div,#stack .w-chain li{font-size:13px}


/* ---- mobile fixes, 2026-10-07 ---- */

/* Waitlist: the section's grid columns are an inline style, minmax(0,1fr) 380px,
   which beat every breakpoint. On a phone the 380px form column took the width and
   the copy column fell to 0px, one word per line. Stack it. */
@media (max-width:860px){
  #waitlist .w-split{grid-template-columns:minmax(0,1fr) !important;gap:32px}
}

/* "See how it works" band: the headline is inline nowrap with an ellipsis inside a
   flex: 1 1 0% wrapper, so below desktop it never wrapped and showed "A pro...".
   Give it its own line and let it wrap; the button follows underneath. */
@media (max-width:900px){
  .w-tint > div:first-child{flex:1 1 100% !important}
  .w-tint .w-tint-h{white-space:normal !important;overflow:visible !important;text-overflow:clip !important}
}

/* Footer: on a phone each link group stacked into its own full-width row, so three
   one- and two-link groups ran a long way down the page. Brand block on its own row,
   then Product, Company and Legal side by side. */
@media (max-width:720px){
  .w-foot-g{grid-template-columns:repeat(3,minmax(0,1fr)) !important;row-gap:28px;column-gap:16px}
  .w-foot-g > div:first-child{grid-column:1 / -1}
}

/* "Start by": the three-column grid (card, OR, card) is an inline style, so on a phone
   both cards squeezed side by side at one or two words a line. Stack them, with OR
   centred between. */
@media (max-width:720px){
  .w-startby{grid-template-columns:minmax(0,1fr) !important;gap:14px !important}
  .w-startby-or{justify-self:center;text-align:center}
}

/* ---- Pricing call to action and the waitlist, 2026-10-13 ----
   The plan cards carry no buttons. One call to action sits under them and leads
   to the full waitlist form, which lives at the bottom of Pricing only. Every
   other page ends on a slim band whose button routes to that form. */
.w-offer-sec{padding:20px 40px 80px}
.w-offer{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;padding:26px 30px;background:var(--accent-wash);box-shadow:inset 0 0 0 1px var(--accent-tint-hover)}
.w-offer > div{flex:1 1 420px;min-width:0}
.w-offer-h{font-size:21px;font-weight:var(--fw-bold);letter-spacing:var(--tr-tighter);line-height:1.25;color:var(--ink)}
.w-offer-p{margin:8px 0 0;font-size:var(--fs-body);color:var(--sub)}
.w-offer .f-btn{flex-shrink:0}
.w-close--slim{padding:64px 40px}
.w-slim{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.w-slim > div{flex:1 1 420px;min-width:0}
.w-slim p{margin:12px 0 0;max-width:560px;font-size:var(--fs-figure-sm);line-height:1.55}
body[data-route="pricing"] #waitlist-band{display:none}
.w-wl{grid-template-columns:minmax(0,1fr) minmax(0,460px);align-items:start;gap:56px}
.w-wl-lead{margin:16px 0 0;max-width:520px;font-size:var(--fs-figure-sm);line-height:1.6}
.w-wl-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:12px;max-width:520px}
.w-wl-list li{display:flex;gap:10px;align-items:flex-start;font-size:var(--fs-body);line-height:1.5;color:rgba(255,255,255,.86)}
.w-wl-list svg{flex-shrink:0;margin-top:3px}
.w-wl-form{display:grid;gap:10px}
.w-wl-row{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px}
.w-wl-form select{appearance:none;-webkit-appearance:none;cursor:pointer;padding-right:34px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236B7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center}
.w-wl-form select.w-empty{color:var(--faint)}
.w-wl-form select option{color:var(--ink)}
.w-wl-form .w-check{margin-top:4px}
@media (max-width:860px){
  .w-wl{grid-template-columns:minmax(0,1fr);gap:32px}
}
@media (max-width:720px){
  .w-offer-sec{padding:12px 40px 56px}
  .w-offer{padding:22px 20px}
  .w-offer .f-btn,.w-slim .f-btn{width:100%}
  .w-wl-row{grid-template-columns:minmax(0,1fr)}
  .w-close--slim{padding:48px 24px}
}

/* ---- Pricing: brokerage tier switch, waitlist brokerage fields, 2026-10-13 ---- */
.w-price-bar{margin-top:22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.w-tier{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.w-tier-l{font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--sub)}
.w-tier-seg{display:inline-flex;padding:3px;border-radius:var(--r-pill);background:var(--surface);box-shadow:var(--inset-line)}
.w-tier-seg button{appearance:none;border:0;background:transparent;font:inherit;font-size:var(--fs-body-sm);font-weight:var(--fw-semibold);color:var(--sub);padding:7px 14px;border-radius:var(--r-pill);cursor:pointer;white-space:nowrap;transition:var(--tr-color)}
.w-tier-seg button:hover{color:var(--ink)}
.w-tier-seg button[aria-checked="true"]{background:var(--accent);color:var(--on-accent)}
.w-tier-seg button:focus-visible{outline:3px solid var(--focus);outline-offset:2px}
.w-price{display:flex;align-items:baseline;flex-wrap:wrap;column-gap:8px;row-gap:4px}
.w-price-off{align-self:center;font-size:var(--fs-caption);font-weight:var(--fw-semibold);color:var(--good-ink);background:var(--good-tint);padding:3px 9px;border-radius:var(--r-pill)}
.w-price-off[hidden]{display:none}
.w-wl-row--even{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
#wl-brokerage-more[hidden]{display:none}
.w-wl-form input[type=number]{-moz-appearance:textfield}
.w-wl-form input[type=number]::-webkit-outer-spin-button,.w-wl-form input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
@media (max-width:720px){
  .w-tier{width:100%}
  .w-tier-seg{width:100%}
  .w-tier-seg button{flex:1 1 0;padding:8px 6px}
  .w-wl-row--even{grid-template-columns:minmax(0,1fr)}
}

/* ---- Contact form and brokerage signup, 2026-10-14 ---- */
.w-check--light{color:var(--ink);font-size:var(--fs-body-sm);align-items:flex-start}
.w-check--light .w-check-box{margin-top:1px}
.w-wl-more{display:grid;gap:10px}
.w-wl-more[hidden]{display:none}
.w-wl-more .w-check{align-items:flex-start;font-size:var(--fs-body-sm)}
.w-wl-more .w-check-box{margin-top:2px}
.w-wl-note{margin:0;font-size:var(--fs-body-sm);line-height:1.5;color:rgba(255,255,255,.72)}
#waitlist .w-fine{margin:0}
