/*
 * v5 record page. Tokens from the RapidLEI brand guidelines via the design
 * handoff of 25 August 2026. Nothing here invents a value.
 *
 * Two rules that are not decoration:
 *   - Elevation is hairlines, never shadows.
 *   - #878787 and #C4C4C4 are not text colours below 14px; caption text is
 *     #5D6068. Mid Violet and #0E8C7B are mark colours only. The handoff calls
 *     this the most common defect in review, so it is encoded here rather than
 *     left to judgement.
 *
 * On !important. The theme and Elementor both style bare a and button elements
 * with high-specificity rules loaded after this file, which is why the first
 * build rendered the copy controls as pink theme buttons and let the theme's
 * type scale override the heading sizes. The current view solves the same fight
 * the same way (.glrs-row-sub, line 644). Marked properties are the ones the
 * theme actually contests: colour, background, border, font-size, font-weight,
 * line-height and padding on interactive elements and headings. Nothing else.
 */

/* Breadcrumb. A nav, per the brief's landmark list. */
.glrs5-crumbs{padding:18px 0 0;}
.glrs5-crumbs ol{list-style:none;margin:0;padding:12px 18px;display:flex;flex-wrap:wrap;gap:8px;
  background:var(--grey);border-radius:8px;font-size:14px;}
.glrs5-crumbs li+li::before{content:"/";color:var(--border);margin-right:8px;}
.glrs5-crumbs a{color:var(--violet);text-decoration:none;}
.glrs5-crumbs a:hover{text-decoration:underline;}
.glrs5-crumb-lei{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px;color:var(--caption);}
.glrs5-eyebrow-sep{color:var(--border);margin:0 2px;}

/* ── Lifecycle ──────────────────────────────────────────────────────
   A section of its own, full width, with air around it. The bar is
   aria-hidden; the two lines above it and the axis below are real text and
   between them they carry every fact the graphic draws. */
/* The same inset as a card's content, without the card. 22px matches
   .glrs5-dl>div and 20px matches .glrs5-mod-body, so the lifecycle's text and
   bar line up with the tiles above and below it rather than sitting flush to
   the page edge on their own. */
.glrs5-lifecycle{margin-top:32px;padding:26px 23px 10px;border-top:1px solid var(--hair);}
.glrs5-life-top{display:flex;justify-content:space-between;align-items:center;gap:24px;
  flex-wrap:wrap;margin:0 0 16px;}
.glrs5 h2.glrs5-life-label{font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-size:11px!important;letter-spacing:.09em;text-transform:uppercase;
  color:var(--caption)!important;font-weight:500!important;margin:0!important;line-height:1.4!important;}
.glrs5 ul.glrs5-legend{list-style:none!important;padding:0!important;}
.glrs5-legend{list-style:none;display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.07em;
  text-transform:uppercase;color:var(--caption);}
