
    /* =============================================
       ART DIRECTION: Sober systems clarity (post-D165)
       Palette: Paper warm (#F5F0E5) default, ink dark optional, navy (#0F3A52) primary
       Typography: IBM Plex Sans + IBM Plex Mono, for clear technical prose
       Creative motif: Neuron nodes = decision nodes — living, connected, inherited
    ============================================= */

    /* Self-hosted IBM Plex trial. Static WOFF2 cuts only the weights used by
       the page instead of loading a full variable axis. */
    @font-face {
      font-family: 'IBM Plex Sans';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url('/static/fonts/IBMPlexSans-Regular.woff2') format('woff2');
    }
    @font-face {
      font-family: 'IBM Plex Sans';
      font-style: normal;
      font-weight: 500;
      font-display: swap;
      src: url('/static/fonts/IBMPlexSans-Medium.woff2') format('woff2');
    }
    @font-face {
      font-family: 'IBM Plex Sans';
      font-style: normal;
      font-weight: 600;
      font-display: swap;
      src: url('/static/fonts/IBMPlexSans-SemiBold.woff2') format('woff2');
    }
    @font-face {
      font-family: 'IBM Plex Sans';
      font-style: italic;
      font-weight: 400;
      font-display: swap;
      src: url('/static/fonts/IBMPlexSans-Italic.woff2') format('woff2');
    }
    @font-face {
      font-family: 'IBM Plex Mono';
      font-style: normal;
      font-weight: 400;
      font-display: swap;
      src: url('/static/fonts/IBMPlexMono-Regular.woff2') format('woff2');
    }
    @font-face {
      font-family: 'IBM Plex Mono';
      font-style: normal;
      font-weight: 500;
      font-display: swap;
      src: url('/static/fonts/IBMPlexMono-Medium.woff2') format('woff2');
    }
    @font-face {
      font-family: 'IBM Plex Mono';
      font-style: normal;
      font-weight: 600;
      font-display: swap;
      src: url('/static/fonts/IBMPlexMono-SemiBold.woff2') format('woff2');
    }

    :root {
      --text-xs:   0.8125rem;
      --text-sm:   0.9375rem;
      --text-base: 1.0625rem;
      --text-lg:   1.25rem;
      --text-xl:   1.625rem;
      --text-2xl:  clamp(2.15rem, 1.85rem + 1.25vw, 3rem);
      --text-3xl:  clamp(2.75rem, 2.15rem + 2vw, 4.25rem);
      --text-hero: clamp(3.5rem, 6.75vw, 6.85rem);

      --space-1:0.25rem;--space-2:0.5rem;--space-3:0.75rem;
      --space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;
      --space-8:2rem;--space-10:2.5rem;--space-12:3rem;
      --space-16:4rem;--space-20:5rem;--space-24:6rem;--space-32:8rem;

      --radius-sm:0.25rem;--radius-md:0.5rem;--radius-lg:0.75rem;
      --radius-xl:1rem;--radius-full:9999px;
      --transition-interactive: 180ms cubic-bezier(0.16, 1, 0.3, 1);

      --font-display: 'IBM Plex Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
      --font-body: 'IBM Plex Sans', 'Inter', system-ui, -apple-system, 'Segoe UI', sans-serif;
      --font-mono: 'IBM Plex Mono', 'JetBrains Mono', 'Fira Code', monospace;

      --content-narrow:640px;--content-default:960px;--content-wide:1200px;

      /* Declare support for both schemes so user-agent surfaces (form
         controls, scrollbars, the default canvas) render in a matching
         palette instead of forcing the OS default. */
      color-scheme: light dark;
    }

    /* LIGHT MODE — paper/navy register (default) */
    :root, [data-theme="light"] {
      --color-bg:              #F5F0E5;
      --color-surface:         #faf8f2;
      --color-surface-2:       #fff;
      --color-surface-offset:  #ede9de;
      --color-surface-dynamic: #e4e0d4;
      --color-divider:         #d5d0c3;
      --color-border:          #ccc8ba;
      --color-text:            #1a1915;
      --color-text-muted:      #44403c;
      --color-text-faint:      #6a6760;
      --color-text-inverse:    #F5F0E5;
      --color-primary:         #0F3A52;
      --color-primary-hover:   #0a2b3e;
      --color-primary-active:  #071f2d;
      --color-primary-glow:    rgba(15,58,82,0.08);
      --color-primary-highlight: #cddcde;
      --color-accent-navy:     #0F3A52;
      --color-accent-soft:     #cddcde;
      --color-accent-red:      #8a3520;
      --color-code-bg:         #eeece6;
      --color-node:            #0F3A52;
      --color-node-glow:       rgba(15,58,82,0.12);
      --shadow-sm: 0 1px 2px rgba(0,0,0,0.06);
      --shadow-md: 0 4px 12px rgba(0,0,0,0.08);
      --shadow-lg: 0 12px 32px rgba(0,0,0,0.12);
      --shadow-node: 0 0 20px rgba(15,58,82,0.10), 0 0 6px rgba(15,58,82,0.07);
    }

    /* DARK MODE (optional toggle) */
    [data-theme="dark"] {
      --color-bg:              #0f0e0c;
      --color-surface:         #161510;
      --color-surface-2:       #1c1b15;
      --color-surface-offset:  #1a1914;
      --color-surface-dynamic: #232218;
      --color-divider:         #2a2920;
      --color-border:          #363528;
      --color-text:            #e8e5db;
      --color-text-muted:      #8a8778;
      --color-text-faint:      #888473;
      --color-text-inverse:    #0f0e0c;
      --color-primary:         #4da8b4;
      --color-primary-hover:   #2d8d9a;
      --color-primary-active:  #1a6b77;
      --color-primary-glow:    rgba(77,168,180,0.12);
      --color-primary-highlight: #1a3238;
      --color-accent-navy:     #4da8b4;
      --color-accent-soft:     #1a3238;
      --color-accent-red:      #c87060;
      --color-code-bg:         #0b0a08;
      --color-node:            #4da8b4;
      --color-node-glow:       rgba(77,168,180,0.22);
      --shadow-sm: 0 1px 2px rgba(0,0,0,0.35);
      --shadow-md: 0 4px 16px rgba(0,0,0,0.45);
      --shadow-lg: 0 12px 40px rgba(0,0,0,0.6);
      --shadow-node: 0 0 24px rgba(77,168,180,0.18), 0 0 8px rgba(77,168,180,0.1);
    }

    /* LOGO — raster mark from /static/logo/, served via 1x/2x srcset */
    .footer-logo-img { opacity: 0.7; }

    /* BASE */
    *,*::before,*::after{box-sizing:border-box;margin:0;padding:0;}
    html{
      -webkit-font-smoothing:antialiased;
      -moz-osx-font-smoothing:grayscale;
      text-rendering:optimizeLegibility;
      scroll-behavior:smooth;
      scroll-padding-top:var(--space-16);
    }
    body{
      min-height:100dvh;
      font-family:var(--font-body);
      font-weight:400;
      font-size:var(--text-base);
      color:var(--color-text);
      background-color:var(--color-bg);
      line-height:1.6;
      overflow-x:hidden;
    }
    img,canvas,svg{display:block;max-width:100%;}
    input,button,textarea,select{font:inherit;color:inherit;}
    h1,h2,h3,h4{text-wrap:balance;line-height:1.08;}
    p,li{text-wrap:pretty;}
    button{cursor:pointer;background:none;border:none;}
    ::selection{background:var(--color-primary-glow);}
    :focus-visible{outline:2px solid var(--color-primary);outline-offset:3px;border-radius:var(--radius-sm);}
    a,button,[role="button"]{
      transition:color var(--transition-interactive),background var(--transition-interactive),
                 border-color var(--transition-interactive),opacity var(--transition-interactive),
                 box-shadow var(--transition-interactive);
    }
    @media(prefers-reduced-motion:reduce){
      *,*::before,*::after{animation-duration:0.01ms!important;transition-duration:0.01ms!important;}
    }
    .sr-only{
      position:absolute;
      width:1px;height:1px;
      padding:0;margin:-1px;
      overflow:hidden;clip:rect(0,0,0,0);
      white-space:nowrap;border:0;
    }
    .sr-only:focus,
    .sr-only:active{
      position:fixed;
      top:var(--space-4);left:var(--space-4);z-index:200;
      width:auto;height:auto;margin:0;padding:var(--space-3) var(--space-5);
      overflow:visible;clip:auto;white-space:normal;
      background:var(--color-primary);color:var(--color-text-inverse);
      border-radius:var(--radius-sm);box-shadow:var(--shadow-md);
      text-decoration:none;font-size:var(--text-sm);font-weight:500;
    }

    /* SCROLL REVEAL */
    .reveal{opacity:1;}
    @supports(animation-timeline:scroll()){
      .reveal{
        opacity:0;
        animation:reveal-fade linear both;
        animation-timeline:view();
        animation-range:entry 0% entry 80%;
      }
    }
    @keyframes reveal-fade{to{opacity:1;}}

    /* =============================================
       NAVIGATION
    ============================================= */
    .nav{
      position:fixed;top:0;left:0;right:0;z-index:100;
      display:flex;align-items:center;justify-content:space-between;
      padding:var(--space-4) var(--space-8);
      background:color-mix(in srgb,var(--color-bg) 85%,transparent);
      backdrop-filter:blur(16px);
      border-bottom:1px solid oklch(from var(--color-text) l c h/0.05);
    }
    .nav-logo{
      display:flex;align-items:center;gap:var(--space-3);
      text-decoration:none;color:var(--color-text);
    }
    .nav-wordmark{
      font-family:var(--font-display);font-size:var(--text-base);
      font-weight:600;letter-spacing:0;
    }
    .nav-links{display:flex;align-items:center;gap:var(--space-6);list-style:none;}
    .nav-links a{
      font-size:var(--text-xs);font-weight:400;color:var(--color-text-muted);text-decoration:none;letter-spacing:0;
    }
    .nav-links a:hover{color:var(--color-text);}
    .nav-actions{display:flex;align-items:center;gap:var(--space-3);}
    .btn-theme{
      color:var(--color-text-muted);padding:var(--space-2);
      border-radius:var(--radius-md);display:flex;align-items:center;
    }
    .btn-theme:hover{color:var(--color-text);background:var(--color-surface-offset);}
    .btn-cta{
      font-size:var(--text-xs);font-weight:500;padding:var(--space-2) var(--space-5);
      background:var(--color-primary);color:var(--color-text-inverse);
      border-radius:var(--radius-sm);text-decoration:none;
    }
    .btn-cta:hover{background:var(--color-primary-hover);}
    @media(max-width:768px){.nav-links{display:none;}.nav{padding:var(--space-4);}}

    /* LAYOUT UTILITIES */
    .container{max-width:var(--content-default);margin-inline:auto;padding-inline:var(--space-8);}
    .container-wide{max-width:var(--content-wide);margin-inline:auto;padding-inline:var(--space-8);}

    /* BUTTONS */
    .btn-primary{
      display:inline-flex;align-items:center;gap:var(--space-2);
      font-size:var(--text-sm);font-weight:500;padding:var(--space-3) var(--space-6);
      background:var(--color-primary);color:var(--color-text-inverse);
      border-radius:var(--radius-sm);text-decoration:none;
    }
    .btn-primary:hover{background:var(--color-primary-hover);}
    .btn-secondary{
      display:inline-flex;align-items:center;gap:var(--space-2);
      font-size:var(--text-sm);font-weight:400;padding:var(--space-3) var(--space-6);
      border:1px solid oklch(from var(--color-text) l c h/0.18);
      color:var(--color-text-muted);border-radius:var(--radius-sm);text-decoration:none;
    }
    .btn-secondary:hover{color:var(--color-text);border-color:oklch(from var(--color-text) l c h/0.35);}

    /* =============================================
       §A — HERO
    ============================================= */
    .hero{
      position:relative;min-height:100svh;
      display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
      align-items:center;overflow:hidden;
    }
    .hero-left{
      position:relative;z-index:2;
      padding:var(--space-32) var(--space-10) var(--space-24) var(--space-12);
      min-width:0;
    }
    .hero-eyebrow{
      font-family:var(--font-mono);font-size:var(--text-xs);
      color:var(--color-primary);letter-spacing:0.1em;text-transform:uppercase;
      margin-bottom:var(--space-6);
      display:flex;align-items:center;gap:var(--space-2);
    }
    .hero-eyebrow::before{
      content:'';display:block;width:24px;height:1px;
      background:var(--color-primary);opacity:0.6;
    }
    .hero-headline{
      font-family:var(--font-display);
      font-size:var(--text-hero);
      font-weight:600;
      letter-spacing:0;
      line-height:1.02;
      color:var(--color-text);
      margin-bottom:var(--space-6);
    }
    .hero-imperative{
      font-family:var(--font-body);
      font-size:var(--text-lg);
      font-weight:400;
      letter-spacing:0;
      line-height:1.45;
      color:var(--color-text-muted);
      margin-bottom:var(--space-5);
      max-width:48ch;
    }
    .hero-actions{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap;margin-top:var(--space-10);}
    /* Mobile-only integration signal. The install card (hero-right) is hidden
       on phones, so surface the "works with" breadth as a quiet one-liner.
       Hidden on desktop, where the install card already carries it. */
    .hero-integrations{display:none;}

    /* Hero-right install card — matches the docs code-card aesthetic: an
       always-dark code surface with macOS window chrome, a labeled bar, box
       shadow, and the shared cc-* token palette, regardless of page theme. This
       replaces the earlier flat "receipt" treatment (kept chrome-free to defer
       to the hero video below); the video still owns the motion, the card now
       matches the polish of the docs code blocks.
       .install-cmd / .install-copy / .t-* are shared with the pricing page, so
       their light-surface defaults stay global and the dark overrides are scoped
       to .hero-install-card. */
    .hero-install-card{
      --cc-bg:#0e2230;--cc-bar:#0b1a26;--cc-border:rgba(255,255,255,0.09);
      --cc-text:#cdd9e1;--cc-faint:#889caa;
      width:min(100%,calc(100vw - (2 * var(--space-5))));max-width:520px;
      margin:0;
      background:var(--cc-bg);
      border:1px solid var(--cc-border);
      border-radius:var(--radius-md);
      overflow:hidden;
      box-shadow:var(--shadow-md);
      font-family:var(--font-mono);
    }
    .install-card-bar{
      display:flex;align-items:center;gap:var(--space-3);
      padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);
      background:var(--cc-bar);
      border-bottom:1px solid var(--cc-border);
    }
    /* macOS-style window controls; raw hex are the standard traffic-light colors,
       matching .doc-code-bar::before. */
    .install-card-bar::before{
      content:"";flex:none;
      width:11px;height:11px;border-radius:var(--radius-full);
      background:#ed6a5e;
      box-shadow:18px 0 0 #f4be4f,36px 0 0 #62c554;
      margin-right:calc(36px + var(--space-2));opacity:0.92;
    }
    .install-card-lang{
      font-family:var(--font-mono);font-size:var(--text-xs);
      color:var(--cc-faint);
      letter-spacing:0.08em;text-transform:uppercase;
    }
    .install-card-body{
      padding:var(--space-6);
      display:flex;flex-direction:column;gap:var(--space-4);
    }
    .install-step{
      display:flex;align-items:center;gap:var(--space-3);
      font-size:var(--text-sm);min-width:0;
    }
    .install-output{
      display:flex;align-items:flex-start;gap:var(--space-2);
      padding-left:var(--space-5);
      font-size:0.8rem;line-height:1.5;
      color:var(--cc-faint);
    }
    .install-output-prefix{color:var(--cc-text);}
    .install-check{color:#62c554;font-weight:500;font-family:var(--font-mono);}
    .install-output--note{font-size:var(--text-xs);opacity:0.9;}
    .install-plus{color:var(--cc-faint);font-weight:600;font-family:var(--font-mono);}
    /* Shared with the pricing page (light surfaces) — keep these defaults global. */
    .install-cmd{color:var(--color-text);flex:1;overflow-wrap:anywhere;}
    .install-copy{
      display:inline-flex;align-items:center;gap:var(--space-2);
      padding:var(--space-1) var(--space-2);
      background:transparent;border:1px solid transparent;
      color:var(--color-text-faint);font-family:var(--font-mono);font-size:var(--text-xs);
      border-radius:var(--radius-sm);cursor:pointer;
    }
    .install-copy:hover{color:var(--color-text);border-color:var(--color-border);}
    /* Dark-surface overrides for the shared classes, scoped to the hero card. */
    .hero-install-card .install-cmd{color:var(--cc-text);}
    .hero-install-card .t-prompt{color:#5bc8a7;}
    .hero-install-card .t-cmd{color:var(--cc-text);}
    .hero-install-card .install-copy{
      margin-left:auto;
      color:var(--cc-faint);font-family:var(--font-body);font-weight:500;
      transition:background var(--transition-interactive),color var(--transition-interactive),border-color var(--transition-interactive);
    }
    .hero-install-card .install-copy:hover{
      color:var(--cc-text);background:rgba(255,255,255,0.08);border-color:var(--cc-border);
    }
    .hero-install-card .install-copy svg{display:block;}

    /* HERO RIGHT — terminal */
    .hero-right{
      position:relative;z-index:2;
      padding:var(--space-32) var(--space-12) var(--space-24) var(--space-6);
      display:flex;align-items:center;justify-content:center;
      min-width:0;
    }
    .terminal-bar{
      display:flex;align-items:center;gap:var(--space-3);
      padding:var(--space-3) var(--space-5);
      background:var(--color-surface-offset);
      border-bottom:1px solid var(--color-border);
    }
    .terminal-dots{display:flex;gap:var(--space-2);}
    .terminal-dot{width:9px;height:9px;border-radius:var(--radius-full);background:var(--color-divider);}
    .terminal-label{font-size:var(--text-xs);color:var(--color-text-faint);margin-left:auto;}
    .terminal-body{padding:var(--space-6);}
    .tl{display:flex;align-items:center;gap:var(--space-3);min-width:0;}
    .t-prompt{color:var(--color-primary);font-size:var(--text-sm);}
    .t-cmd{color:var(--color-text);font-size:var(--text-sm);min-width:0;flex:1;overflow-wrap:anywhere;}
    .t-gap{margin-top:var(--space-5);}
    .terminal-decision-wrap{padding-left:var(--space-5);margin-top:var(--space-4);}
    .d-row{
      display:grid;grid-template-columns:3rem 1fr 5rem 2rem;
      gap:var(--space-3);align-items:center;
      padding:var(--space-2) 0;
      border-bottom:1px solid var(--color-divider);font-size:0.75rem;
    }
    .d-row:last-child{border-bottom:none;}
    .d-id{color:var(--color-primary);font-weight:500;}
    .d-title{color:var(--color-text-muted);overflow-wrap:anywhere;}
    .d-badge{
      font-size:0.75rem;padding:1px 5px;border-radius:var(--radius-sm);
      text-align:center;text-transform:uppercase;letter-spacing:0.03em;
    }
    .d-badge.rej{background:oklch(from var(--color-accent-red) l c h/0.12);color:var(--color-accent-red);}
    .d-badge.act{background:oklch(from var(--color-primary) l c h/0.1);color:var(--color-primary);}
    .d-score{color:var(--color-text-faint);text-align:right;}
    .d-score.top{color:var(--color-primary);font-weight:500;}
    .t-assess{color:var(--color-text-faint);font-size:0.75rem;padding-left:var(--space-5);margin-top:var(--space-4);font-style:italic;}
    .t-actor{color:var(--color-primary);font-weight:500;font-size:0.75rem;text-transform:uppercase;letter-spacing:0.04em;margin-right:var(--space-2);font-style:normal;}
    .t-warn-line{
      display:flex;align-items:flex-start;gap:var(--space-3);
      padding:var(--space-4);margin-top:var(--space-4);
      background:oklch(from var(--color-accent-red) l c h/0.07);
      border:1px solid oklch(from var(--color-accent-red) l c h/0.18);
      border-radius:var(--radius-md);
    }
    .t-warn{color:var(--color-accent-red);font-size:var(--text-sm);}
    .t-action{color:var(--color-text-muted);font-size:0.78rem;line-height:1.5;min-width:0;overflow-wrap:anywhere;}
    @keyframes blink{0%,49%{opacity:1;}50%,100%{opacity:0;}}
    .cursor-blink{
      display:inline-block;width:8px;height:14px;
      background:var(--color-primary);vertical-align:middle;
      animation:blink 1.1s step-end infinite;
    }
    @media(max-width:900px){
      .hero{grid-template-columns:minmax(0,1fr);min-height:auto;}
      .hero-right{padding:var(--space-4) var(--space-8) var(--space-16);}
      .hero-left{padding:calc(var(--space-32) + var(--space-8)) var(--space-8) var(--space-10);}
    }
    @media(max-width:640px){
      .container,
      .container-wide{padding-inline:var(--space-5);}
      .nav{padding:var(--space-3) var(--space-5);}
      .nav-logo{gap:var(--space-2);}
      .nav-logo-img{width:20px;height:20px;}
      .nav-wordmark{font-size:0.95rem;}
      .btn-cta{font-size:0.8125rem;padding:0.6rem var(--space-4);}
      .hero{
        min-height:100svh;
        align-items:stretch;
      }
      .hero-left{
        min-height:100svh;
        display:grid;
        align-content:center;
        padding:calc(var(--space-20) + var(--space-2)) var(--space-5) var(--space-8);
      }
      .hero-right{display:none;}
      .hero-headline{
        font-size:clamp(3.05rem,12.6vw,4rem);
        line-height:1.02;
        letter-spacing:0;
        text-wrap:wrap;
        margin-bottom:var(--space-5);
      }
      .hero-headline{max-width:11.5ch;}
      .hero-imperative{
        display:block;
        font-size:1.0625rem;
        line-height:1.55;
        max-width:30ch;
        margin-bottom:var(--space-6);
      }
      .hero-actions{
        display:flex;
        margin-top:0;
        gap:var(--space-3);
      }
      .hero-integrations{
        display:flex;flex-direction:column;gap:var(--space-2);
        margin-top:var(--space-8);
      }
      .hero-integrations-label{
        font-family:var(--font-mono);font-size:var(--text-xs);
        letter-spacing:0.1em;text-transform:uppercase;
        color:var(--color-primary);
      }
      .hero-integrations-tools{
        font-family:var(--font-mono);font-size:var(--text-xs);
        color:var(--color-text-muted);line-height:1.5;
      }
      .terminal-body{padding:var(--space-5);}
      .terminal-decision-wrap{padding-left:0;}
      .tl{align-items:flex-start;}
      .d-row{
        grid-template-columns:2.5rem minmax(0,1fr) 4.25rem;
        gap:var(--space-2);
      }
      .d-score{display:none;}
      .t-assess{padding-left:0;}
    }
    /* =============================================
       §A1.5 — PREMISE (problem -> Nauro; the plain-language
       bridge between the hero and the first video)
    ============================================= */
    .premise{
      padding-block:clamp(var(--space-16),8vw,var(--space-24));
      background:var(--color-bg);
      border-top:1px solid var(--color-divider);
      scroll-margin-top:calc(var(--nav-h,64px) + var(--space-4));
    }
    .premise-eyebrow{
      font-family:var(--font-mono);font-size:var(--text-xs);
      color:var(--color-primary);letter-spacing:0.1em;text-transform:uppercase;
      margin-bottom:var(--space-5);
    }
    .premise-lead{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:0;line-height:1.12;
      color:var(--color-text);
      max-width:26ch;margin-bottom:var(--space-6);
    }
    .premise-body{
      font-size:var(--text-lg);color:var(--color-text-muted);
      line-height:1.6;max-width:56ch;margin-bottom:var(--space-6);
    }
    /* Navy left-border = "the authoritative thing" — same motif as the
       conflict decision side and the moat quote. */
    .premise-resolve{
      font-size:var(--text-lg);color:var(--color-text);
      line-height:1.6;max-width:58ch;
      padding-left:var(--space-6);
      border-left:2px solid var(--color-primary);
    }
    .premise-body code,
    .premise-resolve code{
      font-family:var(--font-mono);font-size:0.85em;
      color:var(--color-primary);
      background:var(--color-surface-offset);
      padding:0.05em 0.4em;border-radius:var(--radius-sm);
    }
    @media(max-width:640px){
      .premise-lead{font-size:clamp(1.85rem,7.5vw,2.4rem);max-width:none;}
      .premise-body,
      .premise-resolve{font-size:var(--text-base);}
    }

    /* =============================================
       §B — AUDIT
    ============================================= */
    .demo{
      padding-block:clamp(var(--space-16),8vw,var(--space-32));
      background:var(--color-bg);
      border-top:1px solid var(--color-divider);
    }
    .audit{
      padding-block:clamp(var(--space-16),8vw,var(--space-32));
      background:var(--color-bg);
      border-top:1px solid var(--color-divider);
      scroll-margin-top:calc(var(--nav-h,64px) + var(--space-4));
    }
    .audit-intro{margin:0 auto var(--space-10);max-width:900px;}
    .audit-title{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:0;color:var(--color-text);margin-bottom:var(--space-4);
    }
    .audit-sub{font-size:var(--text-sm);color:var(--color-text-muted);max-width:52ch;}
    /* Audit-section live recording — sits above the 3-frame static breakdown.
       Caps at ~900px so the captured terminal text stays readable; the static
       frames below serve as the annotated walk-through. */
    .audit-video{
      margin:0 auto var(--space-10);
      max-width:900px;
      width:100%;
      position:relative;
      border-radius:var(--radius-md);
      overflow:hidden;
      background:#0d0d0f;
      box-shadow:var(--shadow-md);
    }
    .audit-video-el{display:block;width:100%;height:auto;object-fit:contain;}
    .audit-trace-bridge{display:none;}
    /* PLYR THEME
       Map Plyr's CSS custom properties to the design tokens so the player reads
       on-brand and tracks the light/dark token swap automatically. The single
       source of accent is --color-primary (navy in light, teal in dark), which
       --plyr-color-main threads through the range fill, focus rings, and the
       active speed-menu state. The control bar is deliberately restrained: a
       low-contrast dark scrim over the (dark terminal) footage, mono-font time
       readout, and icons that only brighten on hover/focus rather than shouting
       at rest. CSP-clean: Plyr reads these vars via plyr.css; no injected style. */
    .plyr{
      --plyr-color-main: var(--color-primary);
      --plyr-font-family: var(--font-mono);
      --plyr-font-size-base: var(--text-sm, 0.875rem);
      --plyr-font-size-small: var(--text-xs, 0.75rem);
      --plyr-font-size-time: var(--text-xs, 0.75rem);
      --plyr-font-size-menu: var(--text-xs, 0.75rem);
      --plyr-control-spacing: var(--space-2, 0.5rem);
      --plyr-control-icon-size: 16px;
      --plyr-control-radius: var(--radius-sm);
      --plyr-menu-radius: var(--radius-md);
      --plyr-tooltip-radius: var(--radius-sm);
      --plyr-badge-border-radius: var(--radius-sm);
      /* Controls: restrained dark scrim so the bar reads over dark footage in
         both themes without borrowing a token that flips to a light surface. */
      --plyr-video-controls-background: linear-gradient(transparent, rgba(13,13,15,0.72));
      --plyr-video-control-color: rgba(255,255,255,0.78);
      --plyr-video-control-color-hover: #fff;
      --plyr-video-background: #0d0d0f;
      /* Scrubber: brand-filled progress, neutral track. */
      --plyr-range-fill-background: var(--color-primary);
      --plyr-range-thumb-background: #fff;
      --plyr-range-track-height: 4px;
      --plyr-video-progress-buffered-background: rgba(255,255,255,0.25);
      /* Speed menu: site surface tokens so the panel matches the page chrome. */
      --plyr-menu-background: var(--color-surface-2);
      --plyr-menu-color: var(--color-text);
      --plyr-menu-arrow-color: var(--color-text-muted);
      --plyr-menu-border-color: var(--color-border);
      --plyr-menu-border-shadow-color: var(--color-divider);
      --plyr-tooltip-background: var(--color-surface-2);
      --plyr-tooltip-color: var(--color-text);
    }
    .audit-video .plyr{
      width:100%;
      height:auto;
    }
    .conflict-comparison{
      max-width:900px;
      margin:0 auto;
      padding:var(--space-7, 1.75rem);
      background:var(--color-surface);
      border:1px solid var(--color-border);
      border-top:2px solid var(--color-primary);
      border-radius:var(--radius-md);
      scroll-margin-top:calc(var(--nav-h,64px) + var(--space-4));
    }
    .conflict-comparison-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:var(--space-8);
      padding-bottom:var(--space-6);
      border-bottom:1px solid var(--color-divider);
    }
    .conflict-eyebrow,
    .conflict-label,
    .conflict-result-label{
      font-family:var(--font-mono);
      font-size:var(--text-xs);
      font-weight:500;
      letter-spacing:0.06em;
      text-transform:uppercase;
      color:var(--color-primary);
    }
    .conflict-comparison-head p{
      max-width:58ch;
      font-size:var(--text-sm);
      line-height:1.55;
      color:var(--color-text-muted);
    }
    .conflict-grid{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
      gap:var(--space-6);
      align-items:stretch;
      padding-block:var(--space-8);
    }
    .conflict-side{
      min-width:0;
      display:flex;
      flex-direction:column;
      gap:var(--space-4);
    }
    .conflict-side--decision{
      padding:var(--space-5);
      background:var(--color-bg);
      border-left:2px solid var(--color-primary);
      border-radius:var(--radius-sm);
    }
    .conflict-versus{
      align-self:center;
      display:grid;
      place-items:center;
      width:2.25rem;
      height:2.25rem;
      border:1px solid var(--color-divider);
      border-radius:var(--radius-full);
      font-family:var(--font-mono);
      font-size:var(--text-xs);
      color:var(--color-text-faint);
      background:var(--color-bg);
    }
    .conflict-statement{
      max-width:18ch;
      font-size:var(--text-xl);
      line-height:1.2;
      color:var(--color-text);
    }
    .conflict-note{
      max-width:34ch;
      font-size:var(--text-sm);
      line-height:1.55;
      color:var(--color-text-muted);
    }
    .conflict-decision-meta{
      display:flex;
      align-items:center;
      gap:var(--space-3);
      flex-wrap:wrap;
    }
    .conflict-id{
      font-family:var(--font-mono);
      font-size:var(--text-sm);
      font-weight:500;
      color:var(--color-primary);
    }
    .conflict-badge{
      font-family:var(--font-mono);
      font-size:0.75rem;
      line-height:1;
      text-transform:uppercase;
      letter-spacing:0.03em;
      color:var(--color-primary);
      background:oklch(from var(--color-primary) l c h/0.1);
      border-radius:var(--radius-sm);
      padding:0.25rem 0.45rem;
    }
    .conflict-result{
      display:grid;
      grid-template-columns:8rem minmax(0,1fr);
      gap:var(--space-5);
      align-items:start;
      padding:var(--space-5);
      border-top:1px solid var(--color-divider);
      background:var(--color-code-bg);
      border-radius:var(--radius-sm);
    }
    .conflict-result p{
      max-width:64ch;
      font-size:var(--text-base);
      line-height:1.65;
      color:var(--color-text);
    }
    @media(max-width:768px){
      .audit{
        padding-block:var(--space-12);
      }
      .audit-intro{
        margin-bottom:var(--space-6);
      }
      .audit-title{
        font-size:clamp(2rem,9vw,2.75rem);
        letter-spacing:0;
      }
      .audit-sub{
        font-size:1rem;
        line-height:1.55;
      }
      .audit-video{
        margin-bottom:var(--space-4);
        border-radius:var(--radius-sm);
      }
      .audit-trace-bridge{
        display:none;
      }
      .conflict-comparison{
        padding:var(--space-5);
        border-radius:var(--radius-sm);
      }
      .conflict-comparison-head{
        display:block;
        padding-bottom:var(--space-5);
      }
      .conflict-comparison-head p{
        margin-top:var(--space-3);
      }
      .conflict-grid{
        grid-template-columns:1fr;
        gap:var(--space-5);
        padding-block:var(--space-6);
      }
      .conflict-side--decision{
        padding:var(--space-4);
      }
      .conflict-versus{
        width:auto;
        height:auto;
        place-items:start;
        justify-self:start;
        border:0;
        border-radius:0;
        background:transparent;
        color:var(--color-primary);
      }
      .conflict-versus::before{
        content:'against ';
        color:var(--color-text-faint);
      }
      .conflict-statement{
        max-width:none;
        font-size:var(--text-lg);
      }
      .conflict-result{
        grid-template-columns:1fr;
        gap:var(--space-3);
        padding:var(--space-4);
      }
    }

    /* =============================================
       §D — INHERITANCE
    ============================================= */
    .inheritance{
      padding-block:clamp(var(--space-16),8vw,var(--space-32));
      background:var(--color-bg);
      border-top:1px solid var(--color-divider);
      scroll-margin-top:calc(var(--nav-h,64px) + var(--space-4));
    }
    .inheritance-title{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:0;color:var(--color-text);margin-bottom:var(--space-4);
    }
    .inheritance-sub{
      font-size:var(--text-sm);color:var(--color-text-muted);
      max-width:56ch;margin-bottom:var(--space-10);
    }
    .sc-key{color:var(--color-accent-red);}
    .sc-val{color:var(--color-primary);}
    .sc-brace{color:var(--color-text-faint);}

    /* Connect-panel grid */
    .integ-grid{
      display:grid;grid-template-columns:180px 1fr;
      gap:var(--space-8);
      max-width:var(--content-default);
      margin-bottom:var(--space-10);
    }
    .integ-rail{
      display:flex;flex-direction:column;gap:var(--space-1);
    }
    .integ-tab{
      font-family:var(--font-mono);font-size:0.75rem;font-weight:500;
      padding:var(--space-3) var(--space-4);letter-spacing:0;
      border:1px solid var(--color-border);
      border-radius:var(--radius-sm);color:var(--color-text-muted);
      background:transparent;text-align:left;cursor:pointer;
    }
    .integ-tab:hover{color:var(--color-text);border-color:var(--color-primary);}
    .integ-tab.active{
      background:var(--color-primary);color:var(--color-text-inverse);
      border-color:var(--color-primary);
    }
    .integ-pane{min-width:0;}
    /* No outer frame: the dark code card carries its own chrome and shadow, so
       a bordered panel around it would double-frame (a card inside a card). The
       caption and notes sit directly in the pane; the card floats, like the
       docs code blocks and the hero card. */
    .integ-panel{display:none;}
    .integ-panel.active{display:block;}
    .integ-caption{
      font-size:var(--text-sm);color:var(--color-text-muted);
      line-height:1.6;margin-bottom:var(--space-5);
    }
    .integ-caption code,
    .integ-foot code,
    .integ-steps code{
      font-family:var(--font-mono);font-size:0.85em;
      color:var(--color-primary);
      background:var(--color-surface-offset);
      padding:0.05em 0.4em;border-radius:var(--radius-sm);
    }
    /* Integration-tab code cards share the docs code-card aesthetic: an
       always-dark cc-* surface with macOS window chrome, a labeled bar, box
       shadow, and dark-surface token colors, regardless of page theme. */
    .integ-code{
      --cc-bg:#0e2230;--cc-bar:#0b1a26;--cc-border:rgba(255,255,255,0.09);
      --cc-text:#cdd9e1;--cc-faint:#889caa;
      --cc-str:#e3a878;--cc-fn:#74c7d6;--cc-punct:#9fb2bd;
      background:var(--cc-bg);
      border:1px solid var(--cc-border);
      border-radius:var(--radius-md);
      overflow:hidden;
      box-shadow:var(--shadow-md);
    }
    .integ-code + .integ-code{margin-top:var(--space-3);}
    .integ-code--sm .integ-code-body{
      font-size:var(--text-xs);padding:var(--space-4) var(--space-5);
    }
    .integ-code-bar{
      display:flex;align-items:center;gap:var(--space-3);
      padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);
      background:var(--cc-bar);
      border-bottom:1px solid var(--cc-border);
    }
    /* macOS-style window controls, matching .doc-code-bar::before. */
    .integ-code-bar::before{
      content:"";flex:none;
      width:11px;height:11px;border-radius:var(--radius-full);
      background:#ed6a5e;
      box-shadow:18px 0 0 #f4be4f,36px 0 0 #62c554;
      margin-right:calc(36px + var(--space-2));opacity:0.92;
    }
    .integ-code-file{
      font-family:var(--font-mono);font-size:var(--text-xs);
      color:var(--cc-faint);letter-spacing:0.04em;
    }
    .integ-code-copy{
      margin-left:auto;
      display:inline-flex;align-items:center;gap:var(--space-2);
      font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;
      color:var(--cc-faint);padding:var(--space-1) var(--space-2);
      border:1px solid transparent;border-radius:var(--radius-sm);
      background:transparent;cursor:pointer;
      transition:background var(--transition-interactive),color var(--transition-interactive),border-color var(--transition-interactive);
    }
    .integ-code-copy:hover{color:var(--cc-text);background:rgba(255,255,255,0.08);border-color:var(--cc-border);}
    .integ-code-copy svg{display:block;}
    .integ-code-body{
      padding:var(--space-6);
      font-family:var(--font-mono);font-size:var(--text-sm);
      line-height:1.7;color:var(--cc-text);
      overflow-x:auto;
    }
    .integ-code-body--shell{
      color:var(--cc-text);
      white-space:nowrap;overflow-x:auto;
    }
    /* Dark-surface token colors, matching .doc-code-body. */
    .integ-code-body .t-prompt{color:#5bc8a7;}
    .integ-code-body .t-cmd{color:var(--cc-text);}
    .integ-code-body .sc-key{color:var(--cc-fn);}
    .integ-code-body .sc-val{color:var(--cc-str);}
    .integ-code-body .sc-brace{color:var(--cc-punct);}
    .integ-foot{
      margin-top:var(--space-4);
      font-size:var(--text-xs);color:var(--color-text-faint);
      line-height:1.6;
    }
    .integ-notes{
      list-style:none;padding:0;margin:var(--space-4) 0 0;
      display:flex;flex-direction:column;gap:var(--space-2);
      font-size:var(--text-xs);color:var(--color-text-faint);
      line-height:1.6;
    }
    .integ-notes strong{color:var(--color-text-muted);font-weight:500;}
    .integ-steps{
      list-style:none;padding:0;margin:0;
      display:flex;flex-direction:column;gap:var(--space-4);
    }
    .integ-steps li{
      display:flex;align-items:flex-start;gap:var(--space-4);
      font-size:var(--text-sm);color:var(--color-text-muted);
      line-height:1.6;
    }
    .integ-step-num{
      flex:0 0 auto;
      width:1.6rem;height:1.6rem;
      display:flex;align-items:center;justify-content:center;
      border:1px solid var(--color-border);border-radius:var(--radius-full);
      font-family:var(--font-mono);font-size:0.75rem;
      color:var(--color-text-faint);background:var(--color-surface);
    }
    .integ-step-body{flex:1;min-width:0;}
    .integ-step-body strong{color:var(--color-text);font-weight:500;}

    @media(max-width:720px){
      .integ-grid{
        grid-template-columns:1fr;gap:var(--space-4);
      }
      .integ-rail{
        flex-direction:row;
        overflow-x:auto;
        scroll-snap-type:x mandatory;
        gap:var(--space-2);
        padding-bottom:var(--space-2);
        margin:0 calc(-1 * var(--space-8));
        padding-inline:var(--space-8);
      }
      .integ-tab{
        flex:0 0 auto;scroll-snap-align:start;
      }
      .integ-code-body--shell{font-size:var(--text-xs);}
    }
    /* Below 640px the container padding drops to --space-5, so the full-bleed
       tab rail must match it or it overflows the viewport by the difference. */
    @media(max-width:640px){
      .integ-rail{
        margin-inline:calc(-1 * var(--space-5));
        padding-inline:var(--space-5);
      }
    }

    .moat-quote{
      margin-top:var(--space-10);
      padding:var(--space-6) var(--space-8);
      border-left:2px solid var(--color-primary);
      font-size:var(--text-base);
      font-style:italic;
      color:var(--color-text-muted);
      max-width:64ch;line-height:1.75;
    }

    /* =============================================
       §D.5 — AGENTS & SKILLS
    ============================================= */
    .agent-layer{
      padding-block:clamp(var(--space-16),8vw,var(--space-32));
      background:var(--color-surface);
      border-top:1px solid var(--color-divider);
      scroll-margin-top:calc(var(--nav-h,64px) + var(--space-4));
    }
    .agent-layer-title{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:0;color:var(--color-text);
      margin-bottom:var(--space-4);
    }
    .agent-layer-sub{
      font-size:var(--text-sm);color:var(--color-text-muted);
      max-width:64ch;margin-bottom:var(--space-10);
    }
    .agent-cols{
      display:grid;grid-template-columns:1fr 1fr;
      gap:var(--space-6);
    }
    .agent-col{
      padding:var(--space-8);
      background:var(--color-bg);
      border:1px solid var(--color-border);
      border-radius:var(--radius-xl);
      display:flex;flex-direction:column;
    }
    .agent-col-label{
      font-family:var(--font-mono);font-size:var(--text-xs);
      color:var(--color-primary);letter-spacing:0.06em;
      text-transform:uppercase;margin-bottom:var(--space-3);
    }
    .agent-col-head{
      font-family:var(--font-display);font-size:var(--text-lg);
      font-weight:500;letter-spacing:0;color:var(--color-text);
      margin-bottom:var(--space-6);line-height:1.4;
    }
    .agent-list{list-style:none;display:flex;flex-direction:column;}
    .agent-item{
      display:flex;flex-direction:column;gap:var(--space-2);
      padding-block:var(--space-4);
      border-top:1px solid var(--color-divider);
    }
    .agent-item:first-child{padding-top:0;border-top:none;}
    .agent-item:last-child{padding-bottom:0;}
    .agent-id{
      font-family:var(--font-mono);font-size:var(--text-sm);
      color:var(--color-primary);font-weight:500;
      display:flex;align-items:center;gap:var(--space-3);flex-wrap:wrap;
    }
    .agent-tag{
      font-family:var(--font-mono);font-size:0.75rem;
      color:var(--color-text-faint);letter-spacing:0.06em;
      text-transform:uppercase;font-weight:400;
      padding:1px 6px;border:1px solid var(--color-border);
      border-radius:var(--radius-sm);background:var(--color-surface-offset);
    }
    .agent-desc{
      font-size:var(--text-sm);color:var(--color-text-muted);
      line-height:1.65;
    }
    .agent-desc code,
    .aud-body code{
      font-family:var(--font-mono);font-size:0.85em;
      color:var(--color-primary);
      background:var(--color-surface-offset);
      padding:0.05em 0.4em;border-radius:var(--radius-sm);
    }
    @media(max-width:768px){.agent-cols{grid-template-columns:1fr;}}

    /* =============================================
       §E — SOLO & TEAM
    ============================================= */
    .audience{
      padding-block:clamp(var(--space-16),8vw,var(--space-32));
      background:var(--color-surface);
      border-top:1px solid var(--color-divider);
    }
    .audience-title{
      font-family:var(--font-display);font-size:var(--text-xl);
      font-weight:500;letter-spacing:0;color:var(--color-text-muted);
      margin-bottom:0;
    }
    /* Adoption path: three steps strung along a thin rule that fades
       past the last node, implying continued growth. Markers are filled
       nodes; the rule passes through them and is masked by a ring of
       surface color so the node visually cuts the line. */
    .adopt-path{
      list-style:none;
      margin:var(--space-12) 0 0;
      padding:0;
      position:relative;
      display:grid;grid-template-columns:repeat(3,1fr);
    }
    .adopt-path::before{
      content:"";position:absolute;
      top:4px;left:16.6667%;right:16.6667%;
      height:1px;background:var(--color-divider);
    }
    .adopt-path::after{
      content:"";position:absolute;
      top:4px;left:83.3333%;right:0;
      height:1px;
      background:repeating-linear-gradient(to right,
        var(--color-text-faint) 0 4px,
        transparent 4px 9px);
      -webkit-mask-image:linear-gradient(to right,#000 0%,transparent 85%);
              mask-image:linear-gradient(to right,#000 0%,transparent 85%);
      opacity:0.45;
    }
    .adopt-step{
      position:relative;
      padding:0 var(--space-4);
      display:flex;flex-direction:column;align-items:flex-start;
    }
    .adopt-marker{
      width:9px;height:9px;border-radius:50%;
      background:var(--color-primary);
      align-self:center;
      box-shadow:0 0 0 5px var(--color-surface);
      position:relative;z-index:1;
    }
    .adopt-num{
      font-family:var(--font-mono);font-size:var(--text-xs);
      color:var(--color-text-faint);letter-spacing:0.14em;
      margin-top:var(--space-2);
    }
    .adopt-head{
      font-family:var(--font-display);font-size:var(--text-lg);
      font-weight:500;letter-spacing:-0.005em;color:var(--color-text);
      margin:var(--space-5) 0 var(--space-3);
    }
    .adopt-body{
      font-size:var(--text-sm);color:var(--color-text-muted);
      line-height:1.7;margin:0;max-width:30ch;
    }
    .adopt-body code{
      font-family:var(--font-mono);font-size:0.9em;
      color:var(--color-primary);
      background:var(--color-surface-offset);
      padding:0.05em 0.4em;border-radius:var(--radius-sm);
    }
    @media(max-width:900px){
      .adopt-path{
        display:flex;flex-direction:column;
        gap:var(--space-10);
        margin-top:var(--space-10);
        padding:0 0 0 28px;
      }
      .adopt-path::before{
        top:6px;bottom:6px;left:4px;right:auto;
        width:1px;height:auto;
      }
      .adopt-path::after{
        top:auto;bottom:-32px;left:4px;right:auto;
        width:1px;height:32px;
        background:repeating-linear-gradient(to bottom,
          var(--color-text-faint) 0 4px,
          transparent 4px 9px);
        -webkit-mask-image:linear-gradient(to bottom,#000 0%,transparent 85%);
                mask-image:linear-gradient(to bottom,#000 0%,transparent 85%);
      }
      .adopt-step{padding:0;}
      .adopt-marker{
        position:absolute;top:6px;left:-28px;
        align-self:auto;
      }
      .adopt-num{margin-top:0;}
      .adopt-body{max-width:none;}
    }

    /* =============================================
       MOBILE POLISH (≤900 / ≤640 / ≤480)
       Scoped fixes for narrow-viewport rendering issues. Desktop layout
       is left untouched.
    ============================================= */
    @media (max-width:640px){
      /* MCP / CLI config snippets overflow their narrow column. Let the
         block scroll horizontally instead of wrapping into broken-looking
         JSON or shell commands. */
      .integ-code-body{overflow-x:auto;}
    }
    @media (max-width:480px){
      /* Install card output: "MCP wired: Claude · Cursor · Codex · Perplexity"
         leaves "· Perplexity" orphaned on its own line. Hide the prefix on
         narrow screens; the check + tool list is self-explanatory in context. */
      .install-output-prefix{display:none;}
    }

    /* =============================================
       FOOTER
    ============================================= */
    footer{
      padding-block:var(--space-12);
      border-top:1px solid var(--color-divider);
      background:var(--color-surface);
    }
    .footer-attribution{
      text-align:center;
      padding:var(--space-4) var(--space-8) var(--space-8);
      font-size:var(--text-xs);
      color:var(--color-text-faint);
      opacity:0.7;
      letter-spacing:0.01em;
    }
    .footer-inner{
      display:flex;align-items:center;justify-content:space-between;
      flex-wrap:wrap;gap:var(--space-6);
    }
    .footer-logo{
      display:flex;align-items:center;gap:var(--space-3);
      text-decoration:none;color:var(--color-text);
    }
    .footer-wordmark{
      font-family:var(--font-display);font-size:var(--text-sm);
      font-weight:600;letter-spacing:0;
    }
    .footer-links{
      display:flex;align-items:center;gap:var(--space-6);list-style:none;flex-wrap:wrap;
    }
    .footer-links a{
      font-size:var(--text-xs);color:var(--color-text-faint);text-decoration:none;
          }
    .footer-links a:hover{color:var(--color-text);}

    /* 404 page */
    .error-page-wrap {
      min-height:100vh;
      display:flex;flex-direction:column;
      align-items:center;justify-content:center;
      gap:var(--space-6);text-align:center;padding:var(--space-8);
      background:var(--color-bg);color:var(--color-text);
    }
    .error-page-message {
      font-family:var(--font-display);
      font-size:var(--text-2xl);
      font-weight:400;max-width:var(--content-narrow);
    }
    .error-page-link {
      font-family:var(--font-mono);
      font-size:var(--text-sm);
      color:var(--color-primary);text-decoration:none;
    }
    .error-page-link:hover {
      color:var(--color-primary-hover);text-decoration:underline;
    }

    /* ===================== PRICING PAGE ===================== */

    /* §P0 — CURRENT-PAGE NAV STATE (lights up on whichever page sets aria-current) */
    .nav-links a[aria-current="page"]{color:var(--color-text);font-weight:500;}
    /* Pricing surfaced in nav-actions on mobile, where .nav-links is hidden and no nav menu exists. Hidden on desktop to avoid duplicating the nav-links entry. */
    .nav-mobile-link{display:none;font-size:var(--text-sm);color:var(--color-text-muted);font-weight:500;}
    .nav-mobile-link:hover,
    .nav-mobile-link[aria-current="page"]{color:var(--color-text);}

    /* §P1 — PRICING HERO */
    .pricing-hero{
      padding-block:clamp(var(--space-24),12vw,var(--space-32)) clamp(var(--space-12),6vw,var(--space-16));
      background:var(--color-bg);
    }
    .pricing-hero-eyebrow{
      font-family:var(--font-mono);font-size:var(--text-xs);
      color:var(--color-primary);letter-spacing:0.1em;text-transform:uppercase;
      margin-bottom:var(--space-5);
    }
    .pricing-hero-headline{
      font-family:var(--font-display);
      font-size:var(--text-3xl);
      font-weight:600;letter-spacing:-0.01em;line-height:1.05;
      color:var(--color-text);
      max-width:14ch;margin-bottom:var(--space-6);
    }
    .pricing-hero-sub{
      font-size:var(--text-lg);color:var(--color-text-muted);
      line-height:1.6;max-width:60ch;margin-bottom:var(--space-8);
    }
    .pricing-hero-actions{
      display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap;
    }
    .pricing-hero-install{
      display:inline-flex;align-items:center;gap:var(--space-3);
      min-width:0;max-width:100%;
      padding:var(--space-3) var(--space-4);
      background:var(--color-surface-2);
      border:1px solid var(--color-border);
      border-radius:var(--radius-md);
      font-size:var(--text-sm);
    }

    /* §P2 — TIER CARDS */
    .tiers{
      padding-block:clamp(var(--space-16),8vw,var(--space-24));
      background:var(--color-bg);
      border-top:1px solid var(--color-divider);
    }
    .tiers-title{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:0;line-height:1.12;
      color:var(--color-text);margin-bottom:var(--space-4);
    }
    .tiers-sub{
      font-size:var(--text-lg);color:var(--color-text-muted);
      line-height:1.6;max-width:62ch;margin-bottom:var(--space-12);
    }
    .tier-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:var(--space-5);
      align-items:stretch;
    }
    .tier-card{
      position:relative;
      display:flex;flex-direction:column;
      padding:var(--space-6);
      background:var(--color-surface);
      border:1px solid var(--color-border);
      border-radius:var(--radius-lg);
    }
    .tier-card--recommended{
      border-color:var(--color-primary);
      border-top:2px solid var(--color-primary);
      box-shadow:var(--shadow-md);
    }
    .tier-flag{
      position:absolute;top:0;right:var(--space-5);
      transform:translateY(-50%);
      font-family:var(--font-mono);font-size:0.75rem;font-weight:500;
      letter-spacing:0.06em;text-transform:uppercase;
      color:var(--color-text-inverse);
      background:var(--color-primary);
      padding:0.3rem 0.6rem;border-radius:var(--radius-full);
    }
    .tier-head{
      padding-bottom:var(--space-5);
      border-bottom:1px solid var(--color-divider);
      margin-bottom:var(--space-5);
    }
    .tier-name{
      font-family:var(--font-display);font-size:var(--text-xl);
      font-weight:600;letter-spacing:0;color:var(--color-text);
      margin-bottom:var(--space-2);
    }
    .tier-tagline{
      font-size:var(--text-sm);color:var(--color-text-muted);
      line-height:1.5;min-height:2.8em;margin-bottom:var(--space-5);
    }
    .tier-price{
      display:flex;align-items:baseline;gap:0.15em;flex-wrap:wrap;
      margin-bottom:var(--space-2);
    }
    .tier-price-amount{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:-0.01em;color:var(--color-text);
    }
    .tier-price-per{
      font-family:var(--font-mono);font-size:var(--text-sm);
      color:var(--color-text-faint);
    }
    .tier-price-note{
      font-size:var(--text-xs);color:var(--color-text-faint);
      letter-spacing:0.01em;
    }
    .tier-features{
      list-style:none;display:flex;flex-direction:column;gap:var(--space-3);
      margin-bottom:var(--space-6);flex:1;
    }
    .tier-features li{
      position:relative;
      padding-left:var(--space-6);
      font-size:var(--text-sm);line-height:1.5;
      color:var(--color-text-muted);
    }
    .tier-features li::before{
      content:"";
      position:absolute;left:0;top:0.5em;
      width:0.5rem;height:0.5rem;
      border-radius:var(--radius-full);
      background:var(--color-primary);
      opacity:0.55;
    }
    .tier-cta{
      display:flex;flex-direction:column;gap:var(--space-3);
      margin-top:auto;
    }
    .tier-install{
      display:flex;align-items:center;gap:var(--space-2);
      padding:var(--space-2) var(--space-3);
      background:var(--color-code-bg);
      border:1px solid var(--color-border);
      border-radius:var(--radius-sm);
      font-size:var(--text-xs);min-width:0;
    }
    .tier-install .install-cmd{font-size:var(--text-xs);}
    /* Layout-only modifier: stretch the reused .btn-primary/.btn-secondary to full card width. */
    .tier-btn{width:100%;justify-content:center;}

    /* §P3 — COMPARISON TABLE */
    .compare{
      padding-block:clamp(var(--space-16),8vw,var(--space-24));
      background:var(--color-surface);
      border-top:1px solid var(--color-divider);
    }
    .compare-title{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:0;line-height:1.12;
      color:var(--color-text);margin-bottom:var(--space-4);
    }
    .compare-sub{
      font-size:var(--text-lg);color:var(--color-text-muted);
      line-height:1.6;max-width:62ch;margin-bottom:var(--space-10);
    }
    .compare-hint{
      display:none;
      font-family:var(--font-mono);font-size:var(--text-xs);
      letter-spacing:0.04em;text-transform:uppercase;
      color:var(--color-text-faint);margin-bottom:var(--space-3);
    }
    .compare-scroll{
      overflow-x:auto;
      /* Token-derived scroll-shadows: cover layers (background-attachment: local)
         sit over the shadow layers at each end and slide away as you scroll,
         revealing a shadow only on the side that has more table to reveal. */
      background:
        linear-gradient(to right, var(--color-bg), oklch(from var(--color-bg) l c h / 0)) left center / 32px 100% no-repeat,
        linear-gradient(to left, var(--color-bg), oklch(from var(--color-bg) l c h / 0)) right center / 32px 100% no-repeat,
        radial-gradient(farthest-side at left center, oklch(from var(--color-text) l c h / 0.14), oklch(from var(--color-text) l c h / 0)) left center / 14px 100% no-repeat,
        radial-gradient(farthest-side at right center, oklch(from var(--color-text) l c h / 0.14), oklch(from var(--color-text) l c h / 0)) right center / 14px 100% no-repeat;
      background-attachment: local, local, scroll, scroll;
    }
    .compare-scroll:focus-visible{
      outline:2px solid var(--color-primary);outline-offset:2px;
      border-radius:var(--radius-sm);
    }
    .compare-table{
      /* min-width mirrors the 720px breakpoint above; scroll floor for the 5-column table inside .compare-scroll. */
      width:100%;min-width:720px;
      border-collapse:collapse;
      font-size:var(--text-sm);
    }
    .compare-table th,
    .compare-table td{
      padding:var(--space-4) var(--space-4);
      text-align:left;
      border-bottom:1px solid var(--color-divider);
      vertical-align:top;
    }
    .compare-table thead th{
      font-family:var(--font-mono);font-size:var(--text-xs);
      font-weight:600;letter-spacing:0.04em;text-transform:uppercase;
      color:var(--color-text);
      border-bottom:1px solid var(--color-border);
      white-space:nowrap;
    }
    .compare-table thead th:not(.compare-cap-col){text-align:center;}
    .compare-cap-col{width:38%;}
    .compare-table tbody th[scope="row"]{
      font-weight:400;color:var(--color-text);line-height:1.5;
      max-width:42ch;
    }
    .compare-table tbody td{
      text-align:center;color:var(--color-text-muted);
    }
    .compare-col--featured{
      background:var(--color-primary-glow);
    }
    .compare-table thead th.compare-col--featured{
      color:var(--color-primary);
    }
    .ck{
      display:inline-block;
      color:var(--color-primary);font-weight:600;
      font-size:var(--text-base);line-height:1;
    }
    .dash{
      display:inline-block;
      color:var(--color-text-faint);line-height:1;
    }
    /* §P4 — FAQ */
    .pricing-faq{
      padding-block:clamp(var(--space-16),8vw,var(--space-24));
      background:var(--color-bg);
      border-top:1px solid var(--color-divider);
    }
    .pricing-faq-title{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:0;line-height:1.12;
      color:var(--color-text);margin-bottom:var(--space-10);
    }
    .faq-list{display:flex;flex-direction:column;gap:var(--space-8);}
    .faq-item{
      padding-bottom:var(--space-8);
      border-bottom:1px solid var(--color-divider);
    }
    .faq-item:last-child{border-bottom:none;padding-bottom:0;}
    .faq-q h3{
      font-family:var(--font-display);font-size:var(--text-lg);
      font-weight:600;letter-spacing:0;color:var(--color-text);
      margin-bottom:var(--space-3);
    }
    .faq-a{
      font-size:var(--text-base);color:var(--color-text-muted);
      line-height:1.65;max-width:64ch;
    }
    .faq-a code{
      font-family:var(--font-mono);font-size:0.85em;
      color:var(--color-primary);
      background:var(--color-surface-offset);
      padding:0.05em 0.4em;border-radius:var(--radius-sm);
    }

    /* §P5 — CLOSING CTA BAND */
    .pricing-cta{
      padding-block:clamp(var(--space-16),8vw,var(--space-24));
      background:var(--color-surface);
      border-top:1px solid var(--color-divider);
    }
    .pricing-cta-inner{
      max-width:var(--content-narrow);
      text-align:center;margin-inline:auto;
    }
    .pricing-cta-head{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:0;line-height:1.12;
      color:var(--color-text);margin-bottom:var(--space-5);
    }
    .pricing-cta-sub{
      font-size:var(--text-lg);color:var(--color-text-muted);
      line-height:1.6;margin-bottom:var(--space-8);
    }
    .pricing-cta-actions{
      display:flex;align-items:center;justify-content:center;
      gap:var(--space-4);flex-wrap:wrap;
    }
    .pricing-cta-install{
      display:inline-flex;align-items:center;gap:var(--space-3);
      min-width:0;max-width:100%;
      padding:var(--space-3) var(--space-4);
      background:var(--color-surface-2);
      border:1px solid var(--color-border);
      border-radius:var(--radius-md);
      font-size:var(--text-sm);
    }

    @media(max-width:900px){
      .tier-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
    }
    @media(max-width:768px){
      .pricing-hero-headline{font-size:clamp(2.4rem,9vw,3.25rem);max-width:none;}
      .tier-tagline{min-height:0;}
      .compare-hint{display:block;}
      .nav-mobile-link{display:inline-flex;align-items:center;}
    }
    @media(max-width:640px){
      .tier-grid{grid-template-columns:1fr;}
      .pricing-hero-actions,
      .pricing-cta-actions{flex-direction:column;align-items:stretch;}
      .pricing-hero-install,
      .pricing-cta-install{justify-content:space-between;}
      .pricing-cta-inner{text-align:left;}
      .pricing-cta-actions{align-items:stretch;}
    }

    /* ===================== HOME PRICING TEASER ===================== */
    .home-pricing{
      padding-block:clamp(var(--space-16),8vw,var(--space-24));
      background:var(--color-bg);
      border-top:1px solid var(--color-divider);
    }
    .home-pricing-eyebrow{
      font-family:var(--font-mono);font-size:var(--text-xs);
      color:var(--color-primary);letter-spacing:0.1em;text-transform:uppercase;
      margin-bottom:var(--space-5);
    }
    .home-pricing-title{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:0;line-height:1.12;
      color:var(--color-text);margin-bottom:var(--space-4);
    }
    .home-pricing-sub{
      font-size:var(--text-lg);color:var(--color-text-muted);
      line-height:1.6;max-width:60ch;margin-bottom:var(--space-8);
    }
    .home-pricing-tiers{
      list-style:none;display:flex;flex-wrap:wrap;
      gap:var(--space-3) var(--space-8);margin:0 0 var(--space-8);padding:0;
    }
    .home-pricing-tiers li{display:flex;align-items:baseline;gap:var(--space-2);}
    .home-pricing-tier{font-weight:600;color:var(--color-text);font-size:var(--text-base);}
    .home-pricing-amt{font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-muted);}

    /* ===================== DOCS ===================== */
    /* Strands-style layout in Nauro's paper/navy register: a left rail flush to
       the viewport edge, a centered readable column, an "on this page" rail on
       the right. Topbar height is local to this system (the marketing .nav sets
       --nav-h globally; docs pages don't render .nav, so define it here so the
       scroll-margin / sticky offsets resolve without the marketing JS). */
    .doc-shell{
      --doc-rail-w:17rem;
      --doc-toc-w:15rem;
      --nav-h:52px;
    }

    /* §D1 TOPBAR: slim, sticky, spans full width above the rail+content */
    .doc-topbar{
      /* The topbar is a sibling of .doc-shell, so it can't inherit the shell's
         --nav-h. Define it here too (keep this value in sync with .doc-shell)
         so the fixed rail's top offset lines up with the topbar height. */
      --nav-h:52px;
      position:sticky;top:0;z-index:50;
      height:var(--nav-h);
      display:flex;align-items:center;justify-content:space-between;
      gap:var(--space-6);
      padding-inline:var(--space-5);
      background:var(--color-surface);
      border-bottom:1px solid var(--color-border);
    }
    .doc-topbar-brand{
      display:inline-flex;align-items:center;gap:var(--space-2);
      text-decoration:none;color:var(--color-text);
      font-family:var(--font-display);font-weight:600;font-size:var(--text-base);
      letter-spacing:-0.01em;
    }
    .doc-topbar-brand img{display:block;}
    .doc-topbar-nav{
      display:flex;align-items:center;gap:var(--space-5);
    }
    .doc-topbar-link{
      font-size:var(--text-sm);color:var(--color-text-muted);
      text-decoration:none;font-weight:500;
      transition:color var(--transition-interactive);
    }
    .doc-topbar-link:hover{color:var(--color-text);}
    .doc-topbar-link[aria-current="page"]{color:var(--color-primary);}

    /* §D2 SHELL: fixed left rail (flush to viewport edge) + content + toc.
       The rail is fixed so it owns the full viewport height and scrolls on its
       own; the content column is offset by the rail width via margin-left. */
    .doc-shell{position:relative;}
    .doc-rail{
      position:fixed;
      top:var(--nav-h);left:0;
      width:var(--doc-rail-w);
      height:calc(100vh - var(--nav-h));
      overflow-y:auto;overflow-x:hidden;
      background:var(--color-surface);
      border-right:1px solid var(--color-border);
      padding:var(--space-6) var(--space-5) var(--space-10);
      z-index:40;
      overscroll-behavior:contain;
    }
    /* .doc-rail-head removed: the topbar already carries the nauro mark, so the
       rail starts directly at the first group. */
    .doc-rail-group{margin-bottom:var(--space-8);}
    .doc-rail-group:first-of-type{margin-top:var(--space-1);}
    .doc-rail-group-label{
      font-family:var(--font-mono);font-size:0.72rem;
      letter-spacing:0.1em;text-transform:uppercase;
      color:var(--color-text-faint);
      margin-bottom:var(--space-3);padding-inline:var(--space-3);
    }
    .doc-rail-list{
      list-style:none;display:flex;flex-direction:column;gap:2px;
      margin:0;padding:0;
    }
    .doc-rail-link{
      display:block;
      font-size:var(--text-sm);color:var(--color-text-muted);
      text-decoration:none;line-height:1.4;
      padding:var(--space-2) var(--space-3);
      letter-spacing:-0.005em;
      border-radius:var(--radius-sm);
      transition:background var(--transition-interactive),color var(--transition-interactive);
    }
    .doc-rail-link:hover{background:var(--color-surface-offset);color:var(--color-text);}
    .doc-rail-link.active{
      color:var(--color-primary);font-weight:600;
      background:var(--color-primary-glow);
      box-shadow:inset 2px 0 0 var(--color-primary);
    }
    .doc-rail-divider{
      height:1px;background:var(--color-divider);
      border:0;margin:var(--space-6) 0;
    }
    .doc-rail-foot{
      list-style:none;display:flex;flex-direction:column;gap:var(--space-2);
      margin:0;padding:0;
    }
    .doc-rail-foot a{
      font-size:var(--text-sm);color:var(--color-text-faint);
      text-decoration:none;padding-inline:var(--space-3);
      transition:color var(--transition-interactive);
    }
    .doc-rail-foot a:hover{color:var(--color-text);}

    /* §D3 CONTENT COLUMN: offset by the rail; reserve room for the right TOC */
    .doc-content{
      margin-left:var(--doc-rail-w);
      min-width:0;
      display:grid;
      grid-template-columns:minmax(0,1fr) var(--doc-toc-w);
      column-gap:var(--space-12);
      max-width:calc(var(--content-wide) + var(--doc-toc-w));
      padding:var(--space-16) var(--space-16) var(--space-32);
    }
    .doc-article{min-width:0;max-width:var(--content-default);}
    .doc-article-eyebrow{
      font-family:var(--font-mono);font-size:var(--text-xs);
      color:var(--color-primary);letter-spacing:0.1em;text-transform:uppercase;
      margin-bottom:var(--space-4);
    }
    .doc-article-title{
      font-family:var(--font-display);font-size:var(--text-3xl);
      font-weight:600;letter-spacing:-0.02em;line-height:1.08;
      color:var(--color-text);
      scroll-margin-top:calc(var(--nav-h) + var(--space-6));
    }
    .doc-article-lede{
      font-size:var(--text-lg);color:var(--color-text-muted);
      line-height:1.7;max-width:62ch;margin-top:var(--space-6);
    }

    /* §D4 SECTION HEADINGS: clear hierarchy, anchors clear the topbar */
    .doc-h2{
      font-family:var(--font-display);font-size:var(--text-2xl);
      font-weight:600;letter-spacing:-0.01em;line-height:1.15;
      color:var(--color-text);
      margin-top:var(--space-16);margin-bottom:var(--space-5);
      scroll-margin-top:calc(var(--nav-h) + var(--space-6));
    }
    .doc-article > .doc-h2:first-of-type{margin-top:var(--space-10);}
    .doc-h3{
      font-family:var(--font-display);font-size:var(--text-lg);
      font-weight:600;letter-spacing:0;color:var(--color-text);
      margin-top:var(--space-10);margin-bottom:var(--space-4);
      scroll-margin-top:calc(var(--nav-h) + var(--space-6));
    }

    /* §D5 PROSE: readable measure (~70ch), comfortable rhythm */
    .doc-prose{
      max-width:72ch;color:var(--color-text-muted);
      font-size:1.125rem;line-height:1.75;
      margin-top:var(--space-5);
    }
    .doc-prose p{margin:0;}
    .doc-prose p + p{margin-top:var(--space-5);}
    .doc-prose strong{color:var(--color-text);font-weight:600;}
    .doc-prose ul,
    .doc-prose ol{margin:var(--space-5) 0;padding-left:var(--space-6);}
    .doc-prose li{margin-block:var(--space-3);line-height:1.7;}
    .doc-prose li + li{margin-top:var(--space-2);}
    .doc-prose li::marker{color:var(--color-text-faint);}
    .doc-prose a{
      color:var(--color-primary);text-decoration:underline;
      text-underline-offset:0.15em;
      transition:color var(--transition-interactive);
    }
    .doc-prose a:hover{color:var(--color-primary-hover);}
    /* Inline code: same recipe as .faq-a code / .integ-notes code, reusing the
       --color-surface-offset background token and the navy primary, no new color. */
    /* Inline code: light-weight but clearly code. Navy mono on a faint navy
       tint (no border) so many chips per paragraph do not overpower the prose;
       code BLOCKS stay dark since they are discrete. */
    .doc-prose code,
    .doc-deflist-term code,
    .doc-deflist-desc code{
      font-family:var(--font-mono);font-size:0.85em;font-weight:500;
      color:var(--color-primary);
      background:var(--color-primary-glow);
      padding:0.08em 0.4em;border-radius:var(--radius-sm);
      overflow-wrap:anywhere;
    }

    /* §D6 CODE CARD, Strands-style: header strip + scrollable mono body */
    .doc-code{
      /* Dark code surface (Strands-style) for contrast on the paper page; the
         cc-* custom props cascade to the token spans below and re-theme the
         reused shell and JSON token spans for the dark background. */
      --cc-bg:#0e2230;--cc-bar:#0b1a26;--cc-border:rgba(255,255,255,0.09);
      --cc-text:#cdd9e1;--cc-faint:#889caa;
      --cc-com:#6f8896;--cc-str:#e3a878;--cc-kw:#b89cf0;--cc-num:#e0b277;--cc-fn:#74c7d6;--cc-punct:#9fb2bd;
      margin-block:var(--space-8);
      max-width:72ch;
      background:var(--cc-bg);
      border:1px solid var(--cc-border);
      border-radius:var(--radius-md);
      overflow:hidden;
      box-shadow:var(--shadow-md);
    }
    .doc-code-bar{
      display:flex;align-items:center;
      gap:var(--space-3);
      padding:var(--space-3) var(--space-3) var(--space-3) var(--space-5);
      background:var(--cc-bar);
      border-bottom:1px solid var(--cc-border);
    }
    /* macOS-style window controls; raw hex are the standard traffic-light colors,
       intentionally outside the token palette. */
    .doc-code-bar::before{
      content:"";flex:none;
      width:11px;height:11px;border-radius:var(--radius-full);
      background:#ed6a5e;
      box-shadow:18px 0 0 #f4be4f,36px 0 0 #62c554;
      margin-right:calc(36px + var(--space-2));opacity:0.92;
    }
    .doc-code-lang{
      font-family:var(--font-mono);font-size:var(--text-xs);
      color:var(--cc-faint);letter-spacing:0.04em;
    }
    .doc-code-copy{
      margin-left:auto;
      display:inline-flex;align-items:center;gap:var(--space-2);
      font-family:var(--font-body);font-size:var(--text-xs);font-weight:500;
      color:var(--cc-faint);
      background:transparent;border:1px solid transparent;
      border-radius:var(--radius-sm);
      padding:var(--space-1) var(--space-2);
      cursor:pointer;
      transition:background var(--transition-interactive),color var(--transition-interactive),border-color var(--transition-interactive);
    }
    .doc-code-copy:hover{
      color:var(--cc-text);
      background:rgba(255,255,255,0.08);
      border-color:var(--cc-border);
    }
    .doc-code-copy svg{display:block;}
    .doc-code-body{
      margin:0;
      padding:var(--space-6) var(--space-6);
      overflow-x:auto;
      font-family:var(--font-mono);font-size:var(--text-sm);
      line-height:1.7;color:var(--cc-text);
      tab-size:2;
    }
    .doc-code-body code{
      font-family:inherit;font-size:inherit;color:inherit;
      background:none;padding:0;border-radius:0;
      white-space:pre;
    }
    /* Re-theme the reused shell/JSON token spans for the dark code surface. */
    .doc-code-body .t-prompt{color:#5bc8a7;}
    .doc-code-body .t-cmd{color:var(--cc-text);}
    .doc-code-body .sc-key{color:var(--cc-fn);}
    .doc-code-body .sc-val{color:var(--cc-str);}
    .doc-code-body .sc-brace{color:var(--cc-punct);}
    /* Token palette emitted by the self-hosted highlighter in scripts.js. */
    .doc-code-body .tok-com{color:var(--cc-com);font-style:italic;}
    .doc-code-body .tok-str{color:var(--cc-str);}
    .doc-code-body .tok-kw{color:var(--cc-kw);}
    .doc-code-body .tok-num{color:var(--cc-num);}
    .doc-code-body .tok-fn{color:var(--cc-fn);}
    .doc-code-body .tok-punct{color:var(--cc-punct);}

    /* §D6b DOC TABLE: left-aligned reference table inside the article column.
       Distinct from the pricing .compare-table (centered, featured columns);
       this one reads like docs prose and wraps in a horizontal scroll on narrow
       viewports via .doc-table-scroll. */
    .doc-table-scroll{
      margin-block:var(--space-8);
      max-width:72ch;
      overflow-x:auto;
      border:1px solid var(--color-border);
      border-radius:var(--radius-md);
    }
    .doc-table{
      width:100%;min-width:480px;
      border-collapse:collapse;
      font-size:var(--text-sm);
    }
    .doc-table th,
    .doc-table td{
      padding:var(--space-3) var(--space-4);
      text-align:left;vertical-align:top;
      border-bottom:1px solid var(--color-divider);
      line-height:1.55;
    }
    .doc-table tbody tr:last-child td,
    .doc-table tbody tr:last-child th{border-bottom:none;}
    .doc-table thead th{
      font-family:var(--font-mono);font-size:var(--text-xs);
      font-weight:600;letter-spacing:0.04em;text-transform:uppercase;
      color:var(--color-text);
      background:var(--color-surface-offset);
      border-bottom:1px solid var(--color-border);
      white-space:nowrap;
    }
    .doc-table tbody th[scope="row"]{
      font-weight:600;color:var(--color-text);white-space:nowrap;
    }
    .doc-table td{color:var(--color-text-muted);}
    .doc-table code{
      font-family:var(--font-mono);font-size:0.82em;
      background:var(--color-primary-glow);
      padding:0.1em 0.34em;border-radius:var(--radius-sm);
      color:var(--color-primary);white-space:nowrap;
    }

    /* §D7 CARD GRID: used on the hub and inline on topic pages */
    .doc-cardgrid{
      display:grid;
      grid-template-columns:repeat(auto-fill,minmax(260px,1fr));
      gap:var(--space-5);
      margin-top:var(--space-6);
    }
    .doc-card{
      display:flex;flex-direction:column;
      text-decoration:none;
      background:var(--color-surface-2);
      border:1px solid var(--color-border);
      border-radius:var(--radius-lg);
      padding:var(--space-6);
      transition:transform var(--transition-interactive),border-color var(--transition-interactive),box-shadow var(--transition-interactive);
    }
    .doc-card:hover{
      transform:translateY(-2px);
      border-color:var(--color-primary);
      box-shadow:var(--shadow-md);
    }
    .doc-card-icon{
      display:inline-flex;align-items:center;justify-content:center;
      width:2.25rem;height:2.25rem;
      border-radius:var(--radius-md);
      background:var(--color-primary-glow);
      color:var(--color-primary);
      margin-bottom:var(--space-4);
    }
    .doc-card-icon svg{display:block;}
    .doc-card-title{
      font-family:var(--font-display);font-size:var(--text-base);
      font-weight:600;color:var(--color-text);
      margin-bottom:var(--space-2);
    }
    .doc-card-desc{
      font-size:var(--text-sm);color:var(--color-text-muted);
      line-height:1.55;
    }

    /* §D8 RIGHT "ON THIS PAGE" TOC: sticky, scroll-spy active state */
    .doc-onthispage{
      position:sticky;
      top:calc(var(--nav-h) + var(--space-8));
      align-self:start;
      max-height:calc(100vh - var(--nav-h) - var(--space-12));
      overflow-y:auto;
      min-width:0;
    }
    .doc-onthispage-title{
      font-family:var(--font-mono);font-size:var(--text-xs);
      letter-spacing:0.08em;text-transform:uppercase;
      color:var(--color-text-faint);margin-bottom:var(--space-3);
    }
    .doc-onthispage-list{
      list-style:none;display:flex;flex-direction:column;gap:var(--space-2);
      margin:0;padding:0;
      border-left:1px solid var(--color-divider);
    }
    .doc-onthispage-link{
      display:block;
      font-size:var(--text-sm);color:var(--color-text-faint);
      text-decoration:none;line-height:1.4;
      padding-left:var(--space-4);margin-left:-1px;
      border-left:2px solid transparent;
      transition:color var(--transition-interactive),border-color var(--transition-interactive);
    }
    .doc-onthispage-link:hover{color:var(--color-text);}
    .doc-onthispage-link.active{
      color:var(--color-primary);font-weight:600;
      border-left-color:var(--color-primary);
    }

    /* §D9 HUB: title, lede, grouped card sections */
    .doc-hub-title{
      font-family:var(--font-display);font-size:var(--text-3xl);
      font-weight:600;letter-spacing:-0.02em;line-height:1.06;
      color:var(--color-text);
    }
    .doc-hub-lede{
      font-size:var(--text-lg);color:var(--color-text-muted);
      line-height:1.6;max-width:64ch;margin-top:var(--space-5);
    }
    .doc-cardsection{margin-top:var(--space-16);}
    .doc-cardsection:first-of-type{margin-top:var(--space-12);}
    .doc-cardsection-label{
      display:block;
      font-family:var(--font-mono);font-size:var(--text-xs);
      letter-spacing:0.1em;text-transform:uppercase;
      color:var(--color-primary);
      padding-bottom:var(--space-3);
      border-bottom:1px solid var(--color-divider);
    }

    /* §D10 RESPONSIVE: matches the existing 1100/900/768 breakpoint cluster.
       No JS needed: the rail and TOC collapse purely via media queries. */
    @media(max-width:1100px){
      /* Drop the right "on this page" TOC; content goes single-column. */
      .doc-content{
        grid-template-columns:minmax(0,1fr);
        max-width:var(--content-wide);
      }
      .doc-onthispage{display:none;}
    }
    @media(max-width:900px){
      /* Collapse the left rail: it becomes static, full-width, stacked at the
         top of the page; content flows below it in a single column. */
      .doc-rail{
        position:static;
        width:100%;height:auto;
        border-right:none;
        border-bottom:1px solid var(--color-border);
        padding:var(--space-6) var(--space-5);
      }
      .doc-rail-link.active{box-shadow:inset 0 -2px 0 var(--color-primary);}
      .doc-content{
        margin-left:0;
        padding:var(--space-8) var(--space-6) var(--space-16);
      }
      .doc-card,
      .doc-code,
      .doc-table-scroll{max-width:none;}
    }
    @media(max-width:768px){
      .doc-topbar{padding-inline:var(--space-4);gap:var(--space-4);}
      .doc-topbar-nav{gap:var(--space-4);}
      .doc-article-title,
      .doc-hub-title{font-size:var(--text-2xl);}
      .doc-content{padding-inline:var(--space-4);}
      .doc-cardgrid{grid-template-columns:1fr;}
    }

    /* Docs footer: clears the fixed left rail like .doc-content; full width when the rail collapses at <=900px. */
    .doc-footer{margin-left:var(--doc-rail-w);}
    @media(max-width:900px){.doc-footer{margin-left:0;}}
