
@font-face{font-family:"General Sans";font-weight:400;font-style:normal;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}
@font-face{font-family:"General Sans";font-weight:500;font-style:normal;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}
@font-face{font-family:"General Sans";font-weight:600;font-style:normal;font-display:swap;src:url(data:font/woff2;base64,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) format("woff2")}

  :root{
    /* RenTrade v2 — light. Values lifted from design-system/tokens/. */
    /* The GROUND is a step warmer than neutral-25. The section behind "How
       it works" was already #FAFAF8 while the hero, the body and the footer
       were the paler #FCFCFB -- which is what made the top of the page read as
       the blank one. They are one ground now, and section5 reads this token
       rather than repeating the literal, so the two cannot drift apart again.
       Every rgba() that has to fade to it is spelled 250,250,248. */
    --rt-bg:#FAFAF8; --rt-surface:#FFFFFF; --rt-bg-sunken:#F6F6F4;
    --rt-ink:#1A1918; --rt-ink-2:#3A3835; --rt-ink-3:#6E6C68; --rt-ink-4:#86847F;
    --rt-line-soft:#F2F1EE; --rt-line:#E6E5E1; --rt-line-strong:#D9D8D3;
    --rt-accent:#E2542B; --rt-accent-text:#C7431D; --rt-accent-hover:#F0653C;
    --rt-accent-press:#A63416; --rt-accent-ring:rgba(226,84,43,0.32);
    /* vermilion-100. It was MISSING while five rules referenced it: an
       undefined var makes the declaration invalid at computed-value time, so
       `fill` fell back to its INHERITED value -- and the SVG root sets
       fill="none". Every wash on the page was painting nothing. */
    --rt-accent-wash:#FDEAE3;
    /* STATUS, and they come as a PAIR on purpose. design-system/tokens/
       colors.css §7 defines positive and negative together, and the reason to
       take both when only one is wanted is that a drawing with a green and no
       red can only ever say one direction. Band 02's revaluation uses both,
       chosen from the data, so it cannot say up when the data says down. */
    --rt-positive:#147D52; --rt-negative:#B02A1C;
    /* SIGNAL, and the two-orange rule is the whole reason it has its own
       token. Vermilion is the decision colour -- buttons, the live tab, the
       eyebrow -- and signal-500 is DATA ONLY. It is read exactly once on this
       page, by the dot on the listing card's roof, which stands for a live
       listing. If a second rule ever reads it, that rule is either data or a
       mistake, and the grep is the test. */
    --rt-signal:#FF4A0F;
    /* A cream was tried here for one round and read as yellow (Soey,
       2026-09-15: "we prob got rid of that scheme then"). It was v1's ink,
       from the retired charcoal theme, and it was the only cream the system
       had -- which is the answer to whether v2 has one. The bar is back on
       the neutral ramp, one step darker at neutral-100; see .nav below. */
    /* THE TWO PANEL GROUNDS behind module 3's boxes. Both come off the
       design system's neutral ramp and both are one step SOFTER than the
       obvious choice, because the job here is to separate two boxes on one
       page, not to invert half of it.

       Dark: neutral-800, not 900 and not the 950 that --rt-bg-inverse pins.
       900 was tried first and read as an absence of light rather than as a
       ground (Soey: "too much contrast still"). White on 800 is 11.9:1 and
       vermilion-400 is 3.8:1, both clear.

       Tint: neutral-100, one step under the card's own neutral-50. The card
       is LIGHTER than the ground it sits on, which is the same relationship
       the dark panel has -- a light card on a darker band, twice. */
    /* THE TWO PANEL GROUNDS behind module 3's boxes. Box 1 sits a step
       under its own card; box 2 sits two steps under it, at neutral-900, so
       its card can go to neutral-950 and still be told from the band.

       The dark band was neutral-800 for one round, while box 2 was a light
       card on a dark ground. That box is gone -- the inverted one replaced
       it (Soey, 2026-09-14) -- and with it the second dark value, because a
       token nothing reads is a token that lies about what the page does. */
    --rt-panel-dark:#26241F; --rt-panel-tint:#EFEEEB;
    /* The label on a dark band. It needs a token of its own rather than
       --rt-surface, because .s5inv below repoints --rt-surface at a dark
       value and the label must stay light in both. */
    --rt-panel-ink:#F4F3F0;
    /* The PAGE's own ground, for anything drawn by an element that sits
       inside an inverted scope but paints onto the page outside it.
       --rt-bg cannot do that job: .s5inv repoints it at near-black on
       purpose, and the seam between the two bands is drawn by the dark
       panel's own pseudo-element, so it inherits that and the node came
       out a dark diamond on a light page. Same shape of trap as
       --rt-panel-ink above, and the same answer: a token the inverted
       scope does not touch. */
    --rt-page:#FAFAF8;
    /* Vermilion on the charcoal panel. NOT --rt-accent: #E2542B on #26241F is
       3.3:1, which clears the 3:1 a 26px heading needs and nothing more.
       design-system/tokens/colors.css sets --rt-accent-text to vermilion-400
       in its dark scope for exactly this reason, so that is what this is --
       #F0653C, 4.3:1 on the panel. */
    --rt-accent-on-dark:#F0653C;
    --rt-font-sans:"General Sans",system-ui,-apple-system,sans-serif;
    --rt-font-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
    --rt-radius-sm:6px; --rt-control-lg:48px;
    --rt-elev-cta:0 1px 0 rgba(255,255,255,0.4) inset,0 6px 18px -8px rgba(226,84,43,0.5);
    --rt-ease:cubic-bezier(0.2,0.7,0.2,1);
  }

  *{box-sizing:border-box;}
  /* The top bar is fixed, so an anchor jump would land the section heading
     underneath it. And the one link on the page should glide rather than cut. */
  html{scroll-behavior:smooth;}
  @media (prefers-reduced-motion: reduce){ html{scroll-behavior:auto;} }
  .s5{scroll-margin-top:76px;}

  /* ── The inverted box ───────────────────────────────────────
     A THIRD box, a duplicate of the second, with the drawing itself flipped
     to run light-on-dark (Soey, 2026-09-14: "i want to see what it looks
     like"). It is a test, and it is one block of CSS because of a property
     of the drawing rather than any cleverness here:

       EVERY COLOUR IN THE DRAWING IS A TOKEN. Not one literal in the whole
       paint sheet -- checked, not assumed -- and no ids in the SVG either.
       So the entire vocabulary inverts by REDEFINING THE TOKENS on an
       ancestor. No second copy of the drawing, no second prefix, no second
       set of keyframes: the same markup under a different scope.

     The values are the design system's own dark scope, from
     design-system/tokens/colors.css, with two deliberate departures:

       --rt-bg-sunken is the CARD, and Soey asked for one step darker than
       the band behind it -- neutral-900 #26241F under the panel's
       neutral-800.
       --rt-surface is the panels drawn INSIDE the card, so it cannot be the
       neutral-900 the dark scope maps it to: it would be the card's own
       colour and every listing row would vanish. It takes the one lift
       above, #2E2C28, which is the dark scope's own surface-2. */
  .s5inv{
    /* The whole stack drops a step (Soey, 2026-09-14): band neutral-900,
       card neutral-950 under it, panels back at neutral-900 on top of the
       card. Three tones, each a step apart, and the card is the darkest
       thing in the box rather than the middle of it. */
    --rt-bg:#1A1918; --rt-bg-sunken:#1A1918; --rt-surface:#26241F;
    /* THE GREY TYPE GOES UP A TIER (Soey, twice). ink-3 and ink-4 are
       every mono label in the drawing -- OUR LISTINGS, ASKING, the
       caption subheads, the price bands -- at 8 to 9.5px, and they were
       the last thing still reading as grey-on-grey. They take
       neutral-200 and neutral-300 off the ramp rather than invented
       hexes, and note the ORDER: on dark, ink-3 has to be LIGHTER than
       ink-4, which is the reverse of the ramp's light-mode reading. */
    --rt-ink:#FFFFFF; --rt-ink-2:#E2E0DA; --rt-ink-3:#D9D8D3; --rt-ink-4:#C2C0BA;
    --rt-line-soft:rgba(255,255,255,0.08); --rt-line:#4A4845;
    --rt-line-strong:#6E6C68;
    --rt-accent:#F0653C; --rt-accent-press:#F9C7B4;
    --rt-accent-text:#FF8A66; --rt-accent-wash:rgba(240,101,60,0.18);
    --rt-positive:#4FCB8E; --rt-negative:#F2705C;
  }

  /* ── Corners on the drawings ────────────────────────────────
     Two marks per BAND, on the diagonal: bottom left and top right. They were
     briefly on the page's three sections and that was the wrong object --
     bracketing a full-bleed section marks the edge of the screen, which needs
     no marking. Here they bracket THE DRAWING (Soey, 2026-09-14), which is
     the thing on this page that actually wants a frame around it.

     Four corners would be a box drawn around a card that already has a
     border; two opposite ones imply the frame and let the card breathe out
     of the other two. They sit 7px OUTSIDE the card's own edge, in the slab's
     padding, so they read as registration marks rather than as part of the
     card.

     They are the only decorative use of the accent on the page, which is why
     they are 16px hairlines and not a border: Vermilion is the decision
     colour and the page has one button to spend it on. Signal would be worse
     -- that one is data only.

     .s5mob is display:none above 900, so exactly one set shows per band at
     any width and the marks cannot double up. */
  /* .s5band is made a containing block in section5.py, in the rule it
     already has -- a second block for one selector in the base cascade is
     the silent-override shape verify.py refuses, and it is right to. */
  .s5band::before,.s5band::after,.s5split::before,.s5split::after{
    content:"";position:absolute;width:16px;height:16px;
    border:1.5px solid var(--rt-accent);pointer-events:none;}
  .s5band::before,.s5split::before{left:-7px;bottom:-7px;border-top:0;border-right:0;}
  .s5band::after,.s5split::after{right:-7px;top:-7px;border-bottom:0;border-left:0;}
  /* On a phone the slab's whole gutter is 10px, so a mark hung 7px outside the
     card sits 3px off the screen edge and reads as clipped rather than as a
     registration mark. It comes in and shortens with everything else. */
  @media (max-width:900px){
    .s5band::before,.s5band::after,.s5split::before,.s5split::after{width:11px;height:11px;}
    .s5band::before,.s5split::before{left:-3px;bottom:-3px;}
    .s5band::after,.s5split::after{right:-3px;top:-3px;}
  }
  body{margin:0;background:var(--rt-bg);color:var(--rt-ink);font-family:var(--rt-font-sans);
       -webkit-font-smoothing:antialiased;}
  a{color:var(--rt-accent-text);} a:hover{color:var(--rt-accent-press);}

  /* ── Hero ───────────────────────────────────────────────── */
  /* The wireframe is the GROUND and it has no edges: the canvas covers the
     whole section, so the site runs out past every side of the screen. The
     words sit on top of it with nothing behind them -- no panel, no scrim --
     centred in a column of their own, and the towers are placed against the
     same 1280 frame the text is laid out in, so the two hold the middle of the
     screen together however wide the monitor gets. */
  .hero{position:relative;overflow:hidden;background:var(--rt-bg);}
  .hero-right{position:absolute;inset:0;z-index:0;}
  #heroCanvas{display:block;width:100%;height:100%;cursor:pointer;}

  /* The page colour comes back over the whole left side and FADES OUT before
     it reaches the towers, so the ground's lines never run through the words.
     The stops are measured from the centre, not in percentages of the window,
     because the text is laid out in a centred 1280 frame -- a percentage fade
     would slide off the type the moment the monitor got wider. Opaque to just
     left of the text's right edge (half the frame is 640, the column ends
     around 586 of it), clear by the time the near tower starts.

     The transparent end is the SAME colour at zero alpha. `transparent` is
     rgba(0,0,0,0) and interpolating to it drags the whole ramp through grey. */
  .hero-veil{position:absolute;inset:0;z-index:1;pointer-events:none;
    background:linear-gradient(to right,
      var(--rt-bg) 0, var(--rt-bg) calc(50% - 60px),
      rgba(250,250,248,0) calc(50% + 240px));}

  .hero-inner{position:relative;z-index:2;max-width:1280px;margin:0 auto;
              min-height:940px;padding:112px 48px;display:flex;
              align-items:center;pointer-events:none;}
  .hero-left{flex:0 0 46%;min-width:0;}
  /* The form is the one thing here that has to stay clickable. Everything else
     lets the pointer through to the canvas underneath, which is what the
     wireframe's hover glow follows. */
  .hero-form,.hero-input,.hero-btn{pointer-events:auto;}

  /* The hero used to open on a 62px logo and the wordmark. It is the bar's
     job now -- the bar is up before the page has painted anything else, so
     the hero opens on the claim instead of on the name. The mark's entrance
     keyframe (barDrop) and the .hbar rules went with it; the bar's own mark
     uses .nbar and has no entrance. */

  .hero-h1{font-size:50px;font-weight:500;color:var(--rt-ink);line-height:1.12;
           letter-spacing:-0.02em;margin:0 0 28px;}
  /* No text-wrap:balance -- balancing makes both lines equal length, which is what
     turns four lines into a solid rectangle. Natural wrap keeps the rag uneven. */
  .hero-h1 .hl{display:block;}
  /* The two statements are two separate claims -- what you own, and what it
     pays -- and they were reading as one four-line block. */
  .hero-h1 .hl+.hl{margin-top:0.66em;}
  /* THE ACCENT IN A HEADING, and this selector IS the list of headings
     allowed to carry one (Soey, 2026-09-17: one word of orange in module 2's,
     the listing's and the answers'; the answers' went on 2026-10-27, when
     its heading became a plain "FAQs"). The hero has done it since the first
     build; the other two now use the same mechanism rather than
     near-copies of it, which is also what keeps the two-orange rule checkable
     -- vermilion is the decision colour and this is the only decorative use
     of it in running text.
     accent-TEXT, not accent: #E2542B is 3.6:1 on the page ground and these
     are headings, so 3:1 would pass for large text and 4.5:1 is the page's
     own floor. The text-safe step reads 4.73:1 on the page ground and 4.57:1
     on the sunken one, and is indistinguishable at 40px.
     font-style:normal because <em> is italic by default, and the weight is
     restated so the accented words cannot come out lighter than the sentence
     they are in. parts.accent() writes the tag. */
  .hero-h1 em,.bx-h em,.ls-h em{
      font-style:normal;font-weight:500;color:var(--rt-accent-text);}
  .hero-sub{font-size:18px;color:var(--rt-ink-3);line-height:1.5;max-width:580px;
            margin:0 0 44px;}
  /* Two claims, one per line, on a desktop where each fits on one. */
  .hero-sub span{display:block;}

  .hero-form{display:flex;gap:10px;max-width:420px;margin-bottom:16px;}
  .hero-input{flex:1;background:var(--rt-surface);border:1px solid var(--rt-line-strong);
    border-radius:var(--rt-radius-sm);padding:0 18px;height:var(--rt-control-lg);
    font-size:15px;font-family:var(--rt-font-sans);color:var(--rt-ink);outline:none;
    transition:border-color 120ms var(--rt-ease),box-shadow 120ms var(--rt-ease);}
  .hero-input::placeholder{color:var(--rt-ink-4);}
  .hero-input:focus{border-color:var(--rt-accent);box-shadow:0 0 0 3px var(--rt-accent-ring);}
  .hero-btn{background:var(--rt-accent);color:#FFFFFF;border:1px solid var(--rt-accent);
    border-radius:var(--rt-radius-sm);padding:0 24px;height:var(--rt-control-lg);
    font-size:15px;font-family:var(--rt-font-sans);font-weight:500;cursor:pointer;
    white-space:nowrap;box-shadow:var(--rt-elev-cta);
    transition:background 120ms var(--rt-ease),transform 120ms var(--rt-ease);}
  .hero-btn:hover{background:var(--rt-accent-hover);}
  .hero-btn:active{background:var(--rt-accent-press);transform:translateY(0.5px);}
  .hero-note{font-family:var(--rt-font-mono);font-size:11px;color:var(--rt-ink-4);
             letter-spacing:0.22em;text-transform:uppercase;margin:0;}
  @media (max-width:560px){
    .hero-note{letter-spacing:0.12em;
               font-size:clamp(8.2px, calc((100vw - 40px) / 34.78), 11px);}
  }
  .hero-success{max-width:420px;margin:14px 0 0;font-size:14px;
    color:var(--rt-accent-text);opacity:0;transform:translateY(-4px);
    pointer-events:none;
    transition:opacity 220ms var(--rt-ease),transform 220ms var(--rt-ease);}
  .hero-success.show{opacity:1;transform:none;}

  /* ── Top bar ────────────────────────────────────────────────
     IT IS UP FROM THE FIRST PAINT AND IT NEVER LEAVES. The rule it replaces
     held it back until the hero's own logo had gone under it, because up from
     the start it was a second, smaller copy of a mark you were already looking
     at 60px below. That mark is gone: the bar IS the mark now, and a header
     that is always there frames the page instead of arriving into it.

     It is a shade DARKER than the ground, not the same colour: a band you can
     see the edge of, rather than a pane that only exists once something
     scrolls under it. Still translucent over the blur, so the wireframe moves
     underneath it instead of being cut off by a lid.

     Which section you are in is the point of it, so the links are section
     names rather than a menu. The mark shakes here the way it does in the
     hero -- same physics, scaled to 22px. */
  .nav{position:fixed;top:0;left:0;right:0;z-index:50;height:60px;
       display:flex;align-items:center;
       /* neutral-100. A ramp step, not a value picked by eye, and one step
          down from the neutral-50 the bar sat on for most of its life: read
          through the 0.92 alpha it is #F0EFEC, 10.9 darker than the ground
          against neutral-50's 4.0, and 4 units warm -- close to white, but a
          shade you can actually see the edge of. */
       background:rgba(239,238,235,0.92);
       -webkit-backdrop-filter:saturate(1.6) blur(12px);
       backdrop-filter:saturate(1.6) blur(12px);
       border-bottom:1px solid var(--rt-line);}
  /* A screenshot of an artboard is a picture of the layout, and the bar is a
     fixed element that would be printed across the top of every one of them.
     shot.py takes it off with this. Nothing on the live page sets it. */
  .nav.is-off{display:none;}
  /* THE SAME COLUMN AS THE HERO, not a frame of its own. The page has two:
     the hero and the bridge lay out in 1280 with a 48px gutter, "How it works"
     and the footer in 1120 with 26px. The bar was in neither -- a 1120 frame
     inside its own 24px padding -- so its mark sat 32px right of the h1
     directly under it, which is the one thing on the page it is always next
     to. It takes the hero's numbers now, literally the same two values, and
     tracks the h1 at every width: 1280 caps both, so above that they move
     together and below it they are both 48px off the edge. bartest.py
     measures the two left edges and fails if they ever part. */
  .nav-in{width:100%;max-width:1280px;margin:0 auto;padding:0 48px;display:flex;
          align-items:center;justify-content:space-between;gap:20px;}
  /* NAV_MARK/NAV_WORD: the mark and the wordmark, written once. The shaker's
     amplitude is a fraction of the 62px hero mark it was tuned on, so it is
     derived from NAV_MARK below rather than left at the size it used to be --
     a bigger mark shaking by the old amount reads as a smaller one. */
  .nav-logo{display:inline-flex;align-items:center;gap:11px;font-size:19px;
            font-weight:500;color:var(--rt-ink);letter-spacing:-0.01em;}
  .nav-logo svg{width:26px;height:26px;color:var(--rt-ink);overflow:visible;
                display:block;}
  .nbar{transform-box:fill-box;}
  .nbar-1,.nbar-3,.nbar-5{transform-origin:right center;}
  .nbar-2,.nbar-4{transform-origin:left center;}
  .nav-right{display:flex;align-items:center;gap:24px;}
  .nav-link{font-size:14px;color:var(--rt-ink-3);text-decoration:none;
            white-space:nowrap;transition:color 120ms var(--rt-ease);}
  .nav-link:hover{color:var(--rt-ink);}
  .nav-cta{background:var(--rt-accent);color:#FFFFFF;border:1px solid var(--rt-accent);
           border-radius:var(--rt-radius-sm);padding:0 16px;height:36px;
           font-size:14px;font-family:var(--rt-font-sans);font-weight:500;
           cursor:pointer;white-space:nowrap;
           transition:background 120ms var(--rt-ease);}
  .nav-cta:hover{background:var(--rt-accent-hover);}
  @media (max-width:980px){
    /* The hero's phone gutter, so the mark stays on the h1's edge down here
       too -- it was 14 against the hero's 20. */
    .nav-in{padding:0 20px;}
  }
  @media (max-width:560px){
    .nav{height:54px;}
    .nav-link{display:none;}
  }
  @media (prefers-reduced-motion: reduce){
    .nav{transition:opacity 240ms linear;transform:none;}
  }
  /* ── Footer ─────────────────────────────────────────────── */
  .ft{border-top:1px solid var(--rt-line);background:var(--rt-bg);
      padding:30px 24px 34px;}
  .ft-in{max-width:1120px;margin:0 auto;display:flex;align-items:center;
         justify-content:space-between;gap:18px;flex-wrap:wrap;}
  .ft-logo{display:inline-flex;align-items:center;gap:10px;font-size:16px;
           font-weight:500;color:var(--rt-ink);}
  .ft-logo svg{width:18px;height:18px;color:var(--rt-ink);}
  /* ink-3, not ink-4. At 10.5px on this ground ink-4 is 3.6:1 and ink-3 is
     5.0:1, and a line nobody can read is not less legally present for it. */
  .ft-copy{font-family:var(--rt-font-mono);font-size:10.5px;letter-spacing:0.14em;
           color:var(--rt-ink-3);}
  /* The privacy policy, set as part of the same line so the footer keeps its
     shape. The vertical padding is on an inline box, so it grows the tap target
     to 44px without moving a pixel of layout. */
  .ft-copy a{color:inherit;text-decoration:underline;text-underline-offset:2px;
             padding:16px 0;}
  .ft-copy a:hover{color:var(--rt-ink);}
  /* ONE LINE EACH. Together they want ~390px of mono; below that the rights line
     would break mid-sentence and read as a second thought. So on a phone the
     link and the rights stack, each whole, and the dot that joined them goes.
     Under 360px the rights alone are wider than the column, so there they wrap
     as they always did rather than push the page sideways. */
  .ft-rights{white-space:nowrap;}
  @media (max-width:520px){
    .ft-copy{display:flex;flex-direction:column;gap:10px;}
    .ft-sep{display:none;}
  }
  @media (max-width:359px){
    .ft-rights{white-space:normal;}
  }

  /* THE FINE PRINT. It sits in the footer rather than under the section that
     prompted it, because it does not qualify one section: it qualifies the
     page. Set in the body face rather than the mono one -- this is the one
     block here that somebody may actually have to read, and 12px of tracked
     uppercase mono is a wall. Same 1120 frame as the row above it, so it is
     fine print and not a footnote hanging off the edge of the page. */
  .ft-legal{max-width:1120px;margin:24px auto 0;padding-top:22px;
            border-top:1px solid var(--rt-line-soft);
            font-family:var(--rt-font-sans);font-weight:400;font-size:12px;
            line-height:1.7;color:var(--rt-ink-3);text-wrap:pretty;}

  @media (max-width:980px){
    /* One column, type at the top, and the towers pushed into the lower half of
       the section by the camera's own mobile offset.

       The top padding CLEARS THE BAR and then some. This column starts at its
       padding edge rather than being centred in it, and the bar is fixed over
       the top of it: at the old 56px against a 60px bar the h1 would have
       started underneath the thing. 96 is the bar plus the same 36 the logo
       used to leave under itself. */
    .hero-inner{min-height:940px;padding:96px 20px 56px;align-items:flex-start;}
    .hero-left{flex:0 0 100%;}
    /* One column here, so the words are ABOVE the towers rather than beside
       them: the veil has to fade downward instead of sideways. */
    .hero-veil{background:linear-gradient(to bottom,
      var(--rt-bg) 0, var(--rt-bg) 46%, rgba(250,250,248,0) 66%);}
    /* The display sizes are desktop sizes; at 390px the h1 ran to six lines and
       left the towers nowhere to stand. */
    .hero-h1{font-size:34px;margin-bottom:22px;}
    .hero-sub{font-size:16px;margin-bottom:32px;}
    /* At 390px the first sentence wraps anyway, so one-per-line buys a
       four-line ragged stack instead of two lines. Let them run together as
       one paragraph -- the whitespace between the spans in the markup is the
       space between the sentences. */
    .hero-sub span{display:inline;}
  }


  /* ── The bridge ─────────────────────────────────────────────
     Hero into "How it works". Static: no reveal, no counters, no script.
     The ground is the page's own -- no card, no fill, no shadow. */
  /* ITS OWN GROUND. Hero and "How it works" both sit on --rt-bg; this sits
     a step down on the sunken token, so the page reads hero / band / band
     rather than one continuous slab with rules across it. The top edge is
     drawn here and the BOTTOM edge is not: .s5 already carries a border-top,
     and two hairlines meeting would be a 2px line nobody asked for. */
  .bx{background:var(--rt-bg-sunken);border-top:1px solid var(--rt-line);
      padding:56px 0 64px;}
  /* The hero's frame, not the section's: the heading below this one is
     centred in 1120, but this section's type is a continuation of the hero's
     column and lines up with it. */
  .bx-in{max-width:1280px;margin:0 auto;padding:0 48px;}

  /* TWO LINES, AT EVERY WIDTH, and the cap is what does it. The string is
     27.1em wide; 30ch is 16.66em, so it cannot be one line. Of its two viable
     two-line splits, after "owned" is 15.74em and after "apartment" is
     15.91em, and 16.66em admits both -- so greedy wrapping fills the first
     line and breaks after "apartment", which is the break this section wants.
     It stops being two lines only when the column is under 15.74em wide.

     `ch` and not px, so the relationship survives a change of font-size: the
     cap and the type move together. Measured rather than reasoned about --
     bridgefit.py counts the rendered LINE BOXES at nine widths.

     NO text-wrap:balance HERE. Balance minimises the widest line, so it picks
     after "owned" (15.74) over after "apartment" (15.91) and quietly defeats
     the cap. It is worth having at the phone sizes for the opposite reason --
     see the 560px block. */
  /* ONE FLUID SIZE, ALL THE WAY DOWN. It used to be three fixed sizes at
     three breakpoints, and the phone one was pinned to the 360px worst case
     -- so a 430px phone got type sized for a screen 70px narrower and the
     heading sat small in a frame with room to spare.

     The bound is the same at every width and it is a ratio, which is why one
     rule covers all of them: whichever way the line breaks, two lines need
     15.74em of column (the narrower of the two viable splits), so the type
     can be up to width/15.74 and no more. 5.4vw sits about 5% under that at
     the tight end and further under everywhere else. Above 1280 the frame
     stops growing at 1184, so the size stops too, at 54px -- past that it
     would only start eating its own margin.

     The cap is a ceiling rather than the mechanism: it has to admit the
     break after "buildings" (20.18em) and refuse the one after "for"
     (21.69em), which strands "a long time." on a line of its own.

     36ch, AND THAT NUMBER WAS MEASURED. 38ch was the arithmetic answer using
     this font's own advance for "0" (0.5552em, from parts.SANS_ADV) -- and
     the browser let a 21.76em line through it, so the ch it resolves is
     about 3% wider than the glyph advance the table gives. Whatever the
     reason, ch is not a unit to do this arithmetic in and then trust; the
     value is the one that renders the right break, which bridgefit.py checks
     by naming the break rather than measuring the width. */
  .bx-h{font-family:var(--rt-font-sans);font-weight:500;
        font-size:clamp(17px, 5.4vw, 54px);
        line-height:1.06;letter-spacing:-0.02em;color:var(--rt-ink);
        max-width:36ch;margin:0 0 28px;}
  /* ONE LINE ON DESKTOP (Soey, 2026-09-14: "I wanna see what it would look
     like"). Everything above is the two-line rule and still governs every
     width below 1120; this overrides it where the frame is wide enough for
     the whole sentence.

     The cap has to GO, not change: 36ch exists to force a second line, so
     leaving it in place would fight this rule rather than defer to it.

     THE DIVISOR IS COMPUTED, not typed. The string is 27.95em wide set solid
     (parts.sansw over the heading itself, letter-spacing included), so the
     size that fits is frame / 27.95, and the frame here is
     min(100vw, 1280px) - 96px of padding. The 1.05 is headroom, because the
     browser's idea of the string's width is its own and has been about 3%
     off this table before -- see the note about `ch` above.

     WHAT IT COSTS: 42px at 1280 against the 54px the two-line rule gave, so
     the heading is about a fifth smaller in exchange for being one line.
     That is the whole trade and it is why this is easy to take back out --
     delete this block and the rule above is untouched. */
  @media (min-width:1120px){
    .bx-h{max-width:none;
          font-size:calc((min(100vw, 1280px) - 96px) / 31.72);}
  }
  /* ONE COLUMN, EDGE TO EDGE (Soey, 2026-09-14). It was two columns above
     1120 and capped at 66ch below, which kept every line inside a readable
     measure; the instruction is that it runs all the way across instead, so
     there is no column rule and no cap and the line is as long as the frame.
     At 1280 that is about 125 characters -- roughly twice the measure the
     two-column arrangement gave, and the one cost of the change. The type is
     a step larger on the wide end so the line count comes down with it. */
  .bx-p{font-family:var(--rt-font-sans);font-weight:400;font-size:18px;
        line-height:1.65;color:var(--rt-ink-2);text-wrap:pretty;
        margin:0 0 52px;}
  @media (min-width:1120px){
    .bx-p{font-size:20px;line-height:1.6;}
  }

  /* The band. Ink on top, line underneath: the top rule closes the paragraph
     above it, the bottom one only has to stop the band, so they are not the
     same weight of statement. */
  /* THE TOP RULE IS A PSEUDO-ELEMENT, not a border, because it draws itself
     on entrance -- see the reveal block at the foot of this sheet. The bottom
     one stays a border: it is the weaker statement of the two and a second
     thing sliding would be noise. `position:relative` lives here rather than
     in a second .bx-band block, which verify.py fails on and is right to. */
  .bx-band{position:relative;display:grid;grid-template-columns:repeat(3,1fr);
           border-bottom:1px solid var(--rt-line);
           margin:0 0 48px;}
  .bx-band::before{content:"";position:absolute;left:0;right:0;top:0;height:1px;
                   background:var(--rt-ink);transform-origin:left center;}
  /* Between the cells only. An outer vertical would box the band in and it is
     open on both sides by design. */
  /* A COLUMN, so the answers line up across the band. The labels wrap to
     one, two or three lines on a phone, and without this each answer sat
     under its own label at its own height; the answer's auto top margin
     takes up the slack instead, so all three end on one line. Not the
     label growing: the slash is sized off the struck block, and a label
     stretched to fill the cell would stretch the slash with it. */
  .bx-cell{padding:28px 10px 30px;text-align:center;min-width:0;
           display:flex;flex-direction:column;}
  .bx-cell + .bx-cell{border-left:1px solid var(--rt-line);}
  /* THE ACCENT, not ink (Soey, 2026-09-14). Vermilion is the decision colour
     and Signal is data only, so this is --rt-accent: the glyphs are marks on
     the three barriers, not a reading off a chart. They are aria-hidden and
     every figure and label beside them is still ink, so nothing here is
     carried by colour alone -- and at 1.5px stroke on the sunken ground the
     accent clears 3:1 for a graphic anyway.
     26px rather than 21: the figures next to them run to 34px and the icon
     was reading as a bullet instead of a mark. */
  .bx-ico{width:26px;height:26px;display:block;margin:0 auto 14px;
          color:var(--rt-accent);overflow:visible;}
  /* A FIGURE IS ALWAYS MONO. tabular-nums so the three sit on one rhythm even
     though they are different lengths. */
  /* THE BARRIER IS STRUCK, and it is no longer the loudest thing in the cell
     (2026-10-26). It steps down to ink-3, the label's own colour, so the
     figure and its label read as one muted statement, and the strike is the
     accent so the line through it is a mark rather than a smudge. */
  .bx-fig{font-family:var(--rt-font-mono);font-weight:500;font-size:22px;
          line-height:1.1;letter-spacing:-0.02em;color:var(--rt-ink-3);
          font-variant-numeric:tabular-nums;margin:0 0 8px;}
  /* THE SLASH (Soey, 2026-10-27: "a 45 degree angle and go through the top
     and bottom text at once"). One stroke through the figure AND its label,
     so the barrier is crossed out as a whole rather than the number alone.
     It is a bar as tall as the block times root two, turned 45 degrees about
     the block's centre, so its vertical extent is exactly the block's height
     whatever the label wraps to. The <s> stays for its meaning; its own line
     goes, because two strikes on one figure is a correction, not a mark.

     CAPPED AT THE CELL. Turned 45 degrees, the bar is as wide as it is tall,
     so a label that wraps deep -- 200% text on a phone -- would push it out
     past the cell and the page would scroll sideways. 141cqw keeps its width
     inside the block, which is the cell's own width.

     0.55 OPACITY (Soey, 2026-10-27: "a little transparent"), so the struck
     text still reads through the stroke where they cross. */
  .bx-was{position:relative;container-type:inline-size;}
  .bx-was::after{content:"";position:absolute;left:50%;top:50%;width:2px;
                 height:min(calc(141.42% + 8px), 141cqw);
                 background:var(--rt-accent);opacity:0.55;
                 transform:translate(-50%, -50%) rotate(45deg);
                 pointer-events:none;}
  .bx-fig s{text-decoration:none;}
  /* WHAT RENTRADE OFFERS INSTEAD, and the largest type in the band. Sans and
     not mono: two of the three are words, and "Secondary marketplace" has to
     be allowed to break between them, which a mono line that size cannot do
     inside a third of a phone. It breaks mid-word only when it has to,
     which is 200% text on a phone: the size below keeps "marketplace" whole
     at every width the page ships at, and past that a broken word beats a
     page that scrolls sideways. */
  /* 24px, down from 28 (Soey, 2026-10-27: "a little too big"). */
  .bx-now{font-family:var(--rt-font-sans);font-weight:500;font-size:24px;
          line-height:1.15;letter-spacing:-0.01em;color:var(--rt-ink);
          text-wrap:balance;overflow-wrap:anywhere;margin:auto 0 0;
          padding-top:18px;}
  /* Read aloud, never painted: the before and after a strike cannot say. */
  .bx-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;
         overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
  /* ink-3, never ink-4: at 9px this is the smallest type on the page and it
     still has to clear 4.5:1 on the ground (it lands at 5.0). */
  /* A label breaks ANYWHERE rather than running out of its cell. The longest
     is "DISQUALIFIED BY ACCREDITATION", and DISQUALIFIED alone is 12 mono
     characters of a cell that is 93px wide at 320px -- so it has to break
     mid-word or it leaves the box. The figures are unbreakable by nature and
     are the one thing here that still crowds at 200% text; see bridgefit.py. */
  .bx-lab{font-family:var(--rt-font-mono);font-size:9px;line-height:1.5;
          letter-spacing:0.14em;text-transform:uppercase;color:var(--rt-ink-3);
          overflow-wrap:anywhere;margin:0;}
  /* 11px ON A DESKTOP (Soey, 2026-10-27: "good on mobile but on desktop it
     looks a little too small"). 9px stays from 980 down, where the cell is a
     third of a phone and DISQUALIFIED has to break as it is. */
  @media (min-width:981px){
    .bx-lab{font-size:11px;}
  }

  .bx-close{border-left:2px solid var(--rt-accent);padding-left:20px;
            max-width:88ch;}
  .bx-close-h{font-family:var(--rt-font-sans);font-weight:500;font-size:20px;
              line-height:1.35;letter-spacing:-0.01em;color:var(--rt-ink);
              margin:0 0 6px;}
  .bx-close-p{font-family:var(--rt-font-sans);font-weight:400;font-size:17px;
              line-height:1.6;color:var(--rt-ink-2);text-wrap:pretty;margin:0;}
  /* ONE LINE FROM 1120 UP. The 88ch measure cap is what breaks it -- 831px
     against a 1061px line -- so the cap goes and the size is bounded by the
     width that is actually there: the 1280 frame less its 96px of padding,
     less this block's own 2px rule and 20px indent. At 1280 that bound is
     over 17px and the min() holds the type at 17; at 1120 it eases to 15.3
     rather than wrapping. Below 1120 none of this applies. 65.56 is
     computed from the string, so rewriting the line moves the rule with it,
     and bridge.py fails the build if a rewrite pushes the 1120 size under
     15px.

     IT HAS TO COME AFTER THE RULE IT OVERRIDES. A media query does not add
     specificity: `.bx-close-p` inside one and `.bx-close-p` outside it are
     both 0-1-0, so the later wins. Written directly under .bx-close, which is
     where it reads best, this block sat ABOVE the base font-size and lost --
     it shipped doing nothing, at 17px, and the line still happened to fit, so
     a line count called it a pass. That is the same cascade failure
     resttest.py exists for, one section over. */
  @media (min-width:1120px){
    .bx-close{max-width:none;}
    .bx-close-p{font-size:min(17px, (min(100vw, 1280px) - 118px) / 65.56);}
  }

  /* ── The entrance ───────────────────────────────────────────
     Module 3 throws its whole block in from the left, one transform for
     everything, staggered by 150ms. This one is deliberately NOT that (Soey,
     2026-09-15: "different than module 3... maybe from the left and some
     drops and entrances and such"). It reads top to bottom the way the copy
     does: the heading and the paragraph come in from the left, then the rule
     under them DRAWS itself across, and then the three barriers DROP onto it
     one after another. The closing block comes last and from the left again,
     so the section opens sideways, lands, and closes sideways.

     bxin IS PUT ON BY SCRIPT, never here. A sheet that hid this by default
     would leave the section blank for anyone whose JavaScript did not run --
     the same rule module 3's reveal follows, and it shares that observer.

     ONE transform declaration, driven by two custom properties. Module 3 was
     shipped for a release with its cards permanently 44px left because a
     media query re-declared `transform` at equal specificity and won on
     order. A property cannot do that: .bxin.bxon has the last word here
     because nothing else ever writes transform on these elements. */
  .bxin{--bxx:0px;--bxy:0px;
        opacity:0;transform:translate(var(--bxx), var(--bxy));
        transition:opacity 460ms var(--rt-ease),
                   transform 740ms cubic-bezier(0.16,1,0.3,1);
        will-change:transform,opacity;}
  .bxin.bxon{opacity:1;transform:none;will-change:auto;}
  .bx-h.bxin{--bxx:-52px;}
  .bx-p.bxin{--bxx:-30px;transition-delay:110ms;}
  /* The band itself does NOT move or fade -- it is the frame the cells land
     in, and a container that fades takes its children with it. All it does is
     hold the rule that draws. */
  .bx-band.bxin{opacity:1;transform:none;}
  .bx-band.bxin::before{transform:scaleX(0);
                        transition:transform 720ms cubic-bezier(0.22,1,0.36,1) 200ms;}
  .bx-band.bxin.bxon::before{transform:none;}
  /* The drops. They start ABOVE the rule and fall onto it, which is why the
     rule is drawn first and why these are the only vertical move in the
     section. The stagger is left to right, in step with the rule arriving
     under each of them. */
  .bx-cell.bxin{--bxy:-24px;transition-delay:420ms;}
  .bx-cell.bxin:nth-child(2){transition-delay:510ms;}
  .bx-cell.bxin:nth-child(3){transition-delay:600ms;}
  .bx-close.bxin{--bxx:-26px;transition-delay:700ms;}
  @media (prefers-reduced-motion: reduce){
    .bxin,.bxin.bxon{opacity:1;transform:none;transition:none;}
    .bx-band.bxin::before,.bx-band.bxin.bxon::before{transform:none;
                                                     transition:none;}
  }

  @media (max-width:980px){
    /* The hero's own phone gutter, so the two columns of type line up. */
    .bx{padding:40px 0 48px;}
    .bx-in{padding:0 20px;}
    .bx-h{margin-bottom:20px;}
    .bx-p{font-size:16px;margin-bottom:36px;}
    .bx-band{margin-bottom:36px;}
    .bx-cell{padding:22px 6px 24px;}
    .bx-fig{font-size:18px;}
    .bx-now{font-size:20px;padding-top:14px;}
    .bx-close-h{font-size:18px;}
    .bx-close-p{font-size:16px;}
  }
  @media (max-width:560px){
    /* 20px is the floor: at 360px the column is 16.00em wide and the
       narrower two-line split needs 15.74em, so 21px would be three lines.
       Measured, not guessed -- bridgefit.py fails if any width goes to one
       or three.

       And HERE balance earns its place. The margin is thinnest at the narrow
       end, so the safer of the two splits is worth having, and balance is
       what picks it: after "owned" at 15.74em rather than after "apartment"
       at 15.91em. On a desktop the same preference is what defeats the cap,
       which is why it is only on below 560. THE SIZE IS NOT SET HERE any
       more -- it is the one fluid rule above, so a wider phone gets larger
       type instead of type cut for a 360px screen. */
    .bx-h{text-wrap:balance;}
    /* Fluid for the same reason the heading is: "$50,000" is the longest
       unbreakable string on the page and the cell is a third of the screen,
       so at 320px a fixed 22px ran it 4px out of its column. It is the struck
       line now and sits a step under the answer, so the ceiling came down. */
    .bx-fig{font-size:clamp(15px, 4.6vw, 18px);}
    /* "marketplace" is the longest word the answer row has to hold whole,
       and it is about 5.8em wide. The cell is (100vw - 40px) / 3 less 8px of
       padding, so the word fits while the size is under (100vw - 64px) /
       17.4; dividing by 18 leaves a few percent for the browser's own idea
       of the width. 5vw was 3-7px too wide from 320 to 390, measured by
       bridgefit.py. */
    .bx-now{font-size:clamp(14px, calc((100vw - 64px) / 18), 18px);
            padding-top:12px;}
    /* The cell is a third of a 320px screen, so the icon comes down with the
       figure rather than sitting larger than the number under it. */
    .bx-ico{width:22px;height:22px;margin-bottom:12px;}
    .bx-cell{padding:20px 4px 22px;}
    .bx-close{padding-left:16px;}
  }

  /* -- Section 02, next iteration: one graphic, full width -------------- */
  /* The page ground, from the token -- this used to carry the literal
     #FAFAF8 while the hero sat on the paler #FCFCFB, and the two are one
     colour now. */
  .s5{border-top:1px solid var(--rt-line);background:var(--rt-bg);padding:80px 0 104px;}
  /* The heading is CENTRED, at every width. It was flush left on the cards'
     own axis for a while, which made the section open on one edge -- but the
     two boxes underneath are a matched pair, one on each side of the same
     idea, and a title sitting over the left one read as belonging to it. In
     the middle it belongs to both. Its max-width and padding are still the
     slab's, so the text box is the same box; only the alignment inside it
     changed. The box LABELS stay on their cards' left edges: those do label
     one box each.

     No full stops anywhere in this section's type -- not on the heading, not on
     either box label. They are labels on boxes, not sentences. */
  .s5-h{font-size:56px;font-weight:500;color:var(--rt-ink);line-height:1.06;
        letter-spacing:-0.03em;max-width:1120px;margin:0 auto 64px;padding:0 26px;
        text-align:center;}
  .s5-hl{color:var(--rt-accent);}
  /* One line over each box, on the card's own left edge. No number, no rule,
     no second line: it labels the box, it does not compete with the heading. */
  .s5lab{font-size:26px;font-weight:500;letter-spacing:-0.02em;line-height:1.2;
         color:var(--rt-ink);margin:0 0 16px;}
  .s5slab{max-width:1120px;margin:0 auto;padding:0 26px;}

  /* Two modules: one card each, identical, on the plain page. A label over
     each one and space between them is the whole system. Textured grounds
     behind the cards -- a site grid under ours, ruled paper under yours --
     were tried and cut: the drawings already carry that vocabulary inside
     their own frames, and repeating it in the page behind them was noise. */
  /* position:relative is here rather than in build.py because the corner
     marks that need it are drawn there -- and a second .s5band block in
     the base cascade is the silent-override shape verify.py refuses. */
  .s5band{background:var(--rt-bg-sunken);border:1px solid var(--rt-line);
          padding:26px 26px 22px;position:relative;}
  /* The gap between one box and the NEXT LABEL is the only thing separating
     two modules that are otherwise identical, so it is the biggest space in
     the section -- bigger than the label-to-card gap inside a module, or the
     two read as one four-part thing. */
  .s5cards + .s5lab{margin-top:88px;}
  /* Between one module and the next. Bigger than anything inside a module,
     or the two read as one four-part thing. */
  .s5slab + .s5slab{margin-top:120px;}
  /* ── The seam ────────────────────────────────────────────────
     Between the two bands sat 120px of bare page, and it read as a gap
     rather than as a join (Soey, 2026-09-14).

     What goes in it is THE DRAWINGS' OWN DEVICE rather than an ornament: a
     dashed LEADER with a node on it. That line is not decoration anywhere
     else on this page -- it is what carries a thing from where it is to
     where it goes, and the drawing thirty pixels below this one uses it to
     carry rent out of three buildings and into an account. Here it carries
     the reader from our half of the deal to theirs, which is exactly what
     the two labels either side of it say.

     The node is a diamond filled with the PAGE GROUND, not with the accent,
     so the dash passes behind it and stops rather than being covered -- a
     drawing-set junction mark, which is the grammar the corner brackets are
     already in.

     ONE NUMBER GOVERNS IT. --seam is the gap, and the margin, the leader's
     height and the node's position are all computed from it, so the seam
     cannot end up longer or shorter than the space it is drawn in. That is
     the whole failure mode of a decoration positioned by hand. */
  .s5pan + .s5pan{--seam:120px;margin-top:var(--seam);position:relative;}
  .s5pan + .s5pan::before{
    content:"";position:absolute;left:50%;margin-left:-0.5px;width:1px;
    top:calc(var(--seam) * -1);height:var(--seam);pointer-events:none;
    background:repeating-linear-gradient(to bottom,
      var(--rt-accent) 0 4px, transparent 4px 11px);}
  .s5pan + .s5pan::after{
    content:"";position:absolute;left:50%;margin-left:-4.5px;
    width:9px;height:9px;top:calc(var(--seam) / -2 - 4.5px);
    background:var(--rt-page);border:1.5px solid var(--rt-accent);
    transform:rotate(45deg);pointer-events:none;}

  /* ── The dark box ──────────────────────────────────────────
     Module 2 of this section sits in a dark panel and module 1 does not
     (Soey, 2026-09-14: "im trying to create some seperation between the
     two"). Two identical light cards a label apart were reading as one
     four-part thing; a ground change is the strongest separation available
     that does not touch either drawing.

     IT TAKES ITS OWN LABEL IN WITH IT, which is the point -- a dark box that
     started under the heading would read as a caption sitting on top of a
     panel rather than as a module with a name.

     THE DRAWING INSIDE STAYS LIGHT, and that is deliberate rather than
     unfinished. Every line in it is ink on near-white and the whole
     vocabulary -- redactions, hairlines, the hollow shares -- is built for a
     light ground. Re-theming the drawing for dark is a different and much
     larger job than putting a box around it, and it would move both golden
     drawings. So this is a dark surround with a light card in it: the panel
     separates, the card is untouched.

     THE NEGATIVE MARGINS ARE LOAD-BEARING. The panel cancels the slab's own
     padding and re-adds it as its own, so the card inside comes out exactly
     as wide as module 1's. Pad the panel without that and module 2's drawing
     renders 6% smaller than module 1's, which is the one difference between
     the two that must NOT appear -- they are the same drawing system and a
     size step reads as a mistake. */
  /* EVERY box sits on a band of its own now, and the bands run edge to
     edge. One padding rule, two grounds: the only thing that separates the
     two modules is the ground under them, which is the strongest separation
     available that leaves both drawings alone. */
  .s5pan{padding:52px 0 58px;}
  .s5tint{background:var(--rt-panel-tint);}
  .s5dark{background:var(--rt-panel-dark);}
  .s5dark .s5lab{color:var(--rt-panel-ink);}
  /* The highlighted word, lifted for the dark ground. */
  .s5dark .s5-hl{color:var(--rt-accent-on-dark);}

  /* -- Arriving ----------------------------------------------------------
     The heading, each label and each card lift into place as they come up
     the screen. The card follows its own label by a beat, which is the
     order they are read in.

     They come IN FROM THE LEFT, which is the page's own axis: the heading,
     both labels and the left edge of both cards already sit on one line down
     the page, so arriving along it reads as the section assembling on that
     line rather than as three unrelated things bobbing up.

     Leftward is also the safe direction. Overflow to the LEFT is clipped
     silently; the same movement to the right would push a 1068px card past
     the viewport and put a horizontal scrollbar on the page for the length of
     the transition.

     THE STAGGER IS THE DRAMA. Three elements moving the same distance at the
     same moment is one element as far as the eye is concerned. These arrive in
     reading order -- heading, then the label over the box, then the box -- far
     enough apart (0 / 150 / 300ms) to be seen as a sequence, and the whole
     section takes about 1.2s to assemble rather than 0.7s to appear.

     The travel is long (96px on the heading, 76px on the rest) and the easing
     is a hard expo-out: most of that distance is covered in the first third of
     the transition and the last few pixels take the rest. That is what makes a
     long throw read as arriving rather than as drifting. The card also comes
     in fractionally small, at 0.94 -- scaling UP to rest is the difference
     between a panel sliding past and a panel settling into the page. It only
     ever scales up to 1, so it cannot overflow anything on the way.

     Opacity runs shorter than the movement and on its own curve, so each piece
     is fully legible while it is still travelling. Fading for the whole 900ms
     would just look slow.

     s5in IS PUT ON BY SCRIPT, never by this stylesheet. A sheet that hid
     these by default would leave the whole section blank for anyone whose
     JavaScript did not run -- the same rule the drawings' hold follows, and
     for the same reason: the failure mode has to be the old behaviour. */
  /* ONE transform declaration, in one place. Everything that varies -- the
     throw, the scale, per element and per breakpoint -- varies as a custom
     PROPERTY feeding it. The first cut of this set `transform` again on
     .s5cards.s5in and again inside the phone media query, which has the same
     specificity as the .s5in.s5on that puts it back and comes after it in the
     sheet: on a phone the cards won the cascade and never returned to rest.
     They sat 44px left and 4% small for the life of the page, and it took a
     screenshot to see it. A property cannot do that -- .s5in.s5on has the last
     word on `transform` because nothing else ever writes it. */
  .s5in{--s5throw:-76px;--s5scale:1;
        opacity:0;transform:translateX(var(--s5throw)) scale(var(--s5scale));
        transform-origin:left center;
        transition:opacity 520ms var(--rt-ease),
                   transform 900ms cubic-bezier(0.16,1,0.3,1);
        will-change:transform,opacity;}
  .s5-h.s5in{--s5throw:-96px;}
  .s5lab.s5in{transition-delay:150ms;}
  .s5cards.s5in{--s5scale:0.94;transition-delay:300ms;}
  .s5split.s5in{--s5scale:0.97;transition-delay:150ms;}
  .s5in.s5on{opacity:1;transform:none;}
  /* The hint is for the transition, not for the life of the page -- left on,
     it keeps a layer promoted behind every drawing for as long as the tab is
     open. */
  .s5in.s5on{will-change:auto;}
  @media (prefers-reduced-motion: reduce){
    .s5in,.s5in.s5on{opacity:1;transform:none;transition:none;}
  }

  /* -- Which drawing you get --------------------------------------------
     A band that has a portrait twin ships BOTH and hides one. The desktop
     frame is 996x338 -- near enough 3:1 -- and a phone is the other way up,
     so there is no scale that rescues it: measured, a 9.5-unit label comes
     out at 7.2px on a 390px screen against 9.7-10.2px on a desktop, with
     more than half the drawing off the side. The portrait frame is a
     different arrangement of the same drawing, not a smaller copy.

     The breakpoint is where the landscape frame stops FITTING rather than
     where it stops being comfortable: it holds a 760px floor, so below about
     860px of viewport it starts scrolling sideways. 900 is the round number
     just above that, and it is already the breakpoint the rest of the
     section uses. */
  .s5mob{display:none;}
  @media (max-width:900px){
    .s5desk{display:none;}
    .s5mob{display:block;}
    /* The portrait drawing is 312 units wide and it must NOT stretch: on a
       tablet a 312-unit frame across 800px would set its labels at 24px.
       Capped and centred, it lands between 10px and 13px everywhere. */
    .s5mob .flowdg5{max-width:440px;margin:0 auto;min-width:0;}
    .s5mob .s5scroll{overflow:visible;padding-right:0;}
    .s5hint{padding-right:14px;margin-bottom:10px;}
    .s5bar{margin-top:10px;}
    /* THE TRANSPORT IS ON THE PHONE TOO (Soey, 2026-09-14). It was hidden
       here, and the reason given was that the portrait drawing was about
       880px tall, so a scrub bar under it would never be on screen at the
       same time as the thing it scrubs.

       That was true of the first portrait build and it is not true now: band
       02's portrait frame is 312x499 units, which on a 390px screen is about
       624px of drawing, and the bar sits under it inside one scroll of it
       rather than a screen and a half away. The argument was about a height
       that has since changed, which is exactly the kind of note that goes
       stale quietly.

       Nothing needed wiring. The markup was always emitted for both frames
       and the script binds per .s5band, so the phone's bar was built, bound
       and then hidden by this one rule. .s5track already carries
       touch-action:none, so a drag scrubs instead of scrolling the page. */
  }
  /* Steps 02 and 03 are open slots. They hold exactly the height their drawing
     will take, so the rhythm of the finished module is visible before any of it
     exists. The ratio IS the first band's own viewBox, so it cannot drift. */
  .s5hold{aspect-ratio:996.3/338.0;}
  .flowdg5{display:block;width:100%;height:auto;overflow:visible;}
  /* Held at the frame it loaded on until its band is on screen. The class is
     put on by script, so if that never runs nothing is ever paused. */
  .s5-hold .flowdg5 *{animation-play-state:paused;}

  /* -- Transport --------------------------------------------------------
     A 38-second story you cannot stop is a story you cannot examine. The knob
     is a small accent square on purpose: it is the same object as a share. */
  /* Short on purpose. A scrubber the width of the drawing reads as a second
     piece of content; this is a control, and it should look like one. */
  /* Centred under the drawing. Left-aligned it read as a stray widget in the
     corner; in the middle it reads as the control for the thing above it. */
  /* WHAT THE DRAWING IS, said once per band (Soey, 2026-09-14). A loop
     that starts on its own and a timeline you can drag are both discoverable
     only by waiting or by guessing, and the scrub bar is 300px of hairline at
     the far end of a tall card.

     ink-3 and not ink-4: at 9px on the sunken card this is the smallest type
     in the module, and ink-3 lands at 4.6:1 where ink-4 is 3.3:1.

     TOP RIGHT, inside the card. That keeps it clear of the drawing's own
     first tag, which sits top left in both frames -- two labels stacked on
     one corner read as one confused label. It needs its own right padding on
     a phone, where the card has none. */
  .s5hint{font-family:var(--rt-font-mono);font-size:9px;letter-spacing:0.14em;
          text-transform:uppercase;color:var(--rt-ink-3);text-align:right;
          margin:0 0 14px;}
  .s5bar{display:flex;align-items:center;gap:12px;margin:16px auto 0;
         max-width:300px;}
  .s5play{flex:none;width:26px;height:26px;padding:0;display:flex;
          align-items:center;justify-content:center;background:transparent;
          border:1px solid var(--rt-line-strong);border-radius:2px;cursor:pointer;
          color:var(--rt-ink-3);
          transition:border-color 120ms var(--rt-ease),color 120ms var(--rt-ease);}
  .s5play:hover{border-color:var(--rt-accent);color:var(--rt-accent-text);}
  .s5playico{width:11px;height:11px;fill:currentColor;display:block;}
  .s5iplay{display:none;}
  .s5bar.is-paused .s5ipause{display:none;}
  .s5bar.is-paused .s5iplay{display:block;}
  .s5track{position:relative;flex:1;height:26px;cursor:pointer;touch-action:none;}
  .s5track::before{content:'';position:absolute;left:0;right:0;top:12px;height:1px;
                   background:var(--rt-line-strong);}
  .s5tick{position:absolute;top:9px;width:1px;height:7px;
          background:var(--rt-line-strong);}
  .s5prog{position:absolute;left:0;top:12px;height:1px;width:0;
          background:var(--rt-accent);}
  .s5knob{position:absolute;left:0;top:7px;width:9px;height:9px;margin-left:-5px;
          background:var(--rt-accent);border:1px solid var(--rt-accent-press);}
  .s5track:focus-visible{outline:2px solid var(--rt-accent-ring);outline-offset:2px;}

  @media (prefers-reduced-motion: reduce){
    /* Nothing is animating, so there is nothing to scrub -- and nothing that
       plays automatically either, so the hint goes with the bar. Leaving it
       would have the page telling a reader who asked for stillness that the
       drawing is about to move. */
    .s5bar,.s5hint{display:none;}
  }

  /* -- Three steps on one card, the drawings in popups --------------------
     The drawings were the page, and a 27-second loop is too slow to BE the
     page (Soey, 2026-10-17). What the page carries now is the whole idea in
     three steps -- we buy and run it, we split it, you buy shares of it --
     and each half's animation, which goes into the depth, opens from its own
     button.

     ONE CARD, IN THIRDS. Ours is the light two thirds, yours the dark third:
     the two old panels' grounds, kept, so the split between what we do and
     what you do still reads at a glance. The thirds are EQUAL so the leader
     can run tile to tile through all three, and it crosses the seam: our
     last step hands straight on to your first.

     It is one grid rather than two boxes so the rows line up across the
     seam: the labels, the steps and the buttons each share a row. */
  .s5split{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
           grid-template-areas:"kw kw ky" "s1 s2 s3" "bw bw by";
           border:1px solid var(--rt-line);position:relative;}
  .s5split > *{background:var(--rt-bg-sunken);position:relative;text-align:center;}
  .s5split > .s5inv{border-left:1px solid var(--rt-line);}
  .s5k{font-family:var(--rt-font-mono);font-size:11px;letter-spacing:0.14em;
       text-transform:uppercase;color:var(--rt-ink-3);margin:0;padding:36px 32px 6px;}
  .s5k-we{grid-area:kw;} .s5k-you{grid-area:ky;}
  .s5step{--tile:150px;--th:120px;padding:24px 32px 0;}
  .s5step:nth-of-type(1){grid-area:s1;} .s5step:nth-of-type(2){grid-area:s2;}
  .s5step:nth-of-type(3){grid-area:s3;}
  .s5tile{width:var(--tile);height:var(--th);margin:0 auto 22px;position:relative;z-index:2;
          display:flex;align-items:center;justify-content:center;
          background:var(--rt-bg-sunken);border:1px solid var(--rt-line);}
  .s5icon{width:92%;height:92%;display:block;overflow:visible;}
  /* Tile to tile, at the tiles' middle: from this one's right edge to the
     next one's left. Equal columns make that the column width less a tile.
     It sits above the next third's ground and under its tile. */
  .s5step:not(:nth-of-type(3))::after{content:"";position:absolute;pointer-events:none;
    z-index:1;left:calc(50% + var(--tile) / 2);width:calc(100% - var(--tile));
    top:calc(24px + var(--th) / 2);height:1.5px;
    background:repeating-linear-gradient(to right,
      var(--rt-accent) 0 4px, transparent 4px 11px);}
  .s5sn{font-family:var(--rt-font-mono);font-size:11px;letter-spacing:0.14em;
        color:var(--rt-accent-text);margin:0 0 8px;}
  .s5st{font-size:22px;font-weight:500;letter-spacing:-0.015em;line-height:1.25;
        color:var(--rt-ink);margin:0 auto 10px;max-width:300px;}
  /* The description is a sentence, read at reading size, not a label. */
  .s5ss{font-size:15.5px;line-height:1.5;color:var(--rt-ink-3);margin:0 auto;max-width:300px;}
  .s5go{display:flex;justify-content:center;padding:30px 32px 38px;}
  .s5go-we{grid-area:bw;} .s5go-you{grid-area:by;}

  /* The icons' paint. Three weights, as in the drawings: ink line, hairline,
     accent -- and a wash for what is leased. */
  .s5icon .s5iln{stroke:var(--rt-ink-3);stroke-width:1.1;stroke-linejoin:miter;}
  .s5icon .s5ihair{stroke:var(--rt-line-strong);stroke-width:0.8;}
  .s5icon .s5igrid{stroke:var(--rt-line);stroke-width:0.6;}
  .s5icon .s5ibg{fill:var(--rt-bg-sunken);stroke:none;}
  .s5icon .s5iwash{fill:var(--rt-accent-wash);stroke:none;}
  .s5icon .s5iplan{stroke:var(--rt-ink-4);stroke-width:0.8;opacity:0.7;}
  .s5icon .s5ilot{stroke:var(--rt-accent);stroke-width:0.9;stroke-dasharray:2.5 2;opacity:0.6;}
  .s5icon .s5ifa{stroke:var(--rt-accent);stroke-width:1.4;stroke-linejoin:miter;}
  .s5icon .s5iacc{fill:var(--rt-accent);stroke:none;}
  .s5icon .s5isq{stroke:var(--rt-ink-4);stroke-width:0.6;}
  .s5icon .s5igone{stroke:var(--rt-line-strong);stroke-width:0.6;stroke-dasharray:1 1;}
  .s5icon .s5ishare{stroke:var(--rt-accent);stroke-width:0.9;fill:var(--rt-accent-wash);}
  .s5icon .s5irule{stroke:var(--rt-ink-3);stroke-width:1;}
  .s5icon .s5ibar{stroke:var(--rt-line-strong);stroke-width:3;}
  .s5icon .s5inet{stroke:var(--rt-accent);stroke-width:3;}
  .s5icon .s5imark{stroke:var(--rt-accent);stroke-width:1;}
  .s5icon .s5ilead{stroke:var(--rt-accent);stroke-width:0.9;stroke-dasharray:2 1.6;opacity:0.8;}
  .s5icon .s5icard{fill:var(--rt-surface);stroke:var(--rt-ink-3);stroke-width:1;}
  .s5icon .s5irow{fill:var(--rt-surface);stroke:var(--rt-ink-4);stroke-width:0.8;}
  .s5icon .s5ighost{stroke:var(--rt-ink-3);stroke-width:1;stroke-dasharray:2 1.6;}
  .s5icon .s5iup{stroke:var(--rt-positive);stroke-width:1.4;}
  .s5icon .s5idown{stroke:var(--rt-negative);stroke-width:1.4;}

  /* The button. NOT the accent fill: vermilion is the decision colour and the
     page spends it on one button, the waitlist. The play mark is a small
     accent square, the same object as the transport's knob and as a share. */
  .s5watch{display:inline-flex;align-items:center;gap:10px;height:36px;
           padding:0 14px 0 6px;background:transparent;color:var(--rt-ink);
           border:1px solid var(--rt-line-strong);border-radius:var(--rt-radius-sm);
           font-family:var(--rt-font-sans);font-size:14px;font-weight:500;
           cursor:pointer;white-space:nowrap;
           transition:border-color 120ms var(--rt-ease),color 120ms var(--rt-ease);}
  .s5watch[hidden]{display:none;}
  .s5watch:hover{border-color:var(--rt-accent);color:var(--rt-accent-text);}
  .s5watch:focus-visible{outline:2px solid var(--rt-accent-ring);outline-offset:2px;}
  .s5wico{width:24px;height:24px;display:flex;align-items:center;justify-content:center;
          background:var(--rt-accent);color:#FFFFFF;}
  .s5wico svg{width:9px;height:9px;fill:currentColor;display:block;}

  /* The popup is the module exactly as it was -- label, card, transport --
     on its own band's ground. The dialog is padded by an inner box, not by
     itself, so a click that lands on the dialog element can only be the
     backdrop. */
  .s5pop{border:0;padding:0;margin:auto;width:min(1120px,calc(100vw - 32px));
         max-width:none;max-height:calc(100vh - 32px);overflow:auto;
         background:var(--rt-panel-tint);color:var(--rt-ink);}
  .s5dark .s5pop{background:var(--rt-panel-dark);}
  .s5pop::backdrop{background:rgba(26,25,24,0.62);}
  .s5popin{padding:18px 26px 30px;}
  .s5pophd{display:flex;justify-content:flex-end;margin:0 0 12px;}
  .s5x{flex:none;width:36px;height:36px;padding:0;display:flex;align-items:center;
       justify-content:center;background:transparent;color:var(--rt-ink-3);
       border:1px solid var(--rt-line-strong);border-radius:var(--rt-radius-sm);
       cursor:pointer;transition:border-color 120ms var(--rt-ease),color 120ms var(--rt-ease);}
  .s5x:hover{border-color:var(--rt-accent);color:var(--rt-accent-text);}
  .s5x:focus-visible{outline:2px solid var(--rt-accent-ring);outline-offset:2px;}
  .s5x svg{width:12px;height:12px;stroke:currentColor;stroke-width:1.5;fill:none;display:block;}
  html:has(.s5pop[open]){overflow:hidden;}

  @media (max-width:900px){
    /* Full screen on a phone, holding the PORTRAIT drawing: a module, the
       same one the page used to carry, not a video. */
    .s5pop{width:100vw;height:100dvh;max-height:none;margin:0;}
    .s5popin{padding:16px 10px 28px;}
  }
  /* Too narrow for thirds: one column, ours then yours, the dark ground
     still marking where your part starts. No leader: stacked, the only path
     from one tile to the next runs through the words between them. */
  @media (max-width:760px){
    .s5split{grid-template-columns:minmax(0,1fr);
             grid-template-areas:"kw" "s1" "s2" "bw" "ky" "s3" "by";}
    .s5split > .s5inv{border-left:0;}
    .s5k-you{border-top:1px solid var(--rt-line);}
    .s5k{padding:28px 20px 4px;}
    .s5step{--tile:132px;--th:106px;padding:22px 20px 0;}
    .s5step::after{display:none;}
    .s5st{font-size:20px;}
    .s5ss{font-size:15px;}
    .s5go{padding:24px 20px 30px;}
  }
  @media (prefers-reduced-motion: reduce){
    /* Nothing to play to a reader who asked for stillness: the three steps
       are the section for them, and the script leaves the buttons hidden. */
    .s5watch{display:none;}
  }

  @media (max-width:900px){
    /* A left-to-right timeline cannot become a column, and squeezing it into
       358px makes every label three pixels tall. It keeps a legible minimum
       width and the band scrolls, which is what a timeline does on a phone. */
    .s5{padding:56px 0 64px;}
    /* 10px, not 12: the same gutter the slab uses, so the heading's text box
       is the labels' box at phone width too -- centred inside it, but centred
       on the same span the cards occupy rather than on some wider one. */
    .s5-h{font-size:38px;margin-bottom:40px;padding:0 10px;}
    /* And the space under it, before the drawing. */
    .s5lab{font-size:20px;margin-bottom:22px;}
    .s5slab{padding:0 10px;}
    .s5band{padding:14px 0 12px 14px;}
    .s5cards + .s5lab{margin-top:64px;}
    .s5slab + .s5slab{margin-top:80px;}
    /* The gap is shorter on a phone and the seam shortens with it, because
       both come off --seam. Nothing else here needs saying. */
    .s5pan + .s5pan{--seam:80px;}
    /* The panel's padding is what the LABEL sits in, so this is the space
       above the header before anything else starts. The trim that took the
       box down took this with it and left the header pinched against the
       band's own top edge; it comes back, and only here -- the card below
       stays as tight as the trim left it, because that was the part that
       had actually crept. */
    .s5pan{padding:38px 0 32px;}
    /* Shorter throw on a phone -- 96px is a quarter of the screen there, and
       the distance that reads as an entrance on a desktop reads as a lurch.
       The STAGGER is kept in full: it is what carries the drama, and it costs
       no travel. */
    .s5in{--s5throw:-44px;}
    .s5-h.s5in{--s5throw:-52px;}
    .s5cards.s5in{--s5scale:0.96;}
    .s5scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
              padding-right:16px;}
    .s5desk .flowdg5,.s5band:not(.s5mob) .flowdg5{min-width:760px;}
  }

  /* Three weights: structure, plate, hairline. The only filled things are the
     units as they lease up, the squares, and the card. */
  .flowdg5 .s6grid{stroke:var(--rt-line);stroke-width:1;fill:none;}
  .flowdg5 .s6plan{stroke:var(--rt-ink-4);stroke-width:1;fill:none;opacity:0.5;}
  .flowdg5 .s6hatch{stroke:var(--rt-line-strong);stroke-width:0.6;fill:none;}
  .flowdg5 .s6lot{stroke:var(--rt-accent);stroke-width:1;fill:none;
                  stroke-dasharray:4 4;opacity:0.45;}
  .flowdg5 .s6tick{stroke:var(--rt-accent);stroke-width:1.5;fill:none;stroke-linecap:butt;}
  .flowdg5 .s6ln{stroke:var(--rt-ink-3);stroke-width:1.25;fill:none;stroke-linejoin:miter;}
  .flowdg5 .s6plate{stroke:var(--rt-ink-4);stroke-width:1;fill:none;
                    stroke-linecap:butt;opacity:0.7;}
  .flowdg5 .s6back{stroke:var(--rt-line-strong);stroke-width:0.75;fill:none;
                   stroke-linecap:butt;}
  .flowdg5 .s6dot{fill:var(--rt-accent-press);stroke:none;}
  .flowdg5 .s6mull{stroke:var(--rt-ink-4);stroke-width:0.75;fill:none;opacity:0.5;}
  .flowdg5 .s6occ{fill:var(--rt-accent-wash);stroke:none;}
  .flowdg5 .s6datumln{stroke:var(--rt-accent);stroke-width:1.5;fill:none;
                      stroke-linejoin:miter;}

  .flowdg5 .s6ledbg{fill:var(--rt-bg-sunken);stroke:none;}
  .flowdg5 .s6rule{stroke:var(--rt-ink-4);stroke-width:1;fill:none;}
  .flowdg5 .s6hair{stroke:var(--rt-line-strong);stroke-width:1;fill:none;}
  /* A redacted value. Every RenTrade figure lives in assumptions.md and none may
     be quoted on this page, so the line says the number exists and stops. */
  .flowdg5 .s6redact{stroke:var(--rt-line-strong);stroke-width:5;fill:none;
                     stroke-linecap:butt;}
  .flowdg5 .s6markbox{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:1;}
  .flowdg5 .s6lead{stroke:var(--rt-accent);stroke-width:0.75;fill:none;
                   stroke-dasharray:2 3;opacity:0.65;}

  .flowdg5 .s6sq{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:0.75;}
  .flowdg5 .s6share{fill:var(--rt-accent);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s6cardbox{fill:var(--rt-surface);stroke:var(--rt-line-strong);stroke-width:1.25;}
  .flowdg5 .s6ring{stroke:var(--rt-accent);stroke-width:1.25;fill:none;}
  /* A value that is the point of the drawing, still redacted. */
  .flowdg5 .s6netbar{stroke:var(--rt-accent);stroke-width:5;fill:none;
                     stroke-linecap:butt;}
  /* A share drawn as a solid: top lightest, the two turned faces darker. */
  .flowdg5 .s6cubet{fill:var(--rt-accent);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s6cuber{fill:var(--rt-accent-press);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s6cubef{fill:var(--rt-accent-text);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s6tagbox{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:1;}
  .flowdg5 .s6tagt{font-family:var(--rt-font-mono);font-size:8px;font-weight:500;
                   fill:var(--rt-accent-text);letter-spacing:0.1em;stroke:none;}
  .flowdg5 .s6gap{stroke:var(--rt-accent);stroke-width:1;fill:none;stroke-dasharray:2 2;}
  .flowdg5 .s6trace{stroke:var(--rt-accent);stroke-width:0.75;fill:none;
                    stroke-dasharray:2 3;opacity:0.7;}
  .flowdg5 .s6linkln{stroke:var(--rt-line-strong);stroke-width:1;fill:none;
                     stroke-dasharray:3 6;}

  .flowdg5 .s6tag{font-family:var(--rt-font-mono);font-size:9.5px;fill:var(--rt-ink-3);
                  letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s6tagd{font-family:var(--rt-font-mono);font-size:9px;fill:var(--rt-ink-4);
                   letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s6lab{font-family:var(--rt-font-mono);font-size:9.5px;fill:var(--rt-ink-3);
                  letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s6capt{font-family:var(--rt-font-sans);font-weight:500;fill:var(--rt-ink);
                   letter-spacing:-0.01em;stroke:none;}
  .flowdg5 .s6caps{font-family:var(--rt-font-mono);font-size:8px;fill:var(--rt-ink-4);
                   letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s6capbar{fill:var(--rt-accent);stroke:none;}

  /* -- Beats ------------------------------------------------------------ */
  .s6gnd{animation-name:s6gnd;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6gnd{0%{opacity:0;}3.07%,93.01%{opacity:1;}100%{opacity:0;}}
  .s6lot{opacity:0;animation-name:s6lotin;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6lotin{0%,9.18%{opacity:0;}12.24%,93.01%{opacity:1;}100%{opacity:0;}}
  .s6brk{opacity:0;animation-name:s6brk;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6brk{0%,2.30%{opacity:0;}4.59%,7.65%{opacity:1;}9.95%,100%{opacity:0;}}
  .s6brk0{animation-delay:0s;}
  .s6brk1{animation-delay:0.66s;}
  .s6brk2{animation-delay:1.31s;}

  /* The building is in two layers, and only one of them leaves.
     FLESH is the occupancy wash, the bays and the construction datum: the parts
     that ARE the shares, or that only existed to show a transition. It goes when
     the squares do.
     BONES is the structure -- posts, floor lines, roof. It stays, dimmed, because
     a building does not stop existing when it is fractionalised. Its shares move
     to a listing; the building is still standing on its lot.
     Nested opacity multiplies, so the per-storey and per-floor reveals underneath
     keep working untouched. */
  .s6flesh{animation-name:s6flesh;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6flesh{0%,62.0%{opacity:1;}70.13%,100%{opacity:0;}}
  .s6bones{animation-name:s6bones;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6bones{0%,71.29%{opacity:1;}82.95%,93.01%{opacity:0.42;}100%{opacity:0;}}

  .s6fl{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s6fl0{animation-name:s6fl0;}
  @keyframes s6fl0{0%,16.0%{opacity:0;}17.4%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6fl1{animation-name:s6fl1;}
  @keyframes s6fl1{0%,17.4%{opacity:0;}18.8%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6fl2{animation-name:s6fl2;}
  @keyframes s6fl2{0%,18.7%{opacity:0;}20.1%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6fl3{animation-name:s6fl3;}
  @keyframes s6fl3{0%,20.1%{opacity:0;}21.5%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6fl4{animation-name:s6fl4;}
  @keyframes s6fl4{0%,21.4%{opacity:0;}22.8%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6fl5{animation-name:s6fl5;}
  @keyframes s6fl5{0%,22.7%{opacity:0;}24.1%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6fl6{animation-name:s6fl6;}
  @keyframes s6fl6{0%,24.1%{opacity:0;}25.5%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6fl7{animation-name:s6fl7;}
  @keyframes s6fl7{0%,25.4%{opacity:0;}26.8%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6fl8{animation-name:s6fl8;}
  @keyframes s6fl8{0%,26.7%{opacity:0;}28.1%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6fl9{animation-name:s6fl9;}
  @keyframes s6fl9{0%,28.1%{opacity:0;}29.5%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6fl10{animation-name:s6fl10;}
  @keyframes s6fl10{0%,29.4%{opacity:0;}30.8%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}

  .s6occ{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s6o0{animation-name:s6o0;}
  @keyframes s6o0{0%,30.8%{opacity:0;}32.2%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6o1{animation-name:s6o1;}
  @keyframes s6o1{0%,31.8%{opacity:0;}33.2%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6o2{animation-name:s6o2;}
  @keyframes s6o2{0%,32.8%{opacity:0;}34.2%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6o3{animation-name:s6o3;}
  @keyframes s6o3{0%,33.8%{opacity:0;}35.2%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6o4{animation-name:s6o4;}
  @keyframes s6o4{0%,34.9%{opacity:0;}36.3%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6o5{animation-name:s6o5;}
  @keyframes s6o5{0%,35.9%{opacity:0;}37.3%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6o6{animation-name:s6o6;}
  @keyframes s6o6{0%,36.9%{opacity:0;}38.3%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6o7{animation-name:s6o7;}
  @keyframes s6o7{0%,38.0%{opacity:0;}39.4%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6o8{animation-name:s6o8;}
  @keyframes s6o8{0%,39.0%{opacity:0;}40.4%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6o9{animation-name:s6o9;}
  @keyframes s6o9{0%,40.0%{opacity:0;}41.4%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s6o10{animation-name:s6o10;}
  @keyframes s6o10{0%,41.0%{opacity:0;}42.4%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}

  .s6lat{opacity:0;animation-name:s6lat;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6lat{0%,28.53%{opacity:0;}33.03%,99%{opacity:1;}100%{opacity:0;}}
  .s6leased{opacity:0;animation-name:s6leased;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6leased{0%,40.56%{opacity:0;}43.84%,99%{opacity:1;}100%{opacity:0;}}
  .s6datum{opacity:0;animation-name:s6datum,s6rise;animation-duration:27.5s,27.5s;animation-timing-function:var(--rt-ease),cubic-bezier(0.4,0,0.2,1);animation-iteration-count:infinite,infinite;animation-fill-mode:both,both;}
  @keyframes s6datum{0%,13.76%{opacity:0;}16.04%,29.26%{opacity:1;}33.03%,100%{opacity:0;}}
  @keyframes s6rise{0%,16.0%{transform:translateY(0);}
    30.8%,100%{transform:translateY(-157.0px);}}

  .s6led{opacity:0;animation-name:s6led;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6led{0%,43.33%{opacity:0;}45.89%,93.01%{opacity:1;}100%{opacity:0;}}
  .s6row{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s6r0{animation-name:s6r0;}
  @keyframes s6r0{0%,44.4%{opacity:0;}45.8%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}
  .s6r1{animation-name:s6r1;}
  @keyframes s6r1{0%,46.4%{opacity:0;}47.8%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}
  .s6r2{animation-name:s6r2;}
  @keyframes s6r2{0%,48.5%{opacity:0;}49.9%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}
  .s6r3{animation-name:s6r3;}
  @keyframes s6r3{0%,50.5%{opacity:0;}51.9%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}
  .s6r4{animation-name:s6r4;}
  @keyframes s6r4{0%,52.5%{opacity:0;}53.9%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}
  .s6r5{animation-name:s6r5;}
  @keyframes s6r5{0%,54.6%{opacity:0;}56.0%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}

  .s6mark{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s6mk0{animation-name:s6mk0;}
  @keyframes s6mk0{0%,46.4%{opacity:0;}47.8%,62.0%{opacity:1;}66.0%,100%{opacity:0;}}
  .s6mk1{animation-name:s6mk1;}
  @keyframes s6mk1{0%,49.8%{opacity:0;}51.2%,62.0%{opacity:1;}66.0%,100%{opacity:0;}}
  .s6mk2{animation-name:s6mk2;}
  @keyframes s6mk2{0%,53.2%{opacity:0;}54.6%,62.0%{opacity:1;}66.0%,100%{opacity:0;}}


  /* The squares. Each carries the offset to its OWN slot in the listing, so the
     keyframe is one rule for all seventy-seven. The share scales up on the way
     so it lands readable, and scale enters only the LATE keyframes or it would
     sit oversized on the building for half the cycle. */
  .s6sq{opacity:0;transform-box:fill-box;transform-origin:50% 50%;
        animation-name:s6fly;animation-duration:27.5s;animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s6share{--k:2.2;}
  @keyframes s6fly{0%,61.97%{opacity:0;transform:translate(0,0) scale(1);}
    63.15%,65.46%{opacity:1;transform:translate(0,0) scale(1);}
    78.30%,93.01%{opacity:1;transform:translate(var(--dx),var(--dy)) scale(var(--k,1));}
    100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(var(--k,1));}}

  .s6card{opacity:0;animation-name:s6card;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6card{0%,67.79%{opacity:0;}74.80%,93.01%{opacity:1;}100%{opacity:0;}}
  .s6link{opacity:0;animation-name:s6link;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6link{0%,73.63%{opacity:0;}81.79%,93.01%{opacity:1;}100%{opacity:0;}}
  .s6shlab{opacity:0;animation-name:s6shlab;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s6shlab{0%,79.45%{opacity:0;}84.12%,93.01%{opacity:1;}100%{opacity:0;}}

  .s6cap{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s6cap0{animation-name:s6cap0;}
  @keyframes s6cap0{0%,3.8%{opacity:0;transform:translateY(5px);}5.6%,15.3%{opacity:1;transform:translateY(0);}17.8%,100%{opacity:0;transform:translateY(0);}}
  .s6cap1{animation-name:s6cap1;}
  @keyframes s6cap1{0%,16.0%{opacity:0;transform:translateY(5px);}17.8%,29.3%{opacity:1;transform:translateY(0);}31.8%,100%{opacity:0;transform:translateY(0);}}
  .s6cap2{animation-name:s6cap2;}
  @keyframes s6cap2{0%,30.8%{opacity:0;transform:translateY(5px);}32.6%,42.8%{opacity:1;transform:translateY(0);}45.3%,100%{opacity:0;transform:translateY(0);}}
  .s6cap3{animation-name:s6cap3;}
  @keyframes s6cap3{0%,43.8%{opacity:0;transform:translateY(5px);}45.6%,60.2%{opacity:1;transform:translateY(0);}62.7%,100%{opacity:0;transform:translateY(0);}}
  .s6cap4{animation-name:s6cap4;}
  @keyframes s6cap4{0%,61.4%{opacity:0;transform:translateY(5px);}63.2%,70.1%{opacity:1;transform:translateY(0);}72.6%,100%{opacity:0;transform:translateY(0);}}
  .s6cap5{animation-name:s6cap5;}
  @keyframes s6cap5{0%,74.8%{opacity:0;transform:translateY(5px);}76.6%,93.0%{opacity:1;transform:translateY(0);}95.5%,100%{opacity:0;transform:translateY(0);}}


  @media (prefers-reduced-motion: reduce){
    /* The finished drawing: the listing, and nothing that only exists to show a
       transition. The building really is gone by the end, so it stays gone. */
    .flowdg5 *{animation:none !important;}
    /* .s6fl is the per-storey reveal, and it has to be listed or the BONES
       are empty: the group is set to 0.42 but every floor line inside it keeps
       the opacity:0 its stagger rule starts from, so the building vanished
       entirely. The settled frame this block is supposed to reproduce has the
       structure still standing, dimmed -- and a reader who asked for reduced
       motion sees ONLY this frame, so it was the one state that had to be
       right and the only one nobody was looking at. */
    .s6gnd,.s6lot,.s6fl,.s6led,.s6row,.s6sq,.s6card,.s6link,.s6shlab,.s6cap5{opacity:1;}
    .s6flesh,.s6brk,.s6datum,.s6mark{opacity:0;}
    .s6bones{opacity:0.42;}
    .s6cap0,.s6cap1,.s6cap2,.s6cap3,.s6cap4{opacity:0;}
    .s6sq{transform:translate(var(--dx),var(--dy)) scale(var(--k,1));}
  }

  .s6r6{animation-name:s6r6;}
  @keyframes s6r6{0%,58.18%{opacity:0;}60.81%,93.01%{opacity:1;}97.01%,100%{opacity:0;}}
  .flowdg5 .s6net{stroke:var(--rt-accent);stroke-width:5;fill:none;
                     stroke-linecap:butt;}
  .flowdg5 .s6netlab{font-family:var(--rt-font-mono);font-size:9.5px;
                        fill:var(--rt-ink);letter-spacing:0.14em;stroke:none;}

  /* Three weights: structure, plate, hairline. The only filled things are the
     units as they lease up, the squares, and the card. */
  .flowdg5 .s15grid{stroke:var(--rt-line);stroke-width:1;fill:none;}
  .flowdg5 .s15plan{stroke:var(--rt-ink-4);stroke-width:1;fill:none;opacity:0.5;}
  .flowdg5 .s15hatch{stroke:var(--rt-line-strong);stroke-width:0.6;fill:none;}
  .flowdg5 .s15lot{stroke:var(--rt-accent);stroke-width:1;fill:none;
                  stroke-dasharray:4 4;opacity:0.45;}
  .flowdg5 .s15tick{stroke:var(--rt-accent);stroke-width:1.5;fill:none;stroke-linecap:butt;}
  .flowdg5 .s15ln{stroke:var(--rt-ink-3);stroke-width:1.25;fill:none;stroke-linejoin:miter;}
  .flowdg5 .s15plate{stroke:var(--rt-ink-4);stroke-width:1;fill:none;
                    stroke-linecap:butt;opacity:0.7;}
  .flowdg5 .s15back{stroke:var(--rt-line-strong);stroke-width:0.75;fill:none;
                   stroke-linecap:butt;}
  .flowdg5 .s15dot{fill:var(--rt-accent-press);stroke:none;}
  .flowdg5 .s15mull{stroke:var(--rt-ink-4);stroke-width:0.75;fill:none;opacity:0.5;}
  .flowdg5 .s15occ{fill:var(--rt-accent-wash);stroke:none;}
  .flowdg5 .s15datumln{stroke:var(--rt-accent);stroke-width:1.5;fill:none;
                      stroke-linejoin:miter;}

  .flowdg5 .s15ledbg{fill:var(--rt-bg-sunken);stroke:none;}
  .flowdg5 .s15rule{stroke:var(--rt-ink-4);stroke-width:1;fill:none;}
  .flowdg5 .s15hair{stroke:var(--rt-line-strong);stroke-width:1;fill:none;}
  /* A redacted value. Every RenTrade figure lives in assumptions.md and none may
     be quoted on this page, so the line says the number exists and stops. */
  .flowdg5 .s15redact{stroke:var(--rt-line-strong);stroke-width:5;fill:none;
                     stroke-linecap:butt;}
  .flowdg5 .s15markbox{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:1;}
  .flowdg5 .s15lead{stroke:var(--rt-accent);stroke-width:0.75;fill:none;
                   stroke-dasharray:2 3;opacity:0.65;}

  .flowdg5 .s15sq{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:0.75;}
  .flowdg5 .s15share{fill:var(--rt-accent);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s15cardbox{fill:var(--rt-surface);stroke:var(--rt-line-strong);stroke-width:1.25;}
  .flowdg5 .s15ring{stroke:var(--rt-accent);stroke-width:1.25;fill:none;}
  /* A value that is the point of the drawing, still redacted. */
  .flowdg5 .s15netbar{stroke:var(--rt-accent);stroke-width:5;fill:none;
                     stroke-linecap:butt;}
  /* A share drawn as a solid: top lightest, the two turned faces darker. */
  .flowdg5 .s15cubet{fill:var(--rt-accent);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s15cuber{fill:var(--rt-accent-press);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s15cubef{fill:var(--rt-accent-text);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s15tagbox{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:1;}
  .flowdg5 .s15tagt{font-family:var(--rt-font-mono);font-size:8px;font-weight:500;
                   fill:var(--rt-accent-text);letter-spacing:0.1em;stroke:none;}
  .flowdg5 .s15gap{stroke:var(--rt-accent);stroke-width:1;fill:none;stroke-dasharray:2 2;}
  .flowdg5 .s15trace{stroke:var(--rt-accent);stroke-width:0.75;fill:none;
                    stroke-dasharray:2 3;opacity:0.7;}
  .flowdg5 .s15linkln{stroke:var(--rt-line-strong);stroke-width:1;fill:none;
                     stroke-dasharray:3 6;}

  .flowdg5 .s15tag{font-family:var(--rt-font-mono);font-size:9.5px;fill:var(--rt-ink-3);
                  letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s15tagd{font-family:var(--rt-font-mono);font-size:9px;fill:var(--rt-ink-4);
                   letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s15lab{font-family:var(--rt-font-mono);font-size:9.5px;fill:var(--rt-ink-3);
                  letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s15capt{font-family:var(--rt-font-sans);font-weight:500;fill:var(--rt-ink);
                   letter-spacing:-0.01em;stroke:none;}
  .flowdg5 .s15caps{font-family:var(--rt-font-mono);font-size:8px;fill:var(--rt-ink-4);
                   letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s15capbar{fill:var(--rt-accent);stroke:none;}

  /* -- Beats ------------------------------------------------------------ */
  .s15gnd{animation-name:s15gnd;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s15gnd{0%{opacity:0;}3.07%,93.01%{opacity:1;}100%{opacity:0;}}
  .s15lot{opacity:0;animation-name:s15lotin;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s15lotin{0%,9.18%{opacity:0;}12.24%,93.01%{opacity:1;}100%{opacity:0;}}
  .s15brk{opacity:0;animation-name:s15brk;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s15brk{0%,2.30%{opacity:0;}4.59%,7.65%{opacity:1;}9.95%,100%{opacity:0;}}
  .s15brk0{animation-delay:0s;}
  .s15brk1{animation-delay:0.66s;}
  .s15brk2{animation-delay:1.31s;}

  /* The building is in two layers, and only one of them leaves.
     FLESH is the occupancy wash, the bays and the construction datum: the parts
     that ARE the shares, or that only existed to show a transition. It goes when
     the squares do.
     BONES is the structure -- posts, floor lines, roof. It stays, dimmed, because
     a building does not stop existing when it is fractionalised. Its shares move
     to a listing; the building is still standing on its lot.
     Nested opacity multiplies, so the per-storey and per-floor reveals underneath
     keep working untouched. */
  .s15flesh{animation-name:s15flesh;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s15flesh{0%,62.0%{opacity:1;}70.13%,100%{opacity:0;}}
  .s15bones{animation-name:s15bones;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s15bones{0%,71.29%{opacity:1;}82.95%,93.01%{opacity:0.42;}100%{opacity:0;}}

  .s15fl{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s15fl0{animation-name:s15fl0;}
  @keyframes s15fl0{0%,16.0%{opacity:0;}17.4%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15fl1{animation-name:s15fl1;}
  @keyframes s15fl1{0%,17.4%{opacity:0;}18.8%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15fl2{animation-name:s15fl2;}
  @keyframes s15fl2{0%,18.7%{opacity:0;}20.1%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15fl3{animation-name:s15fl3;}
  @keyframes s15fl3{0%,20.1%{opacity:0;}21.5%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15fl4{animation-name:s15fl4;}
  @keyframes s15fl4{0%,21.4%{opacity:0;}22.8%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15fl5{animation-name:s15fl5;}
  @keyframes s15fl5{0%,22.7%{opacity:0;}24.1%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15fl6{animation-name:s15fl6;}
  @keyframes s15fl6{0%,24.1%{opacity:0;}25.5%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15fl7{animation-name:s15fl7;}
  @keyframes s15fl7{0%,25.4%{opacity:0;}26.8%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15fl8{animation-name:s15fl8;}
  @keyframes s15fl8{0%,26.7%{opacity:0;}28.1%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15fl9{animation-name:s15fl9;}
  @keyframes s15fl9{0%,28.1%{opacity:0;}29.5%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15fl10{animation-name:s15fl10;}
  @keyframes s15fl10{0%,29.4%{opacity:0;}30.8%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}

  .s15occ{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s15o0{animation-name:s15o0;}
  @keyframes s15o0{0%,30.8%{opacity:0;}32.2%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15o1{animation-name:s15o1;}
  @keyframes s15o1{0%,31.8%{opacity:0;}33.2%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15o2{animation-name:s15o2;}
  @keyframes s15o2{0%,32.8%{opacity:0;}34.2%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15o3{animation-name:s15o3;}
  @keyframes s15o3{0%,33.8%{opacity:0;}35.2%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15o4{animation-name:s15o4;}
  @keyframes s15o4{0%,34.9%{opacity:0;}36.3%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15o5{animation-name:s15o5;}
  @keyframes s15o5{0%,35.9%{opacity:0;}37.3%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15o6{animation-name:s15o6;}
  @keyframes s15o6{0%,36.9%{opacity:0;}38.3%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15o7{animation-name:s15o7;}
  @keyframes s15o7{0%,38.0%{opacity:0;}39.4%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15o8{animation-name:s15o8;}
  @keyframes s15o8{0%,39.0%{opacity:0;}40.4%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15o9{animation-name:s15o9;}
  @keyframes s15o9{0%,40.0%{opacity:0;}41.4%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}
  .s15o10{animation-name:s15o10;}
  @keyframes s15o10{0%,41.0%{opacity:0;}42.4%,99.0%{opacity:1;}99.5%,100%{opacity:0;}}

  .s15lat{opacity:0;animation-name:s15lat;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s15lat{0%,28.53%{opacity:0;}33.03%,99%{opacity:1;}100%{opacity:0;}}
  .s15leased{opacity:0;animation-name:s15leased;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s15leased{0%,40.56%{opacity:0;}43.84%,99%{opacity:1;}100%{opacity:0;}}
  .s15datum{opacity:0;animation-name:s15datum,s15rise;animation-duration:27.5s,27.5s;animation-timing-function:var(--rt-ease),cubic-bezier(0.4,0,0.2,1);animation-iteration-count:infinite,infinite;animation-fill-mode:both,both;}
  @keyframes s15datum{0%,13.76%{opacity:0;}16.04%,29.26%{opacity:1;}33.03%,100%{opacity:0;}}
  @keyframes s15rise{0%,16.0%{transform:translateY(0);}
    30.8%,100%{transform:translateY(-157.0px);}}

  .s15led{opacity:0;animation-name:s15led;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s15led{0%,43.33%{opacity:0;}45.89%,93.01%{opacity:1;}100%{opacity:0;}}
  .s15row{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s15r0{animation-name:s15r0;}
  @keyframes s15r0{0%,44.4%{opacity:0;}45.8%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}
  .s15r1{animation-name:s15r1;}
  @keyframes s15r1{0%,46.4%{opacity:0;}47.8%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}
  .s15r2{animation-name:s15r2;}
  @keyframes s15r2{0%,48.5%{opacity:0;}49.9%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}
  .s15r3{animation-name:s15r3;}
  @keyframes s15r3{0%,50.5%{opacity:0;}51.9%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}
  .s15r4{animation-name:s15r4;}
  @keyframes s15r4{0%,52.5%{opacity:0;}53.9%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}
  .s15r5{animation-name:s15r5;}
  @keyframes s15r5{0%,54.6%{opacity:0;}56.0%,93.0%{opacity:1;}97.0%,100%{opacity:0;}}

  .s15mark{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s15mk0{animation-name:s15mk0;}
  @keyframes s15mk0{0%,46.4%{opacity:0;}47.8%,62.0%{opacity:1;}66.0%,100%{opacity:0;}}
  .s15mk1{animation-name:s15mk1;}
  @keyframes s15mk1{0%,49.8%{opacity:0;}51.2%,62.0%{opacity:1;}66.0%,100%{opacity:0;}}
  .s15mk2{animation-name:s15mk2;}
  @keyframes s15mk2{0%,53.2%{opacity:0;}54.6%,62.0%{opacity:1;}66.0%,100%{opacity:0;}}


  /* The squares. Each carries the offset to its OWN slot in the listing, so the
     keyframe is one rule for all seventy-seven. The share scales up on the way
     so it lands readable, and scale enters only the LATE keyframes or it would
     sit oversized on the building for half the cycle. */
  .s15sq{opacity:0;transform-box:fill-box;transform-origin:50% 50%;
        animation-name:s15fly;animation-duration:27.5s;animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s15share{--k:2.2;}
  @keyframes s15fly{0%,61.97%{opacity:0;transform:translate(0,0) scale(1);}
    63.15%,65.46%{opacity:1;transform:translate(0,0) scale(1);}
    78.30%,93.01%{opacity:1;transform:translate(var(--dx),var(--dy)) scale(var(--k,1));}
    100%{opacity:0;transform:translate(var(--dx),var(--dy)) scale(var(--k,1));}}

  .s15card{opacity:0;animation-name:s15card;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s15card{0%,67.79%{opacity:0;}74.80%,93.01%{opacity:1;}100%{opacity:0;}}
  .s15shlab{opacity:0;animation-name:s15shlab;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s15shlab{0%,79.45%{opacity:0;}84.12%,93.01%{opacity:1;}100%{opacity:0;}}

  .s15cap{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s15cap0{animation-name:s15cap0;}
  @keyframes s15cap0{0%,3.8%{opacity:0;transform:translateY(5px);}5.6%,15.3%{opacity:1;transform:translateY(0);}17.8%,100%{opacity:0;transform:translateY(0);}}
  .s15cap1{animation-name:s15cap1;}
  @keyframes s15cap1{0%,16.0%{opacity:0;transform:translateY(5px);}17.8%,29.3%{opacity:1;transform:translateY(0);}31.8%,100%{opacity:0;transform:translateY(0);}}
  .s15cap2{animation-name:s15cap2;}
  @keyframes s15cap2{0%,30.8%{opacity:0;transform:translateY(5px);}32.6%,42.8%{opacity:1;transform:translateY(0);}45.3%,100%{opacity:0;transform:translateY(0);}}
  .s15cap3{animation-name:s15cap3;}
  @keyframes s15cap3{0%,43.8%{opacity:0;transform:translateY(5px);}45.6%,60.2%{opacity:1;transform:translateY(0);}62.7%,100%{opacity:0;transform:translateY(0);}}
  .s15cap4{animation-name:s15cap4;}
  @keyframes s15cap4{0%,61.4%{opacity:0;transform:translateY(5px);}63.2%,70.1%{opacity:1;transform:translateY(0);}72.6%,100%{opacity:0;transform:translateY(0);}}
  .s15cap5{animation-name:s15cap5;}
  @keyframes s15cap5{0%,74.8%{opacity:0;transform:translateY(5px);}76.6%,93.0%{opacity:1;transform:translateY(0);}95.5%,100%{opacity:0;transform:translateY(0);}}


  @media (prefers-reduced-motion: reduce){
    /* The finished drawing: the listing, and nothing that only exists to show a
       transition. The building really is gone by the end, so it stays gone. */
    .flowdg5 *{animation:none !important;}
    /* .s15fl is the per-storey reveal, and it has to be listed or the BONES
       are empty: the group is set to 0.42 but every floor line inside it keeps
       the opacity:0 its stagger rule starts from, so the building vanished
       entirely. The settled frame this block is supposed to reproduce has the
       structure still standing, dimmed -- and a reader who asked for reduced
       motion sees ONLY this frame, so it was the one state that had to be
       right and the only one nobody was looking at. */
    .s15gnd,.s15lot,.s15fl,.s15led,.s15row,.s15sq,.s15card,.s15link,.s15shlab,.s15cap5{opacity:1;}
    .s15flesh,.s15brk,.s15datum,.s15mark{opacity:0;}
    .s15bones{opacity:0.42;}
    .s15cap0,.s15cap1,.s15cap2,.s15cap3,.s15cap4{opacity:0;}
    .s15sq{transform:translate(var(--dx),var(--dy)) scale(var(--k,1));}
  }

  .s15r6{animation-name:s15r6;}
  @keyframes s15r6{0%,58.18%{opacity:0;}60.81%,93.01%{opacity:1;}97.01%,100%{opacity:0;}}
  .flowdg5 .s15net{stroke:var(--rt-accent);stroke-width:5;fill:none;
                     stroke-linecap:butt;}
  .flowdg5 .s15netlab{font-family:var(--rt-font-mono);font-size:9.5px;
                        fill:var(--rt-ink);letter-spacing:0.14em;stroke:none;}

  /* The structure STAYS on a desktop, dimmed: a building does not stop existing
     because it was fractionalised, and there is room beside the listing to show
     that. On a phone the listing card lands in the building's own region, so
     the bones have to be out of the way before it arrives -- which is the same
     statement made by occupying the same ground rather than by standing next
     to it. */
  @keyframes s15bones{0%,60.79%{opacity:1;}66.79%,100%{opacity:0;}}
  /* And the ground it stands on, and the lot struck around it. On a desktop
     both stay: the card is far to the right and the site under the building is
     still the point. Here the card lands ON that ground, and a site plan half
     hidden behind a listing thumbnail reads as something left behind rather
     than as a site. */
  @keyframes s15gnd{0%{opacity:0;}2.86%,60.79%{opacity:1;}66.79%,100%{opacity:0;}}
  @keyframes s15lotin{0%,8.56%{opacity:0;}11.41%,60.79%{opacity:1;}66.79%,100%{opacity:0;}}

  /* Three weights: structure, plate, hairline. The only filled things are the
     units as they lease up, the squares, and the card. */
  .flowdg5 .s13grid{stroke:var(--rt-line);stroke-width:1;fill:none;}
  .flowdg5 .s13plan{stroke:var(--rt-ink-4);stroke-width:1;fill:none;opacity:0.5;}
  .flowdg5 .s13hatch{stroke:var(--rt-line-strong);stroke-width:0.6;fill:none;}
  .flowdg5 .s13lot{stroke:var(--rt-accent);stroke-width:1;fill:none;
                  stroke-dasharray:4 4;opacity:0.45;}
  .flowdg5 .s13tick{stroke:var(--rt-accent);stroke-width:1.5;fill:none;stroke-linecap:butt;}
  .flowdg5 .s13ln{stroke:var(--rt-ink-3);stroke-width:1.25;fill:none;stroke-linejoin:miter;}
  .flowdg5 .s13plate{stroke:var(--rt-ink-4);stroke-width:1;fill:none;
                    stroke-linecap:butt;opacity:0.7;}
  .flowdg5 .s13back{stroke:var(--rt-line-strong);stroke-width:0.75;fill:none;
                   stroke-linecap:butt;}
  .flowdg5 .s13dot{fill:var(--rt-accent-press);stroke:none;}
  .flowdg5 .s13mull{stroke:var(--rt-ink-4);stroke-width:0.75;fill:none;opacity:0.5;}
  .flowdg5 .s13occ{fill:var(--rt-accent-wash);stroke:none;}
  .flowdg5 .s13datumln{stroke:var(--rt-accent);stroke-width:1.5;fill:none;
                      stroke-linejoin:miter;}

  .flowdg5 .s13ledbg{fill:var(--rt-bg-sunken);stroke:none;}
  .flowdg5 .s13rule{stroke:var(--rt-ink-4);stroke-width:1;fill:none;}
  .flowdg5 .s13hair{stroke:var(--rt-line-strong);stroke-width:1;fill:none;}
  /* A redacted value. Every RenTrade figure lives in assumptions.md and none may
     be quoted on this page, so the line says the number exists and stops. */
  .flowdg5 .s13redact{stroke:var(--rt-line-strong);stroke-width:5;fill:none;
                     stroke-linecap:butt;}
  .flowdg5 .s13markbox{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:1;}
  .flowdg5 .s13lead{stroke:var(--rt-accent);stroke-width:0.75;fill:none;
                   stroke-dasharray:2 3;opacity:0.65;}

  .flowdg5 .s13sq{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:0.75;}
  .flowdg5 .s13share{fill:var(--rt-accent);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s13cardbox{fill:var(--rt-surface);stroke:var(--rt-line-strong);stroke-width:1.25;}
  .flowdg5 .s13ring{stroke:var(--rt-accent);stroke-width:1.25;fill:none;}
  /* A value that is the point of the drawing, still redacted. */
  .flowdg5 .s13netbar{stroke:var(--rt-accent);stroke-width:5;fill:none;
                     stroke-linecap:butt;}
  /* A share drawn as a solid: top lightest, the two turned faces darker. */
  .flowdg5 .s13cubet{fill:var(--rt-accent);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s13cuber{fill:var(--rt-accent-press);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s13cubef{fill:var(--rt-accent-text);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s13tagbox{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:1;}
  .flowdg5 .s13tagt{font-family:var(--rt-font-mono);font-size:8px;font-weight:500;
                   fill:var(--rt-accent-text);letter-spacing:0.1em;stroke:none;}
  .flowdg5 .s13gap{stroke:var(--rt-accent);stroke-width:1;fill:none;stroke-dasharray:2 2;}
  .flowdg5 .s13trace{stroke:var(--rt-accent);stroke-width:0.75;fill:none;
                    stroke-dasharray:2 3;opacity:0.7;}
  .flowdg5 .s13linkln{stroke:var(--rt-line-strong);stroke-width:1;fill:none;
                     stroke-dasharray:3 6;}

  .flowdg5 .s13tag{font-family:var(--rt-font-mono);font-size:9.5px;fill:var(--rt-ink-3);
                  letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s13tagd{font-family:var(--rt-font-mono);font-size:9px;fill:var(--rt-ink-4);
                   letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s13lab{font-family:var(--rt-font-mono);font-size:9.5px;fill:var(--rt-ink-3);
                  letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s13capt{font-family:var(--rt-font-sans);font-weight:500;fill:var(--rt-ink);
                   letter-spacing:-0.01em;stroke:none;}
  .flowdg5 .s13caps{font-family:var(--rt-font-mono);font-size:8px;fill:var(--rt-ink-4);
                   letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s13capbar{fill:var(--rt-accent);stroke:none;}

  .s13stage{animation-name:s13stage;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s13stage{0%{opacity:0;}3%,94%{opacity:1;}100%{opacity:0;}}

  /* A share of a building that is not yours: it exists, it is just hollow. */
  .flowdg5 .s13out{fill:none;stroke:var(--rt-line-strong);stroke-width:0.75;}
  /* The book. Ink for the levels, the accent for the one that is yours, and
     the spread itself dashed because a solid line between two sides reads as
     a mid price and there is no price in this row. */
  .flowdg5 .s13bk{fill:var(--rt-line-strong);stroke:none;}
  .flowdg5 .s13bkm{fill:var(--rt-accent);stroke:none;}
  .flowdg5 .s13sp{stroke:var(--rt-ink-4);stroke-width:1;fill:none;stroke-dasharray:2 2;}
  /* What a listing costs, as a band. Mono, because every quantity on this page
     is mono, and ink-3 rather than the ink-4 a redaction reads at -- a band is
     something to READ, where a redaction is something to notice and move past. */
  .flowdg5 .s13px{font-family:var(--rt-font-mono);font-size:11px;font-weight:500;
                  fill:var(--rt-ink-3);letter-spacing:0.02em;stroke:none;}

  /* The list DIMS rather than leaving. Our catalogue does not stop existing
     because you bought into three of it, and an empty left third for the last
     half of the cycle is a worse problem than a slightly fuller frame. */
  .s13dim{animation-name:s13dim;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s13dim{0%,27.3%{opacity:1;}32.3%,94%{opacity:0.26;}100%{opacity:0;}}
  .s13hd{animation-name:s13hd;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s13hd{0%,1%{opacity:0;}3%,94%{opacity:1;}100%{opacity:0;}}
  .s13r{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s13r0{animation-name:s13r0;}
  @keyframes s13r0{0%,3.3%{opacity:0;}4.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13r1{animation-name:s13r1;}
  @keyframes s13r1{0%,5.5%{opacity:0;}6.9%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13r2{animation-name:s13r2;}
  @keyframes s13r2{0%,7.6%{opacity:0;}9.0%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}

  /* The slot a row left behind. */
  .s13vd{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s13vd0{animation-name:s13vd0;}
  @keyframes s13vd0{0%,28.1%{opacity:0;}29.5%,93.0%{opacity:0.45;}97.0%,100%{opacity:0;}}
  .s13vd1{animation-name:s13vd1;}
  @keyframes s13vd1{0%,29.7%{opacity:0;}31.1%,93.0%{opacity:0.45;}97.0%,100%{opacity:0;}}
  .s13vd2{animation-name:s13vd2;}
  @keyframes s13vd2{0%,31.3%{opacity:0;}32.7%,93.0%{opacity:0.45;}97.0%,100%{opacity:0;}}

  .s13pk{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s13q0{animation-name:s13q0;}
  @keyframes s13q0{0%,10.9%{opacity:0;}12.3%,27.3%{opacity:1;}31.3%,100%{opacity:0;}}
  .s13q1{animation-name:s13q1;}
  @keyframes s13q1{0%,13.5%{opacity:0;}14.9%,27.3%{opacity:1;}31.3%,100%{opacity:0;}}
  .s13q2{animation-name:s13q2;}
  @keyframes s13q2{0%,16.0%{opacity:0;}17.4%,27.3%{opacity:1;}31.3%,100%{opacity:0;}}


  /* The rows you picked leave the list and close up. Same objects: the holding
     IS the listings, which is the one thing this drawing has to say. */
  .s13mv{opacity:0;animation-duration:27.5s;animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s13v0{animation-name:s13v0;}
  @keyframes s13v0{0%,4.4%{opacity:0;transform:translate(0,0);}5.8%,25.1%{opacity:1;transform:translate(0,0);}35.0%,93.0%{opacity:1;transform:translate(var(--dx),var(--dy));}97.0%,100%{opacity:0;transform:translate(var(--dx),var(--dy));}}
  .s13v1{animation-name:s13v1;}
  @keyframes s13v1{0%,6.6%{opacity:0;transform:translate(0,0);}8.0%,26.7%{opacity:1;transform:translate(0,0);}35.0%,93.0%{opacity:1;transform:translate(var(--dx),var(--dy));}97.0%,100%{opacity:0;transform:translate(var(--dx),var(--dy));}}
  .s13v2{animation-name:s13v2;}
  @keyframes s13v2{0%,8.7%{opacity:0;transform:translate(0,0);}10.1%,28.3%{opacity:1;transform:translate(0,0);}35.0%,93.0%{opacity:1;transform:translate(var(--dx),var(--dy));}97.0%,100%{opacity:0;transform:translate(var(--dx),var(--dy));}}

  /* The asking price belongs to the listing; what you hold gets a bar of its
     own the moment the listing becomes yours. */
  .s13pr{animation-name:s13pr;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s13pr{0%,25.1%{opacity:1;}36.1%,100%{opacity:0;}}
  .s13b{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s13b0{animation-name:s13b0;}
  @keyframes s13b0{0%,10.9%{opacity:0;}11.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b1{animation-name:s13b1;}
  @keyframes s13b1{0%,11.3%{opacity:0;}12.1%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b2{animation-name:s13b2;}
  @keyframes s13b2{0%,11.7%{opacity:0;}12.5%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b3{animation-name:s13b3;}
  @keyframes s13b3{0%,12.1%{opacity:0;}12.9%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b4{animation-name:s13b4;}
  @keyframes s13b4{0%,12.5%{opacity:0;}13.3%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b5{animation-name:s13b5;}
  @keyframes s13b5{0%,12.9%{opacity:0;}13.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b6{animation-name:s13b6;}
  @keyframes s13b6{0%,13.3%{opacity:0;}14.1%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b7{animation-name:s13b7;}
  @keyframes s13b7{0%,13.7%{opacity:0;}14.5%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b8{animation-name:s13b8;}
  @keyframes s13b8{0%,14.1%{opacity:0;}14.9%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b9{animation-name:s13b9;}
  @keyframes s13b9{0%,14.5%{opacity:0;}15.3%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b10{animation-name:s13b10;}
  @keyframes s13b10{0%,14.9%{opacity:0;}15.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b11{animation-name:s13b11;}
  @keyframes s13b11{0%,15.3%{opacity:0;}16.1%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b12{animation-name:s13b12;}
  @keyframes s13b12{0%,15.7%{opacity:0;}16.5%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b13{animation-name:s13b13;}
  @keyframes s13b13{0%,16.1%{opacity:0;}16.9%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b14{animation-name:s13b14;}
  @keyframes s13b14{0%,16.5%{opacity:0;}17.3%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b15{animation-name:s13b15;}
  @keyframes s13b15{0%,16.9%{opacity:0;}17.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b16{animation-name:s13b16;}
  @keyframes s13b16{0%,17.3%{opacity:0;}18.1%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b17{animation-name:s13b17;}
  @keyframes s13b17{0%,17.7%{opacity:0;}18.5%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b18{animation-name:s13b18;}
  @keyframes s13b18{0%,18.1%{opacity:0;}18.9%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b19{animation-name:s13b19;}
  @keyframes s13b19{0%,18.5%{opacity:0;}19.3%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b20{animation-name:s13b20;}
  @keyframes s13b20{0%,18.9%{opacity:0;}19.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13b21{animation-name:s13b21;}
  @keyframes s13b21{0%,19.3%{opacity:0;}20.1%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}

  .s13ht{opacity:0;animation-name:s13ht;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s13ht{0%,35.0%{opacity:0;}36.1%,94%{opacity:1;}100%{opacity:0;}}

  /* The bar scales from its LEFT end, so it re-states a length rather than
     growing out of a centre that means nothing. */
  .s13w{opacity:0;transform-box:fill-box;transform-origin:left center;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .flowdg5 .s13w{fill:var(--rt-accent);stroke:none;}
  .s13w0{animation-name:s13w0;}
  @keyframes s13w0{0%,36.05%{opacity:0;transform:scaleX(1.000);}37.65%,56.59%{opacity:1;transform:scaleX(1.000);}58.19%,93.01%{opacity:1;transform:scaleX(1.300);}97.01%,100%{opacity:0;transform:scaleX(1.300);}}
  .s13w1{animation-name:s13w1;}
  @keyframes s13w1{0%,36.05%{opacity:0;transform:scaleX(1.000);}37.65%,56.59%{opacity:1;transform:scaleX(1.000);}58.19%,93.01%{opacity:1;transform:scaleX(0.860);}97.01%,100%{opacity:0;transform:scaleX(0.860);}}
  .s13w2{animation-name:s13w2;}
  @keyframes s13w2{0%,36.05%{opacity:0;transform:scaleX(1.000);}37.65%,56.59%{opacity:1;transform:scaleX(1.000);}58.19%,93.01%{opacity:1;transform:scaleX(1.100);}97.01%,100%{opacity:0;transform:scaleX(1.100);}}

  .s13gh{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .flowdg5 .s13gh{stroke:var(--rt-accent);stroke-width:1;fill:none;stroke-dasharray:2 2;}
  .s13gh0{animation-name:s13gh0;}
  @keyframes s13gh0{0%,56.59%{opacity:0;}57.59%,60.59%{opacity:1;}63.09%,100%{opacity:0;}}
  .s13gh1{animation-name:s13gh1;}
  @keyframes s13gh1{0%,56.59%{opacity:0;}57.59%,60.59%{opacity:1;}63.09%,100%{opacity:0;}}
  .s13gh2{animation-name:s13gh2;}
  @keyframes s13gh2{0%,56.59%{opacity:0;}57.59%,60.59%{opacity:1;}63.09%,100%{opacity:0;}}


  .s13ld{opacity:0;animation-name:s13ld;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s13ld{0%,38.4%{opacity:0;}40.4%,94%{opacity:1;}100%{opacity:0;}}
  .s13rl{opacity:0;animation-name:s13rl;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s13rl{0%,38.4%{opacity:0;}40.4%,94%{opacity:1;}100%{opacity:0;}}
  /* RIGHT, not left. The amounts are right-aligned in their column the way a
     statement's are, so a credit grows leftward out of the edge it is aligned
     to -- the way a number does as digits are added to it. Growing from the
     left would walk it away from the column it belongs to. */
  .s13p{opacity:0;transform-box:fill-box;transform-origin:right center;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .flowdg5 .s13pay{fill:var(--rt-accent);stroke:none;}
  .flowdg5 .s13plus{font-family:var(--rt-font-mono);font-size:12px;font-weight:500;
                    fill:var(--rt-accent);stroke:none;}
  .s13pl{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s13pl0{animation-name:s13pl0;}
  @keyframes s13pl0{0%,40.4%{opacity:0;}42.0%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13pl1{animation-name:s13pl1;}
  @keyframes s13pl1{0%,42.2%{opacity:0;}43.8%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s13pl2{animation-name:s13pl2;}
  @keyframes s13pl2{0%,44.1%{opacity:0;}45.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}

  .s13p0{animation-name:s13p0;}
  @keyframes s13p0{0%,40.4%{opacity:0;transform:scaleX(0);}42.0%,93.0%{opacity:1;transform:scaleX(1);}97.0%,100%{opacity:0;transform:scaleX(1);}}
  .s13p1{animation-name:s13p1;}
  @keyframes s13p1{0%,42.2%{opacity:0;transform:scaleX(0);}43.8%,93.0%{opacity:1;transform:scaleX(1);}97.0%,100%{opacity:0;transform:scaleX(1);}}
  .s13p2{animation-name:s13p2;}
  @keyframes s13p2{0%,44.1%{opacity:0;transform:scaleX(0);}45.7%,93.0%{opacity:1;transform:scaleX(1);}97.0%,100%{opacity:0;transform:scaleX(1);}}


  /* Selling. The shares travel, and a dashed slot stays behind in the run
     they came out of, so what left is still legible in what is left. */

  /* The balance. The SAME DEVICE as the worth bar and drawn that way on
     purpose: a redaction that re-states once, scaling from its left end rather
     than growing out of a centre that means nothing, with a dashed ghost left
     at the length it used to be. A value that exists and is not being quoted.

     It restates when the RENT HAS LANDED and never at the revaluation. See
     BAL for why that distinction is the whole safety of this beat. */
  .s13bal{opacity:0;transform-box:fill-box;transform-origin:left center;animation-name:s13bal;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .flowdg5 .s13bal{fill:var(--rt-line-strong);stroke:none;}
  @keyframes s13bal{0%,38.4%{opacity:0;transform:scaleX(1.000);}40.4%,46.26%{opacity:1;transform:scaleX(1.000);}47.66%,93.01%{opacity:1;transform:scaleX(1.340);}97.01%,100%{opacity:0;transform:scaleX(1.340);}}
  .s13bgh{opacity:0;animation-name:s13bgh;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .flowdg5 .s13bgh{stroke:var(--rt-line-strong);stroke-width:1;fill:none;stroke-dasharray:2 2;}
  @keyframes s13bgh{0%,46.26%{opacity:0;}47.66%,93.01%{opacity:1;}97.01%,100%{opacity:0;}}

  /* THE STATUS PAIR, and it is a pair everywhere it is used. Green never
     appears on its own in this drawing: _mark() takes one `up` argument and
     picks the arrow AND the colour from it together, so there is no way to
     draw a green arrow on a value that fell. At the revaluation one of the
     three strips falls, so one of the three marks is red -- which is what
     makes the other two honest rather than decoration. */
  .flowdg5 .s13arw{fill:none;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;}
  .flowdg5 .s13cur{font-family:var(--rt-font-mono);font-size:10px;font-weight:500;stroke:none;}
  .flowdg5 .s13pos .s13arw{stroke:var(--rt-positive);}
  .flowdg5 .s13pos .s13cur{fill:var(--rt-positive);}
  .flowdg5 .s13neg .s13arw{stroke:var(--rt-negative);}
  .flowdg5 .s13neg .s13cur{fill:var(--rt-negative);}
  /* Both sets of marks are EMOTES: they pop on the beat they belong to, hold
     for half a second and lift away. See _emote(). The balance's arrives with
     the restatement it is marking; the revaluation's three are staggered. */
  .s13bm,.s13rvm{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s13bm{animation-name:s13bm;}
  @keyframes s13bm{0%,46.26%{opacity:0;transform:translateY(3px);}46.85%,48.67%{opacity:1;transform:translateY(0);}49.47%,100%{opacity:0;transform:translateY(-2px);}}

  .s13rvm0{animation-name:s13rvm0;}
  @keyframes s13rvm0{0%,56.59%{opacity:0;transform:translateY(3px);}57.17%,58.99%{opacity:1;transform:translateY(0);}59.79%,100%{opacity:0;transform:translateY(-2px);}}
  .s13rvm1{animation-name:s13rvm1;}
  @keyframes s13rvm1{0%,57.19%{opacity:0;transform:translateY(3px);}57.77%,59.59%{opacity:1;transform:translateY(0);}60.39%,100%{opacity:0;transform:translateY(-2px);}}
  .s13rvm2{animation-name:s13rvm2;}
  @keyframes s13rvm2{0%,57.79%{opacity:0;transform:translateY(3px);}58.37%,60.19%{opacity:1;transform:translateY(0);}60.99%,100%{opacity:0;transform:translateY(-2px);}}


  .s13sv{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s13sv0{animation-name:s13sv0;}
  @keyframes s13sv0{0%,67.8%{opacity:0;}69.2%,93.0%{opacity:0.75;}97.0%,100%{opacity:0;}}
  .s13sv1{animation-name:s13sv1;}
  @keyframes s13sv1{0%,68.6%{opacity:0;}70.0%,93.0%{opacity:0.75;}97.0%,100%{opacity:0;}}
  .s13sv2{animation-name:s13sv2;}
  @keyframes s13sv2{0%,69.4%{opacity:0;}70.8%,93.0%{opacity:0.75;}97.0%,100%{opacity:0;}}
  .s13sv3{animation-name:s13sv3;}
  @keyframes s13sv3{0%,70.2%{opacity:0;}71.6%,93.0%{opacity:0.75;}97.0%,100%{opacity:0;}}

  .s13f{animation-duration:27.5s;animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s13f0{animation-name:s13f0;}
  @keyframes s13f0{0%,66.3%{transform:translate(0,0);}73.9%,100%{transform:translate(var(--dx),var(--dy));}}
  .s13f1{animation-name:s13f1;}
  @keyframes s13f1{0%,67.1%{transform:translate(0,0);}74.7%,100%{transform:translate(var(--dx),var(--dy));}}
  .s13f2{animation-name:s13f2;}
  @keyframes s13f2{0%,67.9%{transform:translate(0,0);}75.5%,100%{transform:translate(var(--dx),var(--dy));}}
  .s13f3{animation-name:s13f3;}
  @keyframes s13f3{0%,68.7%{transform:translate(0,0);}76.3%,100%{transform:translate(var(--dx),var(--dy));}}

  .s13mk{opacity:0;animation-name:s13mk;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s13mk{0%,63.3%{opacity:0;}66.3%,94%{opacity:1;}100%{opacity:0;}}
  .s13li{opacity:0;animation-name:s13li;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s13li{0%,75.9%{opacity:0;}77.9%,94%{opacity:1;}100%{opacity:0;}}

  .s13cap{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s13cap0{animation-name:s13cap0;}
  @keyframes s13cap0{0%,4.4%{opacity:0;transform:translateY(5px);}6.2%,22.9%{opacity:1;transform:translateY(0);}25.4%,100%{opacity:0;transform:translateY(0);}}
  .s13cap1{animation-name:s13cap1;}
  @keyframes s13cap1{0%,25.1%{opacity:0;transform:translateY(5px);}26.9%,39.3%{opacity:1;transform:translateY(0);}41.8%,100%{opacity:0;transform:translateY(0);}}
  .s13cap2{animation-name:s13cap2;}
  @keyframes s13cap2{0%,40.4%{opacity:0;transform:translateY(5px);}42.2%,51.3%{opacity:1;transform:translateY(0);}53.8%,100%{opacity:0;transform:translateY(0);}}
  .s13cap3{animation-name:s13cap3;}
  @keyframes s13cap3{0%,53.5%{opacity:0;transform:translateY(5px);}55.3%,64.8%{opacity:1;transform:translateY(0);}67.3%,100%{opacity:0;transform:translateY(0);}}
  .s13cap4{animation-name:s13cap4;}
  @keyframes s13cap4{0%,66.3%{opacity:0;transform:translateY(5px);}68.1%,93.0%{opacity:1;transform:translateY(0);}95.5%,100%{opacity:0;transform:translateY(0);}}


  @media (prefers-reduced-motion: reduce){
    .flowdg5 *{animation:none !important;}
    .s13stage,.s13hd,.s13r,.s13mv,.s13b,.s13ht,.s13w,.s13ld,.s13rl,.s13p,.s13pl,.s13f,.s13mk,.s13li,.s13cap4,.s13bal,.s13bgh,.s13bm,.s13rvm{opacity:1;}
    .s13dim{opacity:0.26;}
    .s13sv{opacity:0.75;}
    .s13pk,.s13pr,.s13gh,.s13vd,.s13cap0,.s13cap1,.s13cap2,.s13cap3{opacity:0;}
    .s13mv,.s13f{transform:translate(var(--dx),var(--dy));}
    .s13p{transform:scaleX(1);}
    .s13bal{transform:scaleX(1.340);}
    .s13w{transform:scaleX(1);}
  }

  /* Three weights: structure, plate, hairline. The only filled things are the
     units as they lease up, the squares, and the card. */
  .flowdg5 .s14grid{stroke:var(--rt-line);stroke-width:1;fill:none;}
  .flowdg5 .s14plan{stroke:var(--rt-ink-4);stroke-width:1;fill:none;opacity:0.5;}
  .flowdg5 .s14hatch{stroke:var(--rt-line-strong);stroke-width:0.6;fill:none;}
  .flowdg5 .s14lot{stroke:var(--rt-accent);stroke-width:1;fill:none;
                  stroke-dasharray:4 4;opacity:0.45;}
  .flowdg5 .s14tick{stroke:var(--rt-accent);stroke-width:1.5;fill:none;stroke-linecap:butt;}
  .flowdg5 .s14ln{stroke:var(--rt-ink-3);stroke-width:1.25;fill:none;stroke-linejoin:miter;}
  .flowdg5 .s14plate{stroke:var(--rt-ink-4);stroke-width:1;fill:none;
                    stroke-linecap:butt;opacity:0.7;}
  .flowdg5 .s14back{stroke:var(--rt-line-strong);stroke-width:0.75;fill:none;
                   stroke-linecap:butt;}
  .flowdg5 .s14dot{fill:var(--rt-accent-press);stroke:none;}
  .flowdg5 .s14mull{stroke:var(--rt-ink-4);stroke-width:0.75;fill:none;opacity:0.5;}
  .flowdg5 .s14occ{fill:var(--rt-accent-wash);stroke:none;}
  .flowdg5 .s14datumln{stroke:var(--rt-accent);stroke-width:1.5;fill:none;
                      stroke-linejoin:miter;}

  .flowdg5 .s14ledbg{fill:var(--rt-bg-sunken);stroke:none;}
  .flowdg5 .s14rule{stroke:var(--rt-ink-4);stroke-width:1;fill:none;}
  .flowdg5 .s14hair{stroke:var(--rt-line-strong);stroke-width:1;fill:none;}
  /* A redacted value. Every RenTrade figure lives in assumptions.md and none may
     be quoted on this page, so the line says the number exists and stops. */
  .flowdg5 .s14redact{stroke:var(--rt-line-strong);stroke-width:5;fill:none;
                     stroke-linecap:butt;}
  .flowdg5 .s14markbox{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:1;}
  .flowdg5 .s14lead{stroke:var(--rt-accent);stroke-width:0.75;fill:none;
                   stroke-dasharray:2 3;opacity:0.65;}

  .flowdg5 .s14sq{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:0.75;}
  .flowdg5 .s14share{fill:var(--rt-accent);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s14cardbox{fill:var(--rt-surface);stroke:var(--rt-line-strong);stroke-width:1.25;}
  .flowdg5 .s14ring{stroke:var(--rt-accent);stroke-width:1.25;fill:none;}
  /* A value that is the point of the drawing, still redacted. */
  .flowdg5 .s14netbar{stroke:var(--rt-accent);stroke-width:5;fill:none;
                     stroke-linecap:butt;}
  /* A share drawn as a solid: top lightest, the two turned faces darker. */
  .flowdg5 .s14cubet{fill:var(--rt-accent);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s14cuber{fill:var(--rt-accent-press);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s14cubef{fill:var(--rt-accent-text);stroke:var(--rt-accent-press);stroke-width:1;}
  .flowdg5 .s14tagbox{fill:var(--rt-accent-wash);stroke:var(--rt-accent);stroke-width:1;}
  .flowdg5 .s14tagt{font-family:var(--rt-font-mono);font-size:8px;font-weight:500;
                   fill:var(--rt-accent-text);letter-spacing:0.1em;stroke:none;}
  .flowdg5 .s14gap{stroke:var(--rt-accent);stroke-width:1;fill:none;stroke-dasharray:2 2;}
  .flowdg5 .s14trace{stroke:var(--rt-accent);stroke-width:0.75;fill:none;
                    stroke-dasharray:2 3;opacity:0.7;}
  .flowdg5 .s14linkln{stroke:var(--rt-line-strong);stroke-width:1;fill:none;
                     stroke-dasharray:3 6;}

  .flowdg5 .s14tag{font-family:var(--rt-font-mono);font-size:9.5px;fill:var(--rt-ink-3);
                  letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s14tagd{font-family:var(--rt-font-mono);font-size:9px;fill:var(--rt-ink-4);
                   letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s14lab{font-family:var(--rt-font-mono);font-size:9.5px;fill:var(--rt-ink-3);
                  letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s14capt{font-family:var(--rt-font-sans);font-weight:500;fill:var(--rt-ink);
                   letter-spacing:-0.01em;stroke:none;}
  .flowdg5 .s14caps{font-family:var(--rt-font-mono);font-size:8px;fill:var(--rt-ink-4);
                   letter-spacing:0.14em;stroke:none;}
  .flowdg5 .s14capbar{fill:var(--rt-accent);stroke:none;}

  .s14stage{animation-name:s14stage;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s14stage{0%{opacity:0;}3%,94%{opacity:1;}100%{opacity:0;}}

  /* A share of a building that is not yours: it exists, it is just hollow. */
  .flowdg5 .s14out{fill:none;stroke:var(--rt-line-strong);stroke-width:0.75;}
  /* The book. Ink for the levels, the accent for the one that is yours, and
     the spread itself dashed because a solid line between two sides reads as
     a mid price and there is no price in this row. */
  .flowdg5 .s14bk{fill:var(--rt-line-strong);stroke:none;}
  .flowdg5 .s14bkm{fill:var(--rt-accent);stroke:none;}
  .flowdg5 .s14sp{stroke:var(--rt-ink-4);stroke-width:1;fill:none;stroke-dasharray:2 2;}
  /* What a listing costs, as a band. Mono, because every quantity on this page
     is mono, and ink-3 rather than the ink-4 a redaction reads at -- a band is
     something to READ, where a redaction is something to notice and move past. */
  .flowdg5 .s14px{font-family:var(--rt-font-mono);font-size:11px;font-weight:500;
                  fill:var(--rt-ink-3);letter-spacing:0.02em;stroke:none;}

  /* The list DIMS rather than leaving. Our catalogue does not stop existing
     because you bought into three of it, and an empty left third for the last
     half of the cycle is a worse problem than a slightly fuller frame. */
  .s14dim{animation-name:s14dim;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s14dim{0%,27.3%{opacity:1;}32.3%,94%{opacity:0.26;}100%{opacity:0;}}
  .s14hd{animation-name:s14hd;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s14hd{0%,1%{opacity:0;}3%,94%{opacity:1;}100%{opacity:0;}}
  .s14r{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s14r0{animation-name:s14r0;}
  @keyframes s14r0{0%,3.3%{opacity:0;}4.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14r1{animation-name:s14r1;}
  @keyframes s14r1{0%,5.5%{opacity:0;}6.9%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14r2{animation-name:s14r2;}
  @keyframes s14r2{0%,7.6%{opacity:0;}9.0%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}

  /* The slot a row left behind. */
  .s14vd{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s14vd0{animation-name:s14vd0;}
  @keyframes s14vd0{0%,28.1%{opacity:0;}29.5%,93.0%{opacity:0.45;}97.0%,100%{opacity:0;}}
  .s14vd1{animation-name:s14vd1;}
  @keyframes s14vd1{0%,29.7%{opacity:0;}31.1%,93.0%{opacity:0.45;}97.0%,100%{opacity:0;}}
  .s14vd2{animation-name:s14vd2;}
  @keyframes s14vd2{0%,31.3%{opacity:0;}32.7%,93.0%{opacity:0.45;}97.0%,100%{opacity:0;}}

  .s14pk{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s14q0{animation-name:s14q0;}
  @keyframes s14q0{0%,10.9%{opacity:0;}12.3%,27.3%{opacity:1;}31.3%,100%{opacity:0;}}
  .s14q1{animation-name:s14q1;}
  @keyframes s14q1{0%,13.5%{opacity:0;}14.9%,27.3%{opacity:1;}31.3%,100%{opacity:0;}}
  .s14q2{animation-name:s14q2;}
  @keyframes s14q2{0%,16.0%{opacity:0;}17.4%,27.3%{opacity:1;}31.3%,100%{opacity:0;}}


  /* The rows you picked leave the list and close up. Same objects: the holding
     IS the listings, which is the one thing this drawing has to say. */
  .s14mv{opacity:0;animation-duration:27.5s;animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s14v0{animation-name:s14v0;}
  @keyframes s14v0{0%,4.4%{opacity:0;transform:translate(0,0);}5.8%,25.1%{opacity:1;transform:translate(0,0);}35.0%,93.0%{opacity:1;transform:translate(var(--dx),var(--dy));}97.0%,100%{opacity:0;transform:translate(var(--dx),var(--dy));}}
  .s14v1{animation-name:s14v1;}
  @keyframes s14v1{0%,6.6%{opacity:0;transform:translate(0,0);}8.0%,26.7%{opacity:1;transform:translate(0,0);}35.0%,93.0%{opacity:1;transform:translate(var(--dx),var(--dy));}97.0%,100%{opacity:0;transform:translate(var(--dx),var(--dy));}}
  .s14v2{animation-name:s14v2;}
  @keyframes s14v2{0%,8.7%{opacity:0;transform:translate(0,0);}10.1%,28.3%{opacity:1;transform:translate(0,0);}35.0%,93.0%{opacity:1;transform:translate(var(--dx),var(--dy));}97.0%,100%{opacity:0;transform:translate(var(--dx),var(--dy));}}

  /* The asking price belongs to the listing; what you hold gets a bar of its
     own the moment the listing becomes yours. */
  .s14pr{animation-name:s14pr;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s14pr{0%,25.1%{opacity:1;}36.1%,100%{opacity:0;}}
  .s14b{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s14b0{animation-name:s14b0;}
  @keyframes s14b0{0%,10.9%{opacity:0;}11.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b1{animation-name:s14b1;}
  @keyframes s14b1{0%,11.3%{opacity:0;}12.1%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b2{animation-name:s14b2;}
  @keyframes s14b2{0%,11.7%{opacity:0;}12.5%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b3{animation-name:s14b3;}
  @keyframes s14b3{0%,12.1%{opacity:0;}12.9%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b4{animation-name:s14b4;}
  @keyframes s14b4{0%,12.5%{opacity:0;}13.3%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b5{animation-name:s14b5;}
  @keyframes s14b5{0%,12.9%{opacity:0;}13.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b6{animation-name:s14b6;}
  @keyframes s14b6{0%,13.3%{opacity:0;}14.1%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b7{animation-name:s14b7;}
  @keyframes s14b7{0%,13.7%{opacity:0;}14.5%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b8{animation-name:s14b8;}
  @keyframes s14b8{0%,14.1%{opacity:0;}14.9%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b9{animation-name:s14b9;}
  @keyframes s14b9{0%,14.5%{opacity:0;}15.3%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b10{animation-name:s14b10;}
  @keyframes s14b10{0%,14.9%{opacity:0;}15.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b11{animation-name:s14b11;}
  @keyframes s14b11{0%,15.3%{opacity:0;}16.1%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b12{animation-name:s14b12;}
  @keyframes s14b12{0%,15.7%{opacity:0;}16.5%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b13{animation-name:s14b13;}
  @keyframes s14b13{0%,16.1%{opacity:0;}16.9%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b14{animation-name:s14b14;}
  @keyframes s14b14{0%,16.5%{opacity:0;}17.3%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b15{animation-name:s14b15;}
  @keyframes s14b15{0%,16.9%{opacity:0;}17.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b16{animation-name:s14b16;}
  @keyframes s14b16{0%,17.3%{opacity:0;}18.1%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b17{animation-name:s14b17;}
  @keyframes s14b17{0%,17.7%{opacity:0;}18.5%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b18{animation-name:s14b18;}
  @keyframes s14b18{0%,18.1%{opacity:0;}18.9%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b19{animation-name:s14b19;}
  @keyframes s14b19{0%,18.5%{opacity:0;}19.3%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b20{animation-name:s14b20;}
  @keyframes s14b20{0%,18.9%{opacity:0;}19.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14b21{animation-name:s14b21;}
  @keyframes s14b21{0%,19.3%{opacity:0;}20.1%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}

  .s14ht{opacity:0;animation-name:s14ht;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s14ht{0%,35.0%{opacity:0;}36.1%,94%{opacity:1;}100%{opacity:0;}}

  /* The bar scales from its LEFT end, so it re-states a length rather than
     growing out of a centre that means nothing. */
  .s14w{opacity:0;transform-box:fill-box;transform-origin:left center;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .flowdg5 .s14w{fill:var(--rt-accent);stroke:none;}
  .s14w0{animation-name:s14w0;}
  @keyframes s14w0{0%,36.05%{opacity:0;transform:scaleX(1.000);}37.65%,56.59%{opacity:1;transform:scaleX(1.000);}58.19%,93.01%{opacity:1;transform:scaleX(1.300);}97.01%,100%{opacity:0;transform:scaleX(1.300);}}
  .s14w1{animation-name:s14w1;}
  @keyframes s14w1{0%,36.05%{opacity:0;transform:scaleX(1.000);}37.65%,56.59%{opacity:1;transform:scaleX(1.000);}58.19%,93.01%{opacity:1;transform:scaleX(0.860);}97.01%,100%{opacity:0;transform:scaleX(0.860);}}
  .s14w2{animation-name:s14w2;}
  @keyframes s14w2{0%,36.05%{opacity:0;transform:scaleX(1.000);}37.65%,56.59%{opacity:1;transform:scaleX(1.000);}58.19%,93.01%{opacity:1;transform:scaleX(1.100);}97.01%,100%{opacity:0;transform:scaleX(1.100);}}

  .s14gh{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .flowdg5 .s14gh{stroke:var(--rt-accent);stroke-width:1;fill:none;stroke-dasharray:2 2;}
  .s14gh0{animation-name:s14gh0;}
  @keyframes s14gh0{0%,56.59%{opacity:0;}57.59%,60.59%{opacity:1;}63.09%,100%{opacity:0;}}
  .s14gh1{animation-name:s14gh1;}
  @keyframes s14gh1{0%,56.59%{opacity:0;}57.59%,60.59%{opacity:1;}63.09%,100%{opacity:0;}}
  .s14gh2{animation-name:s14gh2;}
  @keyframes s14gh2{0%,56.59%{opacity:0;}57.59%,60.59%{opacity:1;}63.09%,100%{opacity:0;}}


  .s14ld{opacity:0;animation-name:s14ld;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s14ld{0%,38.4%{opacity:0;}40.4%,94%{opacity:1;}100%{opacity:0;}}
  .s14rl{opacity:0;animation-name:s14rl;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s14rl{0%,38.4%{opacity:0;}40.4%,94%{opacity:1;}100%{opacity:0;}}
  /* RIGHT, not left. The amounts are right-aligned in their column the way a
     statement's are, so a credit grows leftward out of the edge it is aligned
     to -- the way a number does as digits are added to it. Growing from the
     left would walk it away from the column it belongs to. */
  .s14p{opacity:0;transform-box:fill-box;transform-origin:right center;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .flowdg5 .s14pay{fill:var(--rt-accent);stroke:none;}
  .flowdg5 .s14plus{font-family:var(--rt-font-mono);font-size:12px;font-weight:500;
                    fill:var(--rt-accent);stroke:none;}
  .s14pl{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s14pl0{animation-name:s14pl0;}
  @keyframes s14pl0{0%,40.4%{opacity:0;}42.0%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14pl1{animation-name:s14pl1;}
  @keyframes s14pl1{0%,42.2%{opacity:0;}43.8%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}
  .s14pl2{animation-name:s14pl2;}
  @keyframes s14pl2{0%,44.1%{opacity:0;}45.7%,93.0%{opacity:1.00;}97.0%,100%{opacity:0;}}

  .s14p0{animation-name:s14p0;}
  @keyframes s14p0{0%,40.4%{opacity:0;transform:scaleX(0);}42.0%,93.0%{opacity:1;transform:scaleX(1);}97.0%,100%{opacity:0;transform:scaleX(1);}}
  .s14p1{animation-name:s14p1;}
  @keyframes s14p1{0%,42.2%{opacity:0;transform:scaleX(0);}43.8%,93.0%{opacity:1;transform:scaleX(1);}97.0%,100%{opacity:0;transform:scaleX(1);}}
  .s14p2{animation-name:s14p2;}
  @keyframes s14p2{0%,44.1%{opacity:0;transform:scaleX(0);}45.7%,93.0%{opacity:1;transform:scaleX(1);}97.0%,100%{opacity:0;transform:scaleX(1);}}


  /* Selling. The shares travel, and a dashed slot stays behind in the run
     they came out of, so what left is still legible in what is left. */

  /* The balance. The SAME DEVICE as the worth bar and drawn that way on
     purpose: a redaction that re-states once, scaling from its left end rather
     than growing out of a centre that means nothing, with a dashed ghost left
     at the length it used to be. A value that exists and is not being quoted.

     It restates when the RENT HAS LANDED and never at the revaluation. See
     BAL for why that distinction is the whole safety of this beat. */
  .s14bal{opacity:0;transform-box:fill-box;transform-origin:left center;animation-name:s14bal;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .flowdg5 .s14bal{fill:var(--rt-line-strong);stroke:none;}
  @keyframes s14bal{0%,38.4%{opacity:0;transform:scaleX(1.000);}40.4%,46.26%{opacity:1;transform:scaleX(1.000);}47.66%,93.01%{opacity:1;transform:scaleX(1.340);}97.01%,100%{opacity:0;transform:scaleX(1.340);}}
  .s14bgh{opacity:0;animation-name:s14bgh;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .flowdg5 .s14bgh{stroke:var(--rt-line-strong);stroke-width:1;fill:none;stroke-dasharray:2 2;}
  @keyframes s14bgh{0%,46.26%{opacity:0;}47.66%,93.01%{opacity:1;}97.01%,100%{opacity:0;}}

  /* THE STATUS PAIR, and it is a pair everywhere it is used. Green never
     appears on its own in this drawing: _mark() takes one `up` argument and
     picks the arrow AND the colour from it together, so there is no way to
     draw a green arrow on a value that fell. At the revaluation one of the
     three strips falls, so one of the three marks is red -- which is what
     makes the other two honest rather than decoration. */
  .flowdg5 .s14arw{fill:none;stroke-width:1.5;stroke-linecap:square;stroke-linejoin:miter;}
  .flowdg5 .s14cur{font-family:var(--rt-font-mono);font-size:10px;font-weight:500;stroke:none;}
  .flowdg5 .s14pos .s14arw{stroke:var(--rt-positive);}
  .flowdg5 .s14pos .s14cur{fill:var(--rt-positive);}
  .flowdg5 .s14neg .s14arw{stroke:var(--rt-negative);}
  .flowdg5 .s14neg .s14cur{fill:var(--rt-negative);}
  /* Both sets of marks are EMOTES: they pop on the beat they belong to, hold
     for half a second and lift away. See _emote(). The balance's arrives with
     the restatement it is marking; the revaluation's three are staggered. */
  .s14bm,.s14rvm{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s14bm{animation-name:s14bm;}
  @keyframes s14bm{0%,46.26%{opacity:0;transform:translateY(3px);}46.85%,48.67%{opacity:1;transform:translateY(0);}49.47%,100%{opacity:0;transform:translateY(-2px);}}

  .s14rvm0{animation-name:s14rvm0;}
  @keyframes s14rvm0{0%,56.59%{opacity:0;transform:translateY(3px);}57.17%,58.99%{opacity:1;transform:translateY(0);}59.79%,100%{opacity:0;transform:translateY(-2px);}}
  .s14rvm1{animation-name:s14rvm1;}
  @keyframes s14rvm1{0%,57.19%{opacity:0;transform:translateY(3px);}57.77%,59.59%{opacity:1;transform:translateY(0);}60.39%,100%{opacity:0;transform:translateY(-2px);}}
  .s14rvm2{animation-name:s14rvm2;}
  @keyframes s14rvm2{0%,57.79%{opacity:0;transform:translateY(3px);}58.37%,60.19%{opacity:1;transform:translateY(0);}60.99%,100%{opacity:0;transform:translateY(-2px);}}


  .s14sv{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s14sv0{animation-name:s14sv0;}
  @keyframes s14sv0{0%,67.8%{opacity:0;}69.2%,93.0%{opacity:0.75;}97.0%,100%{opacity:0;}}
  .s14sv1{animation-name:s14sv1;}
  @keyframes s14sv1{0%,68.6%{opacity:0;}70.0%,93.0%{opacity:0.75;}97.0%,100%{opacity:0;}}
  .s14sv2{animation-name:s14sv2;}
  @keyframes s14sv2{0%,69.4%{opacity:0;}70.8%,93.0%{opacity:0.75;}97.0%,100%{opacity:0;}}
  .s14sv3{animation-name:s14sv3;}
  @keyframes s14sv3{0%,70.2%{opacity:0;}71.6%,93.0%{opacity:0.75;}97.0%,100%{opacity:0;}}

  .s14f{animation-duration:27.5s;animation-timing-function:cubic-bezier(0.4,0,0.2,1);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s14f0{animation-name:s14f0;}
  @keyframes s14f0{0%,66.3%{transform:translate(0,0);}73.9%,100%{transform:translate(var(--dx),var(--dy));}}
  .s14f1{animation-name:s14f1;}
  @keyframes s14f1{0%,67.1%{transform:translate(0,0);}74.7%,100%{transform:translate(var(--dx),var(--dy));}}
  .s14f2{animation-name:s14f2;}
  @keyframes s14f2{0%,67.9%{transform:translate(0,0);}75.5%,100%{transform:translate(var(--dx),var(--dy));}}
  .s14f3{animation-name:s14f3;}
  @keyframes s14f3{0%,68.7%{transform:translate(0,0);}76.3%,100%{transform:translate(var(--dx),var(--dy));}}

  .s14mk{opacity:0;animation-name:s14mk;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s14mk{0%,63.3%{opacity:0;}66.3%,94%{opacity:1;}100%{opacity:0;}}
  .s14li{opacity:0;animation-name:s14li;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  @keyframes s14li{0%,75.9%{opacity:0;}77.9%,94%{opacity:1;}100%{opacity:0;}}

  .s14cap{opacity:0;animation-duration:27.5s;animation-timing-function:var(--rt-ease);animation-iteration-count:infinite;animation-fill-mode:both;}
  .s14cap0{animation-name:s14cap0;}
  @keyframes s14cap0{0%,4.4%{opacity:0;transform:translateY(5px);}6.2%,22.9%{opacity:1;transform:translateY(0);}25.4%,100%{opacity:0;transform:translateY(0);}}
  .s14cap1{animation-name:s14cap1;}
  @keyframes s14cap1{0%,25.1%{opacity:0;transform:translateY(5px);}26.9%,39.3%{opacity:1;transform:translateY(0);}41.8%,100%{opacity:0;transform:translateY(0);}}
  .s14cap2{animation-name:s14cap2;}
  @keyframes s14cap2{0%,40.4%{opacity:0;transform:translateY(5px);}42.2%,51.3%{opacity:1;transform:translateY(0);}53.8%,100%{opacity:0;transform:translateY(0);}}
  .s14cap3{animation-name:s14cap3;}
  @keyframes s14cap3{0%,53.5%{opacity:0;transform:translateY(5px);}55.3%,64.8%{opacity:1;transform:translateY(0);}67.3%,100%{opacity:0;transform:translateY(0);}}
  .s14cap4{animation-name:s14cap4;}
  @keyframes s14cap4{0%,66.3%{opacity:0;transform:translateY(5px);}68.1%,93.0%{opacity:1;transform:translateY(0);}95.5%,100%{opacity:0;transform:translateY(0);}}


  @media (prefers-reduced-motion: reduce){
    .flowdg5 *{animation:none !important;}
    .s14stage,.s14hd,.s14r,.s14mv,.s14b,.s14ht,.s14w,.s14ld,.s14rl,.s14p,.s14pl,.s14f,.s14mk,.s14li,.s14cap4,.s14bal,.s14bgh,.s14bm,.s14rvm{opacity:1;}
    .s14dim{opacity:0.26;}
    .s14sv{opacity:0.75;}
    .s14pk,.s14pr,.s14gh,.s14vd,.s14cap0,.s14cap1,.s14cap2,.s14cap3{opacity:0;}
    .s14mv,.s14f{transform:translate(var(--dx),var(--dy));}
    .s14p{transform:scaleX(1);}
    .s14bal{transform:scaleX(1.340);}
    .s14w{transform:scaleX(1);}
  }

  /* The catalogue DIMS on a desktop and stays: our listings do not stop
     existing because you bought into three of them, and the left third would
     otherwise be empty. On a phone the marketplace takes that same region at
     the end, so the catalogue has to leave rather than sit under it. */
  @keyframes s14dim{0%,61.28%{opacity:1;}65.28%,100%{opacity:0;}}
  /* Same reason: the slots the picked rows left behind go with it. */
  @keyframes s14vd0{0%,61.28%{opacity:0.45;}65.28%,100%{opacity:0;}}
  @keyframes s14vd1{0%,61.28%{opacity:0.45;}65.28%,100%{opacity:0;}}
  @keyframes s14vd2{0%,61.28%{opacity:0.45;}65.28%,100%{opacity:0;}}

  /* ── Section 05: the illustrative listing ───────────────────
     The page ground, not the sunken one: the bridge is the sunken band and
     "How it works" carries its own two panels, so a third fill here would
     make the page a stack of trays. A hairline at the top is enough. */
  .ls{background:var(--rt-bg);border-top:1px solid var(--rt-line);
      padding:88px 0 76px;}
  /* "HOW IT WORKS" FRAME, NOT THE HERO'S (Soey, 2026-09-15: "this section
     seems to be wider than every other module"). The page has two column
     systems -- 1280 with a 48px gutter for the hero and the bridge, 1120 with
     26px for section5 -- and this section sits directly under section5, so
     against its immediate neighbour it was 160px wider on every screen past
     1120. It takes section5's numbers, which is what makes the two read as one
     sequence rather than two decisions. */
  .ls-in{max-width:1120px;margin:0 auto;padding:0 26px;}
  /* accent-TEXT, not accent. Vermilion #E2542B on this ground is 3.63:1 and
     the eyebrow is 10px, which is the smallest type in the section; the
     text-safe step of the same colour is 4.73:1 and looks identical at this
     size. This is the token's whole reason for existing. listfit.py measures
     it rather than trusting the name. */
  /* THE MARK IS UNDER THE CARD, NOT OVER THE SECTION (Soey, 2026-09-15).
     As an eyebrow it labelled the whole section, which put the word
     "illustrative" a long way from the thing that is illustrative; under the
     card it labels the card, and the asterisk ties it to the fine print at
     the foot of the module. Bigger than the eyebrow was, because it is now
     carrying a caveat rather than introducing a section. */
  .lsmark{font-family:var(--rt-font-mono);font-size:11.5px;letter-spacing:0.18em;
          text-transform:uppercase;color:var(--rt-accent-text);
          margin:16px 0 0;}
  .lsstar{color:var(--rt-accent-text);}
  /* No eyebrow over it any more, so the section opens on the sentence. */
  .ls-h{font-family:var(--rt-font-sans);font-weight:500;font-size:40px;
        line-height:1.1;letter-spacing:-0.02em;color:var(--rt-ink);
        text-wrap:balance;margin:0 0 16px;}
  /* IT SPANS THE MODULE, ON ONE LINE (Soey, 2026-09-15). At 18px the
     sentence is 850px inside a 1068px frame: one line, but stopping 200px
     short of every other left-to-right edge in the section, which is the
     thing that was being complained about. The size is therefore the frame
     divided by the string, the same arithmetic the bridge heading uses, with
     a 22px ceiling so it cannot outgrow the h2 above it and a floor where it
     gives up and wraps. 49.12 is computed from the copy, so rewriting
     the sentence moves the rule with it. */
  .ls-lede{font-size:18px;line-height:1.6;color:var(--rt-ink-2);
           text-wrap:pretty;margin:0;}
  @media (min-width:900px){
    .ls-lede{font-size:min(22px, (min(100vw, 1120px) - 52px) / 49.12);
             line-height:1.45;}
  }

  /* CARD FIXED, DETAIL FLUID. The card is a fixed object -- it is meant to
     read as a thing you could pick up -- so it does not stretch with the
     window; the column that explains it takes the rest. */
  .ls-grid{display:grid;grid-template-columns:380px minmax(0, 1fr);gap:44px;
           align-items:start;margin-top:40px;}

  /* -- The card ---------------------------------------------------------
     ONE CARD, NO STACK (Soey, 2026-09-15). It shipped with two offset sheets
     behind it, which said "there are more listings behind this one" -- and
     there are not. There is one listing, it is illustrative, and a stack of
     sheets under a single card is a promise the page cannot keep. */
  .lscard{position:relative;}
  .lsface{position:relative;background:var(--rt-surface);
          border:1px solid var(--rt-line);border-radius:12px;overflow:hidden;}

  /* THE SLOT, and it holds photographs now. The aspect ratio is on the BOX
     and not on its contents, so what is inside cannot change the card's
     height: 3:2, which is what the photographs are, so nothing is cropped.
     The 28px grid stays underneath as the ground a slide sits on while it
     loads. */
  .lsart{position:relative;aspect-ratio:3 / 2;background-color:var(--rt-bg-sunken);
         background-image:linear-gradient(var(--rt-panel-tint) 1px, transparent 1px),
                          linear-gradient(90deg, var(--rt-panel-tint) 1px, transparent 1px);
         background-size:28px 28px;border-bottom:1px solid var(--rt-line);
         overflow:hidden;}
  /* THE WHOLE PICTURE IS THE NEXT BUTTON. The arrows are the visible
     control and the keyboard one, but the first thing most people do with a
     photograph in a card is click the photograph, and there is nothing else
     for a click in this box to mean. */
  .lsshow{position:absolute;inset:0;}
  .lsstep{position:absolute;inset:0;border:0;padding:0;background:none;
          cursor:pointer;appearance:none;}
  .lsstep:focus-visible{outline:2px solid #FFFFFF;outline-offset:-4px;}
  .lsimg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
         display:block;}
  /* AND THIS LINE IS LOad-BEARING. `display:block` above is an AUTHOR rule and
     `[hidden]{display:none}` is a USER-AGENT rule, so the author rule wins:
     every slide painted, all four stacked, and the last one in the DOM -- the
     kitchen -- sat on top of the other three for the life of the card. The
     arrows worked perfectly the whole time, toggling an attribute that had no
     effect on anything, which is why the count advanced and the picture did
     not (Soey, 2026-09-15: "when u press through the number changes but the
     pic is only the kitches one"). Any rule that sets `display` on something
     hidden with the attribute needs this line with it. */
  .lsimg[hidden]{display:none;}
  /* THE ARROWS SIT ON THE PICTURE, so they carry their own ground: a
     photograph is not a background you can pick a text colour against. Dark
     glass with a light glyph reads on every one of these four and on whatever
     arrives later, which a token colour would not. */
  .lsnav{position:absolute;top:50%;transform:translateY(-50%);
         width:38px;height:38px;display:flex;align-items:center;
         justify-content:center;border:0;border-radius:50%;cursor:pointer;
         background:rgba(26,25,24,0.55);color:#FFFFFF;
         -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
         transition:background 120ms var(--rt-ease);}
  .lsnav:hover{background:rgba(26,25,24,0.78);}
  .lsnav:focus-visible{outline:2px solid #FFFFFF;outline-offset:2px;}
  .lsnav svg{width:15px;height:15px;display:block;}
  .lsprev{left:10px;}
  .lsnext{right:10px;}
  /* Which one of how many, in the corner. It is also the live region, so a
     screen reader hears the count change when an arrow is pressed. */
  .lscount{position:absolute;right:10px;bottom:10px;
           font-family:var(--rt-font-mono);font-size:9px;letter-spacing:0.14em;
           color:#FFFFFF;background:rgba(26,25,24,0.55);border-radius:20px;
           padding:3px 9px;
           -webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);}

  /* THE CARD NAMES THE BUILDING, AND NOTHING ELSE DOES (Soey, 2026-09-17:
     "we can jsut drop the top row title all together"). It was printed twice
     in the same column of sight, centred over the module and again here about
     380px below, which was the redundancy the centred title created. The one
     inside the card is the one that survives: it is attached to the object it
     names.
     So it carries the whole identity in three lines -- the name, then where
     it is, then how big it is -- and the name goes up a step on the design
     system's own ramp, 19px to --rt-size-h4's 22, because it is now the only
     title the listing has. */
  .lsname{padding:16px 18px 14px;}
  .lsnm{font-family:var(--rt-font-sans);font-weight:500;font-size:22px;
        line-height:1.2;letter-spacing:-0.01em;color:var(--rt-ink);
        margin:0 0 7px;}
  /* Where it is, and it is a step darker than the size line under it: the
     neighbourhood is what a reader is deciding about, the share count is
     reference. Same face and tracking, so the two read as one block. */
  .lsloc{font-family:var(--rt-font-mono);font-size:10px;letter-spacing:0.14em;
         text-transform:uppercase;color:var(--rt-ink-2);margin:0 0 5px;}
  .lssub{font-family:var(--rt-font-mono);font-size:10px;letter-spacing:0.14em;
         text-transform:uppercase;color:var(--rt-ink-3);
         font-variant-numeric:tabular-nums;margin:0;}

  /* THREE CELLS, and the third one is the point. The monthly per-share figure
     is the most tangible number in the listing and it belongs where somebody
     looking at the price can see it, not two tabs away. */
  .lsfigs{display:grid;grid-template-columns:repeat(3, minmax(0, 1fr));
          border-top:1px solid var(--rt-line);}
  .lsfig{padding:12px 10px 14px;min-width:0;}
  .lsfig + .lsfig{border-left:1px solid var(--rt-line);}
  .lsfl{font-family:var(--rt-font-mono);font-size:9px;letter-spacing:0.12em;
        text-transform:uppercase;color:var(--rt-ink-3);margin:0 0 7px;
        overflow-wrap:anywhere;}
  .lsfv{font-family:var(--rt-font-mono);font-weight:500;font-size:18px;
        line-height:1.1;letter-spacing:-0.01em;color:var(--rt-ink);
        font-variant-numeric:tabular-nums;margin:0;overflow-wrap:anywhere;}
  .lsfv-a{color:var(--rt-accent-text);}

  .lsact{display:grid;grid-template-columns:1fr 1fr;gap:9px;
         padding:14px 18px 0;border-top:1px solid var(--rt-line);}
  .lsbtn{height:38px;border-radius:var(--rt-radius-sm);font-size:15px;
         font-family:var(--rt-font-sans);font-weight:500;cursor:pointer;
         transition:background 120ms var(--rt-ease);}
  .lsbuy{background:var(--rt-accent);color:#FFFFFF;
         border:1px solid var(--rt-accent);}
  .lsbuy:hover{background:var(--rt-accent-hover);}
  .lssell{background:var(--rt-bg);color:var(--rt-ink);
          border:1px solid var(--rt-line-strong);}
  .lssell:hover{background:var(--rt-bg-sunken);}
  /* NOTHING IS OPEN YET, and the buttons say so here rather than by being
     greyed out. A disabled control reads as "not for you"; a live-looking
     control over a line that says the market has not opened reads as what it
     is, which is a preview. The buttons are aria-disabled so a screen reader
     is told the same thing the line says. */
  .lsnote{font-family:var(--rt-font-mono);font-size:9.5px;letter-spacing:0.12em;
          text-transform:uppercase;color:var(--rt-ink-3);
          padding:10px 18px 13px;margin:0;}
  .lsnote a{color:var(--rt-accent-text);text-underline-offset:2px;}

  /* The book. A ladder and a gap, at the foot of the card. */
  .lsbook{border-top:1px solid var(--rt-line);padding:11px 18px 13px;}
  .lsrow{display:grid;grid-template-columns:auto 1fr auto;gap:10px;
         font-family:var(--rt-font-mono);font-size:11px;line-height:1.9;
         font-variant-numeric:tabular-nums;}
  .lsside{letter-spacing:0.14em;font-size:8.5px;text-transform:uppercase;
          align-self:center;}
  .lsask{color:var(--rt-negative);}
  .lsbid{color:var(--rt-positive);}
  .lsqty{color:var(--rt-ink-4);text-align:right;}
  .lsspread{display:flex;align-items:center;gap:10px;margin:5px 0;
            font-family:var(--rt-font-mono);font-size:8.5px;
            letter-spacing:0.14em;text-transform:uppercase;
            color:var(--rt-ink-3);font-variant-numeric:tabular-nums;}
  .lsspread::before,.lsspread::after{content:"";flex:1;height:1px;
                                     background:var(--rt-line);}

  /* -- The detail column ------------------------------------------------ */
  /* CENTRED OVER THE TABS (Soey, 2026-09-15: "we can center that so it
     aligns better right over the whole 3 tabs thing"). The three tabs are
     equal columns spanning this whole width, so their optical centre is the
     column's centre; a flush-left title over a centred row of three read as
     two different alignments in the same 40px of space. */
  /* THERE IS NO STANDALONE TITLE ANY MORE. It lived here as a centred h3 and
     meta line over the module, and before that centred inside the detail
     column -- and both were the same problem seen twice, which is that the
     building was named in a second place while the card was already naming
     it. The card's own block does the whole job now; see .lsname below. */

  /* THREE EQUAL COLUMNS, WHICH IS WHAT MAKES THE UNDERLINE FREE. The active
     marker is one element a third of the row wide, moved by a custom property
     the script sets to 0, 1 or 2 -- so the slide costs no measurement, on load
     or ever, and cannot be wrong about a width it read before a font landed. */
  .lstabs{--lsi:0;
          position:relative;display:grid;grid-template-columns:repeat(3, 1fr);
          border-bottom:1px solid var(--rt-line);margin:0;}
  .lstab{appearance:none;background:none;border:0;padding:0 4px;
         min-height:44px;cursor:pointer;
         font-family:var(--rt-font-mono);font-size:11px;letter-spacing:0.16em;
         text-transform:uppercase;color:var(--rt-ink-3);
         transition:color 80ms var(--rt-ease);}
  .lstab:hover{color:var(--rt-ink);}
  .lstab[aria-selected="true"]{color:var(--rt-ink);}
  .lstab:focus-visible{outline:2px solid var(--rt-accent);outline-offset:-2px;}
  .lsink{position:absolute;left:0;bottom:-1px;height:2px;width:calc(100% / 3);
         background:var(--rt-accent);pointer-events:none;
         transform:translateX(calc(var(--lsi) * 100%));
         transition:transform 160ms var(--rt-ease);}

  /* LONGHAND, deliberately. verify.py pairs a keyframe block with the
     longhand property and cannot see the shorthand, so writing this the
     short way would hide the animation from the one check that catches a
     keyframe going missing -- and note that the checker greps the sheet as
     TEXT, so naming those properties in this comment breaks it just as
     effectively. That is not a fault in it: comments are where a stale
     reference hides longest. */
  .lspanel{padding-top:26px;animation-name:lsrise;animation-duration:160ms;
           animation-timing-function:var(--rt-ease);
           animation-fill-mode:both;}
  @keyframes lsrise{from{opacity:0;transform:translateY(6px);}
                    to{opacity:1;transform:none;}}
  .lsblk + .lsblk{border-top:1px solid var(--rt-line);margin-top:22px;
                  padding-top:22px;}
  .lssh{font-family:var(--rt-font-mono);font-size:10px;letter-spacing:0.14em;
        text-transform:uppercase;color:var(--rt-ink-3);margin:0 0 10px;}
  /* NO MEASURE CAP. The detail column is its own measure. */
  .lsp{font-size:16px;line-height:1.65;color:var(--rt-ink-2);
       text-wrap:pretty;margin:0;}
  .lsp + .lsp{margin-top:12px;}
  .lsfoot{font-size:13px;line-height:1.6;color:var(--rt-ink-3);
          text-wrap:pretty;margin:14px 0 0;}

  /* Tables are DATA. Label left in the body face, value right in mono and
     tabular, a hairline between rows, no zebra and no outer border. The only
     heavier rule on the page is the one over a total. */
  .lstbl{width:100%;border-collapse:collapse;margin:0;}
  .lstbl th{text-align:left;font-family:var(--rt-font-sans);font-weight:400;
            font-size:15px;color:var(--rt-ink-2);padding:10px 12px 10px 0;}
  .lstbl td{text-align:right;font-family:var(--rt-font-mono);font-size:14px;
            color:var(--rt-ink);font-variant-numeric:tabular-nums;
            padding:10px 0;white-space:nowrap;}
  .lstbl tbody tr + tr th,.lstbl tbody tr + tr td{
      border-top:1px solid var(--rt-line);}
  /* SET LIKE A STATEMENT (Soey, 2026-09-15: "sprinkle in some color and
     spacing... like the final results and such"). Three weights of row, and
     the difference between them is the arithmetic, not decoration:

       a plain row      a number that was given
       .lssum           a subtotal: the label goes to 500 and the row sits on
                        the sunken ground, so the eye can find where a block
                        of costs was added up
       .lstot           the bottom line: a rule above it and a DOUBLE rule
                        under it, which is what an accountant draws, in the
                        accent rather than in ink because this is the one
                        number the section exists to produce

     The accent wash behind the total is the only fill in the two tables. */
  .lssum th,.lssum td{background:var(--rt-bg-sunken);}
  /* The ratio rides on the subtotal's own label, in the mono face, so it
     reads as a measurement of the number beside it rather than as part of the
     name of the line. */
  /* The one figure in the building table that is a RESULT rather than a
     fact about the building, in the same vermilion as the bottom line of
     the table below it, so the two read as the same claim twice. */
  .lsyield td{color:var(--rt-accent-text);font-weight:500;}
  .lsratio{font-family:var(--rt-font-mono);font-size:10px;letter-spacing:0.1em;
           text-transform:uppercase;color:var(--rt-ink-3);margin-left:8px;
           font-weight:400;}
  .lssum th{font-weight:500;color:var(--rt-ink);}
  /* GREY BEHIND IT, ORANGE ON IT (Soey, 2026-09-15: "i dont think its need
     the orange shade behind it... a grey shade and the orange underlien and
     numbers is good enough"). The wash was doing the same job as the rules
     and the figure, three times over, and it was the thing that made the row
     read as a highlight rather than as a total. It also takes the same
     sunken ground as the other subtotals, which is what makes the rules and
     the colour the only difference between them -- and with the fill gone the
     figure can go back to accent-TEXT, which is 4.73:1 on grey where it was
     4.25 on the wash. */
  .lstot th,.lstot td{border-top:1.5px solid var(--rt-accent);
                      border-bottom:4px double var(--rt-accent);
                      background:var(--rt-bg-sunken);
                      padding-top:11px;padding-bottom:11px;
                      font-weight:500;color:var(--rt-ink);}
  .lstot th{padding-left:10px;}
  /* accent-PRESS, not accent-text. The wash under this row took the
     figure from 4.73:1 on the page ground to 4.25:1 on the wash, which
     is under the bar -- a colour is only legible against the thing it
     is actually on. The same vermilion a step darker reads 5.78:1. */
  .lstot td{font-size:17px;color:var(--rt-accent-text);padding-right:10px;}
  /* The row bands run to the edge of the table rather than stopping at the
     text, which is what makes them read as bands. */
  .lssum th,.lstot th{border-radius:3px 0 0 3px;}
  .lssum td,.lstot td{border-radius:0 3px 3px 0;}
  .lssum th{padding-left:10px;}
  .lssum td{padding-right:10px;}
  /* The unit mix is the one table with a header row and four columns. */
  .lsmix thead th{font-family:var(--rt-font-mono);font-size:9px;
                  letter-spacing:0.14em;text-transform:uppercase;
                  color:var(--rt-ink-3);font-weight:400;padding-bottom:8px;}
  .lsmix thead th + th{text-align:right;}
  .lsmix tbody th{font-size:15px;}
  .lsmix thead tr th{border-bottom:1px solid var(--rt-line);}

  /* The research stat row, which is section 02's figure band at panel scale:
     the same ink rule over, hairlines between, figure over label. */
  .lsstats{display:grid;grid-template-columns:repeat(4, minmax(0, 1fr));
           border-top:1px solid var(--rt-ink);
           border-bottom:1px solid var(--rt-line);margin:0 0 24px;}
  .lsstat{padding:13px 10px 15px;min-width:0;}
  .lsstat + .lsstat{border-left:1px solid var(--rt-line);}
  .lssf{font-family:var(--rt-font-mono);font-weight:500;font-size:19px;
        line-height:1.1;letter-spacing:-0.01em;color:var(--rt-ink);
        font-variant-numeric:tabular-nums;margin:0 0 6px;
        overflow-wrap:anywhere;}
  .lssl{font-family:var(--rt-font-mono);font-size:9px;letter-spacing:0.12em;
        text-transform:uppercase;color:var(--rt-ink-3);margin:0;}

  /* PAGE-WIDE, under the whole module. It qualifies the section, not the
     card, so it sits outside the two columns. */
  .lscol{min-width:0;}
  .lsfine{margin:54px 0 0;font-size:12px;line-height:1.7;
          color:var(--rt-ink-3);text-wrap:pretty;}

  @media (prefers-reduced-motion: reduce){
    .lsink{transition:none;}
    .lspanel{animation:none;}
    .lstab{transition:none;}
  }

  @media (max-width:1023px){
    /* One column. The card leads, because the object is the point, and it
       stops growing at the width it was designed at. */
    .ls-grid{grid-template-columns:minmax(0, 1fr);gap:36px;}
    .lscol{max-width:420px;margin:0 auto;width:100%;}
    .ls-h{font-size:32px;}
    .ls-lede{font-size:17px;}
  }
  @media (max-width:900px){
    .ls{padding:64px 0 60px;}
    .ls-in{padding:0 20px;}
  }
  @media (max-width:560px){
    .ls-h{font-size:27px;}
    .ls-lede,.ls-desc{font-size:16px;}
    /* ONE SHEET, not two: at 360px the second offset runs into the gutter. */
    .lssheet-a{display:none;}
    .lssheet-b{transform:translate(7px,7px);}
    /* The labels shrink before the row stacks -- three across is the shape of
       the thing, and bridgefit made the same call for the barrier band. */
    .lstab{font-size:10px;letter-spacing:0.1em;padding:0 2px;}
    .lsfig{padding:11px 9px 13px;}
    .lsfv{font-size:18px;}
    .lsfl{font-size:8.5px;letter-spacing:0.08em;}
    /* Four stat cells at 360px give each one 80px, and "$280,000+" needs more
       than that at any size worth reading. Two by two instead. */
    .lsstats{grid-template-columns:repeat(2, minmax(0, 1fr));}
    .lsstat:nth-child(3),.lsstat:nth-child(4){
        border-top:1px solid var(--rt-line);}
    .lsstat:nth-child(3){border-left:0;}
    .lstbl th{font-size:14px;}
    .lstbl td{font-size:13px;}
  }

  .lsfeenote{margin-top:22px;}

  /* ── Section 06: the straight answers ───────────────────────
     Index and panel. The last content before the footer. */
  .sa{background:var(--rt-bg-sunken);border-top:1px solid var(--rt-line);
      padding:88px 0 96px;}
  .sa-in{max-width:1120px;margin:0 auto;padding:0 26px;}
  /* No eyebrow and no lede: the reader has been reading for five sections and
     does not need another throat-clear. One sentence, then the questions. */
  .sa-h{font-family:var(--rt-font-sans);font-weight:500;font-size:40px;
        line-height:1.1;letter-spacing:-0.02em;color:var(--rt-ink);
        text-wrap:balance;margin:0 0 36px;}

  /* MOBILE IS THE BASE. Source order is question, its panel, next question,
     so with no placement at all this is already an ordinary accordion that
     expands in place. The desktop rule below is the special case, which is
     the right way round: one DOM that works at both widths, and the width
     that needs less machinery needs none. */
  .sa-grid{display:grid;grid-template-columns:minmax(0, 1fr);}

  /* -- The questions ---------------------------------------------------- */
  .saq{display:grid;grid-template-columns:auto minmax(0, 1fr) auto;
       align-items:center;gap:14px;width:100%;min-height:56px;
       padding:10px 16px;text-align:left;cursor:pointer;
       appearance:none;background:none;border:0;
       border-bottom:1px solid var(--rt-line);
       transition:background 120ms var(--rt-ease);}
  /* An ink rule over the first one and hairlines between: the same weight
     pairing the research stat band uses, which is what makes a stack of rows
     read as one block rather than as four. :first-child is the first question
     at both widths, because the DOM is question/panel pairs in order. */
  .saq:first-child{border-top:1px solid var(--rt-ink);}
  .saq:focus-visible{outline:2px solid var(--rt-accent);outline-offset:-2px;}
  /* THE OPEN ROW: a fill, and a 2px bar drawn INSIDE the box. A border would
     add 2px to the row and shift every string in it sideways on open, which
     is the one movement an index like this must not make. */
  .saq[aria-expanded="true"]{background:var(--rt-surface);
                             box-shadow:inset 2px 0 0 var(--rt-accent);}
  /* Hover moves the question to ink and does nothing else. No fill, no pill,
     no shadow -- the fill is what "open" means here and a hover that borrowed
     it would say the row was already open. */
  .saq[aria-expanded="false"]:hover .saqt{color:var(--rt-ink);}

  /* ink-3, NOT ink-4, AND THIS IS A DEPARTURE FROM THE BRIEF. The brief asks
     for ink-4 on a closed number and, four rules later, for 4.5:1 on every
     string in the section. On this sunken ground ink-4 is 3.45:1 and ink-3 is
     4.84:1, so the two instructions cannot both be obeyed and the contrast one
     is the one with a rule behind it. The footer made the identical call for
     the identical reason ("a line nobody can read is not less legally present
     for it"), and the number is still told from the question by face, size and
     tracking, which is where that distinction was doing its work anyway. */
  .sanum{font-family:var(--rt-font-mono);font-size:10px;letter-spacing:0.14em;
         color:var(--rt-ink-3);font-variant-numeric:tabular-nums;
         transition:color 120ms var(--rt-ease);}
  .saqt{font-family:var(--rt-font-sans);font-size:16px;font-weight:500;
        line-height:1.3;color:var(--rt-ink-3);text-wrap:pretty;
        transition:color 120ms var(--rt-ease);}
  .saq[aria-expanded="true"] .sanum{color:var(--rt-accent-text);}
  .saq[aria-expanded="true"] .saqt{color:var(--rt-ink);}
  /* ON A PHONE ONLY. At desktop width the open row is already marked by the
     fill and the bar, and a third marker for the same state is noise -- so
     the desktop rule below takes it off rather than the other way round.
     aria-hidden in the markup: aria-expanded already says this. */
  .samk{font-family:var(--rt-font-mono);font-size:15px;line-height:1;
        color:var(--rt-ink-3);}

  /* -- The panel -------------------------------------------------------- */
  /* THE LISTING'S OWN RISE, reused rather than redeclared. Opacity and 6px
     over 160ms, no height animation: a panel that also grew would be two
     movements saying one thing, and on desktop the panels share a cell where
     a height animation has nothing to animate from. verify.py pairs the
     keyframe block with the longhand property and cannot see the shorthand,
     so this is written the long way for the same reason section 05 is. */
  .sap{animation-name:lsrise;animation-duration:160ms;
       animation-timing-function:var(--rt-ease);animation-fill-mode:both;
       padding:16px 16px 24px;
       border-bottom:1px solid var(--rt-line);}
  /* AND THIS LINE IS LOAD-BEARING, for the reason written out at .lsimg: an
     author rule that sets display beats the user-agent [hidden] rule, and a
     panel that is flagged closed while it is still painted is the exact bug
     that shipped on the card. Nothing here sets display on .sap today. This
     is what makes sure nothing ever does by accident. */
  .sap[hidden]{display:none;}
  .sa-p{font-size:16px;line-height:1.65;color:var(--rt-ink-2);
        text-wrap:pretty;max-width:62ch;margin:0;}
  .sa-p + .sa-p{margin-top:12px;}
  /* THE CLOSING LINE IS GONE (Soey, 2026-09-16: "drop the bold line at the
     bottom"). It was the last paragraph of question 04, set in ink at 500
     with a hairline over it. What it SAID has moved into the last sentence of
     the thin-market paragraph, in the same ink-2 as everything around it, so
     the section now ends the way it reads rather than on a flourish. There is
     no set-apart paragraph rule here any more, on purpose: one would be an
     invitation to put the treatment back. */

  /* WHEN NOTHING IS OPEN (Soey, 2026-09-17). A DESKTOP-ONLY piece of
     type, and the asymmetry is the point: on a phone each answer expands
     in place under its own question, so a closed set is just four rows
     and there is no empty space to explain. On a desktop the right half
     of the module would be blank, and a blank half of a module reads as
     something that failed to load rather than as a set of questions
     nobody has picked yet.
     Mono uppercase at ink-3 is this page's own idiom for an affordance
     hint rather than for content, the same treatment as the drawings'
     PLAYS AUTOMATICALLY / DRAG TO SCRUB. The arrow points at the
     questions, which from this side of the gutter is left. */
  .sahint{display:none;}
  /* AND THIS LINE IS LOAD-BEARING, which is the third time on this page.
     The desktop rule further down sets display:block; that is an AUTHOR
     rule and [hidden]{display:none} is a USER-AGENT rule, so without
     this the hint would go on painting beside an answer that was open.
     It carries two classes' worth of specificity so it wins wherever it
     sits in the sheet, but it is written next to the rule it protects,
     because the bug it prevents is invisible and the two lines only make
     sense together. */
  .sahint[hidden]{display:none;}

  @media (prefers-reduced-motion: reduce){
    .sap{animation:none;}
    .saq,.sanum,.saqt{transition:none;}
  }

  /* -- Desktop ---------------------------------------------------------- */
  /* 900, which is the listing's own breakpoint, so the two modules change
     shape together. */
  @media (min-width:900px){
    /* FOUR QUESTION ROWS AND A FIFTH THAT TAKES THE SLACK, and the fifth row
       is the whole trick. All four panels sit in one cell spanning the rows,
       and a spanning item taller than the tracks it crosses has its height
       DISTRIBUTED across them -- which would have pushed the four questions
       apart, evenly, down a 1000px column. The track sizing algorithm makes
       one exception: extra space for an item that spans a FLEXIBLE track goes
       only to the flexible tracks. So the questions sit at their own heights
       in rows 1 to 4 and every pixel of leftover lands in row 5, underneath
       the last question, which is where the brief asked for it. */
    .sa-grid{grid-template-columns:minmax(280px, 0.8fr) 1.2fr;
             grid-template-rows:repeat(4, auto) 1fr;
             column-gap:48px;}
    .saq{grid-column:1;}
    .saq:nth-of-type(1){grid-row:1;}
    .saq:nth-of-type(2){grid-row:2;}
    .saq:nth-of-type(3){grid-row:3;}
    .saq:nth-of-type(4){grid-row:4;}
    /* All four in the same cell. Only the open one is not hidden, so they
       never overlap; what they share is the column's width, which is what
       stops the page reflowing as the reader moves between them. */
    .sap{grid-column:2;grid-row:1 / -1;align-self:start;
         /* TOP-ALIGNED WITH THE COLUMN, NOT WITH THE FIRST QUESTION'S TEXT
            (Soey, 2026-09-16: "the text on the side is sitting lower than the
            questions top part"). It was padded 13px so that the answer's
            first line sat level with question 01's own line, which is a real
            alignment and the wrong one: question 01's text is centred in a
            56px row, so matching it put the whole right column 17px below the
            rule that starts the left one. Two columns starting at different
            heights is what the eye reads, not two pieces of text sharing a
            baseline. Zero, so the answer's first line box begins exactly at
            the ink rule and the two columns start together. */
         padding:0;border-bottom:0;}
    .samk{display:none;}
    /* In the panels' own cell, and set against question 01's own line
       rather than against the top of the column: it is one short line,
       and a single line of micro-type hung on the rule reads as
       floating. 18px is where that question's text sits inside its 56px
       row. */
    .sahint{display:block;grid-column:2;grid-row:1 / -1;align-self:start;
            font-family:var(--rt-font-mono);font-size:10px;
            letter-spacing:0.16em;text-transform:uppercase;
            color:var(--rt-ink-3);margin:0;padding:18px 0 0;}
  }

  @media (max-width:560px){
    .sa{padding:64px 0 72px;}
    .sa-in{padding:0 20px;}
    .sa-h{font-size:27px;margin-bottom:26px;}
    .saq{padding:10px 12px;gap:11px;}
    .sap{padding:14px 12px 22px;}
  }