.glrs5-legend li{display:flex;align-items:center;gap:7px;}
.glrs5-key{width:12px;height:12px;border-radius:2px;flex:0 0 auto;display:block;}
.glrs5-key--ok{background:var(--green);}
.glrs5-key--was{background:var(--caption);opacity:.35;}
.glrs5-key--bad{background:var(--alert);}
.glrs5-key--tick{background:#fff;border:1px solid var(--border);}
.glrs5-key--todo{background:var(--accent);}

.glrs5 .glrs5-life-head{font-size:22px!important;line-height:1.3!important;font-weight:700!important;
  letter-spacing:-.01em;color:var(--ink)!important;margin:0 0 6px!important;}
.glrs5 .glrs5-life-sentence{font-size:16px!important;line-height:1.6!important;
  color:var(--body2)!important;margin:0 0 24px!important;max-width:78ch;}

/* The bar. The wrapper exists to hold the Today marker, which sits over it. */
.glrs5-bar-wrap{position:relative;padding-top:22px;overflow:visible;}
.glrs5-bar{display:flex;height:22px;border-radius:3px;overflow:hidden;background:var(--grey);}
.glrs5-span{position:relative;display:block;height:100%;}
.glrs5-span--ok{background:var(--green);}
/* A closed period keeps the colour of the state that held during it, but only
   the span containing today may be green. */
.glrs5-span--was{background:var(--caption);opacity:.35;}
.glrs5-span--bad{background:var(--alert);}
/* Runway. Tinted and named in the legend rather than filled, so it reads as
   time that has not happened rather than as time observed. */
.glrs5-span--todo{background:var(--accent);}
.glrs5-tick{position:absolute;top:0;bottom:0;width:2px;background:#fff;transform:translateX(-1px);}
.glrs5-today{position:absolute;top:22px;bottom:0;width:1px;background:var(--ink);z-index:1;}
.glrs5-today-lab{position:absolute;bottom:100%;left:0;transform:translateX(-50%);
  font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.09em;
  text-transform:uppercase;color:var(--ink);white-space:nowrap;padding-bottom:4px;}

.glrs5-life-axis{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-top:10px;}
.glrs5-life-foot{display:flex;flex-direction:column;gap:2px;font-size:13px;color:var(--caption);}
.glrs5-life-foot b{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:12px;
  letter-spacing:.04em;color:var(--ink);font-weight:500;}
.glrs5-life-foot--mid{text-align:center;align-items:center;color:var(--greentext);}
.glrs5-life-foot--mid b{color:var(--greentext);}
.glrs5-life-foot--end{text-align:right;align-items:flex-end;}

/* ── Not found ──────────────────────────────────────────────────────
   Its own measure, because this block renders outside the record view. */
.glrs5--nf{padding-bottom:72px;}
.glrs5-nf{max-width:62ch;padding:36px 0 0;}
.glrs5 h1.glrs5-nf-h{font-size:38px!important;line-height:1.1!important;letter-spacing:-.025em;
  font-weight:700!important;margin:0 0 14px!important;color:var(--ink)!important;}
.glrs5-nf-code{margin:0 0 22px;}
.glrs5 .glrs5-nf-p{font-size:17px!important;line-height:1.65!important;color:var(--body2)!important;
  margin:0 0 16px!important;}
.glrs5-nf-acts{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px;}

/* Full page width. The v5 template deliberately does not use the theme's
   container, so this element owns its own measure. */
.gleif-record-page--v5{width:100%;margin:0;padding:0;max-width:none;}

/* The record page owns its own ground. The theme paints a tinted, faintly
   gridded section background behind page content, which reads as texture
   underneath a document whose whole job is to look like a record. This sheet
   loads only on a v5 record page, and the class only lands on one, so the
   override cannot reach anything else. Header and footer are untouched. */
body.glrs5-record{background:#fff!important;background-image:none!important;}
body.glrs5-record #main,
body.glrs5-record #primary,
body.glrs5-record .site-main,
body.glrs5-record .site-content,
body.glrs5-record .gleif-record-page--v5{background:#fff!important;background-image:none!important;}

.glrs5{
  --violet:#4003CC; --navy:#010334; --ink:#0E1219; --grey:#F1F1F1; --accent:#DEE0FF;
  --midviolet:#7377CF; --green:#0E8C7B; --greentext:#0B7365; --alert:#B32D22;
  --caption:#5D6068; --body2:#3A3D45; --hair:#E5E5E5; --border:#C4C4C4; --pending:#878787;
  max-width:1180px;margin:0 auto;padding:0 32px 56px;
  font-family:"Helvetica Neue",Helvetica,"Arial Nova",Arial,sans-serif;
  color:var(--ink);font-size:17px;line-height:1.65;
}
/* The theme sets line-height on p and li and wins on specificity, which is what
   made the first build read as squashed rather than merely small. Sizes are set
   on the components below; this establishes the rhythm they inherit.

   :where() so the rule carries zero specificity. It still beats the theme's
   bare element selectors, and it loses to every component class, which is the
   point: written as a plain descendant selector it silently undid the tight
   1.3 on the provenance values and three other deliberate choices. */
.glrs5 :where(p,li,dd,dt,td,th){line-height:1.6!important;font-family:inherit;}
.glrs5 *,.glrs5 *::before,.glrs5 *::after{box-sizing:border-box;}
/* The button base sets display:inline-flex!important, which beats the browser's
   own [hidden] rule. Without this the JSON control is visible on a page where
   the script never ran, which is the state it ships hidden to avoid. */
.glrs5 .glrs5-btn[hidden],.glrs5 [hidden]{display:none!important;}

.glrs5-eyebrow{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:11px;letter-spacing:.09em;text-transform:uppercase;color:var(--violet);margin:0 0 10px;}
.glrs5-pill{display:inline-block;margin-left:10px;background:var(--accent);color:var(--navy);
  border-radius:8px;padding:3px 10px;font-size:11px;letter-spacing:.06em;}
.glrs5-code{font-family:"IBM Plex Mono",ui-monospace,SFMono-Regular,Menlo,monospace;
  font-size:12px;background:var(--grey);border:1px solid var(--hair);border-radius:8px;padding:2px 7px;}
.glrs5-sub{display:block;color:var(--caption);font-size:14px;line-height:1.55!important;margin-top:4px;}
.glrs5-muted{color:var(--caption);}

/* The divider IS the gap: one hairline container, 1px grid gap over #E5E5E5. */
.glrs5-masthead{padding:34px 0 0;}
.glrs5-idcard{display:grid;grid-template-columns:1fr 330px;gap:1px;background:var(--hair);
  border:1px solid var(--hair);border-radius:12px;overflow:hidden;}
.glrs5-idcard-main{background:#fff;padding:28px;}
/* v5.6.2. The country line moved above the name, so the margins swap roles:
   it is a kicker with a tight gap under it, and the name now carries the space
   that used to sit between the two. */
.glrs5 h1.glrs5-name{font-size:38px!important;line-height:1.05!important;letter-spacing:-.025em;
  font-weight:700!important;margin:0 0 10px!important;color:var(--ink)!important;text-transform:none!important;}
.glrs5-juris{font-size:14px!important;line-height:1.5!important;color:var(--caption)!important;margin:0 0 6px!important;}
.glrs5-flag{font-size:18px;margin-right:6px;}
.glrs5 .glrs5-addr{font-size:16px!important;line-height:1.6!important;color:var(--body2)!important;margin:0 0 20px!important;}

.glrs5-identity{background:var(--accent);border-radius:8px;padding:16px 18px;
  display:flex;align-items:flex-end;justify-content:space-between;gap:18px;flex-wrap:wrap;}
.glrs5-identity-label{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;
  font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--navy);margin-bottom:4px;}
.glrs5-identity-lei{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:20px;
  font-weight:500;letter-spacing:.05em;white-space:nowrap;color:var(--navy);}
.glrs5-copybtns{display:flex;gap:8px;flex-wrap:wrap;}

/* Reset first, then style. Both the theme and Elementor style bare button and a
   elements after this sheet loads, which is what turned these pink. */
.glrs5 .glrs5-btn,
.glrs5 a.glrs5-btn,
.glrs5 button.glrs5-btn{
  -webkit-appearance:none!important;appearance:none!important;
  display:inline-flex!important;align-items:center;justify-content:center;
  box-shadow:none!important;text-shadow:none!important;text-transform:none!important;
  letter-spacing:0!important;font-family:inherit!important;font-weight:500!important;
  border-radius:8px!important;font-size:15px!important;line-height:1!important;cursor:pointer;
  text-decoration:none!important;text-align:center;padding:0 16px!important;min-height:44px;transition:none;}
.glrs5 .glrs5-btn--ghost,
.glrs5 button.glrs5-btn--ghost{height:40px!important;background:#fff!important;color:var(--navy)!important;
  border:1px solid var(--navy)!important;}
.glrs5 .glrs5-btn--ghost:hover,
.glrs5 .glrs5-btn--ghost:focus,
.glrs5 button.glrs5-btn--ghost:hover,
.glrs5 button.glrs5-btn--ghost:focus{background:var(--navy)!important;color:#fff!important;border-color:var(--navy)!important;}
.glrs5 .glrs5-btn--primary,
.glrs5 a.glrs5-btn--primary{height:48px!important;background:var(--violet)!important;color:#fff!important;
  border:0!important;width:100%;}
.glrs5 .glrs5-btn--primary:hover,
.glrs5 .glrs5-btn--primary:focus,
.glrs5 a.glrs5-btn--primary:hover,
.glrs5 a.glrs5-btn--primary:focus{background:var(--navy)!important;color:#fff!important;}
.glrs5 .glrs5-btn:focus-visible{outline:2px solid var(--violet);outline-offset:2px;}

.glrs5-state{background:#fff;padding:22px;}
/* .glrs5-state-label deleted in v5.6.2 along with the eyebrow it styled. It had
   exactly one caller and no other, checked rather than assumed: an earlier draft
   of this comment kept the rule on the grounds that the class was shared, and it
   was not. */
.glrs5-state dl{margin:0;}
.glrs5-state dl>div{display:flex;justify-content:space-between;gap:12px;
  padding:12px 0;border-top:1px solid var(--hair);}
/* v5.6.2. With the eyebrow gone the first row's top rule became a hairline
   floating at the top of the card, under nothing. The rules separate rows from
   each other; there is nothing above the first one to separate it from. */
.glrs5-state dl>div:first-child{border-top:0;padding-top:0;}
/* v5.7.1. The explanation block that replaced "Show all GLEIF fields".
   It reuses .glrs5-dl unchanged rather than defining its own grid: the first
   draft invented a second label style, mono uppercase against the section's
   sentence-case caption, and set its own layout with no horizontal padding, so
   the text ran to the card edge and the last line sat on the border. The rows
   here are the rows above them; only the heading is new, and it takes the same
   22px gutter the rows use. */
.glrs5-expl{border-top:1px solid var(--hair);padding-top:18px;}
.glrs5 p.glrs5-expl-h{padding:0 22px;margin:0 0 4px!important;}

/* v5.6.1. The label does not wrap, and the value column absorbs the slack.
   Both children of this flex row default to flex:0 1 auto, so they compete for
   width by content. Until v5.5.0 every value was one short word and the label
   always won; the sub-lines added since have a long max-content, so the value
   column started taking the row and "Reference data" broke across two lines
   beside it. Six fixed labels, the longest of which is "Policy conformity" at
   about 135px, so nowrap is safe down to a 375px viewport. min-width:0 is what
   actually lets the value shrink: without it a flex item will not go below its
   min-content width and the row overflows instead. */
.glrs5 .glrs5-state dt{color:var(--caption)!important;font-size:15px!important;margin:0;
  white-space:nowrap;flex:0 0 auto;}
.glrs5 .glrs5-state dd{margin:0;font-size:15px!important;text-align:right;color:var(--ink)!important;
  flex:1 1 auto;min-width:0;}
/* The sub-line is a caption, not a second value. Left to inherit the value's
   right alignment it set ragged over two or three lines with one word stranded
   on the last, which is what "type" was doing under "No public register covers
   this entity type". Given the full width of its own column and a tighter
   measure, it sets as one block. */
.glrs5 .glrs5-state-sub{display:block!important;font-size:13px!important;margin-top:3px;
  line-height:1.45!important;color:var(--caption)!important;text-wrap:pretty;}
.glrs5 .glrs5-state-sub a{color:var(--violet)!important;text-decoration:none!important;}
.glrs5 .glrs5-state-sub a:hover,.glrs5 .glrs5-state-sub a:focus{text-decoration:underline!important;}

/* Colour is decoration: every dot sits beside its own word. */
.glrs5-dot{display:inline-block;width:8px;height:8px;border-radius:3px;margin-right:6px;vertical-align:middle;}
.glrs5-dot--ok{background:var(--green);}
.glrs5-dot--alert{background:var(--alert);}
.glrs5-dot--due{background:var(--midviolet);}
.glrs5-dot--off{background:var(--pending);}
.glrs5-dot--pending{background:var(--pending);}

.glrs5-verdict{background:var(--grey);border-radius:12px;margin:20px 0 0;padding:28px 32px;
  display:grid;grid-template-columns:1fr 220px;gap:24px;align-items:center;}
.glrs5 .glrs5-verdict-stmt{font-size:23px!important;line-height:1.25!important;letter-spacing:-.02em;
  font-weight:700!important;margin:0!important;color:var(--ink)!important;}
/* The action bar. Its own row between the identity card and the verdict. */
.glrs5-actbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px;
  margin:20px 0 0;padding:18px 22px;background:var(--accent);border-radius:12px;}
.glrs5 .glrs5-actbar-sub{font-size:15px!important;line-height:1.5!important;
  color:var(--navy)!important;flex:1 1 300px;margin:0!important;}

/* Name-and-value pills, so six mapping schemes fit on one row. */
.glrs5-idpill{display:inline-flex;align-items:center;gap:6px;margin:0 8px 6px 0;
  padding:3px 8px 3px 10px;background:var(--grey);border-radius:8px;vertical-align:middle;}
.glrs5-idpill-k{font-size:12px;color:var(--caption);white-space:nowrap;}
.glrs5-idpill .glrs5-code{background:transparent;padding:0;}
.glrs5-idpill--more{font-size:12px;color:var(--caption);padding:5px 10px;}
.glrs5 .glrs5-verdict-qual--remedy{margin-top:10px!important;}

.glrs5 .glrs5-verdict-qual{font-size:16px!important;line-height:1.7!important;color:var(--body2)!important;margin:12px 0 0!important;}
.glrs5-verdict--wide{grid-template-columns:1fr;}
.glrs5-runway{border-left:2px solid var(--green);padding-left:18px;}
.glrs5-runway-num{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:44px;line-height:1;color:var(--ink);}
.glrs5-runway-lbl{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--caption);margin-top:6px;}

.glrs5-body{display:grid;grid-template-columns:1fr 320px;grid-template-rows:auto 1fr;
  column-gap:32px;row-gap:20px;margin-top:32px;align-items:start;}
/* Explicit placement, so the source order can put the actions rail first for
   the mobile stack without moving anything on desktop. A third rail would need
   its own grid-row and a wider span here; auto-placement would drop it under
   the main column. */
.glrs5-main{grid-column:1;grid-row:1 / span 2;}
.glrs5-rail--act{grid-column:2;grid-row:1;}
.glrs5-rail--tools{grid-column:2;grid-row:2;}
/* No actions rail on an ended record, so the tools take row one and there is no
   gap above them. */
.glrs5-body--noact .glrs5-rail--tools{grid-row:1;}
.glrs5-body--noact{grid-template-rows:auto;}
.glrs5-section{margin-bottom:34px;}
.glrs5 h2.glrs5-h2{font-size:20px!important;line-height:1.3!important;letter-spacing:-.01em;
  font-weight:700!important;margin:0 0 11px!important;color:var(--ink)!important;text-transform:none!important;}
.glrs5-h2-qual{font-weight:400;font-size:14px;color:var(--caption);margin-left:8px;}
.glrs5-card{border:1px solid var(--hair);border-radius:12px;overflow:hidden;background:#fff;}

/* Label and value is one-dimensional, so it is a dl and stacks natively. */
.glrs5-dl{margin:0;}
.glrs5-dl>div{display:grid;grid-template-columns:210px 1fr;gap:20px;padding:16px 22px;border-top:1px solid var(--hair);}
.glrs5-dl>div:first-child{border-top:0;}
/* Alternating fills removed for review. The hairline between rows is doing the
   separating on its own, and the banding was competing with the Light Grey the
   verdict band and the rail cards already use. */
.glrs5 .glrs5-dl dt{color:var(--caption)!important;margin:0;font-size:16px!important;}
.glrs5 .glrs5-dl dd{margin:0;font-size:16px!important;word-break:break-word;color:var(--ink)!important;}

.glrs5-details{border-top:1px solid var(--hair);}
.glrs5-details summary{cursor:pointer;padding:14px 20px;font-size:14px;color:var(--violet);}

.glrs5-empty{margin:0;padding:18px 20px;color:var(--caption);font-size:15px;}


.glrs5-prov{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--hair);
  border:1px solid var(--hair);border-radius:12px;overflow:hidden;}
.glrs5-prov-cell{background:#fff;padding:20px;}
.glrs5-prov-val{font-size:16px;line-height:1.3!important;font-weight:700;margin:0;}

/* ── Change log ─────────────────────────────────────────────────────
   A date and a sentence, not a before-and-after pair in a table cell. */
.glrs5 ol.glrs5-log{list-style:none!important;margin:0!important;padding:0!important;}
.glrs5-log>li{display:grid;grid-template-columns:150px 1fr;gap:0 20px;align-items:baseline;
  padding:16px 20px;border-top:1px solid var(--hair);}
.glrs5-log--latest>li:first-child,.glrs5-log>li:first-child{border-top:0;}
.glrs5 time.glrs5-log-date{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:13px!important;
  color:var(--caption)!important;white-space:nowrap;}
.glrs5 .glrs5-log-says{margin:0!important;font-size:16px!important;line-height:1.55!important;
  color:var(--ink)!important;}
.glrs5-details>.glrs5-log>li:first-child{border-top:1px solid var(--hair);}
.glrs5-log-note{margin:0;padding:14px 20px;border-top:1px solid var(--hair);
  font-size:14px;color:var(--caption);}

.glrs5-rail{display:flex;flex-direction:column;gap:20px;}
.glrs5-mod{border:1px solid var(--hair);border-radius:12px;overflow:hidden;background:#fff;}
.glrs5 p.glrs5-mod-head{background:var(--navy)!important;color:#fff!important;margin:0!important;
  padding:15px 20px!important;font-size:16px!important;font-weight:700!important;
  display:flex!important;justify-content:space-between;align-items:baseline;gap:12px;}
/* A label above the card, not a header bar inside it. Only the certificate
   module keeps a filled header, because it is the one module that is an offer
   rather than a set of controls. */
.glrs5 p.glrs5-mod-label{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px!important;
  letter-spacing:.09em;text-transform:uppercase;color:var(--caption)!important;
  margin:0 0 8px!important;padding:0;line-height:1.4!important;}

.glrs5-mod-body{padding:20px;}
.glrs5-links{margin:0 0 16px;padding-left:18px;font-size:15px;color:var(--body2);}
.glrs5-links{list-style:none;padding-left:0;}
.glrs5 a{color:var(--violet);}
.glrs5 a:hover{color:var(--ink);}
.glrs5-links a{color:var(--violet);}
/* The sub-line under the primary action is the last thing in the card, and
   .glrs5-sub's top margin plus the body's 22px bottom padding plus the
   paragraph's own trailing space read as a hole. Even it up. */
.glrs5-mod--grey{background:var(--grey);}
/* Element-qualified, because .glrs5 a.glrs5-btn--primary above is (0,2,1) and
   !important does not break a specificity tie. Written as .glrs5 .glrs5-btn--big
   the one control this release exists to make prominent rendered identical to
   every other button on the page. */
/* Order matters here and specificity does not: this is (0,2,1) with !important
   and so is the base rule above, so this has to be written after it. */
.glrs5 a.glrs5-btn--big,
.glrs5 button.glrs5-btn--big{height:58px!important;font-size:17px!important;font-weight:700!important;}
/* Here, not up with the not-found block, because the base rule's padding is
   also (0,2,1) with !important and would have won on source order. */
.glrs5 a.glrs5-btn--auto,
.glrs5 button.glrs5-btn--auto{width:auto!important;padding:0 26px!important;}
.glrs5 a.glrs5-btn--wide,
.glrs5 button.glrs5-btn--wide{width:100%;}
.glrs5 a.glrs5-btn--dark,
.glrs5 button.glrs5-btn--dark{height:46px!important;background:var(--navy)!important;color:#fff!important;border:0!important;}
.glrs5 a.glrs5-btn--dark:hover,
.glrs5 a.glrs5-btn--dark:focus,
.glrs5 button.glrs5-btn--dark:hover,
.glrs5 button.glrs5-btn--dark:focus{background:var(--violet)!important;color:#fff!important;}
.glrs5-mod--plain{border-color:var(--border);}
.glrs5-modlink{margin:14px 0 0;font-size:15px;text-align:center;}
.glrs5-modlink a{color:var(--violet);text-decoration:underline;}
.glrs5-mod-tag{float:none;flex:0 0 auto;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:11px;
  letter-spacing:.08em;text-transform:uppercase;color:#50DAC6;font-weight:400;}
.glrs5-mod-copy{font-size:15px;line-height:1.6!important;color:var(--body2);margin:0 0 14px;}
.glrs5-spec{display:flex;gap:14px;align-items:flex-start;margin-bottom:16px;}
.glrs5-spec-img{width:112px;height:auto;max-height:190px;object-fit:contain;object-position:top;
  border:1px solid var(--hair);border-radius:8px;flex:0 0 auto;}
.glrs5-spec-txt{font-size:14px;line-height:1.5!important;color:var(--body2);margin:0;}
.glrs5-price{margin:0 0 2px;}
.glrs5-price-num{font-size:30px;font-weight:700;color:var(--ink);}
.glrs5-price-sub{font-size:15px;color:var(--caption);margin-left:4px;}

/* The spine. Level names live in the gutter on the rail, so one company holding
   two levels is drawn once and labelled twice. */
.glrs5-card--spine{padding:22px 20px;}
.glrs5-spine{list-style:none;margin:0;padding:0;}
.glrs5-rung{display:grid;grid-template-columns:132px 1fr;gap:0;position:relative;}
.glrs5-rung-tier{font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10px;letter-spacing:.08em;
  text-transform:uppercase;color:var(--caption);padding:22px 14px 0 0;text-align:right;}
.glrs5-rung::before{content:"";position:absolute;left:132px;top:0;bottom:0;width:2px;background:var(--hair);}
.glrs5-rung:first-child::before{top:24px;}
.glrs5-rung:last-child::before{bottom:auto;height:24px;}
.glrs5-rung-card,.glrs5-rung-note,.glrs5-below{margin:8px 0 8px 26px;position:relative;}
.glrs5-rung-card::before,.glrs5-rung-note::before,.glrs5-below::before{
  content:"";position:absolute;left:-26px;top:16px;width:26px;height:2px;background:var(--hair);}
.glrs5-rung-card{border:1px solid var(--hair);border-radius:12px;padding:16px 18px;background:#fff;
  display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;}
/* The whole tile is the target where there is a record behind it. A stretched
   pseudo-element rather than a nested <a>, so the accessible name stays the
   entity name and the LEI beside it stays selectable. */
.glrs5-rung-card--link{transition:border-color .12s,background-color .12s;}
.glrs5-rung-card--link:hover,
.glrs5-rung-card--link:focus-within{border-color:var(--violet);background:var(--accent);}
.glrs5 .glrs5-rung-a{color:var(--violet)!important;text-decoration:none!important;}
.glrs5-rung-card--link:hover .glrs5-rung-a{text-decoration:underline!important;}
.glrs5-rung-a::after{content:"";position:absolute;inset:0;border-radius:12px;}
/* Lifted back above the overlay so the LEI stays selectable and the status
   stays readable to a pointer, which is what the whole-tile target was
   supposed to leave alone. */
.glrs5-rung-card--link .glrs5-rung-meta,
.glrs5-rung-card--link .glrs5-rung-status{position:relative;z-index:1;}
.glrs5-rung-card--link:focus-within{outline:2px solid var(--violet)!important;outline-offset:2px!important;}
.glrs5 .glrs5-rung-a:focus-visible{outline:none;}
.glrs5-rung-card--self{border-color:var(--navy);}
.glrs5-rung-card--self::after{content:"";position:absolute;left:-31px;top:11px;width:10px;height:10px;
  border-radius:50%;background:var(--navy);}
.glrs5-rung-name{margin:0;font-size:16px;font-weight:700;}
.glrs5-rung-meta{margin:3px 0 0;font-size:13px;color:var(--caption);}
.glrs5-rung-status{margin:0;font-size:14px;white-space:nowrap;}
/* Dashed and unfilled: a reported exception is a completed filing, not a gap,
   and must never be drawn as a card or read as "no parent". */
/* A reported exception is never a card, and never reads as "no parent". */
/* v5.6.3. A note that hangs off the spine without being a rung card: no border,
   no connector stub of its own, just the line of prose under the row it
   qualifies. */
.glrs5-spine-note{margin:0 0 8px 26px!important;font-size:13px!important;
  line-height:1.5!important;color:var(--caption)!important;}
.glrs5-rung--note::before{top:0;bottom:0;}
.glrs5-rung-note{border:1px dashed var(--border);border-radius:12px;padding:14px 18px;
  background:transparent;font-size:15px;color:var(--body2);}
.glrs5-tag{float:right;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--caption);}
.glrs5-below{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);
  border:1px solid var(--hair);border-radius:12px;overflow:hidden;}
/* v5.5.0. The fund structure chain reuses .glrs5-below, which is a rigid
   1fr 1fr grid built for two subsidiary counters. A sub-fund record carries one
   counter, not two, and a lone cell in a two-column grid leaves a white half.
   One modifier, no new component. */
.glrs5-below--one{grid-template-columns:1fr;}
.glrs5-count{background:#fff;padding:16px 22px;}
.glrs5-count-num{display:block;font-size:26px;font-weight:700;line-height:1;}
.glrs5-count-lbl{display:block;font-family:"IBM Plex Mono",ui-monospace,monospace;font-size:10px;
  letter-spacing:.08em;text-transform:uppercase;color:var(--caption);margin-top:6px;}
/* The control that loads the rest of a long list from our own copy. */
.glrs5 p.glrs5-kid-more{margin:14px 0 0!important;padding:0;}

/* ── Subsidiaries ───────────────────────────────────────────────────
   The listing, behind a disclosure, so a parent with two hundred of them does
   not push the rest of the page away. */
.glrs5 ul.glrs5-kids{list-style:none!important;margin:0!important;padding:0!important;}
.glrs5-kid{display:grid;grid-template-columns:1fr auto;gap:2px 16px;align-items:baseline;
  padding:12px 0;border-top:1px solid var(--hair);}
.glrs5-kid:first-child{border-top:0;}
.glrs5 a.glrs5-kid-a{grid-column:1;font-size:15px!important;font-weight:700!important;
  color:var(--violet)!important;text-decoration:none!important;}
.glrs5 a.glrs5-kid-a:hover,.glrs5 a.glrs5-kid-a:focus{text-decoration:underline!important;}
.glrs5-kid-meta{grid-column:1;font-size:13px;color:var(--caption);}
.glrs5-kid-status{grid-column:2;grid-row:1 / span 2;font-size:14px;white-space:nowrap;}
/* Its own full-width row, like the note. Every child of .glrs5-below either
   fills a counter column or spans the lot; a child occupying one of two tracks
   leaves the other showing the hairline background as a grey slab. */
.glrs5-details--kids{grid-column:1 / -1;background:#fff;padding:14px 20px;}
.glrs5-details--kids>summary{margin-top:0;}
.glrs5-details--kids .glrs5-kids{padding-top:4px!important;}

.glrs5-below-note{grid-column:1 / -1;background:var(--grey);margin:0;padding:16px 20px;
  font-size:13px;line-height:1.5!important;color:var(--body2);}
.glrs5-sub--foot{margin-top:10px;}

.glrs5-confidence{margin:28px 0 0;font-size:13px;color:var(--caption);}

@media (max-width:768px){
  .glrs5{padding:0 20px 40px;}
  .glrs5-idcard,.glrs5-verdict,.glrs5-prov{grid-template-columns:1fr;}
  /* State, verdict, lifecycle, what you can do, then the detail. The tools sit
     after it, where they belong: nobody reaches for Download JSON before they
     have read the record. */
  .glrs5-body{display:flex;flex-direction:column;gap:20px;align-items:stretch;}
  /* No order properties. The source order is already actions, record, tools,
     which is what the eye and the screen reader should both get. Reordering
     visually and leaving the DOM alone is the classic 2.4.3 failure, and on a
     phone it would have put the certificate last for the readers least able to
     go hunting for it. */
  .glrs5-main>.glrs5-section:last-child{margin-bottom:0;}
  /* Qualified to match the desktop rules they override. When those gained a
     second class and !important, these bare single-class rules stopped
     winning and the verdict rendered at 26px on a 390px viewport. */
  .glrs5 h1.glrs5-name{font-size:28px!important;}
  .glrs5 .glrs5-verdict-stmt{font-size:20px!important;}
  .glrs5-runway{border-left:0;border-top:2px solid var(--green);padding:14px 0 0;}
  .glrs5-dl>div{grid-template-columns:1fr;gap:4px;}
  /* Indentation does not survive 390px, so the relationship becomes a caption
     on each card rather than a scaled inset. */
  .glrs5-rung{grid-template-columns:1fr;}
  .glrs5-rung::before{display:none;}
  .glrs5-rung-tier{text-align:left;padding:14px 0 0;}
  .glrs5-rung-card,.glrs5-rung-note,.glrs5-below{margin-left:0;}
  .glrs5-rung-card::before,.glrs5-rung-note::before,.glrs5-below::before{display:none;}
  .glrs5-rung-card--self::after{display:none;}
  .glrs5-lifecycle{padding-left:0;padding-right:0;}
  /* The change log stacks: a 150px date column beside a sentence leaves the
     sentence about eight characters wide at 390px. */
  .glrs5-log>li{grid-template-columns:1fr;gap:4px;}
  .glrs5-life-axis{flex-direction:column;gap:12px;}
  .glrs5-life-foot--mid,.glrs5-life-foot--end{text-align:left;align-items:flex-start;}
  .glrs5-legend{gap:12px;}
  .glrs5 .glrs5-life-head{font-size:19px!important;}
  .glrs5 h1.glrs5-nf-h{font-size:28px!important;}
  /* Qualified to match the desktop rule. And flex-basis is the MAIN axis, so
     the 260px that sets the caption's width in a row becomes its height in a
     column: a one-line sentence in a 260px-tall box. */
  .glrs5-actbar{flex-direction:column;align-items:stretch;padding:16px;}
  .glrs5 .glrs5-actbar-sub{flex:0 1 auto;}
  .glrs5 .glrs5-actbar a.glrs5-btn--auto{width:100%!important;}
  .glrs5-nf-acts{flex-direction:column;align-items:stretch;}
}
