/* T-Blocks website review · shared components.
   Values come from the pinned Brand 2.4.0 tokens. Website-only adaptations are declared once, in :root below.
   Page scale (Henri, 11 Oct; round 9, 14 Oct): the body carries CSS zoom .64 on desktop (≥1280), .72 on small laptops,
   .9 on tablet and 1 on phones. Round 5 compensates the reading roles through --u, one
   visual pixel under the scale, so body text stays 16–18 visual px while the furniture keeps its compact scale. */
@import url("brand/kit/fonts/fonts.css");
@import url("brand/tokens/tblocks-brand-tokens.css");

:root {
  --site-btn-h: 48px;
  --hdr-h: 84px;             /* full header over the hero */
  --hdr-h-x: 68px;           /* expanded on the way back up */
  --hdr-h-c: 56px;           /* compact, contained */
  --sec-y: clamp(72px, 9vw, 128px);
  --frame-r: var(--r-xs);    /* panes carry 2 px (Book p. 27) */
  --lede: 1.1875rem;
  --body: 1.0625rem;         /* 17 px reading size on desktop */
  --glow-lit: 0 0 22px rgba(103,187,214,.62), 0 0 2px rgba(103,187,214,.9);
  --veil: rgba(0,0,0,.52);
  --glass: rgba(11,20,27,.78);
  color-scheme: light;
}
@media (max-width: 767px) { :root { --body: 1rem; --lede: 1.0625rem; } }
/* page scale (Henri, 11 Oct): desktop reads as 80% zoom, tablet 90%, phones stay at 100%.
   Inside the zoomed body, viewport units are divided by the scale (--vw, --vh); JS divides measured pixels by it too. */
:root { --pz: 1; --ss: 1; --vw: calc(100vw / var(--pz)); --vh: calc(100svh / var(--pz)); --floor: calc(12px / var(--pz)); }
@media (min-width: 768px) { :root { --pz: .9; } }
/* round 9 (Henri, 14 Oct): the default view is what the page looked like at 80% browser zoom. --ss is that site scale:
   it multiplies the zoom (furniture) and --u (reading roles), so everything shrinks together; small type keeps an
   11 visual px floor. Small laptops land halfway. */
@media (min-width: 1024px) { :root { --pz: .72; --ss: .9; --floor: calc(11px / var(--pz)); } }
@media (min-width: 1280px) { :root { --pz: .64; --ss: .8; --floor: calc(11px / var(--pz)); } }
body { zoom: var(--pz); }

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 76px; }
body { margin: 0; background: var(--ground-black); color: var(--on-light-1); font-family: var(--font-sans); font-size: var(--body); line-height: var(--lh-normal);
  font-feature-settings: "cv11", "ss01"; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; overflow-x: clip; }
img, svg, video { display: block; max-width: 100%; }
a { color: inherit; }
h1, h2, h3, h4, h5, p, figure, ul, ol { margin: 0; }
p, li, summary { text-wrap: pretty; }
ul, ol { padding: 0; list-style: none; }
button { font: inherit; color: inherit; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.skip { position: absolute; left: 16px; top: -64px; z-index: 100; background: var(--ground-white); color: var(--on-light-1); padding: 12px 16px; border-radius: var(--btn-r); font-weight: 600; }
.skip:focus { top: 12px; }
:focus-visible { outline: var(--focus-outline-light); outline-offset: var(--focus-offset); }
.dk :focus-visible, .dk:focus-visible, .hdr :focus-visible { outline: var(--focus-outline-dark); }

.wrap { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
@media (max-width: 767px) { .wrap { padding-inline: 20px; } }

/* grounds: black leads, mist and white for reading */
.dk { background: var(--ground-black); color: var(--on-dark-1); --fg2: var(--on-dark-2); --fg3: var(--on-dark-3); --rl: var(--on-dark-rule); --mk: var(--blue-400); --ink-accent: var(--blue-400); }
.lt { background: var(--ground-white); color: var(--on-light-1); --fg2: var(--on-light-2); --fg3: var(--on-light-3); --rl: var(--on-light-rule); --mk: var(--blue-500); --ink-accent: var(--blue-800); }
.lt.mist { background: var(--ground-mist); }
.sec { padding-block: var(--sec-y); position: relative; }

/* type roles (Book p. 26; 2.3.0 ruling: Inter for headings, Source Serif 4 for statements) */
.h-display { font-size: clamp(2.5rem, 5.6vw, 5.25rem); line-height: var(--lh-tight); letter-spacing: var(--ls-display); font-weight: var(--fw-bold); text-wrap: balance; }
.h-page { font-size: clamp(2.25rem, 3.9vw, 3.5rem); line-height: 1.05; letter-spacing: var(--ls-display); font-weight: var(--fw-bold); text-wrap: balance; }
.h-sec { font-size: var(--fs-h1); line-height: 1.08; letter-spacing: var(--ls-h1); font-weight: var(--fw-bold); text-wrap: balance; }
.h-statement { font-family: var(--font-serif); font-weight: 400; font-size: clamp(2.375rem, 5.4vw, 4.75rem); line-height: 1.04; letter-spacing: -.02em; text-wrap: balance; }
.ln { display: block; }
.lede { font-size: var(--lede); line-height: 1.55; color: var(--fg2); max-width: var(--measure-marketing); text-wrap: pretty; }
.small { font-size: var(--fs-sm); line-height: 1.55; color: var(--fg3); max-width: 70ch; }

/* the square does the small work (Book p. 7): eyebrow, status, stage number */
.eyebrow { display: flex; align-items: center; gap: 10px; font-size: var(--eyebrow-fs); font-weight: var(--eyebrow-fw); letter-spacing: var(--eyebrow-ls); text-transform: uppercase; color: var(--ink-accent); }
.eyebrow::before { content: ""; width: var(--eyebrow-mark); height: var(--eyebrow-mark); border-radius: var(--sq-r); background: var(--mk); flex: none; }
.head-row { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; }
.st { display: inline-flex; align-items: center; gap: 7px; height: var(--pill-h); padding-inline: var(--pill-px); border-radius: var(--r-pill); font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border: 1px solid currentColor; white-space: nowrap; vertical-align: middle; }
.st::before { content: ""; width: var(--pill-mark); height: var(--pill-mark); border-radius: var(--sq-r); background: currentColor; }
.st.live { color: var(--ok); } .st.soon { color: var(--warn); } .st.lim { color: var(--info); }
.dk .st.live, .hdr .st.live, .mnav .st.live { color: var(--ok-dark); }
.dk .st.soon, .hdr .st.soon, .mnav .st.soon { color: var(--warn-dark); }
.dk .st.lim { color: var(--info-dark); }
.stage { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: var(--sq-r); font-size: max(12px, var(--floor)); font-weight: 700; font-variant-numeric: tabular-nums; background: var(--ground-navy); color: #fff; flex: none; }
.dk .stage { background: var(--blue-850); }

/* controls (Book p. 27): one action-green primary per composition, 4 px corners */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: var(--btn-gap); min-height: var(--site-btn-h); padding: 0 var(--btn-px); border-radius: var(--btn-r);
  font-size: max(var(--btn-fs-md), var(--floor)); font-weight: var(--btn-fw); line-height: 1.2; text-decoration: none; border: 1px solid transparent; cursor: pointer; white-space: nowrap;
  transition: background var(--dur) var(--ease), border-color var(--dur) var(--ease), color var(--dur) var(--ease), transform var(--dur) var(--ease); }
.btn .ar { display: inline-block; transition: transform var(--motion-dur-micro) var(--motion-ease-settle); }
.btn:hover .ar, .lnk:hover .ar, .sel__c:hover .ar, .mega__head:hover .ar { transform: translateX(3px); }
.btn:active { transform: translateY(1px); }
.btn-sm { min-height: 40px; padding: 0 16px; font-size: max(var(--btn-fs-sm), var(--floor)); }
.lt .btn-p { background: var(--action-green); color: var(--on-action-green); }
.lt .btn-p:hover { background: #0D5F54; }
.dk .btn-p, .hdr .btn-p, .mnav .btn-p { background: var(--action-green-dark); color: var(--on-action-green-dark); }
.dk .btn-p:hover, .hdr .btn-p:hover { background: #A3E3D3; }
.btn-s { background: transparent; }
.lt .btn-s { border-color: var(--btn-border-light); color: var(--on-light-1); }
.lt .btn-s:hover { background: var(--btn-wash-light); }
.dk .btn-s { border-color: var(--btn-border-dark); color: #fff; }
.dk .btn-s:hover { background: var(--btn-wash-dark); border-color: rgba(255,255,255,.7); }
.lnk { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-weight: 600; color: var(--ink-accent); text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 5px; transition: text-decoration-color var(--dur); }
.lnk:hover { text-decoration-color: currentColor; }
.btns { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 24px; }
.pbtn { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; background: none; border: 1px solid var(--btn-border-light); border-radius: var(--btn-r); cursor: pointer; font-size: max(14px, var(--floor)); font-weight: 600; color: var(--on-light-2); }
.pbtn svg { width: 10px; height: 10px; }
.pbtn .i-play, .pbtn[aria-pressed="true"] .i-pause, .film[aria-pressed="true"] .i-pause, .film .i-play { display: none; }
.pbtn[aria-pressed="true"] .i-play, .film[aria-pressed="true"] .i-play { display: block; }
.pbtn--dk, .dk .pbtn { color: var(--on-dark-2); border-color: var(--btn-border-dark); }
.pbtn:hover { background: var(--btn-wash-light); } .pbtn--dk:hover, .dk .pbtn:hover { background: var(--btn-wash-dark); color: #fff; }

/* ── header: full over the hero → compact and contained on the way down → expanded on the way up ── */
.hdr { position: fixed; z-index: 60; top: 0; left: 0; right: 0; color: #fff; pointer-events: none;
  --inset: 0px; --top: 0px; --h: var(--hdr-h); --r: 0px; --bg: rgba(0,0,0,0); --bd: rgba(255,255,255,0); }
.hdr__bar { pointer-events: auto; position: relative; margin: var(--top) var(--inset) 0; height: var(--h); padding-inline: max(var(--gutter), calc((var(--vw) - var(--container)) / 2 - var(--inset)));
  display: flex; align-items: center; gap: 24px; background: var(--bg); border: 1px solid var(--bd); border-radius: var(--r);
  transition: margin 420ms var(--motion-ease-settle), height 420ms var(--motion-ease-settle), padding 420ms var(--motion-ease-settle), border-radius 420ms var(--motion-ease-settle), background-color 300ms var(--ease), border-color 300ms var(--ease), box-shadow 300ms var(--ease); }
.hdr[data-state="top"] .hdr__bar { background-image: linear-gradient(180deg, rgba(0,0,0,.55), rgba(0,0,0,0)); }
.hdr[data-state="expanded"] { --h: var(--hdr-h-x); --bg: rgba(0,0,0,.86); --bd: transparent; }
.hdr[data-state="expanded"] .hdr__bar { border-bottom-color: var(--on-dark-rule); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px); }
.hdr[data-state="compact"] { --inset: max(12px, calc((var(--vw) - var(--container)) / 2 - 20px)); --top: 12px; --h: var(--hdr-h-c); --r: var(--r-md); --bg: var(--glass); --bd: rgba(255,255,255,.12); }
.hdr[data-state="compact"] .hdr__bar { padding-inline: 20px 10px; box-shadow: 0 14px 40px rgba(0,0,0,.28); -webkit-backdrop-filter: blur(14px) saturate(1.2); backdrop-filter: blur(14px) saturate(1.2); }
.hdr__marks { position: relative; display: block; flex: none; }
.hdr[data-state="compact"] .hdr__marks { width: 26px; height: 26px; }
.hdr[data-state="compact"] .hdr__lockup { position: absolute; left: 0; top: 0; }
.hdr__logo { position: relative; display: flex; align-items: center; gap: 16px; text-decoration: none; flex: none; min-height: 44px; }
.hdr__lockup { width: 112px; height: auto; transition: opacity 260ms var(--ease), transform 420ms var(--motion-ease-settle); }
.hdr__symbol { position: absolute; left: 0; top: 50%; width: 26px; height: 26px; margin-top: -13px; opacity: 0; transform: scale(.85); transition: opacity 260ms var(--ease), transform 420ms var(--motion-ease-settle); }
.hdr__mark { font-size: max(13px, var(--floor)); font-weight: 500; color: var(--on-dark-2); white-space: nowrap; padding-left: 16px; border-left: 1px solid rgba(255,255,255,.22); line-height: 20px; transition: opacity 260ms var(--ease); }
.hdr[data-state="compact"] .hdr__lockup { opacity: 0; transform: translateX(-8px); }
.hdr[data-state="compact"] .hdr__symbol { opacity: 1; transform: none; }
.hdr[data-state="compact"] .hdr__mark { padding-left: 12px; }
.nav { display: flex; align-items: center; gap: 4px; margin-left: auto; }
.nav__it { position: relative; display: flex; align-items: center; border-radius: var(--btn-r); transition: background-color 200ms var(--ease); }
.nav__it.is-open, .nav__it:hover { background: rgba(255,255,255,.08); }
.nav__a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 4px 0 12px; font-size: max(15px, var(--floor)); font-weight: 500; color: rgba(255,255,255,.88); text-decoration: none; white-space: nowrap; }
.nav__it:not(:has(.nav__b)) .nav__a { padding-right: 12px; }
.nav__a:hover, .nav__it.is-here .nav__a { color: #fff; }
.nav__it.is-here::after { content: ""; position: absolute; left: 12px; right: 12px; bottom: 4px; height: 1px; background: var(--blue-400); }
.nav__b { display: inline-grid; place-items: center; width: 30px; height: 40px; background: none; border: 0; cursor: pointer; color: rgba(255,255,255,.72); border-radius: var(--btn-r); }
.nav__b svg { width: 9px; transition: transform var(--motion-dur-micro) var(--motion-ease-settle); }
.nav__b[aria-expanded="true"] svg { transform: rotate(180deg); }
.hdr__act { display: flex; align-items: center; gap: 12px; flex: none; }
.navtog { display: none; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; background: none; border: 1px solid var(--btn-border-dark); border-radius: var(--btn-r); color: #fff; cursor: pointer; font-weight: 600; font-size: max(15px, var(--floor)); }
.navtog i { position: relative; width: 14px; height: 10px; border-top: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transition: border-color 200ms; }
.navtog i::before, .navtog i::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; margin-top: -.75px; background: currentColor; transition: transform 240ms var(--motion-ease-settle); }
.navtog[aria-expanded="true"] i { border-color: transparent; }
.navtog[aria-expanded="true"] i::before { transform: rotate(45deg); } .navtog[aria-expanded="true"] i::after { transform: rotate(-45deg); }
@media (max-width: 1023px) { .hdr__mark { display: none; } }
@media (max-width: 959px) {
  .nav, .hdr__act .btn { display: none; }
  .navtog { display: inline-flex; }
  .hdr__act { margin-left: auto; }
  :root { --hdr-h: 64px; --hdr-h-x: 60px; --hdr-h-c: 56px; }
  .hdr[data-state="compact"] { --inset: 10px; --top: 8px; }
  .hdr[data-state="compact"] .hdr__bar { padding-inline: 14px 8px; }
  .hdr[data-state="top"] .hdr__bar, .hdr[data-state="expanded"] .hdr__bar { padding-inline: 20px; }
}

/* the menu: a contained panel under the header, the page veiled behind it */
.veil { position: fixed; inset: 0; z-index: 55; background: var(--veil); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); opacity: 0; visibility: hidden; transition: opacity 260ms var(--ease), visibility 260ms; }
.veil.on { opacity: 1; visibility: visible; }
.mega { position: fixed; z-index: 58; top: calc(var(--hdr-bottom, 84px) + 8px); left: 50%; width: min(var(--container), calc(var(--vw) - 2 * var(--gutter))); transform: translate(-50%, -8px);
  background: var(--ground-black); border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-md); box-shadow: 0 24px 70px rgba(0,0,0,.5);
  opacity: 0; visibility: hidden; transition: opacity 240ms var(--ease), transform 320ms var(--motion-ease-settle), visibility 240ms; }
.mega.open { opacity: 1; visibility: visible; transform: translate(-50%, 0); transition: opacity 240ms var(--ease), transform 320ms var(--motion-ease-settle), visibility 0s; }
.mega__pane { display: none; padding: 32px; }
.mega__pane.on { display: block; animation: paneIn 300ms var(--motion-ease-settle); }
@keyframes paneIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.mega__grid { display: grid; grid-template-columns: 4fr 4fr 5fr; gap: 32px; align-items: stretch; }
.mega__intro { display: grid; align-content: start; gap: 16px; }
.mega__head { display: grid; gap: 10px; text-decoration: none; }
.mega__title { font-size: 24px; font-weight: 700; letter-spacing: var(--ls-h2); display: flex; align-items: center; gap: 10px; }
.mega__desc { color: var(--on-dark-2); font-size: max(15px, var(--floor)); line-height: 1.55; max-width: 34ch; }
.mega__links { display: grid; align-content: start; border-top: 1px solid var(--on-dark-rule); }
.mega__links a { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 2px 12px; min-height: 52px; padding: 13px 4px; border-bottom: 1px solid var(--on-dark-rule);
  color: rgba(255,255,255,.92); text-decoration: none; font-size: max(15px, var(--floor)); font-weight: 500; transition: padding 240ms var(--motion-ease-settle), color 160ms; }
.mega__links a:hover, .mega__links a:focus-visible { padding-left: 10px; color: #fff; }
.mega__links .t { display: inline-flex; align-items: center; gap: 10px; }
.mega__links img { width: 14px; height: 14px; }
.mega__links .note { font-size: max(13px, var(--floor)); color: var(--on-dark-3); font-weight: 400; }
.mega__links a.quiet { color: var(--on-dark-2); font-weight: 400; }
.mega__card { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 220px; padding: 22px; border-radius: var(--r-xs); overflow: hidden; text-decoration: none; border: 1px solid var(--on-dark-rule); isolation: isolate; }
.mega__card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; filter: var(--grade-cool); transition: transform 900ms var(--motion-ease-settle); }
.mega__card::before { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(0,0,0,.86) 15%, rgba(0,0,0,.2)); z-index: -1; }
.mega__card:hover img { transform: scale(1.03); }
.mega__card .tt { font-weight: 700; font-size: 18px; letter-spacing: var(--ls-h3); }
.mega__card .dd { margin-top: 6px; color: var(--on-dark-2); font-size: max(14px, var(--floor)); max-width: 40ch; }
.mega__card--icons { background: radial-gradient(ellipse at 60% 30%, #183440 0%, #000 70%); }
.mega__card--icons::before { background: linear-gradient(0deg, rgba(0,0,0,.9) 20%, rgba(0,0,0,0) 70%); }
.mega__icons { position: absolute; z-index: -2; top: 18px; right: 18px; display: grid; grid-template-columns: repeat(3, 56px); gap: 10px; transform: rotate(-8deg); transform-origin: top right; }
.mega__icons img { position: static; width: 56px; height: 56px; filter: none; border-radius: 8px; transition: transform 420ms var(--motion-ease-settle); }
.mega__card--icons:hover .mega__icons img:nth-child(odd) { transform: translateY(-4px); }

/* mobile menu */
.mnav { position: fixed; inset: 0; z-index: 57; padding: 84px 0 40px; overflow-y: auto; background: var(--ground-black); }
.mnav[hidden] { display: none; }
.mnav details { border-bottom: 1px solid var(--on-dark-rule); }
.mnav summary, .mnav .row { display: flex; align-items: center; gap: 12px; min-height: 60px; font-size: 20px; font-weight: 600; cursor: pointer; list-style: none; text-decoration: none; }
.mnav summary::-webkit-details-marker { display: none; }
.mnav summary::after { content: "+"; margin-left: auto; font-weight: 400; color: var(--on-dark-3); font-size: 24px; }
.mnav details[open] summary::after { content: "−"; }
.mnav .row { border-bottom: 1px solid var(--on-dark-rule); }
.mnav ul { margin: 0 0 14px; }
.mnav li a { display: flex; flex-direction: column; justify-content: center; min-height: 48px; color: var(--on-dark-2); text-decoration: none; font-size: max(17px, var(--floor)); }
.mnav li .note { font-size: max(13px, var(--floor)); color: var(--on-dark-3); }
.mnav .btn { width: 100%; margin-top: 28px; }

/* ── hero: one selected film, 80% scrim; on scroll the media contracts into a framed rectangle ── */
.hero { position: relative; color: #fff; min-height: var(--vh); display: flex; flex-direction: column; isolation: isolate; }
.hero__media { position: absolute; inset: 0; z-index: -1; overflow: hidden; background: var(--ground-black);
  clip-path: inset(var(--ct, 0px) var(--cx, 0px) var(--cb, 0px) var(--cx, 0px) round var(--cr, 0px)); }
.hero__media video, .hero__media .poster { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero__media::after { content: ""; position: absolute; inset: 0; background: var(--scrim-hero); }
.hero__edge { position: absolute; top: var(--ct, 0px); left: var(--cx, 0px); right: var(--cx, 0px); bottom: var(--cb, 0px); border: 1px solid rgba(255,255,255,var(--ea, 0)); border-radius: var(--cr, 0px); pointer-events: none; z-index: -1; }
.hero__in { position: relative; flex: 1; display: flex; flex-direction: column; justify-content: flex-end; padding-top: calc(var(--hdr-h) + 64px); padding-bottom: 72px; }
.hero h1 { max-width: 13.5ch; }
.hero__desc { margin-top: 24px; font-size: clamp(1.1875rem, 1.6vw, 1.375rem); line-height: 1.5; color: var(--on-dark-2); max-width: 40ch; }
.film { position: absolute; right: var(--gutter); top: calc(var(--hdr-h) + 20px); z-index: 2; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px;
  background: rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.26); border-radius: var(--btn-r); color: var(--on-dark-2); font-size: max(13px, var(--floor)); font-weight: 600; cursor: pointer; }
.film:hover { color: #fff; border-color: rgba(255,255,255,.5); }
.film svg { width: 10px; height: 10px; }

/* the two routes: substantial introductions, Private first, Public with a glimpse of what is coming */
.routes { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(6, auto); column-gap: var(--col-gap); margin-top: 52px; }
.route { position: relative; display: grid; grid-row: span 6; grid-template-rows: subgrid; row-gap: 12px; padding: 24px 0 0; border-top: 1px solid rgba(255,255,255,.3); overflow: hidden; }
.route__head { grid-row: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.route__for { font-size: max(14px, var(--floor)); color: var(--on-dark-3); margin-top: -2px; }
.route h2 { font-size: clamp(1.5rem, 2.2vw, 1.875rem); font-weight: 700; letter-spacing: var(--ls-h2); line-height: 1.15; }
.route__desc { color: var(--on-dark-2); max-width: 40ch; font-size: var(--body); line-height: 1.55; }
.route h2 { grid-row: 2; } .route__desc { grid-row: 3; } .route__for { grid-row: 4; }
.route .btns { grid-row: 6; margin-top: 10px; align-self: end; }
.route .lnk { color: rgba(255,255,255,.9); }
.route--private::before { content: ""; position: absolute; left: 0; top: -1px; width: 64px; height: 2px; background: var(--action-green-dark); }
.route--public { padding-right: 0; }
.route--public::before { content: ""; position: absolute; left: 0; top: -1px; width: 64px; height: 2px; background: var(--blue-400); }
/* the tStock glimpse: a slow strip of recognisable instruments behind the Public copy's right edge */
.route__rail { position: absolute; right: 0; top: 62px; width: 42%; height: 64px; overflow: hidden; opacity: .9;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 30%, #000 85%, transparent); mask-image: linear-gradient(90deg, transparent, #000 30%, #000 85%, transparent); }
.route__track { display: flex; gap: 10px; width: max-content; animation: rail 48s linear infinite; }
.route__track img { width: 52px; height: 52px; border-radius: 8px; flex: none; }
@keyframes rail { to { transform: translateX(-50%); } }
html.paused .route__track, .route__rail:hover .route__track, .hero.off .route__track { animation-play-state: paused; }
@media (min-width: 1200px) { .route--public .route__desc { max-width: 56%; } }
@media (max-width: 1199px) { .route__rail { position: relative; grid-row: 5; top: auto; right: auto; width: 100%; margin-top: 4px; } }
@media (max-width: 899px) { .routes { grid-template-columns: 1fr; grid-template-rows: none; gap: 28px; margin-top: 40px; } .route { grid-row: auto; grid-template-rows: none; } .route > * { grid-row: auto !important; } .route__rail { order: 5; } }
@media (max-width: 767px) {
  .hero { min-height: 0; }
  .hero__in { padding-top: calc(var(--hdr-h) + 56px); padding-bottom: 84px; }
  .hero h1 { font-size: clamp(2.25rem, 10.4vw, 3rem); }
  .route .btns { flex-direction: column; align-items: stretch; gap: 4px; }
  .route .btn { width: 100%; }
  .route .lnk { justify-content: center; }
}

/* ── H02 mission: one statement, one picture that explains it ─────────────── */
.mission { padding-top: calc(var(--sec-y) * .7); }
.ms__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 28px; align-items: end; }
.ms__head { grid-column: 1 / -1; display: grid; gap: 24px; }
.ms__copy { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 24px; margin-top: 12px; }
.ms__copy .lede { grid-column: 1 / span 6; max-width: 46ch; color: var(--on-dark-2); }
.ms__aside { grid-column: 8 / -1; display: grid; gap: 20px; align-content: start; }
.ms__close { font-size: var(--lede); font-weight: 600; color: #fff; line-height: 1.4; max-width: 34ch; text-wrap: balance; }
.ms__fact { display: grid; grid-template-columns: auto 1fr; column-gap: 14px; align-items: baseline; padding-top: 16px; border-top: 1px solid var(--on-dark-rule); max-width: 42ch; }
.ms__fact b { grid-row: span 2; font-size: 30px; font-weight: 700; letter-spacing: -.02em; color: var(--money-green-dark); font-variant-numeric: tabular-nums; }
.ms__fact span { font-size: max(15px, var(--floor)); color: var(--on-dark-1); font-weight: 500; }
.ms__fact small { font-size: max(13px, var(--floor)); color: var(--on-dark-3); }
.ms__art { position: relative; margin-top: clamp(36px, 4vw, 52px); }
.ms__stage { position: relative; border-top: 1px solid var(--on-dark-rule); border-bottom: 1px solid var(--on-dark-rule); }
.ma-svg { width: 100%; height: auto; }
.ma-v { display: none; }
.ma-photo image { filter: var(--grade-cool); }
.ma-f { fill: var(--blue-400); }
.ma-s, .ma-b { fill: var(--blue-400); }
.ma-lines path { fill: none; stroke: var(--blue-400); stroke-width: 1.4; stroke-opacity: .58; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 0; }
.ma-ends rect { fill: var(--ground-black); stroke: var(--blue-400); stroke-width: 1.4; vector-effect: non-scaling-stroke; }
.ma-blk { fill: var(--blue-400); }
.ma-glow { fill: var(--blue-400); filter: blur(10px); opacity: .7; }
.ma-pts rect { fill: #BFE7F4; }
.ms__lbl { position: absolute; font-size: max(14px, var(--floor)); font-weight: 600; line-height: 1.3; color: #fff; white-space: nowrap; pointer-events: none; }
.ms__lbl--from { left: 2%; bottom: 7%; padding: 6px 10px; background: rgba(0,0,0,.62); border-radius: var(--r-xs); font-weight: 500; color: var(--on-dark-1); }
.ms__lbl--block { left: 71.8%; top: 62%; transform: translateX(-50%); color: var(--blue-300); font-weight: 500; font-size: max(13px, var(--floor)); }
.ms__lbl--to { left: 88.6%; transform: translateY(-50%); }
.ms__to1 { top: 22%; } .ms__to2 { top: 50%; } .ms__to3 { top: 78%; }
@media (max-width: 899px) {
  .ms__copy .lede, .ms__aside { grid-column: 1 / -1; }
  .ma-h { display: none; } .ma-v { display: block; max-width: 440px; margin-inline: auto; }
  .ms__stage { border: 0; }
  .ms__lbl--from { left: 50%; transform: translateX(-50%); top: 2%; bottom: auto; }
  .ms__lbl--block { left: 50%; top: 62.5%; transform: translate(calc(-100% - 30px), -50%); padding: 3px 8px; background: rgba(0,0,0,.8); border-radius: var(--r-xs); }
  .ms__lbl--to { top: 93%; transform: translate(-50%, 0); font-size: max(13px, var(--floor)); }
  .ms__to1 { left: 17%; } .ms__to2 { left: 50%; } .ms__to3 { left: 83%; }
}

/* ── H03 ecosystem: two differentiated rows, one quieter line ─────────────── */
.eco .h-sec { max-width: 22ch; }
.rows { margin-top: 56px; }
.row { display: grid; grid-template-columns: 260px minmax(0, 1fr); align-items: center; column-gap: 40px; border-top: 1px solid var(--rl); min-height: 104px; padding-block: 20px; }
.row:last-child { border-bottom: 1px solid var(--rl); }
.row__lbl { display: grid; gap: 4px; }
.row__lbl b { display: flex; align-items: center; gap: 10px; font-size: max(15px, var(--floor)); font-weight: 700; color: var(--on-light-1); }
.row__lbl b::before { content: ""; width: 9px; height: 9px; border-radius: var(--sq-r); background: var(--mk); flex: none; }
.row__lbl span { font-size: max(14px, var(--floor)); color: var(--fg3); padding-left: 19px; max-width: 30ch; line-height: 1.45; }
.row__body { min-width: 0; }
.nm { font-size: 22px; font-weight: 600; letter-spacing: -.015em; color: var(--on-light-1); white-space: nowrap; }
.mq { overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent); }
.mq__t { display: flex; width: max-content; animation: mq var(--mq-dur, 70s) linear infinite; }
.mq__g { display: flex; align-items: center; gap: 64px; padding-right: 64px; }
@keyframes mq { to { transform: translateX(-50%); } }
.eco.paused .mq__t, .mq:hover .mq__t, html.paused .mq__t, .eco.off .mq__t { animation-play-state: paused; }
.static-list { display: none; flex-wrap: wrap; gap: 14px 36px; }
html.rm .mq { display: none; } html.rm .static-list { display: flex; }
.prov { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); grid-auto-rows: auto; column-gap: 24px; row-gap: 4px; }
.prov li { display: grid; grid-row: span 2; grid-template-rows: subgrid; row-gap: 4px; align-items: start; padding-left: 16px; border-left: 1px solid var(--rl); }
.prov .nm { font-size: 20px; white-space: normal; line-height: 1.2; }
.prov small { font-size: max(14px, var(--floor)); color: var(--fg3); }
.row--mem { min-height: 0; padding-block: 18px; }
.row--mem .row__lbl b { font-size: max(14px, var(--floor)); font-weight: 600; color: var(--fg2); }
.mem { display: flex; flex-wrap: wrap; gap: 6px 28px; font-size: max(15px, var(--floor)); font-weight: 500; color: var(--fg2); }
.rows__ctl { display: flex; justify-content: flex-end; margin-top: 14px; }
.eco { padding-bottom: calc(var(--sec-y) * .75); }
@media (max-width: 1023px) { .prov { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 20px; } .prov li { row-gap: 4px; } }
@media (max-width: 899px) {
  .row { grid-template-columns: 1fr; row-gap: 16px; }
  .row__lbl span { padding-left: 19px; }
  .mq { display: none; } .static-list { display: flex; gap: 10px 26px; } .static-list .nm { font-size: 19px; }
  .rows__ctl { display: none; }
}

/* ── H04 optional route selector ───────────────────────────────────────── */
.sel__grid { margin-top: 40px; display: grid; grid-template-columns: 1fr 1fr; gap: var(--col-gap); }
.sel__c { display: grid; gap: 14px; align-content: start; padding: 28px; border: 1px solid var(--rl); border-radius: var(--r-xs); text-decoration: none; transition: border-color 240ms, background-color 240ms; }
.sel__c:hover { border-color: var(--on-light-3); background: var(--ground-mist); }
.sel__top { display: flex; align-items: center; gap: 14px; } .sel__top b { font-size: 24px; letter-spacing: var(--ls-h2); }
.sel__d { color: var(--fg2); max-width: 44ch; }
.sel__go { font-weight: 600; color: var(--ink-accent); }
.sel__more { margin-top: 16px; display: flex; flex-wrap: wrap; gap: 0 32px; }
@media (max-width: 767px) { .sel__grid { grid-template-columns: 1fr; } }

/* ── footer (preserved composition: globe, link groups, entities, full-width disclosure) ── */
.ft { position: relative; overflow: hidden; background: var(--ground-black); color: #fff; padding-block: 88px 32px; isolation: isolate; border-top: 1px solid var(--on-dark-rule); }
.ft .wrap { position: relative; z-index: 2; }
.globe { position: absolute; top: 40px; left: 50%; transform: translateX(-50%); width: min(1420px, 126vw); z-index: 1; pointer-events: none; opacity: .95;
  -webkit-mask-image: radial-gradient(70% 76% at 50% 44%, #000 34%, rgba(0,0,0,.55) 70%, transparent 100%), linear-gradient(180deg, transparent 0, rgba(0,0,0,.34) 13%, #000 34%, #000 100%);
  mask-image: radial-gradient(70% 76% at 50% 44%, #000 34%, rgba(0,0,0,.55) 70%, transparent 100%), linear-gradient(180deg, transparent 0, rgba(0,0,0,.34) 13%, #000 34%, #000 100%);
  -webkit-mask-composite: source-in; mask-composite: intersect; }
@media (max-width: 900px) { .globe { opacity: .8; width: 150vw; top: 0; } }
.globe svg { width: 100%; height: auto; }
.gl-limb { fill: none; stroke: rgba(155,210,230,.46); stroke-width: 1; vector-effect: non-scaling-stroke; }
.gl-grat path { fill: none; stroke: rgba(155,210,230,.24); stroke-width: 1; vector-effect: non-scaling-stroke; }
.gl-dot circle { fill: #9BD2E6; }
.gl-arc path { fill: none; stroke: #67BBD6; stroke-width: 1.2; stroke-opacity: .66; vector-effect: non-scaling-stroke; }
.gl-imp path { fill: none; stroke: #BFE7F4; stroke-width: 2; stroke-linecap: round; vector-effect: non-scaling-stroke; stroke-dasharray: 30 970; stroke-dashoffset: 1000; opacity: 0; animation: glimp 10s linear infinite; animation-delay: var(--dl, 0s); }
@keyframes glimp { 0% { stroke-dashoffset: 1000; opacity: 0; } 4% { opacity: .92; } 30% { opacity: .92; } 40% { stroke-dashoffset: 0; opacity: 0; } 100% { stroke-dashoffset: 0; opacity: 0; } }
.gl-node circle { fill: #67BBD6; } .gl-node circle.gl-lux { fill: #fff; }
.gl-node circle.gl-luxr { fill: none; stroke: #fff; stroke-opacity: .42; stroke-width: 1; vector-effect: non-scaling-stroke; }
html.rm .gl-imp, html.paused .gl-imp, .ft.off .gl-imp { display: none; }
.ft__top { display: grid; grid-template-columns: 2fr 1fr 1fr 1fr; gap: 40px var(--col-gap); }
.ft__top ul a, .ft__top .ft__h, .ft__brand p { text-shadow: 0 0 12px #000, 0 0 4px #000; }
.ft__brand img { width: 132px; height: auto; }
.ft__brand p { margin-top: 18px; color: var(--on-dark-2); font-size: max(15px, var(--floor)); line-height: 1.6; max-width: 44ch; }
.ft .ft__h { font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: rgba(255,255,255,.6); margin: 0 0 10px; }
.ft ul { display: grid; }
.ft ul a { display: inline-flex; align-items: center; min-height: 40px; font-size: max(15px, var(--floor)); color: rgba(255,255,255,.84); text-decoration: none; }
.ft ul a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.ft__ents { margin-top: 56px; display: grid; grid-template-columns: 1fr 1fr; gap: var(--col-gap); }
.entgrp { background: rgba(0,0,0,.6); border: 1px solid rgba(255,255,255,.18); border-radius: var(--frame-r); padding: 22px; }
.entgrp h5 { margin: 0 0 14px; font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--blue-300); display: flex; align-items: center; gap: 10px; }
.entgrp h5::after { content: ""; flex: 1; height: 1px; background: rgba(155,210,230,.22); }
.ft__ent { font-size: max(14px, var(--floor)); color: var(--on-dark-2); line-height: 1.55; }
.ft__ent + .ft__ent { margin-top: 12px; }
.ft__ent b { display: block; color: #fff; font-weight: 600; }
.ft__ent i { display: block; font-style: normal; }
.ft__reg { position: relative; margin-top: 40px; font-size: max(14px, var(--floor)); line-height: 1.65; color: var(--on-dark-2); max-width: none; background: rgba(0,0,0,.84); box-shadow: 0 0 0 16px rgba(0,0,0,.84); }
.ft__reg b { color: #fff; font-weight: 600; }
.ft__foot { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--on-dark-rule); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; font-size: max(14px, var(--floor)); color: var(--on-dark-3); }
.ft__foot a { display: inline-flex; align-items: center; min-height: 40px; color: var(--on-dark-2); }
/* Henri, 19 Oct: the company LinkedIn page is an icon in the brand column (white on the dark footer, the share buttons'
   round outline, the dark focus ring from .dk :focus-visible); the text link left the legal row */
.ft__brand .ft__social { display: flex; gap: 10px; margin-top: 22px; text-shadow: none; }
.ft__social a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--btn-border-dark); border-radius: var(--r-pill); color: var(--on-dark-1); text-decoration: none; transition: background-color 180ms var(--ease), border-color 180ms var(--ease); }
.ft__social a:hover { background: var(--blue-850); border-color: var(--blue-850); }
.ft__social a:focus-visible { outline: var(--focus-outline-dark); outline-offset: var(--focus-offset); }
.ft__social svg { width: 20px; height: 20px; }
@media (max-width: 899px) { .ft__top { grid-template-columns: 1fr 1fr; } .ft__brand { grid-column: 1 / -1; } .ft__ents { grid-template-columns: 1fr; } }

/* back to top and the review flag */
.totop { position: fixed; right: max(16px, env(safe-area-inset-right)); bottom: max(16px, env(safe-area-inset-bottom)); z-index: 40; width: 48px; height: 48px;
  display: grid; place-items: center; background: var(--glass); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); color: #fff; border: 1px solid rgba(255,255,255,.22); border-radius: var(--btn-r); cursor: pointer;
  opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity 240ms, visibility 240ms, transform 320ms var(--motion-ease-settle), bottom 200ms; }
.totop.on { opacity: 1; visibility: visible; transform: none; }
.totop:hover { border-color: rgba(255,255,255,.5); }
.totop svg { width: 14px; height: 14px; }
.rvflag { position: fixed; left: 12px; bottom: 12px; z-index: 39; opacity: 0; visibility: hidden; transition: opacity 240ms, visibility 240ms; }
.rvflag.on { opacity: 1; visibility: visible; }
.rvflag { font-size: max(12px, var(--floor)); font-weight: 600; color: var(--on-dark-2); background: rgba(0,0,0,.72); border: 1px solid rgba(255,255,255,.18); border-radius: var(--btn-r); padding: 6px 10px; text-decoration: none; }
@media (max-width: 767px) { .rvflag { display: none; } }

/* ── destination pages ─────────────────────────────────────────────────── */
.dhero { padding-top: calc(var(--hdr-h) + clamp(48px, 7vw, 96px)); padding-bottom: clamp(64px, 8vw, 112px); }
.dhero__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 48px; align-items: center; }
.dhero__copy { grid-column: 1 / span 7; display: grid; gap: 24px; }
.dhero__art { grid-column: 8 / -1; }
.pubhero .dhero__copy { grid-column: 1 / span 6; } .pubhero .dhero__art { grid-column: 7 / -1; }
.dhero .lede { max-width: 44ch; }
.photo { position: relative; overflow: hidden; border-radius: var(--frame-r); aspect-ratio: 5 / 4; }
.photo img { width: 100%; height: 100%; object-fit: cover; filter: var(--grade-cool); }
.facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; padding-top: 20px; border-top: 1px solid var(--rl); }
.facts li { display: grid; gap: 2px; } .facts b { font-size: 19px; } .facts span { font-size: max(14px, var(--floor)); color: var(--fg3); }
.sh { display: grid; gap: 18px; max-width: 760px; }
.sh .lede { margin-top: 2px; }
.split { display: grid; grid-template-columns: 5fr 7fr; gap: 48px 64px; align-items: start; }
.cols3 { margin-top: 48px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--col-gap); }
.cols3 li { display: grid; gap: 10px; align-content: start; padding-top: 20px; border-top: 1px solid var(--rl); }
.cols3 h3, .cols2 h3, .opt h3 { font-size: 21px; letter-spacing: var(--ls-h3); line-height: 1.25; }
.cols3 p, .cols2 p { color: var(--fg2); max-width: 40ch; }
.cols2 { margin-top: 48px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--col-gap); }
.cols2 > * { display: grid; gap: 12px; align-content: start; padding: 28px; border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); }
.mist .cols2 > * { background: var(--ground-white); }
.tags { display: flex; flex-wrap: wrap; gap: 8px; }
.tags span { font-size: max(13px, var(--floor)); font-weight: 600; padding: 4px 10px; border-radius: var(--r-pill); background: var(--n-100); color: var(--on-light-2); }
.cols2 + .small { margin-top: 20px; }
.outs { display: grid; border-top: 1px solid var(--rl); }
.outs li { display: grid; grid-template-columns: 2fr 3fr; gap: 6px 24px; padding: 20px 0; border-bottom: 1px solid var(--rl); }
.outs b { font-size: 18px; } .outs span { color: var(--fg2); }
.tool { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-weight: 700; } .tool img { width: 14px; height: 14px; }
.faq details { border-top: 1px solid var(--rl); }
.faq details:last-child { border-bottom: 1px solid var(--rl); }
.faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: 24px; padding: 20px 0; font-size: 18px; font-weight: 600; }
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: "+"; color: var(--ink-accent); font-weight: 400; font-size: 22px; line-height: 1; transition: transform 240ms var(--motion-ease-settle); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 0 22px; color: var(--fg2); max-width: 62ch; }
/* process: a sticky stage indicator beside normal-flow chapters (no wheel capture, no snapping) */
.proc__grid { margin-top: 56px; display: grid; grid-template-columns: 4fr 8fr; gap: 48px 64px; }
.proc__sticky { position: sticky; top: 120px; display: grid; gap: 20px; }
.proc__steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; max-width: 320px; }
.proc__steps i { aspect-ratio: 1; border-radius: var(--sq-r); border: 1.4px solid var(--blue-850); display: grid; place-items: end start; padding: 8px; font-style: normal; transition: background-color 400ms var(--motion-ease-settle), border-color 400ms, box-shadow 400ms; }
.proc__steps i b { font-size: max(12px, var(--floor)); color: var(--on-dark-3); }
.proc__steps i.done { background: var(--blue-850); border-color: var(--blue-850); }
.proc__steps i.on { background: var(--blue-400); border-color: var(--blue-400); box-shadow: var(--glow-lit); }
.proc__steps i.on b { color: var(--ground-navy); }
.proc__t { color: var(--on-dark-2); font-size: max(15px, var(--floor)); max-width: 28ch; } .proc__t b { color: #fff; }
.proc__list { display: grid; gap: 0; }
.ch { display: grid; grid-template-columns: auto 1fr; gap: 20px; padding: 32px 0; border-top: 1px solid var(--on-dark-rule); }
.ch:last-child { border-bottom: 1px solid var(--on-dark-rule); }
.ch h3 { font-size: 24px; letter-spacing: var(--ls-h2); }
.ch p { margin-top: 8px; color: var(--on-dark-2); max-width: 52ch; }
.ch details { margin-top: 14px; }
.ch summary { cursor: pointer; color: var(--blue-400); font-weight: 600; font-size: max(15px, var(--floor)); min-height: 32px; display: inline-flex; align-items: center; }
.ch details p { margin-top: 4px; }
.proc__note { margin-top: 24px; color: var(--on-dark-3); }
@media (max-width: 899px) { .proc__grid { grid-template-columns: 1fr; } .proc__vis { position: sticky; top: 64px; z-index: 2; background: var(--ground-black); padding-block: 10px; margin-inline: -20px; padding-inline: 20px; border-bottom: 1px solid var(--on-dark-rule); }
  .proc__sticky { position: static; grid-template-columns: auto 1fr; align-items: center; } .proc__steps { width: 168px; gap: 6px; } .proc__steps i { padding: 4px; } .proc__t { font-size: max(13px, var(--floor)); } }
.worlds > article:first-child { border-top: 2px solid var(--on-light-1); } .worlds > article:last-child { border-top: 2px solid var(--blue-500); }
/* forms (prototype: nothing is transmitted) */
.frm { display: grid; gap: 16px; }
.frm label { display: grid; gap: 6px; font-size: max(14px, var(--floor)); font-weight: 600; }
.frm input, .frm textarea { font: inherit; font-weight: 400; padding: 12px 14px; border-radius: var(--btn-r); border: 1px solid var(--btn-border-light); background: var(--ground-white); color: var(--on-light-1); }
.dk .frm input, .dk .frm textarea { background: var(--ground-slate); border-color: rgba(255,255,255,.24); color: #fff; }
.frm .btn { justify-self: start; }
.frm__note { font-size: max(13px, var(--floor)); color: var(--fg3); }
.frm__out:empty { display: none; }
.frm__out { padding: 14px 16px; border-radius: var(--btn-r); background: var(--info-bg-dark); color: var(--on-dark-1); font-size: max(15px, var(--floor)); }
.lt .frm__out, .dlg .frm__out { background: var(--info-bg); color: var(--on-light-1); }
.seg { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.seg legend { font-size: max(14px, var(--floor)); font-weight: 600; margin-bottom: 8px; padding: 0; }
.seg label { display: inline-flex; flex-direction: row; align-items: center; gap: 8px; min-height: 44px; padding: 0 14px; border: 1px solid rgba(255,255,255,.24); border-radius: var(--btn-r); cursor: pointer; font-weight: 500; }
.seg label:has(input:checked) { border-color: var(--blue-400); background: rgba(103,187,214,.12); }
.seg input { accent-color: var(--blue-400); }
.dlg { width: min(560px, calc(100% - 32px)); max-height: 90svh; border: 0; padding: 36px; border-radius: var(--r-md); background: var(--ground-white); color: var(--on-light-1); --ink-accent: var(--blue-800); --mk: var(--blue-500); --fg3: var(--on-light-3); }
.dlg::backdrop { background: var(--veil); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.dlg h2 { font-size: 28px; margin: 10px 0 6px; letter-spacing: var(--ls-h2); }
.dlg__note { font-size: max(14px, var(--floor)); color: var(--on-light-3); margin-bottom: 20px; }
.dlg .btn-p { background: var(--action-green); color: var(--on-action-green); }
.dlg__x { position: absolute; right: 10px; top: 10px; } .dlg__x button { width: 44px; height: 44px; border: 0; background: none; font-size: 26px; cursor: pointer; border-radius: var(--btn-r); }
/* public: the tStock stage (preserved from Astra's Public section; Henri's selected treatment) */
.pubhero .dhero__art { min-width: 0; }
.stock-stage { position: relative; height: 560px; overflow: hidden; background: radial-gradient(ellipse at center, #183440 0%, #000 68%); border-radius: var(--r-lg); }
.stock-stage::before, .stock-stage::after { content: ""; position: absolute; left: 0; right: 0; height: 96px; z-index: 2; pointer-events: none; }
.stock-stage::before { top: 0; background: linear-gradient(#000, transparent); } .stock-stage::after { bottom: 0; background: linear-gradient(transparent, #000); }
.stock-cols { display: flex; gap: 20px; justify-content: center; transform: rotate(-9deg); height: 100%; }
.stock-col { display: flex; flex-direction: column; gap: 20px; animation: stockflow 26s linear infinite; }
.stock-col:nth-child(2) { animation-direction: reverse; animation-duration: 31s; }
.stock-tile { flex-shrink: 0; width: 132px; height: 152px; background: var(--ground-slate); border: 1px solid var(--on-dark-rule); border-radius: 18px; color: var(--on-dark-2); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 6px; cursor: pointer;
  transition: transform 320ms var(--motion-ease-settle), border-color 240ms, box-shadow 320ms; }
.stock-tile img { width: 100px; height: 100px; } .stock-tile span { font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .02em; }
.stock-tile:hover, .stock-tile:focus-visible, .stock-tile.sel { transform: translateY(-7px) rotate(5deg); border-color: var(--blue-400); box-shadow: 0 16px 36px rgba(0,0,0,.55); }
.stock-stage:hover .stock-col, .stock-stage:focus-within .stock-col, .stock-stage.paused .stock-col, html.paused .stock-col, .stock-stage.off .stock-col { animation-play-state: paused; }
.stock-cap { position: absolute; z-index: 4; left: 12px; right: 12px; bottom: 12px; padding: 6px 6px 6px 12px; background: rgba(0,0,0,.82); border: 1px solid var(--on-dark-rule); border-radius: var(--r-sm); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: max(13px, var(--floor)); color: var(--on-dark-2); }
@keyframes stockflow { to { transform: translateY(calc(-3 * (152px + 20px))); } }
.acc__grid { margin-top: 48px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--col-gap); }
.acc { display: grid; grid-template-rows: auto auto 1fr auto; gap: 12px; padding: 28px; border: 1px solid var(--on-dark-rule); border-radius: var(--r-xs); background: var(--ground-slate); }
.acc__k { font-size: max(13px, var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-400); }
.acc h3 { font-size: 22px; } .acc p { color: var(--on-dark-2); } .acc .btn { justify-self: start; margin-top: 8px; }
.stub { min-height: 70svh; } .stub .wrap { display: grid; gap: 24px; max-width: 880px; margin-inline: 0 auto; }
@media (max-width: 899px) {
  .dhero__copy, .dhero__art, .pubhero .dhero__copy, .pubhero .dhero__art { grid-column: 1 / -1; }
  .split, .cols3, .cols2, .acc__grid { grid-template-columns: 1fr; }
  .outs li { grid-template-columns: 1fr; }
  .stock-stage { height: 460px; } .stock-tile { width: 108px; height: 128px; } .stock-tile img { width: 80px; height: 80px; }
  @keyframes stockflow { to { transform: translateY(calc(-3 * (128px + 20px))); } }
}
@media (max-width: 599px) { .facts { grid-template-columns: 1fr; } .stock-cols { gap: 12px; } .stock-col { gap: 20px; } }

/* ── motion: rest state is the default; .pre sets the start, .play runs once ── */
/* mission: photo → mosaic (left to right) → stream → the block settles → branches connect → endpoints */
.ms__art.pre .ma-m, .ms__art.pre .ma-f, .ms__art.pre .ma-s, .ms__art.pre .ma-b { opacity: 0; }
.ms__art.play .ma-m { opacity: 1; transition: opacity 500ms var(--motion-ease-settle) calc(var(--c) * 34ms - 600ms); }
.ms__art.play .ma-f { opacity: 1; transition: opacity 700ms var(--motion-ease-settle) calc(400ms + var(--c) * 14ms); }
.ms__art.play .ma-s { opacity: 1; transition: opacity 320ms var(--motion-ease-settle) calc(var(--c) * 34ms - 520ms); }
.ms__art.pre .ma-blk, .ms__art.pre .ma-glow { opacity: 0; transform: scale(.55); }
.ma-blk, .ma-glow { transform-box: fill-box; transform-origin: center; }
.ms__art.play .ma-blk { opacity: 1; transform: none; transition: opacity var(--motion-dur-settle) var(--motion-ease-settle) 1250ms, transform var(--motion-dur-settle) var(--motion-ease-settle) 1250ms; }
.ms__art.play .ma-glow { opacity: .7; transform: none; transition: opacity 1200ms var(--motion-ease-settle) 1500ms, transform var(--motion-dur-settle) var(--motion-ease-settle) 1250ms; }
.ms__art.pre .ma-lines path { stroke-dashoffset: 1; }
.ms__art.play .ma-lines path { stroke-dashoffset: 0; transition: stroke-dashoffset var(--motion-dur-connect) var(--motion-ease-move) 1900ms; }
.ms__art.play .ma-lines path:last-child { transition-delay: 700ms; }
.ms__art.play .ma-b { opacity: 1; transition: opacity 360ms var(--motion-ease-settle) calc(1600ms + var(--c) * 16ms); }
.ms__art.pre .ma-ends rect { opacity: 0; } .ms__art.play .ma-ends rect { opacity: 1; transition: opacity 600ms var(--motion-ease-settle) 2900ms; }
.ms__art.pre .ms__lbl { opacity: 0; } .ms__art.play .ms__lbl { opacity: 1; transition: opacity 600ms var(--motion-ease-settle) 3000ms; }
.ms__art.play .ms__lbl--from { transition-delay: 200ms; } .ms__art.play .ms__lbl--block { transition-delay: 1700ms; }
.ma-v .ma-m { --c2: 1; }
/* section copy reveals once (opacity and a 14 px rise); keyboard focus forces the rest state */
html.js:not(.rm) [data-rv]:not(.in) { opacity: 0; transform: translateY(14px); }
html.js:not(.rm) [data-rv].in { opacity: 1; transform: none; transition: opacity var(--motion-dur-reveal) var(--motion-ease-settle) var(--rd, 0ms), transform var(--motion-dur-reveal) var(--motion-ease-settle) var(--rd, 0ms); }

html.rm *, html.rm *::before, html.rm *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important; scroll-behavior: auto !important; }
html.rm .hero__media { clip-path: none !important; } html.rm .hero__edge { display: none; }
html.rm .route__track, html.rm .stock-col { animation: none !important; }
html.rm .ma-pts { display: none; }
@media print { .hdr, .mega, .veil, .totop, .rvflag, .film { display: none !important; } }

/* ═════ round 2 · 11 Oct ═════ */
/* minimum rendered size for small labels under the page scale */
.st { font-size: max(12px, var(--floor)); }
.eyebrow, .ft .ft__h, .entgrp h5, .post__cat, .acc__k, .path__k, .talk__k, .duo2__k, .icard__tag, .stk__tag { font-size: max(var(--eyebrow-fs), var(--floor)); }
.small, .wl__note, .route__for, .mega__links .note, .ft__ent, .ft__reg, .ft__foot, .person span, .post time, .art__meta, .talk__foot, .mnav li .note { font-size: max(var(--fs-sm), var(--floor)); }

/* hero: the tile field the frame contracts into (canvas, drawn only during contraction) */
.hero__field { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; pointer-events: none; }
.hero__media { z-index: -1; }
.route__rail { top: 58px; }
.route .wl { grid-row: 7; margin-top: 4px; }
.routes { grid-template-rows: repeat(7, auto); }
.route { grid-row: span 7; }
@media (max-width: 899px) { .routes { grid-template-rows: none; } .route { grid-row: auto; } }

/* waitlist bar */
.wl { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 8px; max-width: 520px; }
.wl input { min-width: 0; min-height: var(--site-btn-h); padding: 0 16px; font: inherit; font-size: max(16px, var(--floor)); border-radius: var(--btn-r); border: 1px solid var(--btn-border-light); background: var(--ground-white); color: var(--on-light-1); }
.wl--dk input { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.3); color: #fff; }
.wl--dk input::placeholder { color: var(--on-dark-3); }
.wl input[aria-invalid="true"] { border-color: var(--bad-dark); }
.wl .btn-p { background: var(--action-green); color: var(--on-action-green); }
.wl--dk .btn-p { background: var(--action-green-dark); color: var(--on-action-green-dark); }
.wl__note { grid-column: 1 / -1; color: var(--fg3, var(--on-dark-3)); font-size: max(13px, var(--floor)); }
.wl .frm__out { grid-column: 1 / -1; }
.wl.done input, .wl.done .btn, .wl.done .wl__note { display: none; }
@media (max-width: 480px) { .wl { grid-template-columns: 1fr; } .wl .btn { width: 100%; } }

/* H03: a slim logo band that grows out of the mission's black, then the two conversation boxes */
.eco { position: relative; background: linear-gradient(180deg, var(--ground-black) 0, #11181D 90px, #C9D2D8 210px, var(--ground-mist) 300px, var(--ground-mist) 100%); color: var(--on-light-1);
  --fg2: var(--on-light-2); --fg3: var(--on-light-3); --rl: var(--on-light-rule); --mk: var(--blue-500); --ink-accent: var(--blue-800); padding: 120px 0 var(--sec-y); }
.eco__band { background: rgba(255,255,255,.72); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); padding: 8px 28px; box-shadow: 0 24px 60px rgba(11,20,27,.08); }
.eco__h { font-size: max(15px, var(--floor)); font-weight: 600; color: var(--on-light-2); padding: 14px 0 10px; letter-spacing: 0; }
.eco .row { min-height: 0; padding-block: 14px; grid-template-columns: 220px minmax(0, 1fr); }
.eco .row:last-child { border-bottom: 0; }
.eco .nm { font-size: 18px; }
.eco .prov .nm { font-size: max(16px, var(--floor)); }
.eco .prov small { font-size: max(13px, var(--floor)); }
.eco .row__lbl span { font-size: max(13px, var(--floor)); }
.eco .mem { font-size: max(14px, var(--floor)); }
.conv { margin-top: 28px; display: grid; grid-template-columns: 1fr 1fr; gap: var(--col-gap); }
.conv__c { display: grid; gap: 14px; align-content: start; padding: 32px; border-radius: var(--r-xs); background: var(--ground-white); border: 1px solid var(--on-light-rule); }
.conv__c h3 { font-size: clamp(1.5rem, 2.2vw, 2rem); letter-spacing: var(--ls-h2); line-height: 1.12; }
.conv__c p { color: var(--on-light-2); max-width: 44ch; }
.conv__c--pub { background: var(--ground-black); color: #fff; border-color: var(--ground-black); --fg3: var(--on-dark-3); --ink-accent: var(--blue-400); --mk: var(--blue-400); }
.conv__c--pub p { color: var(--on-dark-2); }
.conv__c--pub .st.soon { color: var(--warn-dark); }
.conv__c--pub .wl input { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.3); color: #fff; }
.conv__c--pub .wl .btn-p { background: var(--action-green-dark); color: var(--on-action-green-dark); }
.conv__c--pub .lnk { color: var(--blue-400); }
.conv__c .btns { margin-top: 4px; }
@media (max-width: 899px) { .conv { grid-template-columns: 1fr; } .eco__band { padding: 6px 18px; } .eco .row { grid-template-columns: 1fr; } }

/* content patterns ─────────────────────────────────────────────── */
.sh--row { max-width: none; display: grid; grid-template-columns: 7fr 5fr; gap: 24px 48px; align-items: end; }
@media (max-width: 899px) { .sh--row { grid-template-columns: 1fr; } }
/* 1 sticky split */
.sx__grid { margin-top: 56px; display: grid; grid-template-columns: 5fr 7fr; gap: 48px 72px; }
.sx__sticky { position: sticky; top: 110px; display: grid; gap: 28px; }
.sx__dots { display: grid; gap: 2px; counter-reset: s; }
.sx__dots li { display: grid; grid-template-columns: 34px 1fr; align-items: center; gap: 12px; padding: 8px 0; color: var(--fg3); transition: color 300ms; }
.sx__dots b { display: grid; place-items: center; width: 30px; height: 30px; border-radius: var(--sq-r); border: 1.4px solid var(--rl); font-size: max(12px, var(--floor)); transition: background 400ms var(--motion-ease-settle), border-color 400ms, box-shadow 400ms, color 300ms; }
.sx__dots li.done b { background: var(--blue-850); border-color: var(--blue-850); color: #fff; }
.lt .sx__dots li.done b { background: var(--n-200); border-color: var(--n-200); color: var(--on-light-2); }
.sx__dots li.on { color: inherit; font-weight: 600; }
.sx__dots li.on b { background: var(--blue-400); border-color: var(--blue-400); color: var(--ground-navy); box-shadow: var(--glow-lit); }
.lt .sx__dots li.on b { background: var(--blue-500); border-color: var(--blue-500); box-shadow: none; }
.sx__list .ch:first-child { border-top: 1px solid var(--rl); }
.sx__list .ch { border-color: var(--rl); }
.sx__list .ch p { color: var(--fg2); }
.sx__list .ch { padding: 40px 0; min-height: 34vh; align-content: center; }
.sx__big b { display: block; font-size: clamp(5rem, 10vw, 8.5rem); font-weight: 700; letter-spacing: -.04em; line-height: .9; color: #fff; }
.sx__big span { display: block; margin-top: 10px; color: var(--on-dark-2); max-width: 22ch; }
.sx__icons { display: grid; grid-template-columns: repeat(3, 72px); gap: 14px; transform: rotate(-6deg); }
.sx__icons img { border-radius: 12px; width: 72px; height: 72px; }
.sx__eng { display: grid; gap: 10px; } .sx__eng > div { display: grid; grid-template-columns: 24px 1fr; column-gap: 12px; padding: 16px; border: 1px solid var(--rl); border-radius: var(--r-xs); }
.sx__eng b { font-size: max(17px, var(--floor)); } .sx__eng span:not(.sx__sq) { grid-column: 2; color: var(--fg3); font-size: max(14px, var(--floor)); }
.sx__sq { width: 18px; height: 18px; border-radius: var(--sq-r); background: var(--blue-500); grid-row: span 2; }
.sx__map { position: relative; aspect-ratio: 4 / 3; border-radius: var(--r-xs); background: radial-gradient(ellipse at 50% 40%, #E9EDF1, var(--ground-mist) 70%); border: 1px solid var(--rl);
  background-image: radial-gradient(circle, rgba(83,150,170,.35) 1.2px, transparent 1.4px); background-size: 14px 14px; }
.sx__map span { position: absolute; left: var(--x); top: var(--y); transform: translate(-50%, -50%); font-size: max(13px, var(--floor)); font-weight: 600; padding-top: 22px; }
.sx__map span::before { content: ""; position: absolute; left: 50%; top: 0; width: 12px; height: 12px; margin-left: -6px; border-radius: var(--sq-r); background: var(--on-light-2); }
.sx__map span.hub::before { width: 16px; height: 16px; margin-left: -8px; background: var(--blue-500); box-shadow: 0 0 0 6px rgba(83,150,170,.2); }
.sx__note { margin-top: 28px; }
@media (max-width: 899px) {
  .sx__grid { grid-template-columns: 1fr; gap: 24px; }
  .sx__vis { position: sticky; top: 64px; z-index: 3; background: inherit; margin-inline: -20px; padding: 10px 20px; border-bottom: 1px solid var(--rl); }
  .dk .sx__vis { background: var(--ground-black); } .lt .sx__vis { background: var(--ground-white); }
  .sx__sticky { position: static; } .sx__sticky > :not(.sx__dots) { display: none; }
  .sx__dots { grid-auto-flow: column; grid-auto-columns: 1fr; gap: 6px; } .sx__dots li { grid-template-columns: 1fr; } .sx__dots span { display: none; }
  .sx__list .ch { min-height: 0; padding: 28px 0; }
}
/* 2 carousel */
.car { position: relative; margin-top: 40px; }
.car__ctl { position: absolute; right: 0; top: -76px; display: flex; gap: 8px; }
.car__b { width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--btn-r); border: 1px solid var(--btn-border-light); background: var(--ground-white); cursor: pointer; color: var(--on-light-1); }
.car__b:disabled { opacity: .35; cursor: default; }
.car__b svg { width: 14px; height: 14px; }
.car__track { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 2 * var(--col-gap)) / 3.25); gap: var(--col-gap); overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 6px; overscroll-behavior-x: contain; }
.car__track::-webkit-scrollbar { display: none; }
.car__c { scroll-snap-align: start; }
@media (max-width: 899px) { .car__track { grid-auto-columns: 82%; } .car__ctl { position: static; justify-content: flex-end; margin-bottom: 14px; } }
.icard { position: relative; height: 100%; min-height: 260px; display: grid; align-content: start; gap: 12px; padding: 28px; border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); overflow: hidden; transition: border-color 240ms, transform 320ms var(--motion-ease-settle); }
.icard:hover { border-color: var(--on-light-3); transform: translateY(-3px); }
.icard h3 { font-size: 22px; letter-spacing: var(--ls-h2); } .icard p { color: var(--fg2); }
.icard__sq { width: 36px; height: 36px; border-radius: var(--sq-r); background: linear-gradient(180deg, var(--blue-400), var(--blue-800)); margin-bottom: 18px; }
.icard__tag { align-self: end; margin-top: auto; padding-top: 22px; font-size: max(13px, var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-accent); }
.icard__n { font-size: 44px; font-weight: 700; letter-spacing: -.03em; color: var(--n-200); line-height: 1; margin-bottom: 26px; }
/* 3 tabs */
.tabs { margin-top: 40px; }
.tabs__list { display: flex; flex-wrap: wrap; gap: 4px; border-bottom: 1px solid var(--rl); }
.tabs__list [role=tab] { position: relative; min-height: 52px; padding: 0 18px; background: none; border: 0; cursor: pointer; font-size: max(16px, var(--floor)); font-weight: 600; color: var(--fg3); }
.tabs__list [role=tab][aria-selected=true] { color: var(--on-light-1); }
.tabs__list [role=tab][aria-selected=true]::after { content: ""; position: absolute; left: 18px; right: 18px; bottom: -1px; height: 2px; background: var(--blue-500); }
.tabs__panel { padding-top: 36px; animation: paneIn 360ms var(--motion-ease-settle); }
.tabp { display: grid; grid-template-columns: 6fr 6fr; gap: 24px 64px; align-items: start; }
.tabp h3 { font-size: clamp(1.5rem, 2.4vw, 2.125rem); letter-spacing: var(--ls-h1); line-height: 1.15; }
.ticks { display: grid; gap: 14px; } .ticks li { position: relative; padding-left: 28px; color: var(--fg2); font-size: 18px; }
.ticks li::before { content: ""; position: absolute; left: 0; top: .45em; width: 10px; height: 10px; border-radius: var(--sq-r); background: var(--blue-500); }
@media (max-width: 899px) { .tabp { grid-template-columns: 1fr; } .tabs__list { flex-wrap: nowrap; overflow-x: auto; } .tabs__list [role=tab] { white-space: nowrap; } }
/* 4 folding cards */
.folds { display: grid; gap: 10px; }
.fold { border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); transition: border-color 240ms, box-shadow 240ms; }
.dk .fold { background: var(--ground-slate); }
.fold[open] { border-color: var(--on-light-3); box-shadow: 0 14px 40px rgba(11,20,27,.06); }
.fold summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: 40px 1fr 24px; align-items: center; gap: 12px; padding: 22px 24px; }
.fold summary::-webkit-details-marker { display: none; }
.fold__n { font-size: max(13px, var(--floor)); font-weight: 700; color: var(--fg3); }
.fold__t { font-size: 19px; font-weight: 700; letter-spacing: var(--ls-h3); }
.fold__x { position: relative; width: 14px; height: 14px; } .fold__x::before, .fold__x::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.6px; margin-top: -.8px; background: var(--ink-accent); transition: transform 280ms var(--motion-ease-settle); }
.fold__x::after { transform: rotate(90deg); } .fold[open] .fold__x::after { transform: rotate(0); }
.fold__b { padding: 0 24px 24px 76px; color: var(--fg2); } .fold__b ul { margin-top: 10px; display: grid; gap: 6px; }
@media (max-width: 599px) { .fold__b { padding-left: 24px; } }
/* 5 stacking cards */
.stk { display: grid; gap: 16px; }
.stk__c { position: sticky; top: calc(110px + var(--i) * 18px); display: grid; grid-template-columns: 48px 1fr auto; gap: 18px; align-items: start; padding: 28px; border-radius: var(--r-xs); background: var(--ground-white); border: 1px solid var(--rl); box-shadow: 0 -10px 30px rgba(11,20,27,.05); min-height: 150px; }
.stk__n { width: 40px; height: 40px; display: grid; place-items: center; border-radius: var(--sq-r); background: var(--ground-navy); color: #fff; font-size: max(13px, var(--floor)); font-weight: 700; }
.stk__c h3 { font-size: 21px; } .stk__c p { margin-top: 6px; color: var(--fg2); }
.stk__tag { font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-accent); }
@media (max-width: 899px) { .stk__c { position: static; grid-template-columns: 40px 1fr; } .stk__tag { grid-column: 2; } }
/* distribution duo, paths, CTA band */
.duo2 { margin-top: 48px; display: grid; grid-template-columns: 1fr 120px 1fr; align-items: stretch; }
.duo2__c { display: grid; gap: 10px; align-content: start; padding: 32px; border: 1px solid var(--rl); border-radius: var(--r-xs); }
.duo2__c--dig { background: var(--ground-black); color: #fff; border-color: var(--ground-black); } .duo2__c--dig p:not(.duo2__k) { color: var(--on-dark-2); } .duo2__c--dig .duo2__k { color: var(--blue-400); }
.duo2__c h3 { font-size: 22px; } .duo2__c p { color: var(--fg2); }
.duo2__k { font-size: max(13px, var(--floor)); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
.duo2__mid { position: relative; display: grid; place-items: center; }
.duo2__mid span { position: absolute; left: 0; right: 0; top: 50%; height: 1.4px; background: var(--blue-500); }
.duo2__mid i { position: relative; width: 28px; height: 28px; border-radius: var(--sq-r); background: var(--blue-500); }
@media (max-width: 899px) { .duo2 { grid-template-columns: 1fr; } .duo2__mid { height: 56px; } .duo2__mid span { left: 50%; right: auto; top: 0; bottom: 0; width: 1.4px; height: auto; } }
.paths { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--col-gap); }
.path { display: grid; grid-template-rows: auto auto 1fr auto; gap: 10px; padding: 28px; border: 1px solid var(--on-dark-rule); border-radius: var(--r-xs); background: var(--ground-slate); text-decoration: none; transition: border-color 240ms, transform 320ms var(--motion-ease-settle); }
.path:hover { border-color: var(--blue-400); transform: translateY(-3px); }
.path__k { font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--blue-400); }
.path b { font-size: 22px; line-height: 1.2; } .path > span:not(.path__k):not(.path__go) { color: var(--on-dark-2); }
.path__go { font-weight: 600; color: var(--action-green-dark); margin-top: 8px; }
@media (max-width: 899px) { .paths { grid-template-columns: 1fr; } }
.cta-band { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 28px; }
/* toolkit visuals */
.eng { display: grid; grid-template-columns: repeat(6, 18px); gap: 6px; }
.eng i { width: 18px; height: 18px; border-radius: var(--sq-r); background: var(--n-800); }
.eng i.a { background: var(--engine-atlas); } .eng i.m { background: var(--engine-meridian); }
.tk-mini { display: grid; place-items: center; min-height: 220px; border: 1px solid var(--on-dark-rule); border-radius: var(--r-xs); }
.tk-hero { display: grid; grid-template-columns: 1fr 90px 1fr; align-items: center; padding: 40px; border: 1px solid var(--on-dark-rule); border-radius: var(--r-xs); background: radial-gradient(ellipse at 50% 50%, #102028, #000 70%); }
.tk-eng { display: grid; gap: 16px; justify-items: start; } .tk-eng p { display: flex; gap: 8px; align-items: center; font-weight: 700; } .tk-eng span { color: var(--on-dark-3); font-size: max(14px, var(--floor)); }
.tk-link { position: relative; height: 2px; background: var(--blue-850); } .tk-link i { position: absolute; top: -8px; left: 0; width: 18px; height: 18px; border-radius: var(--sq-r); background: var(--blue-400); box-shadow: var(--glow-lit); animation: tkl 3.2s var(--motion-ease-move) infinite; }
@keyframes tkl { 0% { left: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } 100% { left: calc(100% - 18px); opacity: 0; } }
@media (max-width: 599px) { .tk-hero { grid-template-columns: 1fr; gap: 24px; } .tk-link { width: 2px; height: 48px; justify-self: center; } .tk-link i { display: none; } }
/* about */
.about-hero .wrap { display: grid; gap: 24px; max-width: calc(980px + 2 * var(--gutter)); margin-inline: 0 auto; }
.tgrp { margin-top: 48px; } .tgrp h3 { font-size: max(15px, var(--floor)); font-weight: 600; color: var(--fg3); padding-bottom: 14px; border-bottom: 1px solid var(--rl); }
.people { margin-top: 24px; display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 28px var(--col-gap); }
.person { display: grid; gap: 4px; align-content: start; }
.person__ph { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: var(--r-xs); background: var(--n-100); margin-bottom: 10px; filter: grayscale(.15); }
.person__ph--pending { display: grid; place-items: center; font-size: 40px; font-weight: 700; color: var(--n-400); }
.person b { font-size: max(17px, var(--floor)); } .person span { color: var(--fg2); font-size: max(14px, var(--floor)); line-height: 1.4; } .person small { color: var(--fg3); font-size: max(13px, var(--floor)); }
.mem--lg { display: grid; gap: 0; } .mem--lg li { font-size: 22px; font-weight: 600; padding: 16px 0; border-bottom: 1px solid var(--rl); color: var(--on-light-1); }
/* insights */
.lt-page body, html.lt-page { background: var(--ground-white); }
.ins-hero { padding-top: calc(var(--hdr-h) + 72px); padding-bottom: 40px; }
.ins-top { display: grid; gap: 18px; justify-items: center; text-align: center; margin-bottom: 48px; } .ins-top .lede { margin-inline: auto; }
.feat { display: grid; grid-template-columns: 7fr 5fr; gap: 0; border-radius: var(--r-xs); overflow: hidden; border: 1px solid var(--rl); text-decoration: none; background: var(--ground-mist); }
.feat__img img { width: 100%; height: 100%; object-fit: cover; aspect-ratio: 16 / 9; transition: transform 900ms var(--motion-ease-settle); }
.feat:hover .feat__img img { transform: scale(1.025); }
.feat__img { overflow: hidden; }
.feat__txt { display: grid; align-content: center; gap: 14px; padding: 40px; }
.feat__txt b { font-size: clamp(1.5rem, 2.4vw, 2.25rem); line-height: 1.15; letter-spacing: var(--ls-h1); }
.feat__ex { color: var(--fg2); } .feat time { color: var(--fg3); font-size: max(14px, var(--floor)); }
.post__cat { display: inline-flex; align-items: center; gap: 8px; font-size: max(13px, var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-800); }
.post__cat::before { content: ""; width: 8px; height: 8px; border-radius: var(--sq-r); background: var(--blue-500); }
.filt { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 36px; }
.filt__cats { display: flex; flex-wrap: wrap; gap: 8px; }
.chip { min-height: 40px; padding: 0 16px; border-radius: var(--r-pill); border: 1px solid var(--rl); background: var(--ground-white); font-size: max(15px, var(--floor)); font-weight: 500; cursor: pointer; }
.chip[aria-pressed=true] { background: var(--on-light-1); border-color: var(--on-light-1); color: #fff; }
.filt__q input { min-height: 44px; width: min(320px, 100%); padding: 0 16px; border-radius: var(--btn-r); border: 1px solid var(--btn-border-light); font: inherit; }
.posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px var(--col-gap); }
.post a { display: grid; gap: 12px; text-decoration: none; }
.post__img { overflow: hidden; border-radius: var(--r-xs); border: 1px solid var(--rl); aspect-ratio: 16 / 9; background: var(--n-100); }
.post__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--motion-ease-settle); }
.post a:hover .post__img img { transform: scale(1.035); }
.post b { font-size: 19px; line-height: 1.3; letter-spacing: var(--ls-h3); }
.post a:hover b { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
.post time { color: var(--fg3); font-size: max(14px, var(--floor)); }
.post.hide { display: none; }
.posts__more { margin-top: 48px; text-align: center; } .posts__empty { padding: 40px 0; color: var(--fg2); }
@media (max-width: 1023px) { .posts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .posts, .posts--3 { grid-template-columns: 1fr; } .feat { grid-template-columns: 1fr; } .feat__txt { padding: 24px; } }
/* article: sticky left rail (brand WEBSITE-SHELL-CONTRACT), 720 px reading column */
.art__head { padding-top: calc(var(--hdr-h) + 56px); padding-bottom: 40px; }
.art__hw { max-width: calc(1080px + 2 * var(--gutter)); display: grid; gap: 18px; }
.art__head .h-page { max-width: 22ch; } .art__meta { color: var(--fg3); font-size: max(15px, var(--floor)); }
.art__cover { margin-top: 16px; width: 100%; border-radius: var(--r-xs); border: 1px solid var(--rl); aspect-ratio: 16 / 9; object-fit: cover; }
.art__grid { display: grid; grid-template-columns: 260px minmax(0, 720px); justify-content: center; gap: 72px; padding-top: 24px; padding-bottom: 96px; background: var(--ground-white); }
.art__sticky { position: sticky; top: 100px; display: grid; gap: 28px; }
.art__rl { font-size: max(13px, var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--fg3); margin-bottom: 10px; }
.art__rail ol { display: grid; border-left: 1px solid var(--rl); }
.art__rail ol a { display: block; padding: 8px 0 8px 16px; margin-left: -1px; border-left: 2px solid transparent; font-size: max(15px, var(--floor)); line-height: 1.4; color: var(--fg2); text-decoration: none; }
.art__rail ol a:hover { color: var(--on-light-1); }
.art__rail ol a[aria-current="true"] { border-left-color: var(--ground-navy); color: var(--on-light-1); font-weight: 600; }
.art__share a { font-size: max(15px, var(--floor)); color: var(--blue-800); }
.art__toc { display: none; }
.art__body { min-width: 0; } .art__body .tb-art { padding: 0 !important; } .art__note { margin-top: 32px; }
.art + .sec, .art .sec { } .posts--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: 32px; }
@media (max-width: 900px) { .art__grid { grid-template-columns: 1fr; gap: 24px; } .art__rail { display: none; } .art__toc { display: block; border: 1px solid var(--rl); border-radius: var(--r-xs); padding: 14px 18px; } .art__toc summary { font-weight: 600; cursor: pointer; } .art__toc ol { margin-top: 10px; display: grid; gap: 8px; } .art__toc a { color: var(--fg2); } }

/* the conversation drawer */
.talk { margin: 0 0 0 auto; height: 100%; max-height: none; width: min(720px, 100%); overflow-x: hidden; border: 0; padding: 0; background: var(--ground-white); color: var(--on-light-1); box-shadow: -30px 0 80px rgba(0,0,0,.35);
  --fg2: var(--on-light-2); --fg3: var(--on-light-3); --rl: var(--on-light-rule); --mk: var(--blue-500); --ink-accent: var(--blue-800); }
.talk[open] { animation: talkIn 380ms var(--motion-ease-settle); }
@keyframes talkIn { from { transform: translateX(40px); opacity: 0; } to { transform: none; opacity: 1; } }
.talk::backdrop { background: var(--veil); -webkit-backdrop-filter: blur(5px); backdrop-filter: blur(5px); }
.talk__in { padding: 32px 44px 48px; display: grid; gap: 20px; }
.talk__top { display: flex; justify-content: space-between; align-items: center; }
.talk__x { width: 44px; height: 44px; border: 1px solid var(--rl); background: none; border-radius: var(--btn-r); font-size: 24px; cursor: pointer; }
.talk h2 { font-size: 30px; letter-spacing: var(--ls-h1); line-height: 1.1; }
.talk__opts { margin-top: 20px; display: grid; gap: 10px; }
.talk__opt { width: 100%; text-align: left; display: grid; grid-template-columns: 1fr 18px; gap: 4px 16px; padding: 18px 20px; border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); cursor: pointer; transition: border-color 200ms, background 200ms, transform 260ms var(--motion-ease-settle); }
.talk__opt:hover, .talk__opt:focus-visible { border-color: var(--on-light-3); background: var(--ground-mist); transform: translateX(3px); }
.talk__opt > * { grid-column: 1; } .talk__opt svg { grid-column: 2; grid-row: 1 / span 3; align-self: center; width: 14px; height: 14px; color: var(--fg3); }
.talk__k { font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--blue-800); }
.talk__opt b { font-size: 18px; } .talk__opt span:not(.talk__k) { font-size: max(14px, var(--floor)); color: var(--fg2); }
.talk__back { display: inline-flex; align-items: center; gap: 6px; min-height: 36px; padding: 0; background: none; border: 0; cursor: pointer; color: var(--blue-800); font-weight: 600; font-size: max(14px, var(--floor)); }
.talk__back svg { width: 12px; height: 12px; }
.talk__form h3 { font-size: 26px; letter-spacing: var(--ls-h2); } .talk__lead { color: var(--fg2); }
.frm__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 18px; }
.frm__grid > *, .frm input, .frm select, .frm textarea { min-width: 0; max-width: 100%; }
.frm select { width: 100%; text-overflow: ellipsis; }
.frm__grid .full, .frm__grid .chk, .frm__grid fieldset { grid-column: 1 / -1; }
.frm label i { color: var(--bad); font-style: normal; }
.frm select { font: inherit; font-weight: 400; padding: 11px 12px; border-radius: var(--btn-r); border: 1px solid var(--btn-border-light); background: var(--ground-white); color: var(--on-light-1); }
.frm .chk { display: grid; grid-template-columns: 20px 1fr; gap: 10px; align-items: start; font-weight: 400; font-size: max(14px, var(--floor)); color: var(--fg2); }
.frm .chk input { width: 18px; height: 18px; margin-top: 2px; accent-color: var(--action-green); }
.frm fieldset.opts { border: 0; padding: 0; margin: 0; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 6px 14px; }
.frm fieldset.opts legend { font-size: max(14px, var(--floor)); font-weight: 600; margin-bottom: 8px; }
.frm fieldset.opts label { display: flex; flex-direction: row; gap: 8px; align-items: center; font-weight: 400; font-size: max(15px, var(--floor)); min-height: 36px; }
.frm [aria-invalid="true"] { border-color: var(--bad) !important; }
.talk .frm__out { background: var(--info-bg); color: var(--on-light-1); }
.frm__route { margin-top: 10px; padding: 12px 14px; border: 1px dashed var(--n-400); border-radius: var(--btn-r); font-size: max(13px, var(--floor)); color: var(--fg2); }
.frm__route code { font-size: max(12px, var(--floor)); }
.talk__foot { font-size: max(13px, var(--floor)); color: var(--fg3); border-top: 1px solid var(--rl); padding-top: 14px; }
@media (max-width: 599px) { .frm__grid, .frm fieldset.opts { grid-template-columns: 1fr; } .talk__in { padding: 20px; } }
.eco .conv__c--priv .btn-p, .ins-list .btn-p { background: var(--action-green); color: var(--on-action-green); }
.eco .conv__c--priv .btn-p:hover { background: #0D5F54; }
.eco .btn-s, .ins-list .btn-s { border-color: var(--btn-border-light); color: var(--on-light-1); }
.eco .row { padding-block: 12px; }
.eco .row--prov .row__lbl span { display: none; }
.eco .row--prov .row__lbl b::after { content: ""; }
/* light pages open with the solid header */
html.lt-page .hdr[data-state="top"] { --h: var(--hdr-h-x); --bg: rgba(0,0,0,.92); }
html.lt-page .hdr[data-state="top"] .hdr__bar { background-image: none; border-bottom-color: var(--on-dark-rule); }
.art__cover { height: auto; }
/* carousel controls sit under the track, right-aligned */
.car__ctl { position: static; justify-content: flex-end; margin: 0 0 14px; }
/* about: the brand's own dot map, a legend under it */
.sx__map { aspect-ratio: auto; background: none; border: 0; padding: 0; display: grid; gap: 14px; }
.sx__map svg { width: 100%; height: auto; display: block; border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); }
.sx__map ul { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: max(14px, var(--floor)); color: var(--fg2); }
.sx__map li { display: flex; align-items: center; gap: 8px; } .sx__map li::before { content: ""; width: 10px; height: 10px; border-radius: var(--sq-r); background: var(--blue-800); }
.sx__map li.hub::before { background: var(--blue-500); box-shadow: 0 0 0 4px rgba(83,150,170,.2); }
/* size floor, declared last so it wins: no rendered label below 12 visual px under the page scale */
.stk__n, .stk__tag, .icard__tag, .stage, .duo2__k, .fold__n, .path__k, .wl__note, .ms__lbl, .row__lbl b, .row__lbl span, .mem li, .stock-tile span, .stock-cap, .stock-status,
.sx__map li, .sx__dots li, .person span, .person small, .post__cat, .eyebrow, .st, .talk__k, .acc__k, .small, .route__for, .mega__links .note, .ft__ent, .ft__reg, .ft__foot, .ft .ft__h, .entgrp h5, .art__meta, .art__rl, .post time, .feat time, .frm__note, .talk__foot, .chk span { font-size: max(var(--fz, 13px), var(--floor)); }
.ft__reg, .ft__ent, .person span, .small, .frm__note, .talk__foot { --fz: 14px; }
.sx__dots li { --fz: 14px; } .row__lbl b { --fz: 14px; } .mem li { --fz: 14px; }
.facts span, .sx__eng span, .btn-sm, .eco .row--mem .row__lbl b { font-size: max(14px, var(--floor)); }
.sx__eng span:not(.sx__sq), .facts li span { font-size: max(14px, var(--floor)); }
[hidden] { display: none !important; }
/* long-form reading keeps its true size under the page scale: the article column counter-scales to 100% */
@media (min-width: 768px) { .art__body { zoom: 1.111; } }
@media (min-width: 1024px) { .art__body { zoom: 1.25; } }
.art__body article.tb-art p { margin: 0 0 1.1em; }
.art__body article.tb-art h2 { margin: 1.8em 0 .6em; } .art__body article.tb-art h3 { margin: 1.4em 0 .5em; }
.art__cta .btn-p, .lt-page main .lt .btn-p { background: var(--action-green); color: var(--on-action-green); }

/* ═════ round 3 · 11 Oct (Henri's second review) ═════ */
.ic { width: 20px; height: 20px; display: block; }
.mic { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: var(--sq-r); background: rgba(103,187,214,.12); color: var(--blue-400); flex: none; }
.mic .ic { width: 16px; height: 16px; }
.mega__links .t { gap: 12px; }

/* hero: statement at the top, open middle, two symmetrical routes at the foot */
.hero__in { justify-content: flex-start; padding-top: calc(var(--hdr-h) + clamp(40px, 6vh, 80px)); padding-bottom: 48px; }
.hero__top { max-width: 900px; }
.hero h1 { max-width: none; }
.hero__space { flex: 1; min-height: clamp(80px, 18vh, 260px); }
.routes { grid-template-columns: 1fr 1fr; grid-template-rows: repeat(6, auto); column-gap: 24px; margin-top: 0; }
.route { grid-row: span 6; grid-template-rows: subgrid; row-gap: 10px; padding: 22px 24px 24px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--r-xs);
  background: linear-gradient(180deg, rgba(0,0,0,.42), rgba(0,0,0,.62)); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); overflow: hidden; }
.route::before { display: none; }
.route__head { grid-row: 1; display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.route__go { font-size: max(15px, var(--floor)); font-weight: 600; color: rgba(255,255,255,.88); text-decoration: none; white-space: nowrap; }
.route__go:hover { color: #fff; text-decoration: underline; text-underline-offset: 4px; }
.route h2 { grid-row: 2; } .route__desc { grid-row: 3; max-width: 46ch; } .route__for { grid-row: 4; }
.route__rail { grid-row: 5; position: relative !important; top: auto !important; right: auto !important; width: auto !important; height: 60px; margin: 6px -24px 0; opacity: 1;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent); }
.route__track { gap: 10px; animation-duration: 56s; }
.route__track--rev { animation-direction: reverse; }
.rt { display: block; width: 52px; height: 52px; border-radius: 9px; overflow: hidden; flex: none; border: 1px solid rgba(255,255,255,.14); }
.rt img { width: 100%; height: 100%; object-fit: cover; border-radius: 0; }
.route__act { grid-row: 6; display: flex; align-items: center; gap: 12px 20px; min-height: var(--site-btn-h); margin-top: 6px; }
.route__act .wl { width: 100%; max-width: none; grid-template-columns: minmax(0, 1fr) auto; }
.route__act .wl__note { display: none; }
.route__act .lnk { color: rgba(255,255,255,.9); }
.route .wl { grid-row: auto; margin: 0; }
@media (max-width: 899px) {
  .routes { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 16px; }
  .route { grid-row: auto; grid-template-rows: none; }
  .hero__space { min-height: 40px; }
  .route__act { flex-wrap: wrap; }
  .route__act .btn { flex: 1 1 auto; }
}

/* hero tile field extends below the hero, into the mission */
.hero { z-index: 2; }
.hero__field { height: calc(100% + 340px); }
.mission { position: relative; z-index: 1; padding-top: calc(var(--sec-y) * .9); }
.mission .wrap { position: relative; z-index: 3; }

/* mission: four kinds of real-world value, one T block, the market at the branch ends */
.ms__tile { position: absolute; padding: 4px 8px; font-size: max(13px, var(--floor)); font-weight: 600; color: #fff; background: rgba(0,0,0,.66); border-radius: var(--r-xs); pointer-events: none; }
.ms__tile--0 { left: 1.2%; top: 3%; } .ms__tile--1 { left: 19.5%; top: 3%; } .ms__tile--2 { left: 1.2%; top: 53%; } .ms__tile--3 { left: 19.5%; top: 53%; }
.ma-blk { fill: #000; stroke: var(--blue-400); stroke-width: 1.6; vector-effect: non-scaling-stroke; }
.ma-glow { opacity: .55; }
.ms__lbl--block { left: 58.33%; top: 67%; transform: translateX(-50%); color: var(--blue-300); font-weight: 600; font-size: max(14px, var(--floor)); }
.ms__stats { position: absolute; left: 76.5%; top: 0; bottom: 0; right: 0; display: grid; grid-template-rows: repeat(3, 1fr); align-items: center; gap: 6px; }
.ms__stat { display: grid; gap: 3px; padding: 10px 0 10px 14px; border-left: 1px solid var(--on-dark-rule); }
.ms__k { font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-400); }
.ms__stat b { font-size: clamp(1.75rem, 2.6vw, 2.5rem); line-height: 1; letter-spacing: -.02em; color: #fff; font-variant-numeric: tabular-nums; }
.ms__l { font-size: max(14px, var(--floor)); color: var(--on-dark-2); line-height: 1.35; }
.ms__logos { display: flex; gap: 6px; margin-top: 4px; } .ms__logos img { width: 22px; height: 22px; border-radius: 5px; }
.ms__stat small { font-size: max(12px, var(--floor)); color: var(--on-dark-3); }
.ms__art.pre .ms__stat, .ms__art.pre .ms__tile { opacity: 0; } .ms__art.play .ms__stat { opacity: 1; transition: opacity 600ms var(--motion-ease-settle) calc(2900ms + var(--d, 0ms)); }
.ms__art.play .ms__tile { opacity: 1; transition: opacity 600ms var(--motion-ease-settle) 200ms; }
.ms__stat--1 { --d: 150ms; } .ms__stat--2 { --d: 300ms; }
@media (max-width: 899px) {
  .ms__tile--0 { left: 2%; top: 2%; } .ms__tile--1 { left: 51%; top: 2%; } .ms__tile--2 { left: 2%; top: 25%; } .ms__tile--3 { left: 51%; top: 25%; }
  .ms__lbl--block { left: 50%; top: 72%; transform: translateX(-50%); background: rgba(0,0,0,.8); padding: 2px 8px; }
  .ms__stats { position: static; grid-template-rows: none; grid-template-columns: 1fr; margin-top: 8px; gap: 0; }
  .ms__stat { border-left: 0; border-top: 1px solid var(--on-dark-rule); padding: 14px 0; }
}

/* H03: logos blended into a long, quiet gradient; no box */
.eco { background: linear-gradient(180deg, #000 0, #05080A 120px, #121A1F 260px, #3A464E 400px, #8E9CA9 520px, #D3DBE1 640px, var(--ground-mist) 760px, var(--ground-mist) 100%); padding: 200px 0 64px; }
.eco__band { all: unset; }
.eco__h { font-size: var(--fs-h1); font-weight: 700; color: var(--on-light-1); letter-spacing: var(--ls-h1); line-height: 1.08; max-width: 22ch; padding: 0; margin-bottom: 40px; }
.eco__rows { border-top: 1px solid rgba(11,20,27,.12); }
.eco .row { grid-template-columns: 240px minmax(0, 1fr); padding-block: 18px; border-top: 0; border-bottom: 1px solid rgba(11,20,27,.12); min-height: 0; }
.eco .row:last-child { border-bottom: 1px solid rgba(11,20,27,.12); }
.eco .nm { display: inline-flex; align-items: center; gap: 10px; font-size: 19px; }
.eco .nm img { width: 28px; height: 28px; border-radius: 7px; }
.eco .mq__g { gap: 48px; padding-right: 48px; }
.latest { margin-top: 40px; }
.latest__h { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: 14px; }
.latest__h h3 { font-size: max(14px, var(--floor)); font-weight: 600; color: var(--on-light-2); }
.latest__h .lnk { font-size: max(15px, var(--floor)); min-height: 0; }
.latest ul { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--col-gap); }
.latest a { display: grid; grid-template-columns: 112px 1fr; gap: 14px; align-items: center; text-decoration: none; }
.latest img { width: 112px; aspect-ratio: 16 / 9; height: auto; object-fit: cover; border-radius: var(--r-xs); border: 1px solid var(--on-light-rule); }
.latest em { display: block; font-style: normal; font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-800); }
.latest b { display: block; font-size: max(15px, var(--floor)); line-height: 1.35; color: var(--on-light-1); }
.latest a:hover b { text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 899px) { .eco .row { grid-template-columns: 1fr; } .latest ul { grid-template-columns: 1fr; } }

/* final conversion: two equal panels, same material, different accent; every row aligned */
.cta2 { background: var(--ground-mist); padding: 24px 0 var(--sec-y); }
.cta2__grid { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(6, auto); column-gap: var(--col-gap); }
.cta2__c { position: relative; display: grid; grid-row: span 6; grid-template-rows: subgrid; row-gap: 14px; padding: 36px; border-radius: var(--r-xs); color: #fff;
  background: linear-gradient(160deg, #0B141B 0%, #06090C 60%, #10202A 100%); --ink-accent: var(--blue-400); --mk: var(--blue-400); overflow: hidden; }
.cta2__c--priv { box-shadow: inset 0 3px 0 var(--action-green-dark); } .cta2__c--pub { box-shadow: inset 0 3px 0 var(--blue-400); }
.cta2__ic { grid-row: 1; width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--sq-r); background: rgba(103,187,214,.12); color: var(--blue-400); }
.cta2__ic .ic { width: 24px; height: 24px; }
.cta2__c .head-row { grid-row: 2; } .cta2__c h3 { grid-row: 3; font-size: clamp(1.625rem, 2.4vw, 2.125rem); letter-spacing: var(--ls-h2); line-height: 1.1; }
.cta2__c p:not(.eyebrow) { grid-row: 4; color: var(--on-dark-2); max-width: 46ch; }
.cta2__c .st.live { color: var(--ok-dark); } .cta2__c .st.soon { color: var(--warn-dark); }
.cta2__act { grid-row: 5; display: flex; align-items: center; gap: 12px 20px; min-height: var(--site-btn-h); }
.cta2__act .btn-p { background: var(--action-green-dark); color: var(--on-action-green-dark); }
.cta2__act .lnk { color: #fff; }
.cta2__act .wl { width: 100%; max-width: none; } .cta2__act .wl input { background: rgba(255,255,255,.06); border-color: rgba(255,255,255,.3); color: #fff; } .cta2__act .wl .btn-p { background: var(--action-green-dark); color: var(--on-action-green-dark); }
.cta2__act .wl__note { display: none; }
.cta2__foot { grid-row: 6; align-self: end; padding-top: 14px; border-top: 1px solid var(--on-dark-rule); font-size: max(15px, var(--floor)); font-weight: 600; color: var(--blue-400); text-decoration: none; }
.cta2__foot:hover { text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 899px) { .cta2__grid { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 16px; } .cta2__c { grid-row: auto; grid-template-rows: none; padding: 28px; } .cta2__act { flex-wrap: wrap; } }

/* drawer: three choices with icons; private and public expand in place */
.talk__opts { margin-top: 20px; display: grid; gap: 10px; }
.talk__grp { border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); }
.talk__grp > summary, .talk__grp--btn { list-style: none; cursor: pointer; width: 100%; display: grid; grid-template-columns: 44px 1fr 18px; align-items: center; gap: 14px; padding: 18px; text-align: left; background: none; border: 0; font: inherit; color: inherit; }
.talk__grp--btn { border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); }
.talk__grp > summary::-webkit-details-marker { display: none; }
.talk__grp:hover, .talk__grp[open] { border-color: var(--on-light-3); }
.talk__ic { width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--sq-r); background: var(--ground-mist); color: var(--blue-800); }
.talk__ic .ic { width: 22px; height: 22px; }
.talk__txt { display: grid; gap: 2px; } .talk__txt b { font-size: 18px; } .talk__txt span { font-size: max(14px, var(--floor)); color: var(--fg2); }
.talk__chev svg { width: 12px; transition: transform 240ms var(--motion-ease-settle); color: var(--fg3); } .talk__grp[open] .talk__chev svg { transform: rotate(180deg); }
.talk__chev--r svg { width: 14px; height: 14px; }
.talk__grp ul { display: grid; gap: 8px; padding: 0 18px 18px 76px; }
.talk__sub:not(.talk__grp) { width: 100%; text-align: left; display: grid; grid-template-columns: 1fr 14px; gap: 2px 12px; padding: 14px 16px; border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-mist); cursor: pointer; font: inherit; color: inherit; transition: border-color 200ms, transform 240ms var(--motion-ease-settle); }
.talk__sub:not(.talk__grp):hover, .talk__sub:not(.talk__grp):focus-visible { border-color: var(--blue-500); transform: translateX(3px); }
.talk__sub:not(.talk__grp) > b, .talk__sub:not(.talk__grp) > span { grid-column: 1; } .talk__sub:not(.talk__grp) > b { font-size: max(16px, var(--floor)); } .talk__sub:not(.talk__grp) > span { font-size: max(14px, var(--floor)); color: var(--fg2); }
.talk__sub:not(.talk__grp) svg { grid-column: 2; grid-row: 1 / span 2; align-self: center; width: 12px; height: 12px; color: var(--fg3); }
@media (max-width: 599px) {
  .talk { width: 100%; }
  .talk__grp > summary, .talk__grp--btn { grid-template-columns: 40px 1fr 16px; padding: 16px 14px; gap: 12px; }
  .talk__grp ul { padding: 0 14px 14px 14px; }
  .talk h2 { font-size: 26px; }
}

/* About: manifesto, hub, capabilities, compact people, partners */
.ab-hero { display: grid; grid-template-columns: 7fr 5fr; gap: 32px 64px; align-items: end; }
@media (max-width: 899px) { .ab-hero { grid-template-columns: 1fr; } }
.manifesto { padding-top: 24px; }
.mf { margin-top: 28px; border-top: 1px solid var(--on-dark-rule); }
.mf__l { display: grid; grid-template-columns: 64px minmax(0, 7fr) minmax(0, 5fr); gap: 12px 32px; align-items: baseline; padding: 32px 0; border-bottom: 1px solid var(--on-dark-rule); }
.mf__n { font-size: max(13px, var(--floor)); font-weight: 700; color: var(--blue-400); }
.mf__t { font-family: var(--font-serif); font-size: clamp(1.75rem, 3.2vw, 2.75rem); line-height: 1.1; letter-spacing: -.015em; color: #fff; }
.mf__d { color: var(--on-dark-2); max-width: 44ch; }
@media (max-width: 899px) { .mf__l { grid-template-columns: 40px 1fr; } .mf__d { grid-column: 2; } }
.hubsec { padding-top: 32px; }
.hub__grid { display: grid; grid-template-columns: 7fr 5fr; gap: 40px 64px; align-items: center; }
.hub { width: 100%; height: auto; }
.hub__arc { fill: none; stroke: var(--blue-400); stroke-width: 1.4; stroke-opacity: .7; vector-effect: non-scaling-stroke; stroke-dasharray: 1; stroke-dashoffset: 0; }
.hub__end { fill: var(--blue-300); }
.hub__lux { fill: var(--blue-400); } .hub__glow { fill: var(--blue-400); filter: blur(6px); opacity: .8; }
.hub__t { font: 600 max(13px, var(--floor)) var(--font-sans); fill: var(--on-dark-2); text-anchor: middle; } .hub__t--lux { fill: #fff; text-anchor: start; font-size: max(15px, var(--floor)); }
[data-hub].pre .hub__arc { stroke-dashoffset: 1; } [data-hub].pre .hub__end { opacity: 0; }
[data-hub].play .hub__arc { stroke-dashoffset: 0; transition: stroke-dashoffset 1.2s var(--motion-ease-move) calc(var(--i) * 140ms); }
[data-hub].play .hub__end { opacity: 1; transition: opacity 400ms calc(1100ms + var(--i) * 140ms); }
.hub__arc.pulse { animation: arcp 3.6s var(--motion-ease-move) infinite; animation-delay: calc(var(--i) * 360ms); stroke-dasharray: .08 .92; }
@keyframes arcp { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
@media (max-width: 899px) { .hub__grid { grid-template-columns: 1fr; } }
.caps { margin-top: 44px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--col-gap); }
.caps li { display: grid; grid-template-columns: 44px 1fr; gap: 4px 14px; padding: 22px 0; border-top: 1px solid var(--rl); }
.caps__ic { grid-row: span 2; width: 40px; height: 40px; display: grid; place-items: center; border-radius: var(--sq-r); background: var(--ground-mist); color: var(--blue-800); }
.caps b { font-size: 18px; } .caps span:not(.caps__ic) { color: var(--fg2); font-size: max(15px, var(--floor)); }
@media (max-width: 899px) { .caps { grid-template-columns: 1fr; } }
.chips { display: flex; flex-wrap: wrap; gap: 8px; align-self: end; justify-content: flex-end; }
.pcs { margin-top: 32px; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.pc { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: center; padding: 12px; background: var(--ground-white); border: 1px solid var(--rl); border-radius: var(--r-xs); }
.pc.hide { display: none; }
.pc__ph { width: 64px; height: 64px; border-radius: var(--r-xs); object-fit: cover; background: var(--n-100); }
.pc__ph--pending { display: grid; place-items: center; font-size: 20px; font-weight: 700; color: var(--n-400); }
.pc__t { display: grid; gap: 2px; min-width: 0; } .pc__t b { font-size: max(16px, var(--floor)); } .pc__t span { font-size: max(14px, var(--floor)); color: var(--fg2); line-height: 1.35; } .pc__t small { font-size: max(12px, var(--floor)); color: var(--fg3); }
.pe { margin-top: 40px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px var(--col-gap); }
.pe h3 { font-size: max(14px, var(--floor)); font-weight: 600; color: var(--fg3); padding-bottom: 10px; border-bottom: 1px solid var(--rl); margin: 0 0 6px; }
.pe h3:not(:first-child) { margin-top: 28px; }
.pe li { display: grid; gap: 2px; padding: 8px 0; } .pe li b { font-size: max(17px, var(--floor)); } .pe li span { font-size: max(14px, var(--floor)); color: var(--fg2); }
.pe__eco { display: flex !important; flex-wrap: wrap; gap: 4px 18px; } .pe__eco li { font-weight: 600; font-size: max(16px, var(--floor)); padding: 4px 0; }
@media (max-width: 899px) { .pe { grid-template-columns: 1fr; } }

/* Insights: lead + latest, topic columns, filterable feed, subscribe */
.ins-top { display: grid; grid-template-columns: 7fr 5fr; gap: 24px 48px; align-items: end; text-align: left; justify-items: stretch; margin-bottom: 36px; }
.ins-top .lede { margin: 0; }
.ins-lead { display: grid; grid-template-columns: 8fr 4fr; gap: var(--col-gap); align-items: stretch; }
.ins-lead .feat { grid-template-columns: 1fr; }
.ins-lead .feat__txt { padding: 24px 28px 28px; }
.ins-side { display: grid; align-content: start; gap: 6px; }
.ins-side__h { font-size: max(13px, var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--fg3); padding-bottom: 8px; border-bottom: 1px solid var(--rl); }
.ins-side li a { display: grid; grid-template-columns: 120px 1fr; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--rl); text-decoration: none; align-items: start; }
.ins-side img { width: 120px; aspect-ratio: 16 / 9; height: auto; object-fit: cover; border-radius: var(--r-xs); }
.ins-side em { display: block; font-style: normal; font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-800); margin-bottom: 4px; }
.ins-side b { font-size: max(16px, var(--floor)); line-height: 1.3; }
.ins-side a:hover b { text-decoration: underline; text-underline-offset: 3px; }
.tcols-sec { padding-block: 24px 48px; }
.tcols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--col-gap); }
.tcol { padding-top: 18px; border-top: 2px solid var(--on-light-1); }
.tcol h3 a { display: flex; justify-content: space-between; text-decoration: none; font-size: 20px; } .tcol h3 span { color: var(--fg3); font-weight: 500; }
.tcol > p { margin: 6px 0 14px; color: var(--fg2); font-size: max(15px, var(--floor)); }
.tcol li { display: grid; gap: 2px; padding: 12px 0; border-top: 1px solid var(--rl); }
.tcol li a { font-weight: 600; text-decoration: none; line-height: 1.35; } .tcol li a:hover { text-decoration: underline; text-underline-offset: 3px; }
.tcol li time { font-size: max(13px, var(--floor)); color: var(--fg3); }
.feed { display: grid; grid-template-columns: 240px minmax(0, 1fr); gap: 48px; align-items: start; }
.feed__side { position: sticky; top: 100px; display: grid; gap: 10px; }
.feed__side input { width: 100%; }
.feed__lbl { margin-top: 12px; font-size: max(13px, var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--fg3); }
.feed__cats, .feed__subs { display: grid; gap: 2px; }
.feed__subs { margin: 2px 0 4px 14px; padding-left: 10px; border-left: 1px solid var(--rl); }
.fc { width: 100%; display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px; border: 0; border-radius: var(--btn-r); background: none; cursor: pointer; font: inherit; font-size: max(16px, var(--floor)); color: var(--on-light-2); text-align: left; }
.fc span { color: var(--fg3); font-variant-numeric: tabular-nums; } .fc:hover { background: var(--ground-mist); }
.fc[aria-pressed=true] { background: var(--on-light-1); color: #fff; } .fc[aria-pressed=true] span { color: var(--n-300); }
.fc--sub { font-size: max(15px, var(--floor)); padding: 7px 12px; }
.feed__h { font-size: 24px; letter-spacing: var(--ls-h2); margin-bottom: 24px; display: flex; gap: 10px; align-items: baseline; } .feed__n { color: var(--fg3); font-weight: 500; font-size: 18px; }
.feed .posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.subscribe { margin-top: 64px; display: grid; grid-template-columns: 1fr minmax(0, 360px) auto; gap: 12px 16px; align-items: center; padding: 28px 32px; border-radius: var(--r-xs); background: var(--ground-black); color: #fff; }
.subscribe h3 { font-size: 22px; } .subscribe p { color: var(--on-dark-2); }
.subscribe input { min-height: var(--site-btn-h); padding: 0 16px; border-radius: var(--btn-r); border: 1px solid rgba(255,255,255,.3); background: rgba(255,255,255,.06); color: #fff; font: inherit; }
.subscribe .btn-p { background: var(--action-green-dark); color: var(--on-action-green-dark); }
.subscribe .frm__out { grid-column: 1 / -1; }
@media (max-width: 1023px) { .feed { grid-template-columns: 1fr; } .feed__side { position: static; } .feed__cats { display: flex; flex-wrap: wrap; gap: 6px; } .feed__cats > li { display: contents; } .feed__subs { display: none; } .fc { width: auto; border: 1px solid var(--rl); border-radius: var(--r-pill); } }
@media (max-width: 899px) { .ins-top, .ins-lead, .tcols, .feed .posts, .subscribe { grid-template-columns: 1fr; } }
/* the black → mist transition: an eased curve that is complete before the headline */
.eco { background: linear-gradient(180deg, #000 0, #020304 50px, #070B0E 100px, #11191E 150px, #26313A 200px, #4C5963 250px, #808E99 300px, #B4C0C9 345px, #DCE3E8 385px, var(--ground-mist) 420px, var(--ground-mist) 100%); padding-top: 440px; }
.talk { max-width: none; max-height: none; }
.hub__grid { grid-template-columns: 8fr 4fr; } @media (max-width: 899px) { .hub__grid { grid-template-columns: 1fr; } }
.pe li span { font-size: max(14px, var(--floor)); }
/* stress-test fixes */
.about-hero .wrap.ab-hero { max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; }
.eco { background: linear-gradient(180deg, #000 0, #030506 40px, #0B1115 80px, #1E282F 120px, #46525B 160px, #7C8A95 200px, #B3BFC8 240px, #DCE3E8 275px, var(--ground-mist) 305px, var(--ground-mist) 100%); padding-top: 320px; }
.eco .row__lbl span { display: block; padding-left: 19px; font-size: max(13px, var(--floor)); color: var(--fg3); max-width: 26ch; line-height: 1.4; }
@media (max-width: 899px) {
  .route__rail { order: 0 !important; }
  .route__head { flex-wrap: wrap; }
  .ms__art.play .ms__stat { transition-delay: calc(400ms + var(--d, 0ms)); }
  .eco { background: linear-gradient(180deg, #000 0, #0B1115 50px, #46525B 110px, #B3BFC8 160px, var(--ground-mist) 200px, var(--ground-mist) 100%); padding-top: 220px; }
  .chips { justify-content: flex-start; flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
  .chips .chip { flex: none; }
  .feed__subs { display: contents !important; }
}
.route__act .btn-s { border-color: rgba(255,255,255,.4); color: #fff; }
.cta2__act .btn-s { border-color: rgba(255,255,255,.4); color: #fff; }
.pc__ph--pending { color: var(--n-400); } .pc__ph--pending .ic { width: 28px; height: 28px; }
.ins-cats { display: flex; flex-wrap: wrap; gap: 8px; margin: -12px 0 28px; }
.ins-cats .chip { text-decoration: none; display: inline-flex; align-items: center; }
.chips { justify-content: flex-start; }
.stock-stage { -webkit-mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%); mask-image: linear-gradient(180deg, transparent 0, #000 12%, #000 88%, transparent 100%); }

/* ═════ round 4 · 12 Oct · Henri's homepage order, Astra review fixes ═════
   hero → brief ecosystem band → market context → Insights strip → two destination panels → footer.
   Small type uses max(…, var(--floor)) so it never renders under 12 visual px at the 80/90% page scale. */

/* motion lifecycle (Astra F08): one controller marks a root .is-halted when it is offscreen, the tab is hidden,
   reduced motion is on, or the pointer or keyboard focus is inside it. Every infinite animation pauses with it. */
.is-halted, .is-halted * { animation-play-state: paused !important; }

/* header: effective lockup size at the page scale (F07, Book p. 11: 96 px minimum) and the descriptor kept on phones (F06) */
.hdr__lockup { width: max(112px, calc(96 * var(--u))); }
@media (max-width: 1023px) { .hdr__mark { display: block; } }
@media (max-width: 959px) {
  .hdr__mark { font-size: max(12.5px, var(--floor)); padding-left: 12px; }
  .navtog { padding: 0 12px; }
}
@media (max-width: 480px) { .navtog span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .navtog { width: 44px; justify-content: center; padding: 0; } }
@media (max-width: 400px) { .hdr:not([data-state="compact"]) .hdr__mark { display: none; } .hdr[data-state="compact"] .hdr__mark { font-size: max(12px, var(--floor)); padding-left: 10px; } }

/* hero: two finer route panels. Thin neutral border, quiet surface, no coloured top accents, shared rows. */
.routes { grid-template-rows: repeat(5, auto); row-gap: 0; margin-top: 44px; }
.route { grid-row: span 5; grid-template-rows: subgrid; row-gap: 14px; padding: 24px 28px 26px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--r-xs);
  background: rgba(4,7,9,.52); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); overflow: hidden; }
.route::before { content: none !important; }
.route__head { grid-row: 1; justify-content: space-between; min-height: 32px; }
.route h2 { grid-row: 2; font-size: clamp(1.625rem, 2.2vw, 2rem); }
.route__txt { grid-row: 3; display: grid; gap: 6px; align-content: start; }
.route__txt .route__desc { max-width: 46ch; }
.route__for { margin: 0; font-size: max(14px, var(--floor)); }
.route__band { grid-row: 4; height: 116px; margin: 4px 0 2px; }
.route__act { grid-row: 5; align-self: end; display: flex; flex-wrap: wrap; gap: 12px; margin-top: 6px; }
.route__act .wl { width: 100%; margin: 0; }
.route__go { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: max(16px, var(--floor)); font-weight: 600; color: #fff; text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.35); padding-top: 2px; transition: border-color 200ms var(--ease); }
.route__go:hover { border-bottom-color: var(--blue-400); }
.route__go .ar { transition: transform 240ms var(--motion-ease-settle); } .route__go:hover .ar { transform: translateX(3px); }
.route__band--photo { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.route__band--photo li { position: relative; overflow: hidden; border-radius: var(--r-xs); background: #0B141B; }
.route__band--photo img { width: 100%; height: 100%; object-fit: cover; }
.route__band--photo span { position: absolute; left: 8px; bottom: 8px; padding: 3px 8px; border-radius: var(--r-xs); background: rgba(0,0,0,.66); font-size: max(12.5px, var(--floor)); font-weight: 600; color: #fff; line-height: 1.3; }
.route__band--stocks { position: relative; overflow: hidden; display: flex; align-items: center; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.route__band--stocks .route__track { display: flex; gap: 14px; width: max-content; animation: rail 64s linear infinite; }
.route__band--stocks img { width: 72px; height: 72px; border-radius: 10px; flex: none; }
.route__rail { display: none; }
@media (max-width: 899px) {
  .routes { grid-template-rows: none; gap: 16px; margin-top: 36px; }
  .route { grid-row: auto; grid-template-rows: none; display: flex; flex-direction: column; gap: 14px; padding: 20px 18px 20px; }
  .route__band { height: 96px; }
  .route__band--stocks img { width: 60px; height: 60px; }
}
@media (max-width: 420px) { .route__head { flex-wrap: wrap; } .route__band { height: 84px; } .route__band--photo span { font-size: max(12px, var(--floor)); left: 6px; bottom: 6px; padding: 2px 6px; } }

/* ── brief ecosystem band: a short black → mist seam, two principal rows, one quiet row ── */
.eb { position: relative; color: var(--on-light-1); padding: 128px 0 52px;
  background: linear-gradient(180deg, var(--ground-black) 0, #10171C 40px, #C3CDD4 96px, var(--ground-mist) 124px, var(--ground-mist) 100%); }
.eb__h { font-size: max(15px, var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-800); display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.eb__h::before { content: ""; width: 9px; height: 9px; border-radius: var(--sq-r); background: var(--blue-500); }
.eb__row { display: grid; grid-template-columns: 250px minmax(0, 1fr); column-gap: 40px; align-items: center; padding-block: 18px; border-top: 1px solid var(--on-light-rule); }
.eb__lbl { display: grid; gap: 3px; }
.eb__lbl b { font-size: max(16px, var(--floor)); font-weight: 700; }
.eb__lbl span { font-size: max(13px, var(--floor)); color: var(--on-light-3); line-height: 1.4; }
.eb__body { min-width: 0; }
.eb .mq__g { gap: 56px; padding-right: 56px; }
.eb .nm { display: inline-flex; align-items: center; gap: 10px; font-size: 18px; font-weight: 600; color: var(--on-light-1); white-space: nowrap; }
.eb .nm img { width: 28px; height: 28px; border-radius: 6px; }
.eb__prov { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px 28px; }
.eb__prov li { display: grid; gap: 2px; }
.eb__prov .nm { font-size: max(17px, var(--floor)); }
.eb__prov small { font-size: max(13px, var(--floor)); color: var(--on-light-3); }
.eb__mem { padding-top: 16px; border-top: 1px solid var(--on-light-rule); font-size: max(14px, var(--floor)); color: var(--on-light-2); line-height: 1.6; }
.eb__mem b { color: var(--on-light-1); font-weight: 700; margin-right: 12px; }
.eb .mq, html.rm .eb .mq { display: block; }
html.rm .eb .mq { -webkit-mask-image: none; mask-image: none; } html.rm .eb .mq__t { animation: none; flex-wrap: wrap; width: auto; } html.rm .eb .mq__g + .mq__g { display: none; } html.rm .eb .mq__g { flex-wrap: wrap; row-gap: 14px; }
@media (max-width: 899px) {
  .eb { padding: 96px 0 40px; background: linear-gradient(180deg, var(--ground-black) 0, #10171C 28px, #C3CDD4 68px, var(--ground-mist) 88px, var(--ground-mist) 100%); }
  .eb__row { grid-template-columns: 1fr; row-gap: 12px; }
  .eb__prov { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .eb .nm { font-size: max(16px, var(--floor)); }
}

/* ── market context: one Depth composition, assets → T-Blocks → channels ── */
.mk { position: relative; background: var(--ground-depth); color: var(--on-dark-1); padding-block: var(--sec-y); overflow: hidden;
  --fg2: var(--on-dark-2); --fg3: var(--on-dark-3); --rl: var(--on-dark-rule); --mk: var(--blue-400); }
.mk :focus-visible { outline: var(--focus-outline-dark); }
/* the hero's edge field, echoed at the entrance: restrained, at the margins only, never behind text */
.mk__echo { position: absolute; left: 0; right: 0; top: 0; height: 180px; pointer-events: none; }
.mk__echo::before, .mk__echo::after { content: ""; position: absolute; top: 0; bottom: 0; width: max(0px, calc((var(--vw) - var(--container)) / 2 - 8px));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Crect x='2' y='2' width='14' height='14' rx='1.64' fill='%2367BBD6'/%3E%3C/svg%3E");
  opacity: .16; -webkit-mask-image: linear-gradient(180deg, #000, transparent 92%); mask-image: linear-gradient(180deg, #000, transparent 92%); }
.mk__echo::before { left: 0; } .mk__echo::after { right: 0; }
.mk__head { display: grid; gap: 22px; }
.mk__h { max-width: 18ch; }
.mk__intro { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--col-gap); row-gap: 14px; align-items: end; margin-top: 4px; }
.mk__intro .lede { grid-column: 1 / span 7; color: var(--on-dark-2); max-width: 52ch; }
.mk__ctx { grid-column: 9 / -1; font-size: max(14px, var(--floor)); color: var(--on-dark-3); line-height: 1.5; padding-left: 16px; border-left: 1px solid var(--on-dark-rule); }
.mk__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1.22fr) minmax(0, .74fr) minmax(0, 1.22fr); column-gap: clamp(28px, 3.4vw, 56px); align-items: stretch; margin-top: 56px; }
.mk__col { position: relative; z-index: 1; min-width: 0; }
.mk__col--a, .mk__col--c { display: flex; flex-direction: column; }
.mk__col--c .chs { flex: 1; grid-auto-rows: 1fr; }
.mk__col--a .mk-acc { flex: 1; display: flex; flex-direction: column; }
.mk__col--a .ac.is-open { flex: 1; display: flex; flex-direction: column; }
.mk__col--a .ac.is-open .ac__p { flex: 1; display: flex; flex-direction: column; }
.mk__col--a .ac.is-open .ac__fig { flex: 1 1 auto; aspect-ratio: auto; min-height: 200px; }
.ch2 { display: flex; flex-direction: column; gap: 6px; padding: 16px 20px 14px; }
.ch2__s { margin-top: auto; padding-top: 4px; }
.ch2__top { margin-bottom: 2px; }
.mk__col--hub { display: flex; align-items: center; justify-content: center; padding-top: 30px; }
.mk__col--c .mk__k { text-align: left; }
.mk__k { font-size: max(13px, var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-dark-3); margin-bottom: 14px; }
.mk__cv { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 2; }
.mk__note { margin-top: 36px; max-width: 86ch; font-size: max(13px, var(--floor)); color: var(--on-dark-3); line-height: 1.55; }

/* assets: one card open at a time, no hover-only content, semantic buttons */
.mk-acc { display: grid; gap: 8px; }
.ac { border: 1px solid rgba(255,255,255,.12); border-radius: var(--r-xs); background: rgba(255,255,255,.015); transition: border-color 240ms var(--ease), background-color 240ms var(--ease); }
.ac.is-open { border-color: rgba(103,187,214,.5); background: rgba(103,187,214,.04); }
.ac__h { margin: 0; font: inherit; }
.ac__b { width: 100%; display: grid; grid-template-columns: 48px minmax(0, 1fr) 18px; align-items: center; gap: 14px; padding: 8px 14px 8px 8px; min-height: 64px; background: none; border: 0; color: #fff; text-align: left; font-size: max(17px, var(--floor)); font-weight: 600; cursor: pointer; }
.ac__b:hover .ac__t { text-decoration: underline; text-underline-offset: 4px; text-decoration-color: rgba(255,255,255,.4); }
.ac__thumb { width: 48px; height: 48px; border-radius: var(--r-xs); overflow: hidden; background: #0B141B; }
.ac__thumb img { width: 100%; height: 100%; object-fit: cover; }
.ac__x { position: relative; width: 14px; height: 14px; }
.ac__x::before, .ac__x::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; margin-top: -.75px; background: var(--on-dark-2); transition: transform 240ms var(--motion-ease-settle); }
.ac__x::after { transform: rotate(90deg); } .ac.is-open .ac__x::after { transform: rotate(0); }
.ac__p { padding: 2px 14px 16px; }
.js .ac:not(.is-open) .ac__p { display: none; }
.ac__fig { aspect-ratio: 16 / 10; border-radius: var(--r-xs); overflow: hidden; background: #0B141B; }
.ac__fig img { width: 100%; height: 100%; object-fit: cover; }
.ac__p p { margin-top: 12px; font-size: max(15.5px, var(--floor)); color: var(--on-dark-2); line-height: 1.5; min-height: 3em; }
.ac.is-open .ac__fig img { animation: acIn 600ms var(--motion-ease-settle); }
.ac__p p { flex: none; }
@keyframes acIn { from { opacity: 0; transform: scale(1.03); } to { opacity: 1; transform: none; } }

/* the hub: candidate 2.5 note block, label in its own wrapper below the drawing */
.hub { display: grid; justify-items: center; gap: 14px; margin: 0; }
.hub { width: 100%; }
.hub__mark { width: min(86%, 200px); aspect-ratio: 1; display: grid; place-items: center; }
.hub__mark img { width: 100%; height: auto; }
.mk.mk--cv .hub__mark img { visibility: hidden; }
.hub__cap { display: grid; gap: 6px; text-align: center; max-width: 30ch; }
.hub__cap b { font-size: max(17px, var(--floor)); font-weight: 700; }
.hub__cap span { font-size: max(14px, var(--floor)); color: var(--on-dark-2); line-height: 1.45; }


/* channels: value, unit/scope, one sentence, scoped marks, source and date, all present before any motion */
.chs { display: grid; gap: 12px; }
.ch2 { position: relative; display: grid; gap: 8px; padding: 18px 22px 16px; border: 1px solid rgba(255,255,255,.13); border-radius: var(--r-xs); background: rgba(4,7,9,.55); }
.ch2__top { display: flex; align-items: center; gap: 10px; }
.ch2__ic { width: 28px; height: 28px; display: grid; place-items: center; border-radius: var(--sq-r); background: rgba(103,187,214,.12); color: var(--blue-300); }
.ch2__ic .ic { width: 16px; height: 16px; }
.ch2__k { font-size: max(13px, var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-300); }
.ch2__v { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 2px; }
.ch2__v b { font-size: clamp(2rem, 2.6vw, 2.5rem); font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; line-height: 1.05; }
.ch2__v span { font-size: max(15.5px, var(--floor)); font-weight: 500; color: var(--on-dark-1); line-height: 1.35; flex: 1 1 16ch; }
.ch2__d { font-size: max(14.5px, var(--floor)); color: var(--on-dark-2); line-height: 1.45; }
.ch2__marks { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding-top: 4px; }
.ch2__marks img { width: 22px; height: 22px; border-radius: 5px; }
.mk-mark { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; font-size: max(13px, var(--floor)); color: var(--on-dark-2); }
.ch2__ml { width: 100%; font-size: max(12px, var(--floor)); letter-spacing: .06em; text-transform: uppercase; color: var(--on-dark-3); }
.ch2__s { font-size: max(12.5px, var(--floor)); color: var(--on-dark-3); }

/* phone and small tablet: a composition of its own, not a shrunken diagram */
@media (max-width: 899px) {
  .mk__col--a .ac.is-open .ac__fig { flex: none; aspect-ratio: 16 / 10; min-height: 0; }
  .mk__col--c .chs { grid-auto-rows: auto; }
  .mk__intro .lede, .mk__ctx { grid-column: 1 / -1; }
  .mk__ctx { padding-left: 12px; }
  .mk__grid { grid-template-columns: 1fr; row-gap: 0; margin-top: 40px; }

  .mk__col--hub { padding: 64px 0 6px; }
  .hub { grid-template-columns: 132px minmax(0, 1fr); justify-items: start; align-items: center; gap: 16px; text-align: left; }
  .hub__mark { width: 132px; }
  .hub__cap { text-align: left; }
  .mk__col--c { padding-top: 22px; }
  .mk__col--c .mk__k { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .chs { position: relative; padding-left: 26px; }
  .chs::before { content: ""; position: absolute; left: 8px; top: -22px; bottom: 50px; border-left: 1.5px solid rgba(103,187,214,.55); }
  .ch2::before { content: ""; position: absolute; left: -18px; top: 30px; width: 18px; border-top: 1.5px solid rgba(103,187,214,.55); }
  .ch2::after { content: ""; position: absolute; left: -22px; top: 26px; width: 8px; height: 8px; border-radius: var(--sq-r); background: var(--blue-400); }
  .mk__col--a .mk__k { margin-bottom: 10px; }
}
@media (max-width: 899px) { .mk__col--hub { display: block; } .mk__col--hub .hub { margin-inline: 0; } }

/* ── Insights strip: independent, readable, two previews ── */
.is { padding-block: 72px 80px; }
.is__top { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 12px 24px; margin-bottom: 28px; }
.is__h { font-size: clamp(1.75rem, 2.6vw, 2.25rem); font-weight: 700; letter-spacing: var(--ls-h2); line-height: 1.1; }
.is__all { font-size: max(17px, var(--floor)); font-weight: 600; color: var(--blue-800); }
.is__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--col-gap); }
.is__it a { display: grid; gap: 14px; text-decoration: none; color: var(--on-light-1); }
.is__img { display: block; aspect-ratio: 16 / 9; border-radius: var(--r-xs); overflow: hidden; background: #0B141B; }
.is__img--approved { box-shadow: inset 0 0 0 1px var(--on-light-rule); background: var(--ground-white); }
.is__img--approved img { mix-blend-mode: multiply; }
.is__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 600ms var(--motion-ease-settle); }
.is__it a:hover .is__img img, .is__it a:focus-visible .is__img img { transform: scale(1.02); }
.is__meta { display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: baseline; }
.is__cat { font-size: max(13px, var(--floor)); font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--blue-800); }
.is__meta time { font-size: max(13px, var(--floor)); color: var(--on-light-3); }
.is__t { font-size: clamp(1.25rem, 1.6vw, 1.5rem); font-weight: 700; line-height: 1.25; letter-spacing: -.01em; text-wrap: balance; }
.is__it a:hover .is__t { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
@media (max-width: 767px) { .is { padding-block: 56px 64px; } .is__list { grid-template-columns: 1fr; gap: 36px; } }

/* ── two destination panels: same family, row-aligned, on one black ground before the footer ── */
.dps { padding-block: 80px 96px; background: var(--ground-black); }
.dps__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(5, auto); column-gap: var(--col-gap); }
.dp { grid-row: span 5; display: grid; grid-template-rows: subgrid; row-gap: 12px; padding: 32px 32px 32px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--r-xs); }
.dp__top { display: flex; align-items: center; justify-content: space-between; }
.dp__ic { width: 44px; height: 44px; display: grid; place-items: center; border-radius: var(--sq-r); background: rgba(103,187,214,.10); color: var(--blue-300); }
.dp__ic .ic { width: 22px; height: 22px; }
.dp h3 { font-size: clamp(1.75rem, 2.4vw, 2.25rem); font-weight: 700; letter-spacing: var(--ls-h2); line-height: 1.1; margin-top: 8px; }
.dp__d { font-size: var(--lede); color: var(--on-dark-2); line-height: 1.5; max-width: 44ch; }
.dp__for { font-size: max(14px, var(--floor)); color: var(--on-dark-3); }
.dp__act { align-self: end; margin-top: 10px; }
@media (max-width: 767px) { .dps { padding-block: 56px 72px; } .dps__grid { grid-template-columns: 1fr; grid-template-rows: none; gap: 16px; } .dp { grid-row: auto; grid-template-rows: none; padding: 24px 20px; } }

/* ── article repairs (Astra F01–F03, F33) ──
   F01: the imported closing panel uses tb-cta-eyebrow/-headline/-body/-button-*; the bundled component styles
   tb-cta-h/-p/-btn. An explicit adapter maps the actual markup to the component's own values, scoped to the panel. */
article.tb-art .tb-cta { color: var(--on-dark-1); }
article.tb-art .tb-cta .tb-cta-eyebrow { margin: 0; font: 600 max(12px, var(--floor))/1.2 var(--font-sans); letter-spacing: .14em; text-transform: uppercase; color: var(--blue-400); }
article.tb-art .tb-cta .tb-cta-headline { margin: 0; font: 700 26px/1.2 var(--font-sans); color: #fff; padding-right: 60px; }
article.tb-art .tb-cta .tb-cta-body { margin: 0; font: 16px/1.55 var(--font-sans); color: var(--on-dark-2); }
article.tb-art .tb-cta a.tb-cta-button-primary { justify-self: start; margin-top: 6px; background: var(--action-green-dark, #86D8C4); color: var(--ground-navy); font: 700 max(15px, var(--floor))/1 var(--font-sans); padding: 15px 20px; border-radius: var(--btn-r); text-decoration: none; }
article.tb-art .tb-cta a.tb-cta-button-secondary { justify-self: start; font: 600 max(15px, var(--floor))/1.4 var(--font-sans); color: var(--on-dark-1); text-decoration: underline; text-underline-offset: 4px; }
article.tb-art .tb-cta a:focus-visible { outline: var(--focus-outline-dark); outline-offset: 3px; }
/* F02: the related grid's phone rule lost to a later base rule; restate it after the base */
@media (max-width: 1023px) { .art + .sec .posts--3, .posts--3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .art + .sec .posts--3, .posts--3 { grid-template-columns: 1fr; } }
/* F03: figures scroll sideways at a readable width on phones, with a text equivalent */
.tb-chart__scroll { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.tb-chart__scroll:focus-visible { outline: var(--focus-outline-light); outline-offset: 4px; }
.tb-chart__hint { display: none; }
article.tb-art .tb-chart__text { margin-top: 12px; font: 15px/1.55 var(--font-sans); color: var(--on-light-2); }
article.tb-art .tb-chart__text summary { cursor: pointer; font-weight: 600; color: var(--blue-800); min-height: 44px; display: flex; align-items: center; }
article.tb-art .tb-chart__text p { margin: 4px 0 0; }
@media (max-width: 767px) {
  .tb-chart__scroll svg { width: 790px !important; max-width: none !important; height: auto; }
  .tb-chart__hint { display: block; margin: 6px 0 0; font: 500 max(13px, var(--floor))/1.4 var(--font-sans); color: var(--on-light-3); }
}
/* F33: imported lists and the aside quote get their component treatment back */
article.tb-art .tb-art-body ul, article.tb-art .tb-art-body ol:not(.tb-footnotes-list):not(.tb-readmore-list):not(.tb-sources-list) { padding-left: 1.3em; margin: 16px 0; }
article.tb-art .tb-art-body ul { list-style: disc; } article.tb-art .tb-art-body ol:not(.tb-footnotes-list):not(.tb-readmore-list):not(.tb-sources-list) { list-style: decimal; }
article.tb-art .tb-art-body li + li { margin-top: 6px; }
article.tb-art aside.tb-quote { margin: 36px 0; padding: 0 0 0 30px; position: relative; font: 600 25px/1.35 var(--font-serif); color: var(--on-light-1); letter-spacing: -.01em; }
article.tb-art aside.tb-quote::before { content: ""; position: absolute; left: 0; top: .42em; width: 12px; height: 12px; border-radius: var(--sq-r); background: var(--blue-400); }
article.tb-art aside.tb-quote cite { display: block; margin-top: 10px; font: 600 max(12px, var(--floor))/1.2 var(--font-sans); font-style: normal; letter-spacing: .14em; text-transform: uppercase; color: var(--on-light-3); }

/* ── Toolkit disclosure contrast (Astra F04): light-ground text role, visible indicator, generous target ── */
.lt .ch summary, .lt.sx .ch summary { color: var(--blue-800); }
.ch summary { min-height: 44px; gap: 10px; list-style: none; }
.ch summary::-webkit-details-marker { display: none; }
.ch summary::before { content: ""; width: 9px; height: 9px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(-45deg); transition: transform 200ms var(--motion-ease-settle); flex: none; }
.ch details[open] summary::before { transform: rotate(45deg); }
@media (min-width: 600px) and (max-width: 899px) { .mk__col--a .ac.is-open .ac__fig { aspect-ratio: 2 / 1; } }

/* round 4 · reviewer fixes */
.hdr__mark { font-size: max(13px, var(--floor)); }
@media (max-width: 959px) { .hdr__mark { font-size: max(12.5px, var(--floor)); } }
@media (max-width: 420px) { .eb__prov .nm { white-space: normal; font-size: max(15px, var(--floor)); } .eb__prov { column-gap: 16px; }
  .route__band--photo span { left: 4px; right: 4px; bottom: 4px; padding: 2px 4px; text-align: center; white-space: normal; -webkit-hyphens: auto; hyphens: auto; overflow-wrap: anywhere; } }
.nw { white-space: nowrap; }
@media (max-width: 600px) { .eb__mem b { display: block; margin: 0 0 4px; } }
@media (min-width: 900px) { .route__txt .route__desc { min-height: 3.1em; } }
.mk__ctx { grid-column: 1 / span 7; grid-row: 2; }
.ch2__marks .ch2__ml:only-child { text-transform: none; letter-spacing: 0; font-size: max(13px, var(--floor)); }
@media (max-width: 899px) {
  .hub { grid-template-columns: 1fr; justify-items: center; text-align: center; }
  .hub__cap { text-align: center; max-width: 34ch; }
  .chs::before { top: -8px; }
  .mk__col--c { padding-top: 40px; }
  .totop { bottom: 12px; right: 12px; width: 40px; height: 40px; }
  .totop.on:not(.up) { opacity: 0; pointer-events: none; }
}

/* ═════ round 5 · 12 Oct · Astra's round-5 brief with Henri's feedback ═════ */
:root { --u: calc(var(--ss) * 1px / var(--pz)); }
@media (min-width: 768px) { :root { --body: calc(17 * var(--u)); --lede: calc(19 * var(--u)); } }
.wrap--wide { max-width: calc(var(--container-wide) + 2 * var(--gutter)); }
/* the header aligns to the wide composition */
.hdr__bar { padding-inline: max(var(--gutter), calc((var(--vw) - var(--container-wide)) / 2 - var(--inset))); }
.hdr[data-state="compact"] { --inset: max(12px, calc((var(--vw) - var(--container-wide)) / 2 - 20px)); }

/* H01 hero: wider routes, no stamps or strips inside the panels, stable rows */
.hero__desc { max-width: none; font-size: calc(22 * var(--u)); text-wrap: balance; }
.hero__space { flex: 1; min-height: clamp(40px, 12vh, 220px); }
.routes { grid-template-rows: repeat(4, auto); column-gap: calc(24 * var(--u)); margin-top: 0; }
.route { grid-row: span 4; grid-template-rows: subgrid; row-gap: calc(12 * var(--u)); padding: calc(24 * var(--u)) calc(28 * var(--u)) calc(26 * var(--u)); background: rgba(0,0,0,.6); border-color: rgba(255,255,255,.18); }
.route__head { grid-row: 1; } .route h2 { grid-row: 2; font-size: calc(30 * var(--u)); } .route__txt { grid-row: 3; } .route__act { grid-row: 4; align-self: end; }
.route__desc { font-size: var(--body); } .route__for { font-size: max(calc(14 * var(--u)), var(--floor)); }
.route__go { font-size: calc(16 * var(--u)); }
.hero__field { height: calc(100% + 280px); }
@media (max-width: 899px) { .routes { grid-template-rows: none; } .route { grid-row: auto; display: flex; flex-direction: column; } }

/* H02 ecosystem on black, continuous with the hero's lower field; one canonical linked list */
.eb5 { position: relative; z-index: 1; color: var(--on-dark-1); padding: calc(28 * var(--u)) 0 calc(72 * var(--u)); }
.eb5__h { display: flex; align-items: center; gap: 10px; margin-bottom: calc(14 * var(--u)); font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-300); }
.eb5__h::before { content: ""; width: 9px; height: 9px; border-radius: var(--sq-r); background: var(--blue-400); }
.eb5__row { display: grid; grid-template-columns: calc(250 * var(--u)) minmax(0, 1fr); column-gap: calc(40 * var(--u)); align-items: center; padding-block: calc(18 * var(--u)); border-top: 1px solid var(--on-dark-rule); }
.eb5__lbl { display: grid; gap: 3px; } .eb5__lbl b { font-size: calc(16 * var(--u)); font-weight: 700; } .eb5__lbl span { font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-dark-3); line-height: 1.4; }
.eb5__mq { min-width: 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); mask-image: linear-gradient(90deg, transparent, #000 5%, #000 95%, transparent); }
.eb5__track { display: flex; width: max-content; animation: mq var(--mq-dur, 80s) linear infinite; }
.eb5__list { display: flex; align-items: center; gap: calc(40 * var(--u)); padding-right: calc(40 * var(--u)); }
.idm { display: inline-flex; align-items: center; gap: calc(10 * var(--u)); min-height: 44px; color: var(--on-dark-1); text-decoration: none; font-size: calc(17 * var(--u)); font-weight: 600; white-space: nowrap; }
.idm img { width: calc(26 * var(--u)); height: calc(26 * var(--u)); border-radius: calc(6 * var(--u)); flex: none; }
.idm:hover span, .idm:focus-visible span { text-decoration: underline; text-underline-offset: 4px; }
.eb5__prov { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(12 * var(--u)) calc(28 * var(--u)); }
.idm--role { display: grid; gap: 2px; align-content: center; white-space: normal; }
.idm--role small { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 500; color: var(--on-dark-3); }
.eb5__mem { padding-top: calc(16 * var(--u)); border-top: 1px solid var(--on-dark-rule); font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-dark-3); line-height: 1.8; }
.eb5__mem b { color: var(--on-dark-1); margin-right: 14px; } .eb5__mem a { color: var(--on-dark-2); text-decoration: none; white-space: nowrap; } .eb5__mem a:hover { color: #fff; text-decoration: underline; }
.eb5__clone { pointer-events: none; }
html.rm .eb5__track { animation: none; width: auto; } html.rm .eb5__clone { display: none; } html.rm .eb5__list { flex-wrap: wrap; row-gap: 6px; } html.rm .eb5__mq { -webkit-mask-image: none; mask-image: none; }
@media (max-width: 899px) {
  .eb5__row { grid-template-columns: 1fr; row-gap: 10px; }
  .eb5__track { animation: none; width: auto; } .eb5__clone { display: none; } .eb5__list { flex-wrap: wrap; column-gap: 22px; row-gap: 2px; } .eb5__mq { -webkit-mask-image: none; mask-image: none; }
  .eb5__prov { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .idm { font-size: max(15px, var(--floor)); }
}

/* H03 market context on mist to white */
.mk5 { position: relative; background: linear-gradient(180deg, var(--ground-mist) 0, var(--ground-white) 100%); color: var(--on-light-1); padding: calc(96 * var(--u)) 0 calc(96 * var(--u));
  --fg2: var(--on-light-2); --fg3: var(--on-light-3); --rl: var(--on-light-rule); --mk: var(--blue-500); }
.mk5__seam { position: absolute; left: 0; right: 0; top: 0; height: calc(140 * var(--u)); pointer-events: none; }
.mk5__seam::before, .mk5__seam::after { content: ""; position: absolute; top: 0; bottom: 0; width: max(0px, calc((var(--vw) - var(--container-wide)) / 2 - 8px));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Crect x='2' y='2' width='14' height='14' rx='1.64' fill='%231B2836'/%3E%3C/svg%3E");
  opacity: .14; -webkit-mask-image: linear-gradient(180deg, #000, transparent); mask-image: linear-gradient(180deg, #000, transparent); }
.mk5__seam::before { left: 0; } .mk5__seam::after { right: 0; }
.mk5__head { display: grid; gap: calc(18 * var(--u)); }
.mk5__h { max-width: none; font-size: clamp(2.375rem, 4.4vw, 4.5rem); color: var(--on-light-1); }
.mk5__lede { max-width: 62ch; color: var(--on-light-2); }
.mk5__scale { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-top: calc(28 * var(--u)); padding: calc(12 * var(--u)) calc(18 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); }
.mk5__scale b { font-size: calc(24 * var(--u)); font-weight: 700; font-variant-numeric: tabular-nums; }
.mk5__scale span { font-size: calc(15 * var(--u)); color: var(--on-light-2); } .mk5__scale a { font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--blue-800); }
.mk5__grid { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .82fr) minmax(0, 2fr); column-gap: clamp(28px, 3.2vw, 60px); align-items: center; margin-top: calc(40 * var(--u)); }
.mk5__in, .mk5__eng, .mk5__out { position: relative; z-index: 1; min-width: 0; }
.mk5__in { align-self: start; } .mk5__out { align-self: start; }
.mk5__k { margin-bottom: calc(12 * var(--u)); font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-light-3); }
.mkin { display: grid; gap: calc(8 * var(--u)); }
.mkin__i { border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); transition: border-color 240ms var(--ease); }
.mkin__i.is-open { border-color: var(--blue-500); }
.mkin__h { margin: 0; font: inherit; }
.mkin__b { width: 100%; display: grid; grid-template-columns: minmax(0, 1fr) 16px; align-items: center; gap: 12px; min-height: calc(54 * var(--u)); padding: 0 calc(16 * var(--u)); background: none; border: 0; color: var(--on-light-1); text-align: left; font-size: calc(17 * var(--u)); font-weight: 600; cursor: pointer; }
.mkin__x { position: relative; width: 14px; height: 14px; } .mkin__x::before, .mkin__x::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.5px; margin-top: -.75px; background: var(--on-light-2); transition: transform 240ms var(--motion-ease-settle); }
.mkin__x::after { transform: rotate(90deg); } .mkin__i.is-open .mkin__x::after { transform: rotate(0); }
.mkin__p { padding: 0 calc(16 * var(--u)) calc(16 * var(--u)); }
.js .mkin__i:not(.is-open) .mkin__p { display: none; }
.mkin__media { position: relative; height: calc(232 * var(--u)); border-radius: var(--r-xs); overflow: hidden; background: var(--ground-white); display: grid; place-items: center; }
.mkin__media picture { display: block; width: 100%; height: 100%; }
.mkin__photo { width: 100%; height: 100%; object-fit: cover; }
.mkin__art { height: 100%; width: auto; max-width: 100%; }
.mkin__stocks { display: grid; grid-template-columns: repeat(3, auto); gap: calc(12 * var(--u)) calc(16 * var(--u)); align-content: center; justify-content: center; width: 100%; height: 100%; background: radial-gradient(120% 120% at 50% 40%, #0B141B 0, #000 70%); }
.mkl__t { display: grid; justify-items: center; gap: 4px; } .mkl__t img { width: calc(58 * var(--u)); height: calc(58 * var(--u)); border-radius: calc(10 * var(--u)); }
.mkl__t b { font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; color: var(--on-dark-2); letter-spacing: .02em; }
.mkin__stocks .st { position: absolute; top: 10px; right: 10px; }
.mkin__p p { margin-top: calc(10 * var(--u)); font-size: calc(15 * var(--u)); color: var(--on-light-2); line-height: 1.45; }
.eng5 { display: grid; justify-items: center; gap: calc(16 * var(--u)); margin: 0; }
.eng5__mark { width: calc(148 * var(--u)); aspect-ratio: 1; display: grid; place-items: center; border-radius: var(--sq-r); background: linear-gradient(180deg, #1B3845, #4C7E8E); box-shadow: 0 calc(18 * var(--u)) calc(40 * var(--u)) rgba(11,20,27,.16); }
.eng5__mark img { width: 54%; height: auto; }
.eng5 figcaption { max-width: 14ch; text-align: center; font-size: calc(18 * var(--u)); font-weight: 700; letter-spacing: -.01em; line-height: 1.25; text-wrap: balance; }
.eng5.is-pulse .eng5__mark { animation: engPulse 900ms var(--motion-ease-settle); }
@keyframes engPulse { 0% { box-shadow: 0 0 0 0 rgba(103,187,214,.55), 0 18px 40px rgba(11,20,27,.16); } 100% { box-shadow: 0 0 0 calc(22 * var(--u)) rgba(103,187,214,0), 0 18px 40px rgba(11,20,27,.16); } }
.mkout { display: grid; border-top: 1px solid var(--on-light-rule); }
.mkout__r { display: grid; grid-template-columns: calc(120 * var(--u)) minmax(0, 1fr); column-gap: calc(24 * var(--u)); row-gap: calc(5 * var(--u)); padding: calc(18 * var(--u)) 0; border-bottom: 1px solid var(--on-light-rule); }
.mkout__r > * { grid-column: 2; } .mkout__k { grid-column: 1; grid-row: 1 / span 4; padding-top: calc(10 * var(--u)); font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
.mkout__v { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px calc(12 * var(--u)); }
.mkout__v b { font-size: calc(38 * var(--u)); font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; line-height: 1.05; }
.mkout__v span { font-size: calc(17 * var(--u)); font-weight: 500; color: var(--on-light-1); }
.mkout__d { font-size: calc(15 * var(--u)); color: var(--on-light-2); line-height: 1.45; }
.mkout__m { display: flex; flex-wrap: wrap; align-items: center; gap: 6px calc(16 * var(--u)); }
.mkout__ml { font-size: max(calc(12 * var(--u)), var(--floor)); letter-spacing: .06em; text-transform: uppercase; color: var(--on-light-3); } .mkout__ml--none { text-transform: none; letter-spacing: 0; font-size: max(calc(13 * var(--u)), var(--floor)); }
.mkout__m .mk-mark { color: var(--on-light-2); font-size: max(calc(13 * var(--u)), var(--floor)); } .mkout__m .mk-mark img { width: calc(22 * var(--u)); height: calc(22 * var(--u)); border-radius: 5px; }
.mkout__src summary { cursor: pointer; list-style: none; font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-light-3); min-height: 32px; display: flex; align-items: center; }
.mkout__src summary::-webkit-details-marker { display: none; } .mkout__src summary a { color: var(--blue-800); margin-right: 4px; }
.mkout__src p { margin-top: 6px; font-size: calc(14 * var(--u)); color: var(--on-light-2); max-width: 70ch; }
.mk5__cv { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; z-index: 0; }
.mk5__note { margin-top: calc(28 * var(--u)); max-width: 90ch; font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-light-3); }
@media (max-width: 899px) {
  .mk5 { padding-block: 64px 72px; }
  .mk5__grid { grid-template-columns: 1fr; row-gap: 0; }
  .mk5__eng { padding: 40px 0 36px; }
  .mk5__eng::before, .mk5__eng::after { content: ""; position: absolute; left: 50%; width: 0; border-left: 1.5px solid var(--blue-500); }
  .mk5__eng::before { top: 0; height: 32px; } .mk5__eng::after { bottom: 0; height: 28px; }
  .eng5__mark { width: 96px; }
  .mkout__r { grid-template-columns: 1fr; } .mkout__k { grid-row: auto; padding-top: 0; }
  .mkin__media { height: 210px; }
}

/* H04 Insights on Depth: three cards, art-only covers, title and meta in HTML */
.is5 { background: var(--ground-depth); padding: calc(80 * var(--u)) 0 calc(88 * var(--u)); }
.is5__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 12px 24px; margin-bottom: calc(28 * var(--u)); }
.is5__h { font-size: calc(32 * var(--u)); font-weight: 700; letter-spacing: var(--ls-h2); color: #fff; }
.is5__all { font-size: calc(16 * var(--u)); font-weight: 600; color: var(--blue-300); }
.is5__list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(28 * var(--u)); }
.is5__it a { display: grid; gap: calc(12 * var(--u)); color: #fff; text-decoration: none; }
.is5__img { display: block; aspect-ratio: 16 / 9; border-radius: var(--r-xs); overflow: hidden; background: #0B141B; }
.is5__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 500ms var(--motion-ease-settle); }
.is5__it a:hover .is5__img img, .is5__it a:focus-visible .is5__img img { transform: scale(1.02); }
.is5__meta { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-dark-3); }
.is5__cat { font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--blue-300); }
.is5__t { font-size: calc(20 * var(--u)); font-weight: 700; line-height: 1.3; letter-spacing: -.01em; text-wrap: balance; }
.is5__it a:hover .is5__t { text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; }
@media (max-width: 1023px) { .is5__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .is5__list { grid-template-columns: 1fr; } .is5 { padding-block: 56px 64px; } }

/* H05 closing routes on mist, then a short tile seam into the black footer */
.cl5 { background: var(--ground-mist); color: var(--on-light-1); padding-top: calc(80 * var(--u)); }
.cl5__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(4, auto); column-gap: calc(24 * var(--u)); }
.cl5__p { grid-row: span 4; display: grid; grid-template-rows: subgrid; row-gap: calc(12 * var(--u)); padding: calc(32 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); }
.cl5__p h3 { font-size: calc(30 * var(--u)); font-weight: 700; letter-spacing: var(--ls-h2); line-height: 1.1; }
.cl5__p p { font-size: var(--body); color: var(--on-light-2); max-width: 48ch; }
.cl5__go { justify-self: start; align-self: end; display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: calc(17 * var(--u)); font-weight: 600; color: var(--blue-800); text-decoration: none; border-bottom: 1px solid currentColor; }
.cl5__go:hover .ar { transform: translateX(3px); } .cl5__go .ar { transition: transform 240ms var(--motion-ease-settle); }
.cl5__seam { position: relative; height: calc(200 * var(--u)); margin-top: calc(72 * var(--u)); background: linear-gradient(180deg, var(--ground-mist) 0, #10171C 62%, #000 100%); }
.cl5__seam::before, .cl5__seam::after { content: ""; position: absolute; bottom: 0; height: 100%; width: max(60px, calc((var(--vw) - var(--container-wide)) / 2 + 40px));
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Crect x='2' y='2' width='14' height='14' rx='1.64' fill='%2367BBD6'/%3E%3C/svg%3E");
  opacity: .22; -webkit-mask-image: linear-gradient(0deg, #000, transparent 85%); mask-image: linear-gradient(0deg, #000, transparent 85%); }
.cl5__seam::before { left: 0; } .cl5__seam::after { right: 0; }
@media (max-width: 767px) { .cl5__grid { grid-template-columns: 1fr; grid-template-rows: none; gap: 16px; } .cl5__p { grid-row: auto; grid-template-rows: none; padding: 24px 20px; } .cl5__seam { height: 120px; margin-top: 48px; } }

/* ── About, round 5 ── */
.ab5h { padding: calc(var(--hdr-h) + calc(72 * var(--u))) 0 calc(80 * var(--u)); }
.ab5h__g { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: clamp(32px, 4vw, 72px); align-items: center; }
.ab5h__copy { display: grid; gap: calc(22 * var(--u)); }
.ab5h__h { font-size: clamp(2.25rem, 3.5vw, 3.5rem); max-width: none; }
.ab5h__copy .lede { color: var(--on-dark-2); max-width: 46ch; }
.ab5h__ph { margin: 0; } .ab5h__ph img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--r-xs); }
.ab5h__ph figcaption { margin-top: 10px; font-size: max(calc(12.5 * var(--u)), var(--floor)); color: var(--on-dark-3); }
.ab5m { padding-top: calc(40 * var(--u)); }
.ab5m__l { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 clamp(32px, 4vw, 72px); margin-top: calc(18 * var(--u)); }
.ab5m__l li { display: grid; grid-template-columns: calc(44 * var(--u)) minmax(0, 1fr); column-gap: 14px; row-gap: 10px; padding: calc(28 * var(--u)) 0; border-top: 1px solid var(--on-dark-rule); }
.ab5m__n { grid-row: span 2; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-300); padding-top: 10px; letter-spacing: .06em; }
.ab5m__t { font-family: var(--font-serif); font-size: clamp(1.75rem, 2.5vw, 2.5rem); line-height: 1.12; letter-spacing: -.015em; color: #fff; text-wrap: balance; }
.ab5m__d { font-size: var(--body); color: var(--on-dark-2); max-width: 46ch; }
.ab5hub { border-top: 1px solid var(--on-dark-rule); }
.ab5hub__head { display: grid; gap: calc(16 * var(--u)); max-width: 980px; }
.ab5hub__head .lede { color: var(--on-dark-2); }
.ab5hub__map { margin: calc(40 * var(--u)) 0 0; }
.hub5 { width: 100%; height: auto; display: block; }
.hub5 .hub__t { font-size: max(15px, var(--floor)); fill: var(--on-dark-1); } .hub5 .hub__t--lux { font-size: 18px; font-weight: 700; }
.hub5 .hub__arc { stroke: var(--blue-300); stroke-opacity: .85; stroke-width: 1.6; }
.ab5hub__map figcaption { margin-top: 12px; font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-dark-3); }
.ab5hub__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(28 * var(--u)); margin-top: calc(40 * var(--u)); padding-top: calc(28 * var(--u)); border-top: 1px solid var(--on-dark-rule); }
.ab5hub__facts h3 { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-300); margin-bottom: 12px; }
.ab5hub__facts li { display: grid; gap: 2px; padding: 8px 0; } .ab5hub__facts b { font-size: calc(16 * var(--u)); color: #fff; } .ab5hub__facts span { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-dark-2); }
.ab5c__g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(20 * var(--u)); margin-top: calc(36 * var(--u)); }
.ab5c__g li { display: grid; align-content: start; gap: calc(10 * var(--u)); padding: calc(26 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); }
.ab5c__ic { width: calc(44 * var(--u)); height: calc(44 * var(--u)); display: grid; place-items: center; border-radius: var(--sq-r); background: var(--ground-mist); color: var(--blue-800); } .ab5c__ic .ic { width: calc(22 * var(--u)); height: calc(22 * var(--u)); }
.ab5c__g h3 { font-size: calc(21 * var(--u)); font-weight: 700; letter-spacing: -.01em; }
.ab5c__g p { font-size: calc(16 * var(--u)); color: var(--on-light-2); line-height: 1.5; }
.ab5c__o { margin-top: auto; padding-top: 10px; border-top: 1px solid var(--on-light-rule); color: var(--on-light-1) !important; font-weight: 600; }
.ab5c__o span { display: block; font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
.ab5p .chips { justify-content: flex-start; }
.ab5p__grp { margin-top: calc(32 * var(--u)); } .ab5p__grp[hidden] { display: none; }
.ab5p__gh { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); padding-bottom: 10px; border-bottom: 1px solid var(--on-light-rule); }
.ab5p__l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(14 * var(--u)) calc(24 * var(--u)); margin-top: calc(16 * var(--u)); }
.pp { display: grid; grid-template-columns: calc(96 * var(--u)) minmax(0, 1fr); gap: calc(16 * var(--u)); align-items: start; padding: calc(16 * var(--u)); border-radius: var(--r-xs); background: var(--ground-white); border: 1px solid var(--on-light-rule); }
.pp__ph { width: calc(96 * var(--u)); height: calc(96 * var(--u)); border-radius: var(--sq-r); object-fit: cover; object-position: 50% 22%; background: var(--ground-mist); }
.pp__ph--pending { display: grid; place-items: center; color: var(--on-light-3); } .pp__ph--pending .ic { width: 40%; height: 40%; }
.pp__t { display: grid; gap: 4px; align-content: start; }
.pp__t b { font-size: calc(18 * var(--u)); font-weight: 700; } .pp__r { font-size: calc(15 * var(--u)); font-weight: 600; color: var(--blue-800); }
.pp__b { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-light-2); line-height: 1.45; } .pp__n { font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-light-3); }
.pp__li { justify-self: start; margin-top: 2px; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-800); min-height: 32px; display: inline-flex; align-items: center; }
.ab5e__g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(28 * var(--u)); margin-top: calc(32 * var(--u)); }
.ab5e__b h3 { font-size: calc(18 * var(--u)); font-weight: 700; margin-top: calc(18 * var(--u)); } .ab5e__b h3:first-child { margin-top: 0; }
.ab5e__q { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-light-3); margin: 4px 0 8px; }
.ab5e__b ul { display: grid; gap: 2px; }
.ab5e__eco { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.idm--lt { color: var(--on-light-1); font-size: calc(16 * var(--u)); white-space: normal; }
.idm--lt.idm--role small { color: var(--on-light-3); }
.ab5x .lede { color: var(--on-dark-2); margin-top: 8px; }
@media (max-width: 1023px) { .ab5p__l { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ab5c__g { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ab5e__g { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) {
  .ab5h { padding-top: calc(var(--hdr-h) + 32px); } .ab5h__g { grid-template-columns: 1fr; }
  .ab5m__l { grid-template-columns: 1fr; } .ab5hub__facts { grid-template-columns: 1fr; gap: 12px; }
  .ab5c__g, .ab5p__l, .ab5e__g { grid-template-columns: 1fr; } .ab5e__eco { grid-template-columns: 1fr 1fr; }
  .pp { grid-template-columns: 80px minmax(0, 1fr); } .pp__ph { width: 80px; height: 80px; }
  .hub5 .hub__t { font-size: 22px; }
}

/* ── destination pages, round 5 ── */
.sym5 { width: 100%; height: auto; display: block; }
.dh5 { padding: calc(var(--hdr-h) + calc(64 * var(--u))) 0 calc(80 * var(--u)); }
.dh5__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(32px, 4vw, 72px); align-items: center; }
.dh5__copy { display: grid; gap: calc(20 * var(--u)); align-content: center; }
.dh5__copy .lede { color: var(--on-dark-2); max-width: 46ch; }
.dh5__facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(16 * var(--u)); padding-top: calc(18 * var(--u)); border-top: 1px solid var(--on-dark-rule); }
.dh5__facts b { display: block; font-size: calc(20 * var(--u)); font-weight: 700; } .dh5__facts span { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-dark-2); }
.dh5__ph { margin: 0; } .dh5__ph img { width: 100%; aspect-ratio: 7 / 5; object-fit: cover; border-radius: var(--r-xs); }
.dh5__ph figcaption { margin-top: 10px; font-size: max(calc(12.5 * var(--u)), var(--floor)); color: var(--on-dark-3); }
.who5 { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(28px, 4vw, 64px); align-items: center; }
.who5__art { background: var(--ground-white); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); }
.who5__t h3 { font-size: calc(26 * var(--u)); font-weight: 700; letter-spacing: -.015em; line-height: 1.2; max-width: 30ch; }
.who5__cols { display: grid; grid-template-columns: 1fr 1fr; gap: calc(24 * var(--u)); margin-top: calc(20 * var(--u)); }
.who5__k { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); margin-bottom: 8px; }
.who5 .ticks li { font-size: calc(16 * var(--u)); }
.get5 { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 96px); }
.get5__sticky { position: sticky; top: calc(var(--hdr-h-c) + 48px); display: grid; gap: calc(16 * var(--u)); }
.get5__l { display: grid; gap: calc(16 * var(--u)); }
.get5__c { display: grid; grid-template-columns: calc(200 * var(--u)) minmax(0, 1fr); gap: calc(24 * var(--u)); align-items: center; padding: calc(16 * var(--u)) calc(24 * var(--u)) calc(16 * var(--u)) calc(16 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); }
.get5__n { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-800); }
.get5__c h3 { font-size: calc(22 * var(--u)); font-weight: 700; margin: 4px 0 6px; } .get5__c p { font-size: calc(16 * var(--u)); color: var(--on-light-2); }
.get5__o, .proc5__o, .tk5s__o { margin-top: 10px; padding-top: 10px; border-top: 1px solid var(--rl); font-weight: 600; color: var(--on-light-1) !important; }
.get5__o span, .proc5__o span, .tk5s__o span { display: block; font-size: max(calc(12 * var(--u)), var(--floor)); letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
.ins5 { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(20 * var(--u)); margin-top: calc(32 * var(--u)); }
.ins5__c { display: grid; align-content: start; gap: calc(8 * var(--u)); padding: calc(16 * var(--u)) calc(20 * var(--u)) calc(22 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); }
.ins5__art { margin: 0 calc(-8 * var(--u)) calc(4 * var(--u)); }
.ins5__c h3 { font-size: calc(20 * var(--u)); font-weight: 700; } .ins5__c p { font-size: calc(15.5 * var(--u)); color: var(--on-light-2); }
.ins5__tag { justify-self: start; margin-top: 4px; padding: 3px 8px; border-radius: var(--r-xs); background: var(--ground-mist); font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-800); }
.proc5__g { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: clamp(32px, 5vw, 96px); }
.proc5__sticky { position: sticky; top: calc(var(--hdr-h-c) + 48px); display: grid; gap: calc(18 * var(--u)); }
.proc5__big { display: flex; align-items: baseline; gap: 12px; } .proc5__big b { font-size: calc(64 * var(--u)); font-weight: 700; letter-spacing: -.03em; } .proc5__big span { font-size: calc(16 * var(--u)); color: var(--on-dark-2); max-width: 18ch; }
.proc5__nav { display: grid; gap: 4px; } .proc5__nav li { display: flex; gap: 12px; align-items: center; padding: 8px 0; font-size: calc(16 * var(--u)); color: var(--on-dark-3); border-top: 1px solid var(--on-dark-rule); transition: color 300ms var(--ease); }
.proc5__nav li span { font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; } .proc5__nav li.on { color: #fff; } .proc5__nav li.on span { color: var(--blue-300); }
.proc5__l { display: grid; gap: calc(20 * var(--u)); }
.proc5__s { display: grid; grid-template-columns: calc(200 * var(--u)) minmax(0, 1fr); gap: calc(24 * var(--u)); align-items: center; padding: calc(16 * var(--u)) calc(24 * var(--u)) calc(16 * var(--u)) calc(16 * var(--u)); border: 1px solid var(--on-dark-rule); border-radius: var(--r-xs); background: rgba(255,255,255,.03); }
.proc5__art { background: var(--ground-white); border-radius: var(--r-xs); }
.proc5__n { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-300); } .proc5__s h3 { font-size: calc(22 * var(--u)); font-weight: 700; margin: 4px 0 6px; } .proc5__s p { font-size: calc(16 * var(--u)); color: var(--on-dark-2); }
.proc5 .proc5__o { color: #fff !important; border-top-color: var(--on-dark-rule); } .proc5 .proc5__o span { color: var(--blue-300); }
.dist5__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr) minmax(0, 1fr); gap: calc(28 * var(--u)); align-items: center; margin-top: calc(32 * var(--u)); }
.dist5__b { padding: calc(24 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); display: grid; gap: 8px; }
.dist5__k { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
.dist5__b h3 { font-size: calc(21 * var(--u)); font-weight: 700; line-height: 1.25; } .dist5__b p { font-size: calc(15.5 * var(--u)); color: var(--on-light-2); }
.dist5__art { margin: 0; } .dist5__art img { width: 100%; height: auto; }
.tk5t__g { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.tk5c { display: grid; grid-template-columns: 1fr auto 1fr auto 1fr; align-items: center; gap: calc(10 * var(--u)); }
.tk5c__s { display: grid; gap: 6px; text-align: center; }
.tk5c__art { background: var(--ground-white); border-radius: var(--r-xs); }
.tk5c__w { display: inline-flex; align-items: center; justify-content: center; gap: 6px; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-300); }
.tk5c__sq { width: 10px; height: 10px; border-radius: var(--sq-r); background: var(--on-dark-2); }
.tk5c__t { font-size: calc(15 * var(--u)); font-weight: 600; color: var(--on-dark-1); }
.tk5c__ar { width: calc(28 * var(--u)); height: 1.5px; background: var(--blue-400); position: relative; margin-top: -40px; } .tk5c__ar::after { content: ""; position: absolute; right: -1px; top: -4px; border: 5px solid transparent; border-left-color: var(--blue-400); border-right: 0; }
.tk5s__l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(24 * var(--u)); margin-top: calc(32 * var(--u)); counter-reset: s; }
.tk5s__l li { display: grid; align-content: start; gap: calc(8 * var(--u)); padding: calc(16 * var(--u)) calc(20 * var(--u)) calc(22 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); }
.tk5s__w { display: flex; gap: 10px; align-items: baseline; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-800); } .tk5s__w span { color: var(--on-light-3); }
.tk5s__l h3 { font-size: calc(22 * var(--u)); font-weight: 700; } .tk5s__l p { font-size: calc(15.5 * var(--u)); color: var(--on-light-2); }
.pr5 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(12 * var(--u)) calc(24 * var(--u)); margin-top: calc(28 * var(--u)); }
.pr5 details { border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); }
.pr5 summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: 64px; padding: 0 calc(20 * var(--u)); font-size: calc(19 * var(--u)); font-weight: 700; }
.pr5 summary::-webkit-details-marker { display: none; } .pr5 summary::after { content: "+"; font-weight: 400; color: var(--blue-800); font-size: 22px; } .pr5 details[open] summary::after { content: "−"; }
.pr5 details p { padding: 0 calc(20 * var(--u)) calc(18 * var(--u)); font-size: calc(16 * var(--u)); color: var(--on-light-2); }
.pb5c__art { margin: calc(32 * var(--u)) 0 0; } .pb5c__art img { width: 100%; height: auto; max-height: calc(520 * var(--u)); object-fit: contain; }
.pb5c__steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(24 * var(--u)); margin: calc(8 * var(--u)) 0 calc(16 * var(--u)); }
.pb5c__steps li { display: grid; gap: 6px; padding-top: calc(14 * var(--u)); border-top: 2px solid var(--on-light-rule); }
.pb5c__steps span { width: calc(28 * var(--u)); height: calc(28 * var(--u)); display: grid; place-items: center; border-radius: var(--sq-r); background: #1B3845; color: #fff; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 700; }
.pb5c__steps b { font-size: calc(19 * var(--u)); } .pb5c__steps p { font-size: calc(15.5 * var(--u)); color: var(--on-light-2); }
.aud5 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(20 * var(--u)); margin: calc(32 * var(--u)) 0 calc(16 * var(--u)); }
.aud5 li { display: grid; grid-template-columns: calc(180 * var(--u)) minmax(0, 1fr); gap: calc(20 * var(--u)); align-items: center; padding: calc(14 * var(--u)) calc(22 * var(--u)) calc(14 * var(--u)) calc(14 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); }
.aud5 h3 { font-size: calc(21 * var(--u)); font-weight: 700; } .aud5 p { font-size: calc(15.5 * var(--u)); color: var(--on-light-2); margin-top: 4px; }
.pb5a { background: var(--ground-depth); color: var(--on-dark-1); --fg2: var(--on-dark-2); --fg3: var(--on-dark-3); --rl: var(--on-dark-rule); }
.pb5a .path { background: rgba(255,255,255,.03); }
.path__go { font-size: calc(15 * var(--u)); }
@media (max-width: 1023px) { .ins5, .tk5s__l { grid-template-columns: repeat(2, minmax(0, 1fr)); } .dist5__g { grid-template-columns: 1fr; } .dist5__art { max-width: 520px; justify-self: center; } }
@media (max-width: 899px) {
  .dh5 { padding-top: calc(var(--hdr-h) + 32px); } .dh5__g, .who5, .get5, .proc5__g, .tk5t__g { grid-template-columns: 1fr; }
  .get5__sticky, .proc5__sticky { position: static; } .proc5__nav { display: none; }
  .get5__c, .proc5__s, .aud5 li { grid-template-columns: 1fr; } .get5__art, .proc5__art, .aud5__art { max-width: 260px; }
  .aud5, .pr5, .pb5c__steps { grid-template-columns: 1fr; }
  .tk5c { grid-template-columns: 1fr; } .tk5c__ar { width: 1.5px; height: 24px; margin: 0 auto; } .tk5c__ar::after { right: -4px; top: auto; bottom: -1px; border: 5px solid transparent; border-top-color: var(--blue-400); border-bottom: 0; }
}
@media (max-width: 599px) { .ins5, .tk5s__l { grid-template-columns: 1fr; } .who5__cols, .dh5__facts { grid-template-columns: 1fr; } }
.ft .wrap { max-width: calc(var(--container-wide) + 2 * var(--gutter)); }

/* ── Insights, round 5 ── */
.ins5h { padding: calc(var(--hdr-h) + calc(48 * var(--u))) 0 calc(40 * var(--u)); }
.ins5h__top { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 24px; align-items: end; }
.ins5h__lead { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: calc(32 * var(--u)); margin-top: calc(32 * var(--u)); }
.feat5 { display: grid; gap: calc(14 * var(--u)); color: var(--on-light-1); text-decoration: none; }
.feat5__img { aspect-ratio: 16 / 9; border-radius: var(--r-xs); overflow: hidden; background: #0B141B; } .feat5__img img { width: 100%; height: 100%; object-fit: cover; }
.feat5__txt { display: grid; gap: 6px; } .feat5__txt b { font-size: calc(30 * var(--u)); line-height: 1.15; letter-spacing: -.02em; text-wrap: balance; }
.feat5__ex { font-size: calc(17 * var(--u)); color: var(--on-light-2); max-width: 62ch; }
.feat5:hover b { text-decoration: underline; text-underline-offset: 5px; text-decoration-thickness: 1px; }
.ins5h__k { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-light-3); padding-bottom: 10px; border-bottom: 1px solid var(--on-light-rule); }
.ins5h__side li a { display: grid; grid-template-columns: calc(150 * var(--u)) minmax(0, 1fr); gap: 14px; padding: 14px 0; border-bottom: 1px solid var(--on-light-rule); color: var(--on-light-1); text-decoration: none; }
.ins5h__side img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r-xs); }
.ins5h__side span { display: grid; gap: 3px; align-content: start; } .ins5h__side em { font-style: normal; font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .07em; text-transform: uppercase; color: var(--blue-800); }
.ins5h__side b { font-size: calc(16 * var(--u)); line-height: 1.3; } .ins5h__side small { font-size: max(calc(12.5 * var(--u)), var(--floor)); color: var(--on-light-3); }
.ins5h__topics { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; margin-top: calc(28 * var(--u)); padding-top: calc(18 * var(--u)); border-top: 1px solid var(--on-light-rule); }
.ins5h__topics p { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--on-light-3); margin-right: 6px; }
.ins5h__topics a { display: inline-flex; gap: 6px; align-items: center; min-height: 40px; padding: 0 14px; border: 1px solid var(--on-light-rule); border-radius: 999px; font-size: calc(15 * var(--u)); font-weight: 600; color: var(--on-light-1); text-decoration: none; }
.ins5h__topics a span { color: var(--on-light-3); font-weight: 500; } .ins5h__topics a:hover { border-color: var(--blue-500); }
.ins5a { padding-top: calc(40 * var(--u)); }
.ins5a__g { display: grid; grid-template-columns: calc(250 * var(--u)) minmax(0, 1fr); gap: calc(40 * var(--u)); align-items: start; }
.ins5a__side { position: sticky; top: calc(var(--hdr-h-c) + 40px); display: grid; gap: 12px; }
.ins5a__lbl { display: block; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-light-3); margin-bottom: 4px; }
.ins5a__side input { width: 100%; font: inherit; font-size: calc(16 * var(--u)); padding: 12px 14px; border: 1px solid var(--btn-border-light); border-radius: var(--btn-r); }
.ins5a__cats .fc { width: 100%; display: flex; justify-content: space-between; min-height: 40px; padding: 0 10px; border: 0; background: none; border-radius: var(--btn-r); font-size: calc(16 * var(--u)); font-weight: 600; color: var(--on-light-1); cursor: pointer; text-align: left; }
.ins5a__cats .fc span { color: var(--on-light-3); font-weight: 500; } .ins5a__cats .fc[aria-pressed="true"] { background: var(--ground-mist); color: var(--blue-800); }
.ins5a__subs { margin: 2px 0 6px 14px; border-left: 1px solid var(--on-light-rule); } .ins5a__subs .fc { font-size: calc(14.5 * var(--u)); font-weight: 500; min-height: 36px; }
.ins5a__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 18px; margin-bottom: calc(18 * var(--u)); }
.ins5a__h { font-size: calc(26 * var(--u)); font-weight: 700; } .ins5a__n { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-light-3); }
.ins5a__clear { font-size: calc(15 * var(--u)); border: 0; background: none; cursor: pointer; color: var(--blue-800); }
.post__meta { font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-light-3); }
.post b { font-size: calc(18 * var(--u)); }
.subscribe5 { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin-top: calc(48 * var(--u)); padding: calc(16 * var(--u)) calc(20 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); }
.subscribe5 p:first-child { flex: 1 1 320px; font-size: calc(15 * var(--u)); color: var(--on-light-2); }
.subscribe5 input { font: inherit; padding: 11px 12px; border: 1px solid var(--btn-border-light); border-radius: var(--btn-r); min-width: 240px; }
.subscribe5 .frm__out { flex-basis: 100%; }
@media (max-width: 1023px) { .ins5h__lead { grid-template-columns: 1fr; } .ins5a__g { grid-template-columns: 1fr; } .ins5a__side { position: static; } .ins5a__cats { display: flex; flex-wrap: wrap; gap: 6px; } .ins5a__cats > li { flex: none; } .ins5a__subs { display: flex; flex-wrap: wrap; border: 0; margin: 0; } }
@media (max-width: 767px) { .ins5h__top { grid-template-columns: 1fr; } .ins5h__side li a { grid-template-columns: 112px minmax(0, 1fr); } .ins5h__side li:nth-child(n+3) { display: none; } }

/* ── market, round 5b (Henri): assets flow under the T-Blocks bridge ── */
.mk5__grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1.42fr) minmax(0, 1.04fr); column-gap: clamp(20px, 2.4vw, 44px); align-items: center; }
/* pixelated extension of the ground at the two top corners, in the bridge's own module */
.mk5__px { position: absolute; top: 0; width: min(34vw, calc(420 * var(--u))); height: calc(300 * var(--u)); pointer-events: none; opacity: .5;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16'%3E%3Crect x='2' y='2' width='12' height='12' rx='1.4' fill='%23235F73' fill-opacity='.55'/%3E%3C/svg%3E"); }
.mk5__px--l { left: 0; -webkit-mask-image: radial-gradient(120% 100% at 0 0, #000 0, rgba(0,0,0,.4) 32%, transparent 62%); mask-image: radial-gradient(120% 100% at 0 0, #000 0, rgba(0,0,0,.4) 32%, transparent 62%); }
.mk5__px--r { right: 0; -webkit-mask-image: radial-gradient(120% 100% at 100% 0, #000 0, rgba(0,0,0,.4) 32%, transparent 62%); mask-image: radial-gradient(120% 100% at 100% 0, #000 0, rgba(0,0,0,.4) 32%, transparent 62%); }
.mk5__seam { display: none; }
/* inputs */
.mkin__i { transition: border-color 240ms var(--ease), box-shadow 320ms var(--motion-ease-settle), transform 320ms var(--motion-ease-settle); }
.mkin__i:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(11,20,27,.08); }
.mkin__i.is-open { box-shadow: 0 16px 36px rgba(11,20,27,.10); border-color: var(--blue-500); }
.mkin__b { grid-template-columns: calc(40 * var(--u)) minmax(0, 1fr) 16px; gap: calc(14 * var(--u)); min-height: calc(68 * var(--u)); padding: calc(10 * var(--u)) calc(16 * var(--u)) calc(10 * var(--u)) calc(12 * var(--u)); }
.mkin__th { width: calc(40 * var(--u)); height: calc(40 * var(--u)); border-radius: var(--sq-r); overflow: hidden; background: var(--ground-mist); display: grid; place-items: center; }
.mkin__th img { width: 100%; height: 100%; object-fit: cover; }
.mkin__tt { display: grid; gap: 2px; } .mkin__tag { font-size: max(calc(14 * var(--u)), var(--floor)); font-weight: 500; color: var(--on-light-3); line-height: 1.35; }
.mkin__media { height: calc(214 * var(--u)); }
.mkin__i.is-open .mkin__media > * { animation: mkinIn 640ms var(--motion-ease-settle); }
@keyframes mkinIn { from { opacity: 0; transform: scale(.97); } to { opacity: 1; transform: none; } }
.mkl__t { transition: transform 300ms var(--motion-ease-settle); } .mkin__stocks .mkl__t:hover { transform: translateY(-3px); }
/* the bridge */
.br5 { margin: 0; display: grid; gap: calc(14 * var(--u)); justify-items: center; }
.br5__art { width: 100%; } .br5__art img { width: 100%; height: auto; display: block; }
.br5 figcaption { display: grid; gap: 4px; text-align: center; max-width: 34ch; }
.br5 figcaption b { font-size: calc(18 * var(--u)); font-weight: 700; } .br5 figcaption span { font-size: calc(15 * var(--u)); color: var(--on-light-2); }
/* outputs: number-led cards */
.mkout { border-top: 0; gap: calc(12 * var(--u)); }
.mkout__c { position: relative; display: grid; gap: calc(4 * var(--u)); padding: calc(18 * var(--u)) calc(22 * var(--u)) calc(14 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white);
  transition: border-color 360ms var(--ease), box-shadow 420ms var(--motion-ease-settle), transform 320ms var(--motion-ease-settle); }
.mkout__c::before { content: ""; position: absolute; left: -1px; top: calc(22 * var(--u)); width: 3px; height: calc(34 * var(--u)); background: var(--blue-500); border-radius: 0 2px 2px 0; transition: background 300ms; }
.mkout__c:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(11,20,27,.08); }
.mkout__c.is-hit { border-color: var(--blue-400); box-shadow: 0 0 0 3px rgba(103,187,214,.22), 0 12px 28px rgba(11,20,27,.06); }
.mkout__c .mkout__v b { font-size: calc(44 * var(--u)); color: #0B141B; }
.mkout__k { grid-column: auto; grid-row: auto; padding: 0; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
.mkout__u { font-size: calc(16 * var(--u)); font-weight: 600; color: var(--on-light-1); line-height: 1.35; }
.mkout__c .mkout__d { font-size: calc(14.5 * var(--u)); }
@media (max-width: 899px) { .mk5__grid { grid-template-columns: 1fr; } .mk5__px { width: 50vw; height: 160px; } .br5__art { max-width: 520px; margin: 0 auto; } }
/* market, round 5c: one balanced stage band, evidence row underneath */
.mk5__grid { grid-template-columns: minmax(0, .92fr) minmax(0, 1.62fr) minmax(0, .72fr); align-items: center; margin-top: calc(36 * var(--u)); }
.mk5__in, .mk5__out { align-self: center; }
.mkin__media { height: calc(168 * var(--u)); }
.mkin__stocks { gap: calc(8 * var(--u)) calc(12 * var(--u)); } .mkl__t img { width: calc(48 * var(--u)); height: calc(48 * var(--u)); }
.mkin__p p { margin-top: calc(8 * var(--u)); font-size: calc(14.5 * var(--u)); }
.mkout { gap: calc(10 * var(--u)); }
.mkout__c { padding: calc(14 * var(--u)) calc(18 * var(--u)) calc(14 * var(--u)) calc(20 * var(--u)); gap: 2px; }
.mkout__c::before { top: calc(18 * var(--u)); height: calc(30 * var(--u)); }
.mkout__c .mkout__v b { font-size: calc(36 * var(--u)); }
.mkout__c .mkout__u { font-size: calc(14 * var(--u)); font-weight: 500; color: var(--on-light-2); }
.br5 figcaption { margin-top: calc(-6 * var(--u)); }
.mk5__ev { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(28 * var(--u)); margin-top: calc(36 * var(--u)); padding-top: calc(22 * var(--u)); border-top: 1px solid var(--on-light-rule); }
.mk5__ev li { display: grid; align-content: start; gap: calc(6 * var(--u)); }
.mk5__evk { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
@media (max-width: 1023px) { .mk5__ev { grid-template-columns: 1fr; gap: 18px; } }

.mkin__stocks { background: var(--ground-mist); } .mkl__t b { color: var(--on-light-2); }
/* Insights strip (Henri): consistent light covers in outlined cards on Depth */
.is5__it a { padding: calc(12 * var(--u)) calc(12 * var(--u)) calc(18 * var(--u)); border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-xs); background: rgba(255,255,255,.025); transition: border-color 300ms var(--ease), transform 320ms var(--motion-ease-settle), background-color 300ms var(--ease); height: 100%; align-content: start; }
.is5__it a:hover, .is5__it a:focus-visible { border-color: rgba(103,187,214,.6); background: rgba(103,187,214,.05); transform: translateY(-2px); }
.is5__meta, .is5__t { padding-inline: calc(6 * var(--u)); }
.is5__list { align-items: stretch; }
.is5 { position: relative; } .is5::before { content: ""; position: absolute; left: 50%; top: calc(48 * var(--u)); width: min(calc(var(--container-wide) + 2 * var(--gutter) - 2 * var(--gutter)), calc(100% - 2 * var(--gutter))); transform: translateX(-50%); height: 1px; background: linear-gradient(90deg, transparent, rgba(103,187,214,.35) 20%, rgba(103,187,214,.35) 80%, transparent); }
/* About team (Henri): more compact, portraits with a soft black overlay */
.ab5p__l { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(10 * var(--u)) calc(14 * var(--u)); }
.pp { grid-template-columns: calc(64 * var(--u)) minmax(0, 1fr); gap: calc(12 * var(--u)); padding: calc(12 * var(--u)); }
.pp__phw { position: relative; display: block; width: calc(64 * var(--u)); height: calc(64 * var(--u)); border-radius: var(--sq-r); overflow: hidden; }
.pp__phw::after { content: ""; position: absolute; inset: 0; background: rgba(11,20,27,.22); pointer-events: none; }
.pp__phw .pp__ph { width: 100%; height: 100%; filter: saturate(.85); }
.pp .pp__ph--pending { width: calc(64 * var(--u)); height: calc(64 * var(--u)); }
.pp__t b { font-size: calc(16 * var(--u)); } .pp__r { font-size: max(calc(13.5 * var(--u)), var(--floor)); } .pp__b { font-size: max(calc(13 * var(--u)), var(--floor)); line-height: 1.4; }
.ab5p__grp { margin-top: calc(22 * var(--u)); }
@media (max-width: 1199px) { .ab5p__l { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1023px) { .ab5p__l { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .ab5p__l { grid-template-columns: 1fr; } .pp { grid-template-columns: 64px minmax(0, 1fr); } .pp__phw { width: 64px; height: 64px; } }
/* market, round 5c below 900: one column; the bridge becomes a quiet divider, the number cards a 2-up grid (flows are off here, see site.js) */
@media (max-width: 899px) {
  .mk5__grid { grid-template-columns: 1fr; row-gap: 0; margin-top: 28px; }
  .mk5__in { order: 1; } .mk5__eng { order: 2; } .mk5__out { order: 3; }
  .br5__art { max-width: 440px; margin: 0 auto; }
  .mkout { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
  .mkin__media { height: 200px; }
  .mk5__px { width: 60vw; height: 140px; opacity: .35; }
}
@media (max-width: 599px) { .mkout { grid-template-columns: 1fr; } .mkout__c .mkout__v b { font-size: 32px; } }
/* ── round 5d (benchmark pass: Superstate/Securitize/Ondo): symmetric card bands ── */
/* Private: what you get, heading row over four equal numbered cells */
.get5 { grid-template-columns: minmax(0, 1fr); gap: calc(36 * var(--u)); }
.get5__sticky { position: static; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); column-gap: clamp(32px, 5vw, 96px); align-items: end; }
.get5__sticky > .eyebrow, .get5__sticky > .head-row { grid-column: 1 / -1; }
.get5__sticky .lede { max-width: 46ch; justify-self: end; }
.get5__l { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(16 * var(--u)); }
.get5__c { grid-template-columns: 1fr; align-items: start; align-content: start; gap: calc(14 * var(--u)); padding: calc(14 * var(--u)) calc(14 * var(--u)) calc(22 * var(--u)); transition: transform 320ms var(--motion-ease-settle), box-shadow 320ms var(--motion-ease-settle), border-color 240ms var(--ease); }
.get5__c > div:last-child { padding-inline: calc(8 * var(--u)); display: grid; grid-template-rows: auto auto 1fr auto; height: 100%; }
.get5__art { background: var(--ground-mist); border-radius: var(--r-xs); }
.get5__c h3 { font-size: calc(20 * var(--u)); }
.get5__c:hover { transform: translateY(-3px); box-shadow: 0 14px 30px rgba(11,20,27,.08); border-color: var(--blue-400); }
/* Toolkit: principles as four open numbered cells on one hairline */
.pr5 { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--on-light-rule); }
.pr5 li { display: grid; align-content: start; gap: calc(10 * var(--u)); padding: calc(26 * var(--u)) calc(24 * var(--u)) calc(8 * var(--u)) 0; border-right: 1px solid var(--on-light-rule); }
.pr5 li + li { padding-left: calc(24 * var(--u)); } .pr5 li:last-child { border-right: 0; }
.pr5__n { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-800); letter-spacing: .04em; }
.pr5 h3 { font-size: calc(20 * var(--u)); font-weight: 700; line-height: 1.25; } .pr5 p { font-size: calc(16 * var(--u)); color: var(--on-light-2); }
@media (max-width: 1023px) { .get5__l { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pr5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } .pr5 li:nth-child(2) { border-right: 0; } .pr5 li:nth-child(3) { padding-left: 0; } .pr5 li:nth-child(n+3) { border-top: 1px solid var(--on-light-rule); } }
@media (max-width: 767px) { .get5__sticky { grid-template-columns: 1fr; row-gap: 12px; } .get5__sticky .lede { justify-self: start; } }
@media (max-width: 599px) { .get5__l, .pr5 { grid-template-columns: 1fr; } .pr5 li { border-right: 0; padding-left: 0 !important; border-top: 1px solid var(--on-light-rule); } .pr5 li:first-child { border-top: 0; } .get5__c .get5__art { max-width: none; } }
/* Toolkit hero composition: tiles share one top line, arrows sit on the art's centre line; softer frames on black */
.tk5c { align-items: start; container-type: inline-size; }
.tk5c__ar { align-self: start; margin-top: calc((100cqw - 2 * 28 * var(--u) - 4 * 10 * var(--u)) / 3 * .4237); }
.tk5h .tk5c__art { background: var(--ground-mist); border: 1px solid rgba(255,255,255,.14); box-shadow: 0 18px 40px rgba(0,0,0,.45); overflow: hidden; }
.tk5h .tk5c__s { gap: 10px; }
.tk5h .tk5c__s:nth-child(1) .tk5c__art { animation: tkIn 900ms var(--motion-ease-settle) 120ms both; }
.tk5h .tk5c__s:nth-child(3) .tk5c__art { animation: tkIn 900ms var(--motion-ease-settle) 300ms both; }
.tk5h .tk5c__s:nth-child(5) .tk5c__art { animation: tkIn 900ms var(--motion-ease-settle) 480ms both; }
.tk5h .tk5c__ar { animation: tkAr 600ms var(--motion-ease-settle) 700ms both; transform-origin: left center; }
@keyframes tkIn { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
@keyframes tkAr { from { transform: scaleX(0); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .tk5h .tk5c__art, .tk5h .tk5c__ar { animation: none !important; } }
html.rm .tk5h .tk5c__art, html.rm .tk5h .tk5c__ar { animation: none !important; }
@media (max-width: 767px) { .ab5h__ph img { aspect-ratio: 4 / 3 !important; height: auto !important; max-height: 60vh; } }

/* ════════════════════════════════════════════════════════════════════════════════════════════════════════════
   ROUND 6 (12 Oct, Astra round-6 brief). New components use round-6 class names so the earlier layered rules
   cannot leak into them. Visual targets use --u (one rendered px under the page's CSS zoom).
   ════════════════════════════════════════════════════════════════════════════════════════════════════════════ */

/* ── R6-01/02 hero: one scene (film, heading, both route panels) contracts as a whole, origin top centre ── */
.hero6 { display: block; min-height: 0; }
.hero6 .hero__scene { position: relative; min-height: var(--vh); display: flex; flex-direction: column; transform-origin: 50% 0; transform: scale(var(--hs, 1)); border-radius: var(--hr, 0px); will-change: transform; }
.hero6 .hero__media { clip-path: none !important; inset: 0; border-radius: inherit; z-index: 0; }
.hero6 .hero__frame { position: absolute; inset: 0; border-radius: inherit; border: 1px solid rgba(255,255,255,var(--ea, 0)); pointer-events: none; z-index: 1; }
.hero6 .hero__in { position: relative; z-index: 2; flex: 1; display: flex; flex-direction: column; justify-content: flex-start; padding-top: calc(var(--hdr-h) + clamp(40px, 6vh, 80px)); padding-bottom: calc(40 * var(--u)); }
.hero6 .hero__space { flex: 1; min-height: clamp(48px, 12vh, 200px); }
.hero6 .hero__desc { font-size: calc(19 * var(--u)); }
.routes6 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-template-rows: repeat(5, auto); column-gap: calc(24 * var(--u)); }
.route6 { position: relative; display: grid; grid-row: span 5; grid-template-rows: subgrid; row-gap: calc(12 * var(--u)); padding: calc(24 * var(--u)); background: rgba(0,0,0,.30); border: 1px solid rgba(255,255,255,.12); border-radius: var(--r-xs); color: #fff; }
.route6::before { content: ""; position: absolute; inset: 0 -16px; z-index: -1; border-radius: inherit; background: linear-gradient(90deg, transparent, rgba(0,0,0,.14) 16px, rgba(0,0,0,.14) calc(100% - 16px), transparent); pointer-events: none; }
.route6__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; min-height: calc(44 * var(--u)); margin-block: calc(-8 * var(--u)) calc(-4 * var(--u)); }
.route6__go { display: inline-flex; align-items: center; gap: 6px; min-height: calc(44 * var(--u)); font-size: calc(16 * var(--u)); font-weight: 600; color: #fff; text-decoration: none; white-space: nowrap; }
.route6__go:hover, .route6__go:focus-visible { text-decoration: underline; text-underline-offset: 4px; }
.route6 h2 { font-size: calc(30 * var(--u)); font-weight: 700; letter-spacing: -.02em; line-height: 1.12; margin: 0; }
.route6__txt { display: grid; gap: calc(6 * var(--u)); align-content: start; }
.route6__desc { font-size: calc(17 * var(--u)); line-height: 1.5; color: rgba(255,255,255,.9); max-width: 46ch; margin: 0; }
.route6__for { font-size: max(calc(15 * var(--u)), var(--floor)); color: rgba(255,255,255,.72); margin: 0; }
.route6__act { display: flex; flex-wrap: wrap; align-items: start; gap: calc(12 * var(--u)); align-self: start; }
.route6 .btn { min-height: calc(48 * var(--u)); padding: 0 calc(20 * var(--u)); font-size: calc(16 * var(--u)); white-space: nowrap; }
.route6 .btn-s { border-color: rgba(255,255,255,.45); color: #fff; background: transparent; }
.route6 .btn-s:hover { background: rgba(255,255,255,.08); }
.wl6 { display: grid; grid-template-columns: minmax(calc(180 * var(--u)), 1fr) auto; gap: 0 calc(12 * var(--u)); width: 100%; max-width: none; margin: 0; }
.wl6 input { min-height: calc(48 * var(--u)); font-size: calc(16 * var(--u)); padding: 0 calc(14 * var(--u)); border-radius: var(--btn-r); border: 1px solid rgba(255,255,255,.4); background: rgba(0,0,0,.35); color: #fff; min-width: 0; }
.wl6 input::placeholder { color: rgba(255,255,255,.66); }
.wl6 .frm__out { display: block !important; grid-column: 1 / -1; min-height: calc(22 * var(--u)); margin: calc(6 * var(--u)) 0 0; font-size: max(calc(14 * var(--u)), var(--floor)); color: rgba(255,255,255,.86); }
.wl6.done input, .wl6.done button { opacity: .6; }
.route6--private .route6__act::after { content: ""; flex-basis: 100%; height: calc(22 * var(--u)); margin-top: calc(-6 * var(--u)); }  /* mirrors the waitlist's reserved message row */
@media (max-width: 520px) { .wl6 { grid-template-columns: 1fr; row-gap: calc(10 * var(--u)); } .wl6 button { justify-self: start; } .route6__act .btn { flex: 1 1 auto; } }
@media (max-width: 1099px) { .routes6 { grid-template-columns: 1fr; grid-template-rows: none; row-gap: 20px; } .route6 { grid-row: auto; grid-template-rows: none; } }
@media (max-width: 767px) { .hero6 .hero__scene { min-height: 0; } .hero6 .hero__in { padding-top: calc(var(--hdr-h) + 40px); padding-bottom: 32px; } .route6 { padding: 20px; } .route6 h2 { font-size: 26px; } }

/* instrument strips: 76 px stage, 52 px tiles, 12 px gaps, 16 px edge fades; motion is set from site.js */
.strip6 { height: calc(76 * var(--u)); display: flex; align-items: center; overflow: hidden; margin-inline: calc(-8 * var(--u));
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 calc(16 * var(--u)), #000 calc(100% - 16 * var(--u)), transparent); mask-image: linear-gradient(90deg, transparent, #000 calc(16 * var(--u)), #000 calc(100% - 16 * var(--u)), transparent); }
.strip6__track { display: flex; gap: calc(12 * var(--u)); padding-inline: calc(16 * var(--u)); width: max-content; will-change: transform; }
.strip6__list { display: flex; gap: calc(12 * var(--u)); margin: 0; padding: 0; list-style: none; }
.strip6__list li { flex: none; width: calc(52 * var(--u)); height: calc(52 * var(--u)); }
.strip6__list img { display: block; width: 100%; height: 100%; border-radius: 11.7%; }
.strip6.is-run .strip6__track { animation: strip6 var(--sd, 60s) linear infinite; }
.strip6.is-run.is-halted .strip6__track, .strip6.is-paused .strip6__track { animation-play-state: paused; }
@keyframes strip6 { from { transform: translateX(0); } to { transform: translateX(calc(-1 * var(--sw, 0px))); } }
html.rm .strip6 .strip6__track { animation: none !important; }
html:not(.js) .strip6__clone, html.rm .strip6__clone { display: none; }
@media (max-width: 767px) { .strip6 { overflow-x: auto; scrollbar-width: none; -webkit-mask-image: none; mask-image: none; height: 64px; } .strip6__clone { display: none; } .strip6.is-run .strip6__track { animation: none; } .strip6__list li { width: 52px; height: 52px; } }

/* ── R6-03 ecosystem: two 64 px rows, 16 px apart, marks at 24–32 px optical height, ~36 px gaps, single-colour white ── */
.eco6 { background: var(--ground-black); color: #fff; padding-top: calc(56 * var(--u)); position: relative; }
.eco6__h { font-size: max(calc(14 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.72); margin: 0 0 calc(18 * var(--u)); }
.eco6__band { display: grid; row-gap: calc(16 * var(--u)); }
.eco6__row { height: calc(64 * var(--u)); overflow: hidden; display: flex; align-items: center;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.eco6__track { display: flex; width: max-content; will-change: transform; }
.eco6__list { display: flex; align-items: center; gap: calc(36 * var(--u)); margin: 0; padding: 0 calc(18 * var(--u)); list-style: none; }
.eco6__m { position: relative; display: inline-flex; align-items: center; gap: calc(10 * var(--u)); height: calc(56 * var(--u)); padding: 0 calc(6 * var(--u)); color: #fff; text-decoration: none; opacity: .78; transition: opacity 200ms var(--ease); border-radius: var(--r-xs); }
.eco6__m:hover, .eco6__m:focus-visible { opacity: 1; }
.eco6__m > svg.mkv { display: block; height: calc(var(--mh, 26) * var(--u)); width: auto; aspect-ratio: var(--ar); filter: brightness(0) invert(1); }
.eco6__m > img { display: block; height: calc(var(--mh, 26) * var(--u)); width: auto; max-width: calc(160 * var(--u)); filter: brightness(0) invert(1); }
.eco6__sym img { display: block; width: calc(24 * var(--u)); height: calc(24 * var(--u)); filter: brightness(0) invert(1); }
.eco6__nm { font-size: calc(17 * var(--u)); font-weight: 600; letter-spacing: -.01em; white-space: nowrap; }
.eco6__nm--only { font-size: calc(18 * var(--u)); font-weight: 700; }
.eco6__tip { position: absolute; left: 50%; bottom: calc(100% - 2px); transform: translate(-50%, 4px); white-space: nowrap; font-size: max(calc(13 * var(--u)), var(--floor)); background: #fff; color: var(--ground-navy); padding: 4px 8px; border-radius: 4px; opacity: 0; pointer-events: none; transition: opacity 200ms, transform 200ms; z-index: 3; }
.eco6__m:hover .eco6__tip, .eco6__m:focus-visible .eco6__tip { opacity: 1; transform: translate(-50%, 0); }
.eco6__row.is-run .eco6__track { animation: eco6 var(--ed, 80s) linear infinite; }
.eco6__row[data-dir="r"].is-run .eco6__track { animation-direction: reverse; }
.eco6__band.is-halted .eco6__track { animation-play-state: paused; }
.eco6__row.is-manual { overflow-x: auto; scrollbar-width: none; -webkit-mask-image: none; mask-image: none; }
.eco6__row.is-manual .eco6__track { animation: none !important; transform: none !important; }
.eco6__row.is-manual .eco6__clone { display: none; }
@keyframes eco6 { from { transform: translateX(0); } to { transform: translateX(calc(-1 * var(--ew, 0px))); } }
html:not(.js) .eco6__clone, html.rm .eco6__clone { display: none; }
html:not(.js) .eco6__row, html.rm .eco6__row { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
.eco6__d { margin: calc(18 * var(--u)) 0 0; padding-bottom: calc(40 * var(--u)); }
.eco6__d summary { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; cursor: pointer; font-size: calc(15 * var(--u)); font-weight: 600; color: rgba(255,255,255,.86); }
.eco6__d summary::after { content: "+"; font-weight: 400; } .eco6__d[open] summary::after { content: "−"; }
.eco6__dg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(24 * var(--u)); padding-top: calc(12 * var(--u)); }
.eco6__dk { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--blue-300); margin: 0 0 8px; }
.eco6__dg ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; font-size: calc(15 * var(--u)); }
.eco6__dg a { color: #fff; font-weight: 600; } .eco6__dg li span { color: rgba(255,255,255,.7); margin-left: 8px; }
@media (max-width: 767px) { .eco6__row { overflow-x: auto; -webkit-mask-image: none; mask-image: none; height: 60px; } .eco6__clone { display: none; } .eco6__row .eco6__track { animation: none !important; } .eco6__dg { grid-template-columns: 1fr; } }

/* ── R6-10 seams ── */
.seam6 { position: relative; height: calc(96 * var(--u)); background: var(--sg); overflow: hidden; }
.seam6 svg { position: absolute; left: 50%; top: 0; height: 100%; width: auto; transform: translateX(-50%); }
@media (max-width: 767px) { .seam6 { height: 56px; } }

/* ── R6-04/05 market: inputs 28 · bridge 40 · outputs 32 of usable width; one fixed input slot; dated data cards ── */
.mk6 { position: relative; background: linear-gradient(180deg, var(--ground-mist) 0, var(--ground-white) 72%); color: var(--on-light-1); padding-top: calc(40 * var(--u)); }
.mk6__head { display: grid; gap: calc(14 * var(--u)); max-width: none; }
.mk6__h { margin: 0; font-size: clamp(2.2rem, calc(52 * var(--u)), 4.2rem); text-wrap: balance; }
.mk6__lede { max-width: 60ch; margin: 0; }
.mk6__stage { position: relative; display: grid; grid-template-columns: minmax(0, 28fr) minmax(0, 40fr) minmax(0, 32fr); column-gap: calc(40 * var(--u)); align-items: center; margin-top: calc(40 * var(--u)); }
.mk6__in, .mk6__out { position: relative; z-index: 2; } .mk6__br { position: relative; z-index: 0; }
.mk6__k { margin: 0 0 calc(10 * var(--u)); font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-light-3); }
.mkin6 { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(8 * var(--u)); }
.mkin6__i { border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); transition: border-color 200ms var(--ease), box-shadow 240ms var(--ease); }
.mkin6__i.is-open { border-color: var(--blue-500); box-shadow: 0 10px 26px rgba(11,20,27,.07); }
.mkin6__h { margin: 0; font: inherit; }
.mkin6__b { width: 100%; display: grid; grid-template-columns: calc(40 * var(--u)) minmax(0, 1fr) 16px; align-items: center; gap: calc(14 * var(--u)); min-height: calc(56 * var(--u)); padding: calc(8 * var(--u)) calc(14 * var(--u)) calc(8 * var(--u)) calc(10 * var(--u)); background: none; border: 0; text-align: left; color: inherit; cursor: pointer; border-radius: var(--r-xs); }
.mkin6__th img { display: block; width: calc(40 * var(--u)); height: calc(40 * var(--u)); border-radius: 11.7%; }
.mkin6__tt { display: grid; gap: 2px; } .mkin6__t { font-size: calc(17 * var(--u)); font-weight: 700; } .mkin6__tag { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-light-3); line-height: 1.35; }
.mkin6__x { width: 12px; height: 12px; position: relative; } .mkin6__x::before, .mkin6__x::after { content: ""; position: absolute; left: 0; top: 5px; width: 12px; height: 1.6px; background: var(--blue-800); transition: transform 200ms; }
.mkin6__x::after { transform: rotate(90deg); } .is-open .mkin6__x::after { transform: rotate(0); }
.mkin6__p { padding: 0 calc(14 * var(--u)) calc(14 * var(--u)); height: calc(266 * var(--u)); overflow: hidden; }
.js .mkin6__i:not(.is-open) .mkin6__p { display: none; }
.mkin6__i.is-open .mkin6__p > * { animation: mk6fade 200ms var(--ease) both; }
@keyframes mk6fade { from { opacity: 0; } to { opacity: 1; } }
.mkin6__media { position: relative; height: calc(168 * var(--u)); padding: calc(16 * var(--u)); background: var(--ground-mist); border-radius: var(--r-xs); display: grid; place-items: center; overflow: hidden; }
.mkin6__media .st { position: absolute; right: calc(10 * var(--u)); top: calc(10 * var(--u)); }
.mkin6__p p { margin: calc(10 * var(--u)) 0 0; font-size: calc(15 * var(--u)); line-height: 1.45; color: var(--on-light-2); }
.mkin6__listed { display: grid; grid-template-columns: repeat(3, calc(48 * var(--u))); gap: calc(10 * var(--u)) calc(14 * var(--u)); }
.mkl6 img { display: block; width: calc(48 * var(--u)); height: calc(48 * var(--u)); border-radius: 11.7%; } .mkl6 span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.mkin6__strat { width: 100%; height: 100%; }
.mkin6__priv { display: flex; align-items: flex-end; gap: calc(18 * var(--u)); padding-bottom: calc(6 * var(--u)); position: relative; }
.mkin6__priv::after { content: ""; position: absolute; left: -12px; right: -12px; bottom: 0; height: calc(10 * var(--u)); border-radius: 3px; background: repeating-linear-gradient(90deg, #DDE4E9 0 calc(10 * var(--u)), transparent calc(10 * var(--u)) calc(13 * var(--u))); z-index: 0; }
.mkin6__priv span { position: relative; z-index: 1; display: grid; justify-items: center; gap: 6px; } .mkin6__priv img { width: calc(56 * var(--u)); height: calc(56 * var(--u)); display: block; border-radius: 11.7%; }
.mkin6__priv em { font-style: normal; font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 600; color: var(--on-light-2); margin-bottom: calc(12 * var(--u)); }
.mk6__br { margin: 0; display: grid; gap: calc(12 * var(--u)); justify-items: center; }
.mk6__art { width: 100%; } .mk6__art img { display: block; width: 100%; height: auto; }
.mk6__br figcaption { display: grid; justify-items: center; gap: calc(6 * var(--u)); }
.mk6__lock { height: calc(22 * var(--u)); width: auto; }
.mk6__br figcaption span { font-size: calc(17 * var(--u)); font-weight: 600; color: var(--on-light-1); }
.mkout6 { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(12 * var(--u)); }
.mkout6__c { display: grid; grid-template-columns: calc(44 * var(--u)) minmax(0, 1fr); gap: calc(14 * var(--u)); align-items: center; padding: calc(16 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); transition: border-color 300ms var(--ease), box-shadow 300ms var(--ease); }
.mkout6__c.is-hit { border-color: var(--blue-500); box-shadow: 0 0 0 3px rgba(103,187,214,.18); }
.mkout6__c img { display: block; width: calc(44 * var(--u)); height: calc(44 * var(--u)); border-radius: 11.7%; }
.mkout6__t { margin: 0; font-size: calc(18 * var(--u)); font-weight: 700; } .mkout6__d { margin: 2px 0 0; font-size: calc(16 * var(--u)); color: var(--on-light-2); line-height: 1.4; }
.mk6__paths { position: absolute; inset: 0; width: 100%; height: 100%; z-index: 1; overflow: visible; pointer-events: none; }
.mk6__paths path { fill: none; stroke: var(--blue-500); stroke-opacity: .55; vector-effect: non-scaling-stroke; }
.mk6__paths .port { fill: var(--blue-500); }
.mk6__paths .pk { fill: var(--money-green); }
.mk6__scope { margin: calc(36 * var(--u)) 0 0; font-size: calc(15 * var(--u)); color: var(--on-light-2); }
.mk6__data { list-style: none; margin: calc(14 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(24 * var(--u)); align-items: start; padding-bottom: calc(64 * var(--u)); }
.mkd { padding: calc(24 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); display: grid; gap: calc(6 * var(--u)); align-content: start; }
.mkd__k { margin: 0; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
.mkd__v { margin: calc(4 * var(--u)) 0 0; font-size: calc(38 * var(--u)); font-weight: 700; letter-spacing: -.02em; line-height: 1.05; font-variant-numeric: tabular-nums; color: #0B141B; }
.mkd__l { margin: 0; font-size: calc(16 * var(--u)); font-weight: 600; } .mkd__s { margin: 0; font-size: calc(15 * var(--u)); color: var(--on-light-2); line-height: 1.45; }
.mkd__2 { margin: calc(8 * var(--u)) 0 0; font-size: calc(15 * var(--u)); color: var(--on-light-2); } .mkd__2 b { font-size: calc(18 * var(--u)); color: #0B141B; margin-right: 4px; font-variant-numeric: tabular-nums; }
.mkd__bar { display: flex; height: calc(10 * var(--u)); border-radius: 3px; overflow: hidden; margin-top: calc(10 * var(--u)); gap: 2px; }
.mkd__bar span { width: var(--w); background: var(--c); }
.mkd__leg { list-style: none; margin: calc(6 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 4px calc(14 * var(--u)); font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-light-2); }
.mkd__leg li { display: flex; align-items: center; gap: 6px; } .mkd__leg i { width: 10px; height: 10px; border-radius: 2px; background: var(--c); flex: none; } .mkd__leg img { width: 16px; height: 16px; }
.mkd__leg b { margin-left: auto; color: var(--on-light-1); font-variant-numeric: tabular-nums; }
.mkd__marks .mk-mark { color: var(--on-light-1); opacity: 1; font-weight: 600; display: inline-flex; align-items: center; gap: 6px; } .mkd__marks .mk-mark img { width: 20px; height: 20px; }
.mkd__marks { display: flex; flex-wrap: wrap; gap: 8px 16px; margin: calc(8 * var(--u)) 0 0; font-size: calc(15 * var(--u)); }
.mkd__src { margin: calc(10 * var(--u)) 0 0; font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-light-3); } .mkd__src a { color: var(--blue-800); }
.mkd__how summary { cursor: pointer; font-size: max(calc(14 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-800); min-height: 32px; display: inline-flex; align-items: center; }
.mkd__how p { font-size: calc(14.5 * var(--u)); color: var(--on-light-2); line-height: 1.5; }
.mkd__t { width: 100%; border-collapse: collapse; font-size: max(calc(14 * var(--u)), var(--floor)); margin-top: 8px; } .mkd__t caption { text-align: left; color: var(--on-light-3); margin-bottom: 4px; }
.mkd__t th, .mkd__t td { text-align: left; padding: 4px 6px 4px 0; border-bottom: 1px solid var(--on-light-rule); font-variant-numeric: tabular-nums; } .mkd__sub td { color: var(--on-light-3); }
@media (max-width: 1099px) {
  .mk6__stage { grid-template-columns: minmax(0, 1fr); row-gap: calc(28 * var(--u)); }
  .mk6__br { max-width: 560px; justify-self: center; width: 100%; }
  .mk6__paths { display: none; }
  .mkout6 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .mk6__data { grid-template-columns: 1fr 1fr; } .mkd:last-child { grid-column: 1 / -1; }
}
@media (max-width: 767px) { .mkout6, .mk6__data { grid-template-columns: 1fr; } .mkin6__p { height: auto; min-height: 250px; } .mkin6__media { height: 168px; } }

/* ── R6-06 homepage Insights on Depth: three 16:9 dark covers, 24 px gaps, metadata 13–14 px, headline 20 px ── */
.is6 { background: var(--ground-depth); color: #fff; padding-top: calc(72 * var(--u)); }
.is6__top { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin-bottom: calc(28 * var(--u)); }
.is6__h { margin: 0; font-size: calc(36 * var(--u)); font-weight: 700; letter-spacing: -.02em; }
.is6__all { color: #fff; font-weight: 600; font-size: calc(16 * var(--u)); }
.is6__list { list-style: none; margin: 0; padding: 0 0 calc(64 * var(--u)); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(24 * var(--u)); }
.is6__it a { display: grid; gap: calc(12 * var(--u)); color: #fff; text-decoration: none; padding: calc(10 * var(--u)) calc(10 * var(--u)) calc(18 * var(--u)); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r-xs); background: rgba(255,255,255,.02); transition: border-color 200ms var(--ease), transform 200ms var(--ease); height: 100%; align-content: start; }
.is6__it a:hover, .is6__it a:focus-visible { border-color: rgba(103,187,214,.55); transform: translateY(-2px); }
.is6__img { display: block; aspect-ratio: 16 / 9; border-radius: 6px; overflow: hidden; -webkit-mask-image: linear-gradient(180deg, #000 82%, rgba(0,0,0,.6)); mask-image: linear-gradient(180deg, #000 82%, rgba(0,0,0,.6)); }
.is6__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.is6__meta { display: flex; gap: 12px; font-size: max(calc(13.5 * var(--u)), var(--floor)); color: rgba(255,255,255,.7); padding-inline: calc(4 * var(--u)); }
.is6__cat { color: var(--blue-300); font-weight: 600; }
.is6__t { font-size: calc(20 * var(--u)); line-height: 1.3; font-weight: 700; padding-inline: calc(4 * var(--u)); }
@media (max-width: 1023px) { .is6__list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599px) { .is6__list { grid-template-columns: 1fr; } }

/* ── R6-10 closing routes on mist: 64 px padding, visible 36–40 px question, 28 px to the panels, 24 px gap ── */
.cl6 { background: var(--ground-mist); color: var(--on-light-1); padding-top: calc(64 * var(--u)); }
.cl6__h { margin: 0 0 calc(28 * var(--u)); font-size: calc(38 * var(--u)); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; }
.cl6__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(24 * var(--u)); padding-bottom: calc(64 * var(--u)); }
.cl6__p { display: grid; gap: calc(10 * var(--u)); align-content: start; padding: calc(24 * var(--u)); background: var(--ground-white); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); }
.cl6__p h3 { margin: 0; font-size: calc(26 * var(--u)); font-weight: 700; letter-spacing: -.01em; } .cl6__p p { margin: 0; font-size: calc(17 * var(--u)); color: var(--on-light-2); max-width: 48ch; }
.cl6__go { justify-self: start; display: inline-flex; align-items: center; gap: 6px; min-height: 44px; font-size: calc(16 * var(--u)); font-weight: 600; color: var(--blue-800); }
.cl6 .seam6 { height: calc(64 * var(--u)); }
@media (max-width: 949px) { .cl6__grid { grid-template-columns: 1fr; } }

/* ── R6-07 article: the body's counter-zoom is the only size owner (1.25 under .8, 1.111 under .9 → CSS px = rendered
   px inside); reading text 18 px / 1.65 in a ≤ 720 px column; grid 160 · 32 · 720 · 32 · 220 aligned to the nav edges ── */
.art6__head { background: var(--ground-white); padding-top: calc(var(--hdr-h) + 40px); }
.art6__back { margin: 0 0 calc(16 * var(--u)); font-size: calc(15 * var(--u)); }
.art6__hg { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(40 * var(--u)); align-items: center; padding-bottom: calc(40 * var(--u)); border-bottom: 1px solid var(--on-light-rule); }
.art6__h { margin: calc(8 * var(--u)) 0 calc(14 * var(--u)); font-size: calc(46 * var(--u)); line-height: 1.08; letter-spacing: -.025em; font-weight: 700; text-wrap: balance; }
.art6__lede { margin: 0 0 calc(14 * var(--u)); font-size: calc(19 * var(--u)); line-height: 1.5; color: var(--on-light-2); max-width: 54ch; }
.art6__cover { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: var(--r-xs); object-fit: cover; }
.art6__grid { display: grid; grid-template-columns: calc(160 * var(--u)) minmax(0, calc(720 * var(--u))) calc(220 * var(--u)); column-gap: calc(32 * var(--u)); justify-content: center; padding-top: calc(40 * var(--u)); padding-bottom: calc(72 * var(--u)); }
.art6__grid .art__rail { display: block; } .art6__grid .art__rail ol a { font-size: calc(14 * var(--u)); }
.art6 .art__body { zoom: 1; }
@media (min-width: 768px) { .art6 .art__body { zoom: 1.111; } }
@media (min-width: 1024px) { .art6 .art__body { zoom: 1.25; } }
.art6 .art__body article.tb-art { font-size: 18px !important; line-height: 1.65 !important; max-width: 720px; color: #2D3E50; }
.art6 .art__body article.tb-art p, .art6 .art__body article.tb-art li { font-size: 18px; line-height: 1.65; }
.art6 .art__body article.tb-art h2 { font-size: 28px; line-height: 1.2; letter-spacing: -.015em; scroll-margin-top: 96px; }
.art6 .art__body article.tb-art h3 { font-size: 21px; line-height: 1.3; }
.art6 .art__body article.tb-art figure, .art6 .art__body article.tb-art table { font-size: max(15px, var(--floor)); }
.art6 .art__body .art__note { font-size: max(14px, var(--floor)); color: var(--on-light-3); }
.art6__toc-d { display: none; }
.art6__rel ul { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(16 * var(--u)); }
.art6__rel a { display: grid; gap: 6px; color: var(--on-light-1); text-decoration: none; }
.art6__rel img { width: 100%; height: auto; aspect-ratio: 16 / 9; border-radius: 6px; display: block; object-fit: cover; }
.art6__rel b { font-size: calc(15 * var(--u)); line-height: 1.35; } .art6__rel .post__cat { font-size: max(calc(13 * var(--u)), var(--floor)); }
.art6__rel a:hover b, .art6__rel a:focus-visible b { text-decoration: underline; }
.art6 .art__sticky { position: sticky; top: calc(var(--hdr-h-c, 72px) + 24px); display: grid; gap: calc(20 * var(--u)); }
.art6__next { background: var(--ground-depth); color: #fff; padding-block: calc(48 * var(--u)); }
.art6__cta { display: flex; justify-content: space-between; align-items: center; gap: 24px; flex-wrap: wrap; }
.art6__cta h2 { margin: 6px 0 0; font-size: calc(30 * var(--u)); font-weight: 700; letter-spacing: -.02em; max-width: 30ch; }
.art6__cta .btn-s { color: #fff; border-color: rgba(255,255,255,.45); }
@media (max-width: 1259px) { .art6__grid { grid-template-columns: calc(160 * var(--u)) minmax(0, calc(720 * var(--u))); } .art6__rel { display: none; } }
@media (max-width: 1023px) { .art6__grid { grid-template-columns: minmax(0, 720px); } .art6__grid .art__rail { display: none; } .art6__toc-d { display: block; margin-bottom: 20px; border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); padding: 4px 16px; } .art6__toc-d summary { min-height: 44px; display: flex; align-items: center; font-weight: 600; cursor: pointer; } .art6__toc-d ol { margin: 0 0 12px; padding-left: 18px; display: grid; gap: 8px; } .art6__hg { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .art6__h { font-size: 32px; } .art6 .art__body article.tb-art, .art6 .art__body article.tb-art p, .art6 .art__body article.tb-art li { font-size: max(17px, var(--floor)); } }

/* ── R6-06 Insights index: Depth masthead 200–260 px, 2:1 feature/latest with 32 px gap ── */
.ins6m { background: var(--ground-depth); color: #fff; padding-top: var(--hdr-h); }
.ins6m__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 25%); align-items: end; gap: 32px; min-height: calc(220 * var(--u)); padding-block: calc(40 * var(--u)) calc(36 * var(--u)); }
.ins6m__h { margin: 0; font-size: calc(56 * var(--u)); font-weight: 700; letter-spacing: -.03em; line-height: 1; }
.ins6m__p { margin: calc(14 * var(--u)) 0 0; font-size: calc(19 * var(--u)); color: rgba(255,255,255,.8); max-width: 48ch; }
.ins6m__rail { width: 100%; height: auto; max-height: calc(160 * var(--u)); justify-self: end; }
.ins6f { background: var(--ground-white); padding-block: calc(40 * var(--u)) calc(16 * var(--u)); }
.ins6f__g { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: calc(32 * var(--u)); align-items: start; }
.feat6 { display: grid; gap: calc(16 * var(--u)); color: var(--on-light-1); text-decoration: none; }
.feat6__img img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: var(--r-xs); }
.feat6__txt { display: grid; gap: calc(8 * var(--u)); } .feat6__txt b { font-size: calc(32 * var(--u)); line-height: 1.15; letter-spacing: -.02em; }
.feat6__ex { font-size: calc(17 * var(--u)); color: var(--on-light-2); line-height: 1.5; max-width: 62ch; }
.feat6:hover b, .feat6:focus-visible b { text-decoration: underline; text-underline-offset: 4px; }
.ins6f__k { margin: 0 0 calc(10 * var(--u)); font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-light-3); }
.ins6f__side ul { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(16 * var(--u)); }
.ins6f__side li a { display: grid; grid-template-columns: calc(132 * var(--u)) minmax(0, 1fr); gap: calc(14 * var(--u)); color: var(--on-light-1); text-decoration: none; align-items: start; }
.ins6f__side li img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; display: block; }
.ins6f__side span { display: grid; gap: 4px; } .ins6f__side em { font-style: normal; font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--blue-800); font-weight: 600; }
.ins6f__side b { font-size: calc(16 * var(--u)); line-height: 1.3; } .ins6f__side small { font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-light-3); }
.ins6f__side li a:hover b, .ins6f__side li a:focus-visible b { text-decoration: underline; }
.ins6f__topics { display: flex; flex-wrap: wrap; gap: 8px; margin-top: calc(24 * var(--u)); padding-top: calc(18 * var(--u)); border-top: 1px solid var(--on-light-rule); }
.ins6f__topics a { display: inline-flex; gap: 6px; align-items: center; min-height: 36px; padding: 0 12px; border: 1px solid var(--on-light-rule); border-radius: 999px; font-size: calc(14 * var(--u)); color: var(--on-light-1); text-decoration: none; }
.ins6f__topics a span { color: var(--on-light-3); }
.ins5a { padding-top: calc(32 * var(--u)); }
@media (max-width: 1023px) { .ins6f__g { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .ins6m__in { grid-template-columns: 1fr; min-height: 0; } .ins6m__rail { display: none; } .ins6m__h { font-size: 40px; } .ins6f__side li:nth-child(n+3) { display: none; } }

/* ── R6-08 About ── */
.ab6h { background: var(--ground-depth); color: #fff; padding-top: var(--hdr-h); }
.ab6h__g { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: calc(40 * var(--u)); align-items: center; padding-block: calc(72 * var(--u)); }
.ab6h__copy { display: grid; gap: calc(18 * var(--u)); align-content: center; }
.ab6h__h { margin: 0; font-size: calc(52 * var(--u)); line-height: 1.06; letter-spacing: -.03em; font-weight: 700; } .ab6h__h .ln { display: block; }
.ab6h__p { margin: 0; font-size: calc(19 * var(--u)); line-height: 1.5; color: rgba(255,255,255,.82); max-width: 40ch; }
.ab6h__lnk { color: #fff; }
.ab6h__map { margin: 0; justify-self: end; width: min(100%, calc(560 * var(--u))); }
.hub6 { display: block; width: 100%; height: auto; }
.hub6__arc { fill: none; stroke: var(--blue-300); stroke-opacity: .16; stroke-width: 1.6; vector-effect: non-scaling-stroke; transition: stroke-opacity 400ms var(--ease); }
.hub6__arc.is-on { stroke-opacity: .85; }
.hub6__end { fill: var(--blue-300); fill-opacity: .35; transition: fill-opacity 400ms; } .hub6__end.is-on { fill-opacity: 1; }
.hub6__pk { fill: var(--money-green-dark); }
.hub6__lux { fill: #9BD2E6; } .hub6__glow { fill: #67BBD6; opacity: .35; }
.hub6__t { fill: #fff; font: 600 32px/1 Inter, sans-serif; }
.ab6h__map figcaption { display: grid; gap: 8px; margin-top: calc(12 * var(--u)); }
.ab6h__key { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: max(calc(14 * var(--u)), var(--floor)); color: rgba(255,255,255,.7); }
.ab6h__key li::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 1px; background: var(--blue-300); opacity: .4; margin-right: 6px; vertical-align: middle; transition: opacity 400ms; }
.ab6h__key li.is-on { color: #fff; } .ab6h__key li.is-on::before { opacity: 1; }
.ab6h__note { font-size: max(calc(13.5 * var(--u)), var(--floor)); color: rgba(255,255,255,.62); }
html.rm .hub6__arc, html:not(.js) .hub6__arc { stroke-opacity: .5; } html.rm .hub6__end { fill-opacity: .9; }
.ab6f { background: #05090C; color: #fff; border-top: 1px solid rgba(255,255,255,.08); }
.ab6f__g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(32 * var(--u)); padding-block: calc(32 * var(--u)); }
.ab6f h2 { margin: 0 0 10px; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-300); }
.ab6f ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; } .ab6f li { display: grid; gap: 2px; font-size: calc(15 * var(--u)); } .ab6f li span { color: rgba(255,255,255,.68); font-size: max(calc(14 * var(--u)), var(--floor)); }
.ab6f__q { margin: 10px 0 0; font-size: max(calc(13.5 * var(--u)), var(--floor)); color: rgba(255,255,255,.6); }
/* manifesto: sticky stage of titles + four normal-flow markers carrying each idea's square/path detail (~1.4 vh) */
.ab6m { background: var(--ground-depth); color: #fff; }
.ab6m__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(48 * var(--u)); padding-block: calc(72 * var(--u)); }
.ab6m__l { list-style: none; margin: calc(16 * var(--u)) 0 0; padding: 0; display: grid; gap: 0; border-top: 1px solid rgba(255,255,255,.14); }
.ab6m__i { border-bottom: 1px solid rgba(255,255,255,.14); } .ab6m__i h3 { margin: 0; font: inherit; }
.ab6m__b { width: 100%; display: grid; grid-template-columns: calc(40 * var(--u)) minmax(0, 1fr); gap: calc(12 * var(--u)); align-items: baseline; padding: calc(18 * var(--u)) 0; background: none; border: 0; color: rgba(255,255,255,.6); text-align: left; cursor: pointer; transition: color 200ms; }
.ab6m__n { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-300); }
.ab6m__t { font-family: var(--font-serif, 'Source Serif 4', Georgia, serif); font-size: calc(28 * var(--u)); line-height: 1.2; }
.ab6m__d p { margin: 0 0 calc(20 * var(--u)) calc(52 * var(--u)); font-size: calc(17 * var(--u)); line-height: 1.55; color: rgba(255,255,255,.82); max-width: 44ch; }
.ab6m__marks { display: grid; gap: 0; }
.ab6m__mk { min-height: 35vh; display: grid; align-items: center; opacity: .3; transition: opacity 300ms var(--ease); }
.ab6m__mk svg { width: 100%; max-width: calc(420 * var(--u)); height: auto; } .ab6m__mk.is-on { opacity: 1; }
.ab6m.is-seq .ab6m__sticky { position: sticky; top: calc(var(--hdr-h-c, 72px) + 10vh); }
.ab6m.is-seq .ab6m__i.is-on .ab6m__b, .ab6m__b:hover { color: #fff; }
.ab6m.is-seq .ab6m__l { min-height: calc(4 * 70 * var(--u) + 120 * var(--u)); align-content: start; }
.ab6m.is-seq .ab6m__d { display: grid; grid-template-rows: 0fr; transition: grid-template-rows 220ms var(--ease); } .ab6m.is-seq .ab6m__d > p { overflow: hidden; }
.ab6m.is-seq .ab6m__i.is-on .ab6m__d { grid-template-rows: 1fr; }
.ab6m:not(.is-seq) .ab6m__b { color: #fff; cursor: default; } .ab6m:not(.is-seq) .ab6m__mk { opacity: 1; min-height: 0; }
@media (max-width: 1023px) { .ab6m__g { grid-template-columns: 1fr; } .ab6m__marks { display: none; } }
/* capabilities: three equal pillars */
.ab6c__g { list-style: none; margin: calc(28 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(24 * var(--u)); }
.ab6c__c { display: grid; gap: calc(10 * var(--u)); align-content: start; padding: calc(24 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); background: var(--ground-white); transition: border-color 200ms var(--ease); }
.ab6c__c:hover, .ab6c__c:focus-within { border-color: var(--blue-500); }
.ab6c__em { width: calc(88 * var(--u)); height: calc(88 * var(--u)); display: grid; place-items: center; border-radius: 11.7%; background: linear-gradient(180deg, #1B3845, #4C7E8E); color: #fff; transition: box-shadow 200ms; }
.ab6c__c:hover .ab6c__em, .ab6c__c:focus-within .ab6c__em { box-shadow: 0 0 0 4px rgba(103,187,214,.25); }
.ab6c__em .ic { width: calc(44 * var(--u)); height: calc(44 * var(--u)); filter: brightness(0) invert(1); }
.ab6c__c h3 { margin: calc(6 * var(--u)) 0 0; font-size: calc(24 * var(--u)); font-weight: 700; } .ab6c__o { margin: 0; font-size: calc(17 * var(--u)); font-weight: 600; color: var(--blue-800); }
.ab6c__c ul { margin: 0; padding: 0 0 0 1.1em; display: grid; gap: 4px; font-size: calc(15.5 * var(--u)); color: var(--on-light-2); line-height: 1.45; }
.ab6c__go { margin: calc(6 * var(--u)) 0 0; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; } .ab6c__go .lnk { font-weight: 600; }
/* team: one grid, 64 px portraits, tags inside cards */
.ab6t__l { list-style: none; margin: calc(28 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(16 * var(--u)); align-items: start; }
.pp6 { display: grid; grid-template-columns: calc(64 * var(--u)) minmax(0, 1fr); gap: calc(14 * var(--u)); padding: calc(16 * var(--u)); background: var(--ground-white); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); }
.pp6__ph { position: relative; width: calc(64 * var(--u)); height: calc(64 * var(--u)); border-radius: 11.7%; overflow: hidden; display: grid; place-items: center; background: var(--ground-mist); }
.pp6__ph img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pp6__ph::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle at 50% 42%, transparent 58%, rgba(0,0,0,.1) 100%); pointer-events: none; }
.pp6__ph--pending .ic { width: 28px; height: 28px; color: var(--on-light-3); } .pp6__ph--pending::after { display: none; }
.pp6__t { display: grid; gap: 3px; align-content: start; min-width: 0; }
.pp6__tag { justify-self: start; font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .04em; color: var(--blue-800); background: rgba(83,150,170,.12); padding: 2px 8px; border-radius: 999px; }
.pp6__t b { font-size: calc(16 * var(--u)); } .pp6__r { font-size: calc(14 * var(--u)); color: var(--on-light-2); line-height: 1.35; } .pp6__n { font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-light-3); }
.pp6__bio summary { cursor: pointer; font-size: calc(14 * var(--u)); font-weight: 600; color: var(--blue-800); min-height: 32px; display: inline-flex; align-items: center; }
.pp6__bio p { margin: 4px 0 6px; font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-light-2); line-height: 1.45; } .pp6__bio a { font-size: calc(14 * var(--u)); color: var(--blue-800); font-weight: 600; }
@media (max-width: 1279px) { .ab6t__l { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 1023px) { .ab6t__l { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ab6c__g { grid-template-columns: 1fr; } .ab6h__g { grid-template-columns: 1fr; padding-block: 40px; } .ab6h__map { justify-self: stretch; width: 100%; } .ab6f__g { grid-template-columns: 1fr; } }
@media (max-width: 599px) { .ab6t__l { grid-template-columns: 1fr; } .ab6h__h { font-size: 36px; } .ab6h__map svg { max-height: 220px; } }
/* relationships and contact triage */
.ab6r__g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(32 * var(--u)); margin-top: calc(24 * var(--u)); }
.ab6r h3 { margin: 0 0 6px; font-size: calc(18 * var(--u)); } .ab6r__q { margin: 0 0 10px; font-size: calc(14.5 * var(--u)); color: var(--on-light-3); }
.ab6r ul { list-style: none; margin: 0 0 18px; padding: 0; display: grid; gap: 6px; font-size: calc(15.5 * var(--u)); } .ab6r li span { color: var(--on-light-3); margin-left: 8px; } .ab6r a { color: var(--on-light-1); font-weight: 600; }
.ab6r__eco { grid-template-columns: 1fr 1fr; }
.ab6x { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(24 * var(--u)); margin-top: calc(24 * var(--u)); }
.ab6x__c { display: grid; gap: calc(10 * var(--u)); align-content: start; padding: calc(24 * var(--u)); background: var(--ground-white); border: 1px solid var(--on-light-rule); border-radius: var(--r-xs); }
.ab6x__c h3 { margin: 0; font-size: calc(24 * var(--u)); } .ab6x__c > p { margin: 0; font-size: calc(16 * var(--u)); color: var(--on-light-2); } .ab6x__sp { min-height: calc(24 * var(--u)); }
.ab6x__a { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; margin-top: calc(6 * var(--u)); } .ab6x__a .lnk { font-weight: 600; }
@media (max-width: 1023px) { .ab6r__g, .ab6x { grid-template-columns: 1fr; } }

/* ── R6-09 Private hero: Public's grid; a 3 × 2 stage of the Private family, no taller than Public's art ── */
.pvhero .dhero__art { display: grid; align-items: center; }
.pf6 { padding: calc(20 * var(--u)); border: 1px solid rgba(255,255,255,.1); border-radius: var(--r-xs); background: rgba(255,255,255,.02); }
.pf6__g { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(16 * var(--u)); }
.pf6__c { display: grid; justify-items: center; gap: calc(10 * var(--u)); padding: calc(18 * var(--u)) calc(10 * var(--u)) calc(14 * var(--u)); border: 1px solid rgba(255,255,255,.08); border-radius: var(--r-xs); background: rgba(255,255,255,.03); transition: border-color 400ms var(--ease), background-color 400ms var(--ease); }
.pf6__c img { width: calc(88 * var(--u)); height: calc(88 * var(--u)); display: block; border-radius: 11.7%; }
.pf6__c span { font-size: calc(15 * var(--u)); font-weight: 600; color: rgba(255,255,255,.86); text-align: center; }
.pf6__c.is-sel { border-color: rgba(103,187,214,.6); background: rgba(103,187,214,.06); }
.js:not(.rm) .pf6:not(.is-in) .pf6__c { opacity: 0; transform: translateY(8px); }
.js:not(.rm) .pf6.is-in .pf6__c { opacity: 1; transform: none; transition: opacity 240ms var(--motion-ease-settle) calc(var(--k) * 60ms), transform 240ms var(--motion-ease-settle) calc(var(--k) * 60ms), border-color 400ms, background-color 400ms; }
@media (max-width: 599px) { .pf6__g { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; } .pf6__c img { width: 56px; height: 56px; } .pf6__c span { font-size: max(13px, var(--floor)); } .pf6 { padding: 12px; } }

/* ── Toolkit hero: one continuous mist stage, three artworks on one baseline, thin connectors, labels below ── */
.tk6 { margin: 0; }
.tk6__stage { display: grid; grid-template-columns: 1fr calc(28 * var(--u)) 1fr calc(28 * var(--u)) 1fr; align-items: end; padding: calc(24 * var(--u)) calc(20 * var(--u)) calc(20 * var(--u)); background: var(--ground-mist); border-radius: var(--r-xs); color: var(--on-light-1); }
.tk6__s { display: grid; gap: calc(6 * var(--u)); text-align: center; }
.tk6__art img { width: 100%; height: auto; display: block; }
.tk6__w { margin: 0; display: inline-flex; justify-content: center; align-items: center; gap: 6px; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--blue-800); }
.tk6__t { margin: 0; font-size: calc(15 * var(--u)); font-weight: 600; }
.tk6__ln { align-self: center; height: 1.5px; background: var(--blue-500); margin-bottom: calc(52 * var(--u)); position: relative; }
.tk6__ln::after { content: ""; position: absolute; right: -1px; top: -4px; border: 5px solid transparent; border-left-color: var(--blue-500); border-right: 0; }
.tk6__s.is-on .tk6__w { color: var(--ground-navy); } .tk6__s .tk6__art { transition: transform 300ms var(--motion-ease-settle); } .tk6__s.is-on .tk6__art { transform: translateY(-4px); }
@media (max-width: 599px) { .tk6__stage { grid-template-columns: 1fr; } .tk6__ln { width: 1.5px; height: 20px; justify-self: center; margin: 0; } .tk6__ln::after { display: none; } }
.tk6__art img { mix-blend-mode: multiply; }
.ab6h + .ab6m .ab6m__g { padding-top: calc(56 * var(--u)); } .ab6h + .ab6m { border-top: 1px solid rgba(255,255,255,.08); }
html.rm .eco6__track { animation: none !important; } html.rm .eco6__row { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
.tk6__art { height: calc(150 * var(--u)); display: flex; align-items: flex-end; justify-content: center; } .tk6__art img { max-height: 100%; width: auto; max-width: 100%; }
@media (max-width: 599px) { .ab6h__map { margin-inline: -20px; width: calc(100% + 40px); max-width: none; } .ab6h__map figcaption { padding-inline: 20px; } .ab6h__map svg { max-height: none; } }
.tk6__stage { align-items: start; } .tk6__ln { align-self: start; margin-top: calc(75 * var(--u)); margin-bottom: 0; }
/* phone overflow fixes (round 6 QA): panels may shrink; the feather stays inside on narrow screens; Insights sub-filters wrap */
@media (max-width: 1099px) { .routes6 { grid-template-columns: minmax(0, 1fr); } .route6 { min-width: 0; } .route6::before { inset: 0; } }
@media (max-width: 1023px) { .ins5a__cats > li { flex: 0 1 auto; max-width: 100%; min-width: 0; } .ins5a__subs { flex-wrap: wrap; } .ins5a__subs > li { flex: 0 1 auto; } }
@media (max-width: 399px) { .route6__head { flex-wrap: wrap; margin-block: 0; } .route6__go { white-space: normal; min-height: 44px; } .strip6 { margin-inline: 0; } .route6 { padding: 16px; } }
@media (max-width: 767px) { .mk6__data, .mkout6 { grid-template-columns: minmax(0, 1fr); } } .mkd { min-width: 0; } .mkd__how { min-width: 0; overflow-x: auto; } .mkd__leg { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* ── round 6 · final stress-test corrections ── */
/* D2 feature cover locked to 16:9 */
.feat6__img { display: block; } .feat6__img img { height: auto !important; aspect-ratio: 16 / 9 !important; object-fit: cover; }
/* D5/D6 the waitlist message row: transparent while empty, a fixed two-line reserve in both panels, so an error never resizes either panel */
.wl6 .frm__out { background: none !important; padding: 0 !important; border-radius: 0; min-height: calc(42 * var(--u)); line-height: 1.4; }
.route6--private .route6__act::after { height: calc(42 * var(--u)); }
/* D7 one primary green on the dark film */
.route6 .btn-p, .wl6 .btn-p { background: var(--action-green-dark); color: var(--on-action-green-dark); border-color: var(--action-green-dark); }
/* D12 About headline on two lines at wide desktop */
@media (min-width: 1100px) { .ab6h__g { grid-template-columns: minmax(0, 6fr) minmax(0, 6fr); } .ab6h__h { font-size: calc(46 * var(--u)); } }
/* D13 phones: Luxembourg is named in the HTML key, the tiny on-map label is hidden */
.ab6h__hub { color: #fff; font-weight: 600; } .ab6h__key li.ab6h__hub::before { background: #9BD2E6; opacity: 1; }
@media (min-width: 600px) { .ab6h__hub { display: none; } } @media (max-width: 599px) { .hub6__t { display: none; } }
/* D14/D15 pillar links and bios pinned to the card foot; equal heights */
.ab6c__c { grid-template-rows: auto auto auto auto 1fr auto; height: 100%; } .ab6c__g { align-items: stretch; } .ab6c__go { align-self: end; }
.ab6t__l { align-items: stretch; } .pp6 { align-items: start; } .pp6__t { height: 100%; grid-template-rows: auto auto auto auto 1fr; } .pp6__bio { align-self: end; }
/* D16 article tables scroll inside the column, never the page */
.art6 .art__body article.tb-art table { display: block; max-width: 100%; overflow-x: auto; }
/* D18 legend: names do not break, colours ramp in order */
.mkd__leg li { white-space: nowrap; min-width: 0; } .mkd__leg li > :not(b):not(i):not(img) { overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 1279px) and (min-width: 1100px) { .mkd__leg { grid-template-columns: 1fr; } }
/* D20 */ .is6__all { white-space: nowrap; }
/* D23 Private output rows on one baseline */
.get5__l { align-items: stretch; } .get5__c { height: 100%; } .get5__c > div:last-child { grid-template-rows: auto auto 1fr auto; } .get5__o { align-self: end; }
/* D24 Private toolkit teaser uses the Toolkit stage */
.tk6--teaser { margin-top: calc(28 * var(--u)); }
/* D27 article grid on the navigation content edges; extra room goes between the columns, never into the prose line */
@media (min-width: 1260px) { .art6__grid { justify-content: space-between; } }
.art6 .art__body article.tb-art { max-width: 700px; }
/* D28 widows */
.ins6m__p, .ins6f__side b, .is6__t, .feat6__txt b, .mkout6__d, .cl6__p p, .ab6h__p { text-wrap: pretty; }
/* D29 reduced motion: logo rows wrap on the grid instead of clipping */
html.rm .eco6__row, html:not(.js) .eco6__row { height: auto; overflow: visible; -webkit-mask-image: none; mask-image: none; }
html.rm .eco6__track, html:not(.js) .eco6__track { width: auto; max-width: calc(var(--container-wide) + 2 * var(--gutter)); margin-inline: auto; padding-inline: var(--gutter); }
html.rm .eco6__list, html:not(.js) .eco6__list { flex-wrap: wrap; row-gap: 8px; padding: 0; }
/* D30 phone tabs: a fade shows the list scrolls */
@media (max-width: 599px) { .tabs__list { -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); padding-right: 24px; } }
/* D31 Toolkit stage on phones: three small stages in a row */
@media (max-width: 599px) { .tk6__stage { grid-template-columns: 1fr 10px 1fr 10px 1fr; padding: 14px 10px; } .tk6__art { height: 84px; } .tk6__ln { width: auto; height: 1.5px; margin: 42px 0 0; align-self: start; } .tk6__t { font-size: max(12.5px, var(--floor)); } .tk6__w { font-size: max(12px, var(--floor)); } }
/* D32 focus ring: 2 rendered px under the page zoom */
:focus-visible { outline-width: max(2px, calc(2 * var(--u))) !important; }
/* signing square in imported article CTAs sits bottom-right, as on the covers */
article.tb-art .tb-cta::after { top: auto !important; bottom: 24px !important; right: 24px !important; width: 24px !important; height: 24px !important; }
.get5__c { grid-template-rows: auto 1fr; }
@media (max-width: 767px) { .mkd__leg { grid-template-columns: minmax(0, 1fr); } }

/* ══ ROUND 7 · the portal homepage (Henri, 13 Oct) ═══════════════════════════════════════════════════════════
   One screen: film and scrim, the statement, two doors (Private, Public), the ecosystem band with one fact, a legal
   line. Sizes in --u (one visual px). The page does not scroll on a desktop of 1280 × 720 or larger. */
html.portal, html.portal body { background: var(--ground-black); }
.portal7 { min-height: var(--vh); }
.portal7 .hero__media::after { background:      /* the round-6 scrim, kept; the foot darkens further so the band and legal line read */
  linear-gradient(180deg, rgba(0,0,0,0) 55%, rgba(0,0,0,.5) 82%, rgba(0,0,0,.7) 100%), var(--scrim-hero); }
.portal7__in { position: relative; z-index: 1; flex: 1; display: grid; grid-template-rows: auto minmax(calc(24 * var(--u)), 1fr) auto auto auto; min-height: var(--vh);
  padding-top: calc(var(--hdr-h) + clamp(28px, 5vh, 72px)); padding-bottom: calc(18 * var(--u)); }
.portal7__top { grid-row: 1; max-width: calc(980 * var(--u)); }
.portal7__h1 { font-size: clamp(2.5rem, 5vw, 4.75rem); max-width: 15ch; }
.portal7__sub { margin-top: calc(18 * var(--u)); font-size: calc(21 * var(--u)); line-height: 1.45; color: rgba(255,255,255,.82); max-width: 44ch; }
/* manifesto entry: a quiet text control with the bridge glyph, not a third button competing with the doors */
.mfb7 { display: inline-flex; align-items: center; gap: calc(12 * var(--u)); margin-top: calc(26 * var(--u)); min-height: 44px; padding: 0 calc(16 * var(--u)) 0 calc(10 * var(--u));
  border: 1px solid rgba(255,255,255,.26); border-radius: var(--btn-r); background: rgba(0,0,0,.22); color: #fff; text-decoration: none; font-size: calc(16 * var(--u)); font-weight: 600;
  -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px); transition: background-color 200ms var(--ease), border-color 200ms var(--ease); }
.mfb7:hover { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.5); }
.mfb7__g { width: calc(26 * var(--u)); height: auto; color: rgba(255,255,255,.85); }
.mfb7:hover .mfb7__g rect { animation: mfb7lit 1.2s var(--motion-ease-settle) both; }
@keyframes mfb7lit { from { transform: translateX(-8px); opacity: .3; } to { transform: none; opacity: 1; } }

/* the two doors: each panel is one link (the heading's link is stretched over the panel) */
.portal7__routes { grid-row: 3; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(20 * var(--u)); }
.pr7 { position: relative; min-width: 0; display: grid; grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto auto 1fr auto; padding: calc(22 * var(--u)) calc(24 * var(--u)) 0; color: #fff;
  background: rgba(4,8,11,.46); border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-xs);
  -webkit-backdrop-filter: blur(12px) saturate(1.1); backdrop-filter: blur(12px) saturate(1.1);
  transition: background-color 260ms var(--ease), border-color 260ms var(--ease), transform 260ms var(--motion-ease-settle); }
.pr7:hover, .pr7:focus-within { background: rgba(4,8,11,.6); border-color: rgba(255,255,255,.32); }
.pr7:hover { transform: translateY(-2px); }
.pr7__top { display: flex; align-items: center; justify-content: space-between; gap: calc(12 * var(--u)); }
.pr7__for { font-size: max(calc(14 * var(--u)), var(--floor)); color: rgba(255,255,255,.66); text-align: right; }
.pr7__h { margin-top: calc(14 * var(--u)); font-size: calc(32 * var(--u)); font-weight: 700; letter-spacing: -.02em; line-height: 1.1; }
.pr7__h a { color: inherit; text-decoration: none; }
.pr7__h a::after { content: ""; position: absolute; inset: 0; z-index: 2; border-radius: inherit; }
.pr7__h a:focus-visible { outline: none; }
.pr7:has(.pr7__h a:focus-visible) { outline: var(--focus-outline-dark); outline-offset: 3px; }
.pr7__d { margin-top: calc(8 * var(--u)); font-size: calc(18 * var(--u)); line-height: 1.45; color: rgba(255,255,255,.88); max-width: 40ch; }
.pr7__strip { grid-row: 4; margin-top: calc(14 * var(--u)); align-self: end; }
.pr7 .strip6 { height: calc(64 * var(--u)); margin-inline: calc(-24 * var(--u)); -webkit-mask-image: linear-gradient(90deg, transparent, #000 calc(24 * var(--u)), #000 calc(100% - 24 * var(--u)), transparent); mask-image: linear-gradient(90deg, transparent, #000 calc(24 * var(--u)), #000 calc(100% - 24 * var(--u)), transparent); }
.pr7 .strip6__track { padding-inline: calc(24 * var(--u)); }
.pr7 .strip6__list li { width: calc(44 * var(--u)); height: calc(44 * var(--u)); }
.pr7__go { grid-row: 5; display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: calc(12 * var(--u)) calc(-24 * var(--u)) 0; padding: 0 calc(24 * var(--u)); min-height: calc(56 * var(--u));
  border-top: 1px solid rgba(255,255,255,.12); font-size: calc(17 * var(--u)); font-weight: 600; }
.pr7__go .ar { display: inline-grid; place-items: center; width: calc(32 * var(--u)); height: calc(32 * var(--u)); border-radius: var(--btn-r); border: 1px solid rgba(255,255,255,.3);
  transition: background-color 220ms var(--ease), border-color 220ms var(--ease), color 220ms var(--ease), transform 220ms var(--motion-ease-settle); }
.pr7:hover .pr7__go .ar, .pr7:focus-within .pr7__go .ar { background: var(--action-green-dark); border-color: var(--action-green-dark); color: var(--on-action-green-dark); transform: translateX(3px); }

/* the proof band: one fact, then the ecosystem marks moving slowly; static under reduced motion */
.portal7__proof { grid-row: 4; display: grid; grid-template-columns: auto 1fr; align-items: center; gap: calc(32 * var(--u)); margin-top: calc(22 * var(--u)); padding-top: calc(18 * var(--u)); border-top: 1px solid rgba(255,255,255,.12); }
.pst7 { display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; column-gap: calc(10 * var(--u)); align-items: baseline; padding-right: calc(32 * var(--u)); border-right: 1px solid rgba(255,255,255,.14); }
.pst7__k { grid-column: 1 / -1; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.62); }
.pst7__v { font-size: calc(40 * var(--u)); font-weight: 700; letter-spacing: -.03em; line-height: 1.05; font-variant-numeric: tabular-nums; }
.pst7__l { font-size: calc(18 * var(--u)); font-weight: 600; color: rgba(255,255,255,.88); }
.pb7 { overflow: hidden; min-width: 0; -webkit-mask-image: linear-gradient(90deg, transparent, #000 calc(48 * var(--u)), #000 calc(100% - 48 * var(--u)), transparent); mask-image: linear-gradient(90deg, transparent, #000 calc(48 * var(--u)), #000 calc(100% - 48 * var(--u)), transparent); }
.pb7__track { display: flex; width: max-content; will-change: transform; }
.pb7__list { display: flex; align-items: center; gap: calc(48 * var(--u)); padding-right: calc(48 * var(--u)); margin: 0; list-style: none; }
.pb7__list li { flex: none; display: flex; align-items: center; height: calc(48 * var(--u)); opacity: .74; }
.pb7__list svg.mkv { display: block; height: calc(var(--mh, 24) * .86 * var(--u)); width: auto; aspect-ratio: var(--ar); filter: brightness(0) invert(1); }
.pb7__list img { display: block; height: calc(var(--mh, 24) * .86 * var(--u)); width: auto; max-width: calc(150 * var(--u)); filter: brightness(0) invert(1); }
.pb7__sym { display: inline-flex; align-items: center; gap: calc(8 * var(--u)); font-size: calc(17 * var(--u)); font-weight: 600; white-space: nowrap; }
.pb7__sym img { width: calc(22 * var(--u)); height: calc(22 * var(--u)); }
.pb7__nm { font-size: calc(17 * var(--u)); font-weight: 700; letter-spacing: -.01em; white-space: nowrap; }
.pb7.is-run .pb7__track { animation: pb7 var(--ld, 80s) linear infinite; }
.pb7.is-run.is-halted .pb7__track { animation-play-state: paused; }
@keyframes pb7 { from { transform: translateX(0); } to { transform: translateX(calc(-1 * var(--lw, 0px))); } }
html.rm .pb7, html:not(.js) .pb7 { overflow-x: auto; scrollbar-width: none; }
html.rm .pb7__list[aria-hidden], html:not(.js) .pb7__list[aria-hidden] { display: none; }

.portal7__legal { grid-row: 5; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; margin-top: calc(14 * var(--u)); font-size: max(calc(13 * var(--u)), var(--floor)); line-height: 1.5; color: rgba(255,255,255,.56); }
.portal7__legal a { color: rgba(255,255,255,.74); text-underline-offset: 3px; }
.portal7__legal a:hover { color: #fff; }

/* short desktop screens: the doors drop their instrument strips so the screen still holds everything */
@media (min-width: 768px) and (max-height: 800px) { .pr7__strip { display: none; } .portal7__h1 { font-size: clamp(2.25rem, 4.2vw, 3.75rem); } .portal7__sub { margin-top: 12px; } .mfb7 { margin-top: 16px; } }
@media (max-width: 899px) { .portal7__routes { grid-template-columns: minmax(0, 1fr); gap: 12px; } .pr7__strip { display: none; } }
@media (max-width: 767px) {
  .portal7__in { padding-top: calc(var(--hdr-h) + 20px); padding-bottom: 20px; grid-template-rows: auto 24px auto auto auto; }
  .portal7__h1 { font-size: 2.375rem; }
  .portal7__sub { font-size: max(17px, var(--floor)); }
  .mfb7 { margin-top: 18px; font-size: max(15px, var(--floor)); }
  .pr7 { padding: 16px 18px 0; }
  .pr7__top { order: 0; }
  .pr7__for { display: none; }
  .pr7__h { margin-top: 10px; font-size: 24px; }
  .pr7__d { font-size: max(15.5px, var(--floor)); }
  .pr7__strip { display: none; }
  .pr7__go { margin: 12px -18px 0; padding: 0 18px; min-height: 50px; font-size: max(16px, var(--floor)); }
  .portal7__proof { grid-template-columns: 1fr; gap: 10px; margin-top: 18px; padding-top: 14px; }
  .pst7 { grid-template-columns: auto auto 1fr; grid-template-rows: auto; border-right: 0; padding-right: 0; }
  .pst7__k { grid-column: auto; font-size: max(12px, var(--floor)); }
  .pst7__v { font-size: 26px; }
  .pst7__l { font-size: max(16px, var(--floor)); }
  .pb7__list { gap: 32px; padding-right: 32px; }
  .pb7__list li { height: 40px; }
  .portal7__legal { flex-direction: column; font-size: max(12px, var(--floor)); }
}

/* ══ ROUND 7 · the manifesto (third pass, Astra R7 M1–M3): one wide panel aligned to the navigation content edges, the
   bridge in a narrow column beside the reading column, the opening in Source Serif, the body in regular Inter. Text is
   present from the first frame; the bridge assembles on its own and one lit block crosses once, then rests. ══ */
.mf7 { color: #fff; }
.mf7--page { background: var(--ground-depth), var(--ground-black); padding-top: var(--hdr-h); }
.mf7--dlg { position: fixed; top: calc(var(--hdr-h) + 10px); bottom: calc(46 * var(--u)); left: 0; right: 0; width: min(var(--container-wide), calc(100% - 2 * var(--gutter))); height: auto; max-width: none; max-height: none;
  margin: 0 auto; padding: 0; border: 1px solid rgba(255,255,255,.16); border-radius: var(--r-md); overflow: hidden; color: #fff;
  background: linear-gradient(160deg, rgba(4,7,10,.72), rgba(10,18,26,.66)); -webkit-backdrop-filter: blur(22px) saturate(1.15); backdrop-filter: blur(22px) saturate(1.15);
  box-shadow: 0 30px 80px rgba(0,0,0,.45); }
.mf7--dlg[open] { display: flex; flex-direction: column; animation: mf7in 360ms var(--motion-ease-settle) both; }
.mf7--dlg::backdrop { background: rgba(0,0,0,.3); }
.mf7--dlg .mf7__in { flex: 1; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #67BBD6 #0B141B; }
.mf7--dlg .mf7__in::-webkit-scrollbar { width: 10px; } .mf7--dlg .mf7__in::-webkit-scrollbar-track { background: #0B141B; } .mf7--dlg .mf7__in::-webkit-scrollbar-thumb { background: #3A8CA7; border-radius: 5px; border: 2px solid #0B141B; }
@media (forced-colors: active) { .mf7--dlg .mf7__in { scrollbar-color: auto; } }
@keyframes mf7in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }
.mf7__x { position: absolute; top: calc(14 * var(--u)); right: calc(14 * var(--u)); z-index: 3; width: 44px; height: 44px; display: grid; place-items: center; font-size: 26px; line-height: 1;
  color: #fff; background: rgba(0,0,0,.45); border: 1px solid rgba(255,255,255,.3); border-radius: var(--btn-r); cursor: pointer; }
.mf7__x:hover { background: rgba(255,255,255,.1); }
.mf7__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.65fr); gap: calc(72 * var(--u)); align-items: start; padding: calc(56 * var(--u)) calc(72 * var(--u)) calc(56 * var(--u)); }
.mf7--page .mf7__in { width: 100%; max-width: calc(var(--container) + 2 * var(--gutter)); margin-inline: auto; padding: calc(80 * var(--u)) var(--gutter) calc(112 * var(--u)); }
.mf7__bridge { position: sticky; top: calc(40 * var(--u)); padding-top: calc(28 * var(--u)); }
.mf7__br { position: relative; width: 100%; aspect-ratio: 1000 / 560; }
.mf7__br img { width: 100%; height: auto; }
.mf7__lit { position: absolute; left: 48.7%; top: calc(61.6% - 1.6%); width: 3.2%; aspect-ratio: 1; border-radius: 11.7%; background: #67BBD6; box-shadow: var(--glow-lit); }
.mf7__copy { max-width: calc(660 * var(--u)); }
.mf7__k { justify-content: flex-start; }
.mf7__1 { margin-top: calc(18 * var(--u)); font-family: var(--font-serif); font-weight: 600; font-size: calc(36 * var(--u)); line-height: 1.2; letter-spacing: -.01em; text-wrap: balance; }
.mf7__t { margin-top: calc(28 * var(--u)); display: grid; gap: calc(18 * var(--u)); }
.mf7__t p { position: relative; font-size: calc(19 * var(--u)); line-height: 1.65; color: rgba(255,255,255,.84); max-width: 62ch; }
.mf7__t p.mf7__a { padding-left: calc(24 * var(--u)); }
.mf7__t p.mf7__a::before { content: ""; position: absolute; left: 0; top: .62em; width: calc(9 * var(--u)); height: calc(9 * var(--u)); border-radius: var(--sq-r); background: #67BBD6; }
.mf7__t p:not(.mf7__a) { padding-left: calc(24 * var(--u)); }
.mf7__t mark { background: none; color: #9BD2E6; font-weight: 600; }
.mf7__sig { margin-top: calc(26 * var(--u)); padding-left: calc(24 * var(--u)); font-weight: 600; font-size: calc(17 * var(--u)); letter-spacing: .02em; color: #9BD2E6; }
.mf7__end { margin-top: calc(40 * var(--u)); padding-top: calc(24 * var(--u)); border-top: 1px solid rgba(255,255,255,.12); display: grid; gap: calc(16 * var(--u)); }
.mf7__close { font-family: var(--font-serif); font-weight: 600; font-size: calc(24 * var(--u)); }
.mf7__routes { display: grid; grid-template-columns: auto auto; justify-content: start; align-items: center; gap: calc(12 * var(--u)) calc(14 * var(--u)); }
.mf7__routes .btn { min-width: calc(240 * var(--u)); justify-content: space-between; }
.mf7 .lnk { color: #fff; }
/* the bridge rises block row by block row; one lit block crosses the deck once and rests at the centre */
html.js .mf7.is-play .mf7__br img { animation: mf7build 1.4s steps(18, end) both; }
html.js .mf7.is-play .mf7__lit { animation: mf7cross 3.2s var(--motion-ease-settle) 1.3s both; }
@keyframes mf7build { from { clip-path: inset(100% 0 0 0); } to { clip-path: inset(0 0 0 0); } }
@keyframes mf7cross { 0% { left: 1%; opacity: 0; } 14% { opacity: 1; } 100% { left: 48.7%; opacity: 1; } }
html.rm .mf7 *, html.rm .mf7--dlg[open] { animation: none !important; }
@media (max-width: 899px) {
  .mf7__in { grid-template-columns: minmax(0, 1fr); gap: 8px; padding: 56px 22px 40px; }
  .mf7--page .mf7__in { padding: 40px 20px 72px; }
  .mf7__bridge { position: static; padding-top: 0; max-width: 340px; }
  .mf7--dlg { top: calc(var(--hdr-h) + 6px); bottom: 10px; width: calc(100% - 20px); }
  .mf7__1 { font-size: 27px; } .mf7__t p { font-size: max(17px, var(--floor)); } .mf7__close { font-size: 21px; }
  .mf7__routes { grid-template-columns: minmax(0, 1fr) auto; } .mf7__routes .btn { min-width: 0; }
}
html.mf-open { overflow: hidden; }

[data-f="invert"] { filter: grayscale(1) invert(1) !important; }   /* round 7: HubFinance (opaque white letters) */

/* ══ ROUND 7b · portal refinements (Astra R7 portal 1–10) ══════════════════════════════════════════════════════
   One size owner: every new component below is sized in --u (one visual px), never in zoomed CSS px. */
.portal7 { display: flex; flex-direction: column; min-height: var(--vh); }
.portal7__in { min-height: 0; flex: 1; grid-template-rows: auto minmax(calc(28 * var(--u)), 1fr) auto; padding-bottom: calc(22 * var(--u)); }
.portal7__sub { max-width: none; font-size: calc(20 * var(--u)); }
.portal7__act { display: flex; flex-wrap: wrap; align-items: center; gap: calc(14 * var(--u)) calc(28 * var(--u)); margin-top: calc(26 * var(--u)); }
.portal7__act .mfb7 { margin-top: 0; }
.pm7 { display: grid; gap: 2px; padding-left: calc(22 * var(--u)); border-left: 1px solid rgba(255,255,255,.24); line-height: 1.25; }
.pm7 b { font-size: calc(22 * var(--u)); font-weight: 700; letter-spacing: -.01em; }
.pm7 span { display: inline-flex; align-items: center; gap: 8px; font-size: max(calc(14 * var(--u)), var(--floor)); color: rgba(255,255,255,.72); }
.pm7 span::before { content: ""; width: 7px; height: 7px; border-radius: var(--sq-r); background: var(--warn-dark); }
.portal7__routes { grid-row: 3; grid-template-columns: minmax(0, 1fr) 0 minmax(0, 1fr); column-gap: calc(22 * var(--u)); }
.portal7__sq { align-self: center; justify-self: center; width: calc(9 * var(--u)); height: calc(9 * var(--u)); border-radius: var(--sq-r); background: #67BBD6; opacity: .75; box-shadow: 0 0 12px rgba(103,187,214,.5); }
.pr7 { background: rgba(4,8,11,.42); border-color: rgba(255,255,255,.13); }
.pr7:hover { transform: none; }
.pr7__fm { display: none; }
.portal7__proof { display: none; }
.portal7__band { position: relative; z-index: 1; border-top: 1px solid rgba(255,255,255,.12); padding-top: calc(12 * var(--u)); }
.portal7__bk { display: flex; justify-content: space-between; align-items: center; gap: 12px 24px; flex-wrap: wrap; }
.portal7__bk p { font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.56); }
.portal7__bk a { font-size: max(calc(13 * var(--u)), var(--floor)); color: rgba(255,255,255,.74); text-decoration: none; }
.portal7__bk a:hover { color: #fff; text-decoration: underline; text-underline-offset: 3px; }
.portal7__band .pb7 { margin-top: calc(4 * var(--u)); -webkit-mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); mask-image: linear-gradient(90deg, transparent, #000 6%, #000 94%, transparent); }
.portal7__band .pb7__list li { opacity: .62; }
.portal7__legal { margin-top: calc(10 * var(--u)); padding-bottom: calc(14 * var(--u)); align-items: center; }
.portal7__links { display: inline-flex; flex-wrap: wrap; align-items: center; gap: 4px 6px; }
/* the shared motion control (a candidate for Henri's ruling: Book 2.4 p. 51 asks for a pause on the web) */
.mctl { display: inline-flex; align-items: center; gap: 7px; min-height: 32px; padding: 0 10px; font: inherit; font-size: inherit; color: inherit; background: none; border: 1px solid rgba(255,255,255,.24); border-radius: var(--btn-r); cursor: pointer; }
.mctl:hover { border-color: rgba(255,255,255,.55); color: #fff; }
.mctl__i { position: relative; width: 9px; height: 10px; border-left: 3px solid currentColor; border-right: 3px solid currentColor; }
.mctl[aria-pressed="true"] .mctl__i { border: 0; border-left: 9px solid currentColor; border-top: 5px solid transparent; border-bottom: 5px solid transparent; width: 0; height: 0; }
@media (max-width: 899px) { .portal7__routes { grid-template-columns: minmax(0, 1fr); } .portal7__sq { display: none; } }
@media (max-width: 767px) {
  .pr7__fm { display: inline; color: rgba(255,255,255,.7); }
  .portal7__act { gap: 14px 20px; } .pm7 { padding-left: 16px; } .pm7 b { font-size: 18px; }
  .portal7__band { padding-top: 10px; } .portal7__bk { padding-inline: 20px; }
  .portal7__legal { padding-bottom: 16px; }
}

/* ══ ROUND 7b · shared section system ═════════════════════════════════════════════════════════════════════════ */
.depth { background: var(--ground-depth), var(--ground-black); }
.s7 { position: relative; padding-block: calc(96 * var(--u)); }
.s7 + .s7.lt:not(.mist) .wrap, .s7.lt.mist + .s7.lt.mist .wrap { border-top: 0; }
.s7__head { display: grid; gap: calc(14 * var(--u)); max-width: calc(980 * var(--u)); margin-bottom: calc(40 * var(--u)); }
.s7__h { font-size: calc(44 * var(--u)); font-weight: 700; letter-spacing: -.025em; line-height: 1.08; text-wrap: balance; }
.s7__l { font-size: calc(19 * var(--u)); line-height: 1.55; color: var(--fg2); max-width: 56ch; text-wrap: pretty; }
.s7 h3 { font-size: calc(21 * var(--u)); font-weight: 700; letter-spacing: -.01em; line-height: 1.25; }
.s7 p { font-size: calc(17 * var(--u)); line-height: 1.55; }
.s7 .small, .s7 p.small { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--fg3); }
.s7 .btns { gap: calc(12 * var(--u)) calc(20 * var(--u)); }
.s7 .btns .btn, .ph7 .btns .btn, .s7 .btn, .ph7 .btn { min-height: calc(50 * var(--u)); padding: 0 calc(22 * var(--u)); font-size: calc(16 * var(--u)); }
.s7 .lnk { font-size: calc(16 * var(--u)); }
@media (max-width: 767px) {
  .s7 { padding-block: 64px; } .s7__head { margin-bottom: 28px; } .s7__h { font-size: 31px; } .s7__l { font-size: max(17px, var(--floor)); }
  .s7 h3 { font-size: 19px; } .s7 p { font-size: max(16px, var(--floor)); }
}

/* destination hero (P1, T1, U1, A1): copy and art side by side; art bounded, never a scroll stage */
.ph7 { position: relative; padding: calc(var(--hdr-h) + calc(48 * var(--u))) 0 calc(64 * var(--u)); }
.ph7__g { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: calc(64 * var(--u)); align-items: center; }
.ph7__g--even { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.ph7__copy { display: grid; gap: calc(20 * var(--u)); align-content: center; }
.ph7__h { font-size: calc(54 * var(--u)); font-weight: 700; letter-spacing: -.03em; line-height: 1.04; text-wrap: balance; max-width: 15ch; }
.ph7__l { font-size: calc(20 * var(--u)); line-height: 1.5; color: var(--on-dark-2); max-width: 46ch; }
.ph7__for { font-size: calc(16 * var(--u)); color: var(--on-dark-3); margin-top: calc(-8 * var(--u)); }
.ph7__fact { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; padding-top: calc(16 * var(--u)); border-top: 1px solid var(--on-dark-rule); max-width: calc(620 * var(--u)); }
.ph7__fact b { font-size: calc(24 * var(--u)); font-weight: 700; letter-spacing: -.01em; }
.ph7__fact span { flex: 1 1 calc(300 * var(--u)); font-size: max(calc(14.5 * var(--u)), var(--floor)); color: var(--on-dark-2); line-height: 1.5; }
.ph7__inv { font-size: max(calc(15 * var(--u)), var(--floor)); color: var(--on-dark-3); }
.ph7__inv a { color: #fff; text-underline-offset: 3px; }
.ph7__st { display: flex; flex-wrap: wrap; gap: 8px; }
.ph7p .stock-stage { height: calc(480 * var(--u)); }
@media (max-width: 1023px) { .ph7__g, .ph7__g--even { grid-template-columns: minmax(0, 1fr); gap: 40px; } }
@media (max-width: 767px) { .ph7 { padding: calc(var(--hdr-h) + 32px) 0 48px; } .ph7__h { font-size: 38px; } .ph7__l { font-size: max(17px, var(--floor)); } .ph7__fact b { font-size: 20px; } .ph7p .stock-stage { height: 300px; } }

/* P1 art: the assembly (six categories → one instrument), settles once */
.a7 { margin: 0; }
.a7__svg { width: 100%; height: auto; overflow: visible; }
.a7__ln { fill: none; stroke: #FFFFFF; stroke-opacity: .16; stroke-width: 1.4; }
.a7__ln.is-sel { stroke: #67BBD6; stroke-opacity: 1; stroke-width: 2.2; }
.a7__t { opacity: .7; } .a7__t.is-sel { opacity: 1; }
.a7__cap { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; margin-top: calc(10 * var(--u)); font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-dark-2); }
.a7__cap span:nth-child(2) { justify-self: end; }
.a7__cap em { grid-column: 1 / -1; font-style: normal; color: var(--on-dark-3); }
html.js:not(.rm) .a7:not(.is-in) .a7__ln { stroke-dasharray: 1; stroke-dashoffset: 1; }
html.js:not(.rm) .a7 .a7__ln { transition: stroke-dashoffset 900ms var(--motion-ease-settle); transition-delay: calc(var(--i) * 60ms); }
html.js:not(.rm) .a7:not(.is-in) .a7__inst { opacity: .55; transform: scale(.97); }
html.js:not(.rm) .a7 .a7__inst { transform-box: fill-box; transform-origin: center; transition: opacity 600ms var(--ease) 700ms, transform 600ms var(--motion-ease-settle) 700ms; }
html.js:not(.rm) .a7:not(.is-in) .i7__lit { opacity: 0; } html.js:not(.rm) .a7 .i7__lit { transition: opacity 400ms var(--ease) 1200ms; }
@media (max-width: 767px) { .a7 { max-width: 420px; } }

/* P2 / U3 selector: rows keep every audience and outcome visible; the stage shows one example */
.au7__g { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: calc(48 * var(--u)); align-items: start; }
.au7__rows { display: grid; border-top: 1px solid var(--rl); }
.au7__rows > li { border-bottom: 1px solid var(--rl); }
.au7__r { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: calc(16 * var(--u)); align-items: start; padding: calc(18 * var(--u)) calc(18 * var(--u)); text-align: left; background: none; border: 0; border-left: 3px solid transparent; cursor: pointer; color: inherit; transition: background-color 220ms var(--ease), border-color 220ms var(--ease); }
.au7__r img { width: calc(44 * var(--u)); height: calc(44 * var(--u)); border-radius: 11.7%; }
.au7__r > span { display: grid; gap: 4px; }
.au7__r b { font-size: calc(20 * var(--u)); font-weight: 700; letter-spacing: -.01em; }
.au7__r > span > span { font-size: calc(16.5 * var(--u)); line-height: 1.5; color: var(--fg2); }
.au7__r:hover { background: rgba(255,255,255,.55); }
.au7__r[aria-pressed="true"] { background: var(--ground-white); border-left-color: var(--blue-500); box-shadow: 0 10px 30px rgba(11,20,27,.06); }
.uc7 .au7__r[aria-pressed="true"] { background: var(--ground-mist); }
.au7__act { margin-top: calc(24 * var(--u)); }
.au7__stage { position: relative; }
.au7__card { margin: 0; padding: calc(24 * var(--u)); background: var(--ground-white); border: 1px solid var(--rl); border-radius: var(--r-xs); }
.au7__card.is-sw { animation: au7in 320ms var(--motion-ease-settle) both; }
@keyframes au7in { from { opacity: 0; } to { opacity: 1; } }
.au7__art { display: grid; place-items: center; min-height: calc(260 * var(--u)); }
.au7__art .sym5 { width: 100%; max-width: calc(380 * var(--u)); height: auto; }
.au7__ex { display: grid; gap: calc(10 * var(--u)); }
.au7__ek { font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); }
.au7__chain { display: flex; flex-wrap: wrap; align-items: center; gap: calc(10 * var(--u)); }
.au7__chip { display: inline-flex; align-items: center; gap: 8px; min-height: calc(40 * var(--u)); padding: 4px calc(12 * var(--u)) 4px 4px; border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-mist); font-size: calc(15.5 * var(--u)); font-weight: 600; }
.au7__chip img { width: calc(30 * var(--u)); height: calc(30 * var(--u)); border-radius: 11.7%; }
.au7__chip--i { background: var(--ground-navy); color: #fff; border-color: var(--ground-navy); padding-left: calc(12 * var(--u)); }
.au7__sq { width: 9px; height: 9px; border-radius: var(--sq-r); background: #67BBD6; }
.au7__ar { width: calc(28 * var(--u)); height: 1.5px; background: var(--fg3); position: relative; }
.au7__ar::after { content: ""; position: absolute; right: -1px; top: -3.5px; border-left: 7px solid var(--fg3); border-top: 4px solid transparent; border-bottom: 4px solid transparent; }
.au7__ex--m { display: none; }
.au7__more { margin-top: calc(32 * var(--u)); border-top: 1px solid var(--rl); padding-top: calc(18 * var(--u)); }
.au7__more summary { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; font-size: calc(17 * var(--u)); font-weight: 600; color: var(--ink-accent); cursor: pointer; list-style: none; }
.au7__more summary::-webkit-details-marker { display: none; }
.au7__more summary::after { content: "+"; font-size: 1.2em; font-weight: 400; } .au7__more[open] summary::after { content: "–"; }
.au7__mi { margin-top: 8px; color: var(--fg2); }
.au7__dl { margin: calc(18 * var(--u)) 0 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(18 * var(--u)) calc(32 * var(--u)); }
.au7__dl dt { font-size: calc(16.5 * var(--u)); font-weight: 700; } .au7__dl dd { margin: 4px 0 0; font-size: calc(15.5 * var(--u)); color: var(--fg2); line-height: 1.5; }
@media (max-width: 899px) {
  .au7__g { grid-template-columns: minmax(0, 1fr); } .au7__stage { display: none; }
  .au7__ex--m:not([hidden]) { display: grid; padding: 4px 18px 20px; }
  .au7__dl { grid-template-columns: minmax(0, 1fr); }
}

/* P3 distribution: one instrument branching to two named routes; one pulse each, then rest */
.br7__d { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) calc(380 * var(--u)) minmax(0, 1fr); align-items: center; padding-block: calc(16 * var(--u)); }
.br7__ln { display: none; }
.br7__r { display: grid; gap: calc(8 * var(--u)); padding: calc(26 * var(--u)) calc(28 * var(--u)); border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); }
.br7__r--l { text-align: right; justify-items: end; }
.br7__ic { color: var(--blue-800); } .br7__ic .ic { width: calc(36 * var(--u)); height: calc(36 * var(--u)); }
.br7__r p { color: var(--fg2); max-width: 36ch; }
.br7__c { position: relative; display: grid; justify-items: center; gap: 10px; }
.br7__inst { width: calc(124 * var(--u)); height: auto; position: relative; z-index: 1; }
.br7__c p { font-size: max(calc(14 * var(--u)), var(--floor)) !important; font-weight: 600; color: var(--fg2); }
.br7__c::before, .br7__c::after { content: ""; position: absolute; top: calc(62 * var(--u)); height: 2px; width: calc(50% - 62 * var(--u)); background: var(--blue-500); opacity: .55; }
.br7__c::before { left: 0; } .br7__c::after { right: 0; }
.br7__pk { position: absolute; top: calc(16 * var(--u) + 62 * var(--u) - 5px); width: 10px; height: 10px; border-radius: var(--sq-r); background: #67BBD6; box-shadow: 0 0 10px rgba(103,187,214,.8); opacity: 0; }
.br7__pk--l { right: calc(50% + 62 * var(--u)); } .br7__pk--r { left: calc(50% + 62 * var(--u)); }
html.js:not(.rm) .br7__d.is-in .br7__pk--l { animation: br7l 1.6s var(--motion-ease-settle) .2s both; }
html.js:not(.rm) .br7__d.is-in .br7__pk--r { animation: br7r 1.6s var(--motion-ease-settle) .2s both; }
@keyframes br7l { 0% { opacity: 0; transform: translateX(0); } 15% { opacity: 1; } 100% { opacity: 1; transform: translateX(calc(-190 * var(--u) + 62 * var(--u) + 5px)); } }
@keyframes br7r { 0% { opacity: 0; transform: translateX(0); } 15% { opacity: 1; } 100% { opacity: 1; transform: translateX(calc(190 * var(--u) - 62 * var(--u) - 5px)); } }
.br7__foot { margin-top: calc(32 * var(--u)); display: grid; gap: calc(10 * var(--u)); max-width: calc(780 * var(--u)); }
.br7__s { font-weight: 600; }
.br7__foot .btns { margin-top: calc(8 * var(--u)); }
@media (max-width: 899px) {
  .br7__d { grid-template-columns: minmax(0, 1fr); gap: 0; padding-left: 0; }
  .br7__c { order: -1; justify-items: start; padding-bottom: 18px; } .br7__c::before, .br7__c::after, .br7__pk { display: none; }
  .br7__r, .br7__r--l { text-align: left; justify-items: start; margin-left: 28px; position: relative; }
  .br7__r::before { content: ""; position: absolute; left: -28px; top: -20px; bottom: 50%; width: 18px; border-left: 2px solid var(--blue-500); border-bottom: 2px solid var(--blue-500); opacity: .55; }
  .br7__r--l { margin-bottom: 12px; }
}

/* P4 process: four rows (all outcomes visible) beside one instrument that evolves through four states */
.pc7__g { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: calc(56 * var(--u)); align-items: center; }
.pc7__rows { display: grid; border-top: 1px solid var(--on-dark-rule); }
.pc7__s { border-bottom: 1px solid var(--on-dark-rule); }
.pc7__b { width: 100%; display: grid; grid-template-columns: auto minmax(0, 1fr); gap: calc(16 * var(--u)); align-items: start; padding: calc(18 * var(--u)) 0; text-align: left; background: none; border: 0; color: inherit; cursor: pointer; }
.pc7__n { display: inline-grid; place-items: center; width: calc(34 * var(--u)); height: calc(34 * var(--u)); border-radius: var(--sq-r); font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 700; background: rgba(255,255,255,.08); color: var(--on-dark-2); transition: background-color 240ms var(--ease), color 240ms var(--ease); }
.pc7__tt { display: grid; gap: 4px; } .pc7__tt b { font-size: calc(21 * var(--u)); font-weight: 700; }
.pc7__tt > span { font-size: calc(16.5 * var(--u)); line-height: 1.5; color: var(--on-dark-2); }
.pc7__s.is-on .pc7__n { background: #67BBD6; color: var(--ground-navy); }
.pc7__b:hover .pc7__n { background: rgba(103,187,214,.3); color: #fff; }
.pc7__d { margin: calc(-4 * var(--u)) 0 calc(18 * var(--u)) calc(50 * var(--u)); padding-left: calc(14 * var(--u)); border-left: 2px solid #67BBD6; font-size: calc(15.5 * var(--u)) !important; color: #9BD2E6; }
.pc7__stage { margin: 0; } .pc7__stage svg { width: 100%; height: auto; }
.pc7__ly { opacity: 0; transition: opacity 520ms var(--ease); }
.pc7__stage[data-s="0"] .pc7__ly[data-l="0"], .pc7__stage[data-s="1"] .pc7__ly[data-l="1"], .pc7__stage[data-s="2"] .pc7__ly[data-l="2"], .pc7__stage[data-s="3"] .pc7__ly[data-l="3"] { opacity: 1; }
.pc7__stage[data-s="1"] .pc7__ly[data-l="0"], .pc7__stage[data-s="2"] .pc7__ly[data-l="0"], .pc7__stage[data-s="2"] .pc7__ly[data-l="1"], .pc7__stage[data-s="3"] .pc7__ly[data-l="0"], .pc7__stage[data-s="3"] .pc7__ly[data-l="1"], .pc7__stage[data-s="3"] .pc7__ly[data-l="2"] { opacity: .22; }
.pc7__stage:not([data-s]) .pc7__ly[data-l="0"] { opacity: 1; }
.pc7__foot { margin-top: calc(36 * var(--u)); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; padding-top: calc(24 * var(--u)); border-top: 1px solid var(--on-dark-rule); }
.pc7__tk { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; max-width: calc(720 * var(--u)); font-size: max(calc(15 * var(--u)), var(--floor)) !important; color: var(--on-dark-2); }
.pc7__tk > span:first-child { flex-basis: 100%; }
.depth .btn-s { color: #fff; border-color: var(--btn-border-dark); }
@media (max-width: 899px) { .pc7__g { grid-template-columns: minmax(0, 1fr); gap: 24px; } .pc7__stage { order: -1; max-width: 460px; } .pc7__d { margin-left: 50px; } }

/* P5 framework, T3 principles: a narrow heading column and labelled fact rows */
.fw7__g { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); gap: calc(64 * var(--u)); align-items: start; }
.fw7__side .s7__head { margin-bottom: calc(20 * var(--u)); }
.fw7__art .sym5 { width: 100%; max-width: calc(300 * var(--u)); height: auto; }
.fw7__l { display: grid; border-top: 1px solid var(--rl); }
.fw7__l > li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: calc(18 * var(--u)); padding: calc(22 * var(--u)) 0; border-bottom: 1px solid var(--rl); }
.fw7__ic { display: inline-grid; place-items: center; width: calc(44 * var(--u)); height: calc(44 * var(--u)); border-radius: var(--sq-r); background: var(--ground-white); border: 1px solid var(--rl); color: var(--blue-800); }
.fw7__ic .ic { width: calc(24 * var(--u)); height: calc(24 * var(--u)); }
.fw7__l p { color: var(--fg2); margin-top: 4px; max-width: 60ch; }
.fw7__prov { margin-top: calc(28 * var(--u)); }
.fw7__k { font-size: max(calc(12.5 * var(--u)), var(--floor)) !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); }
.fw7__prov ul { margin-top: calc(12 * var(--u)); display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(220 * var(--u)), 1fr)); gap: calc(14 * var(--u)) calc(28 * var(--u)); }
.fw7__prov li { display: grid; gap: 2px; } .fw7__prov b { font-size: calc(16 * var(--u)); } .fw7__prov span { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--fg2); }
.fw7__go { margin-top: calc(22 * var(--u)); }
.hj7__n { display: inline-grid; place-items: center; width: calc(36 * var(--u)); height: calc(36 * var(--u)); border-radius: var(--sq-r); background: var(--ground-navy); color: #fff; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 700; }
.hj7__g { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: calc(64 * var(--u)); align-items: start; }
.hj7__art .sym5 { width: 100%; max-width: calc(280 * var(--u)); height: auto; }
@media (max-width: 899px) { .fw7__g, .hj7__g { grid-template-columns: minmax(0, 1fr); gap: 20px; } .fw7__art, .hj7__art { display: none; } }

/* P6 / U4 questions and action */
.qa7__g { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); grid-template-areas: "faq head" "faq act"; grid-template-rows: auto 1fr; gap: 0 calc(64 * var(--u)); align-items: start; }
.qa7__head { grid-area: head; } .qa7__faq { grid-area: faq; } .qa7__act { grid-area: act; }
.qa7__head .s7__head { margin-bottom: calc(24 * var(--u)); }
.qa7__k { font-size: max(calc(12.5 * var(--u)), var(--floor)) !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); margin-bottom: calc(12 * var(--u)); }
.qa7 .fold summary { padding: calc(18 * var(--u)) calc(20 * var(--u)); grid-template-columns: 32px 1fr 20px; }
.qa7 .fold__t { font-size: calc(18 * var(--u)); } .qa7 .fold__b { padding: 0 calc(20 * var(--u)) calc(20 * var(--u)) calc(64 * var(--u)); } .qa7 .fold__b p { font-size: calc(16 * var(--u)); }
.qa7__inv { margin-top: calc(18 * var(--u)); color: var(--fg2); font-size: max(calc(15.5 * var(--u)), var(--floor)) !important; }
.qa7__inv a { color: var(--ink-accent); font-weight: 600; text-underline-offset: 3px; }
.qa7__g--pub { grid-template-columns: minmax(0, .8fr) minmax(0, 1.4fr); grid-template-areas: "head faq"; }
.qa7__ask { margin-top: -8px; }
@media (max-width: 899px) { .qa7__g, .qa7__g--pub { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "faq" "act"; } .qa7__act { margin-top: 24px; } }

/* T2 product panels, T4 closing band */
.pn7__g { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(24 * var(--u)); }
.pan7 { display: grid; grid-template-rows: auto 1fr; background: var(--ground-white); border: 1px solid var(--rl); border-radius: var(--r-xs); overflow: hidden; }
.pan7__art { display: grid; place-items: center; height: calc(240 * var(--u)); border-bottom: 1px solid var(--rl); background: linear-gradient(180deg, #FFFFFF, var(--ground-mist)); }
.pan7__art .sym5 { width: auto; height: calc(216 * var(--u)); max-width: 90%; object-fit: contain; }
.pan7__t { padding: calc(24 * var(--u)) calc(28 * var(--u)) calc(28 * var(--u)); display: grid; gap: calc(10 * var(--u)); align-content: start; }
.pan7__n { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: calc(22 * var(--u)) !important; font-weight: 700; }
.pan7__t > p:last-child { color: var(--fg2); }
.pn7__foot { margin-top: calc(28 * var(--u)); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; }
.pn7__s { font-weight: 600; }
.bd7 { padding-block: calc(72 * var(--u)); }
.bd7__g { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 24px 48px; }
.bd7__g .s7__l { margin-top: 10px; }
.bd7__st { margin-top: 10px; font-size: max(calc(15 * var(--u)), var(--floor)) !important; color: var(--on-dark-3); }
.tkh7 .tk6 { margin: 0; }
@media (max-width: 899px) { .pn7__g { grid-template-columns: minmax(0, 1fr); } .pan7__art { height: 180px; } }

/* U2 what a tStock means: three named stages on one line; the tStock crosses once */
.tm7__st { position: relative; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(40 * var(--u)); counter-reset: tm; }
.tm7__st::before { content: ""; position: absolute; left: 16%; right: 16%; top: calc(70 * var(--u)); border-top: 2px dashed rgba(35,95,115,.45); }
.tm7__st > li { position: relative; display: grid; gap: calc(10 * var(--u)); align-content: start; }
.tm7__art { position: relative; z-index: 1; height: calc(140 * var(--u)); display: flex; align-items: center; justify-content: center; gap: 8px; background: var(--ground-white); border: 1px solid var(--rl); border-radius: var(--r-xs); }
.tm7__art--mk { display: grid; grid-template-columns: repeat(3, auto); justify-content: center; align-content: center; gap: 8px; }
.tm7__art--mk img { width: calc(40 * var(--u)); height: calc(40 * var(--u)); border-radius: 11.7%; filter: saturate(.55); opacity: .85; }
.tm7__doc { position: absolute; left: calc(50% - 74 * var(--u)); top: 50%; transform: translateY(-50%) rotate(-6deg); width: calc(70 * var(--u)); height: calc(88 * var(--u)); background: #fff; border: 1px solid var(--rl); border-radius: 4px; display: grid; align-content: start; gap: 7px; padding: 14px 10px; box-shadow: 0 6px 18px rgba(11,20,27,.08); }
.tm7__doc i { height: 4px; border-radius: 2px; background: #C9D3DB; } .tm7__doc i:nth-child(2) { width: 70%; }
.tm7__art--ch img { width: calc(52 * var(--u)); height: calc(52 * var(--u)); border-radius: 11.7%; }
.tm7__st p { color: var(--fg2); }
.tm7__foot { margin-top: calc(28 * var(--u)); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 16px 32px; }
.ts7 { display: inline-grid; justify-items: center; gap: 4px; position: relative; z-index: 1; }
.ts7 img { width: calc(64 * var(--u)); height: calc(64 * var(--u)); border-radius: 11.7%; }
.ts7 b { font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 700; letter-spacing: .02em; }
.ts7.is-lit img { box-shadow: 0 0 0 2px #67BBD6, 0 0 18px rgba(103,187,214,.55); }
.tm7__art--doc .ts7 { margin-left: calc(36 * var(--u)); }
html.js:not(.rm) .tm7__st:not(.is-in) .tm7__art--doc .ts7 { transform: translateX(calc(-120 * var(--u))); opacity: 0; }
html.js:not(.rm) .tm7__st .tm7__art--doc .ts7 { transition: transform 1s var(--motion-ease-settle) .2s, opacity .5s var(--ease) .2s; }
@media (max-width: 899px) {
  .tm7__st { grid-template-columns: minmax(0, 1fr); gap: 16px; } .tm7__st::before { left: 22px; right: auto; top: 20px; bottom: 20px; border-top: 0; border-left: 2px dashed rgba(35,95,115,.45); }
  .tm7__st > li { grid-template-columns: 96px minmax(0, 1fr); column-gap: 16px; } .tm7__st > li > .tm7__art { grid-row: span 2; height: 96px; }
  .tm7__art--mk { grid-template-columns: repeat(2, auto); } .tm7__art--mk span:nth-child(n+5) { display: none; } .tm7__art--mk img { width: 30px; height: 30px; }
  .tm7__art--doc .tm7__doc { display: none; } .tm7__art--doc .ts7 { margin: 0; } .tm7__art--ch { flex-wrap: wrap; } .tm7__art--ch img { width: 30px; height: 30px; }
}

/* U3 use cases: the same tStock in four contexts, on a dark scene */
.uc7__g { display: grid; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: calc(48 * var(--u)); align-items: start; }
.uc7__rows .au7__r { grid-template-columns: minmax(0, 1fr); }
.uc7__card { background: var(--ground-depth), var(--ground-black); color: #fff; border-color: transparent; padding: calc(28 * var(--u)); }
.uc7__sc { display: grid; place-items: center; min-height: calc(300 * var(--u)); }
.uc7__cap { font-size: max(calc(15 * var(--u)), var(--floor)) !important; color: var(--on-dark-2); margin-bottom: calc(14 * var(--u)); }
.uc7__card figcaption { padding-top: calc(18 * var(--u)); border-top: 1px solid var(--on-dark-rule); }
.uc7__list { display: grid; gap: 8px; width: min(100%, calc(440 * var(--u))); }
.uc7__row { display: grid; grid-template-columns: auto auto 1fr .6fr; align-items: center; gap: 14px; padding: 8px 12px; border: 1px solid rgba(255,255,255,.1); border-radius: var(--r-xs); background: rgba(255,255,255,.03); }
.uc7__row img { width: calc(36 * var(--u)); height: calc(36 * var(--u)); border-radius: 11.7%; } .uc7__row b { font-size: calc(14 * var(--u)); min-width: 5ch; }
.uc7__row i { height: 6px; border-radius: 3px; background: rgba(255,255,255,.14); } .uc7__row i + i { opacity: .6; }
.uc7__row.is-lit { border-color: rgba(103,187,214,.7); background: rgba(103,187,214,.08); }
.uc7__vault { display: flex; flex-wrap: wrap; justify-content: center; gap: 22px; padding: 28px 30px; border: 1px dashed rgba(255,255,255,.3); border-radius: var(--r-sm); }
.uc7__vk { display: none; }
.uc7__mm { display: flex; align-items: center; gap: 22px; }
.uc7__side { display: grid; gap: 6px; justify-items: end; } .uc7__side--r { justify-items: start; }
.uc7__side i { display: block; height: 12px; width: calc(var(--n) * 16 * var(--u)); border-radius: 2px; background: rgba(255,255,255,.22); }
.uc7__pf { display: grid; grid-template-columns: repeat(3, auto); gap: 18px 22px; }
.uc7__m .uc7__sc { min-height: 200px; padding: 18px; background: var(--ground-depth), var(--ground-black); border-radius: var(--r-xs); color: #fff; }
.uc7__m .uc7__cap { color: var(--fg2); margin: 10px 0; }
.uc7__m .ts7 b, .uc7__card .ts7 b { color: #fff; }

/* U5 access: invitation and one waitlist form; two quieter routes */
.ac7__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(64 * var(--u)); align-items: center; }
.ac7__g .head-row { margin-bottom: 14px; } .ac7__g .s7__l { margin-top: 12px; }
.ac7__f { padding: calc(28 * var(--u)); border: 1px solid var(--on-dark-rule); border-radius: var(--r-xs); background: rgba(255,255,255,.03); }
.ac7__k { font-size: max(calc(13 * var(--u)), var(--floor)) !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-dark-2); margin-bottom: 12px; }
.ac7__f .wl { max-width: none; } .ac7__f .wl__note { font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-dark-3); grid-column: 1 / -1; }
.ac7__alt { display: flex; flex-wrap: wrap; gap: 4px 24px; margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--on-dark-rule); }
.ac7__alt .lnk { color: #fff; }
@media (max-width: 899px) { .ac7__g, .uc7__g { grid-template-columns: minmax(0, 1fr); gap: 28px; } }

/* About */
.abh7__g { grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); }
.abh7__q { margin: 0; padding-left: calc(18 * var(--u)); border-left: 3px solid #67BBD6; }
.abh7__q p { font-family: var(--font-serif); font-weight: 600; font-size: calc(24 * var(--u)); line-height: 1.3; }
.abh7__q cite { display: block; margin-top: 6px; font-style: normal; font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-dark-3); }
.abh7__map { margin: 0; } .abh7__map svg { width: 100%; height: auto; }
.abh7__map figcaption { margin-top: 10px; font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-dark-3); }
.abh7__map .hub6__arc { opacity: .9; }
html.js:not(.rm) .abh7__map:not(.is-in) .hub6__arc { stroke-dasharray: 1; stroke-dashoffset: 1; }
html.js:not(.rm) .abh7__map .hub6__arc { transition: stroke-dashoffset 1.2s var(--motion-ease-settle); }
.cap7__g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(40 * var(--u)); }
.cap7__g > li { display: grid; gap: calc(10 * var(--u)); align-content: start; padding-top: calc(22 * var(--u)); border-top: 2px solid var(--rl); transition: border-color 240ms var(--ease); }
.cap7__g > li:hover, .cap7__g > li:focus-within { border-top-color: var(--blue-500); }
.cap7__ic { color: var(--blue-800); } .cap7__ic .ic { width: calc(36 * var(--u)); height: calc(36 * var(--u)); }
.cap7__g p { color: var(--fg2); }
.cap7__s { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--fg3); }
.rel7__g { display: grid; border-top: 1px solid var(--rl); }
.rel7__grp { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 2fr); gap: calc(40 * var(--u)); padding: calc(26 * var(--u)) 0; border-bottom: 1px solid var(--rl); }
.rel7__k p { margin-top: 6px; color: var(--fg2); font-size: calc(15.5 * var(--u)) !important; }
.rel7__l { display: flex; flex-wrap: wrap; align-items: flex-start; gap: calc(18 * var(--u)) calc(36 * var(--u)); }
.rel7__l > li { display: grid; gap: 4px; justify-items: start; min-width: calc(120 * var(--u)); }
.rel7__m { display: inline-flex; align-items: center; min-height: calc(44 * var(--u)); color: var(--on-light-1); text-decoration: none; border-radius: var(--r-xs); opacity: .82; transition: opacity 200ms var(--ease); }
.rel7__m:hover, .rel7__m:focus-visible { opacity: 1; }
.rel7__m img, .rel7__m svg.mkv { display: block; height: calc(var(--mh, 24) * var(--u)); width: auto; max-width: calc(170 * var(--u)); filter: brightness(0); }
.rel7__m svg.mkv { aspect-ratio: var(--ar); }
.rel7 [data-f="invert"] { filter: grayscale(1) !important; }
.rel7__nm { font-size: calc(17 * var(--u)); font-weight: 700; }
.rel7__r { font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--fg2); }
.rel7 .small { margin-top: calc(18 * var(--u)); }
.ch7__g { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(20 * var(--u)); }
.ch7__g > li { display: grid; gap: calc(12 * var(--u)); align-content: start; padding: calc(24 * var(--u)); border: 1px solid var(--on-dark-rule); border-radius: var(--r-xs); background: rgba(255,255,255,.03); }
.ch7__k { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: calc(20 * var(--u)) !important; font-weight: 700; }
.ch7__g p:not(.ch7__k) { color: var(--on-dark-2); }
.ch7__g .lnk { color: #fff; }
.ab6t.s7 .ab6t__l { margin-top: 0; }
@media (max-width: 899px) { .cap7__g, .ch7__g { grid-template-columns: minmax(0, 1fr); } .rel7__grp { grid-template-columns: minmax(0, 1fr); gap: 14px; } .abh7__g { grid-template-columns: minmax(0, 1fr); } }

/* Insights */
.ins7m { padding: calc(var(--hdr-h) + calc(48 * var(--u))) 0 calc(36 * var(--u)); }
.ins7m__in { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: calc(40 * var(--u)); align-items: end; }
.ins7m__h { font-size: calc(54 * var(--u)); font-weight: 700; letter-spacing: -.03em; line-height: 1; }
.ins7m__p { margin-top: calc(12 * var(--u)); font-size: calc(19 * var(--u)); color: var(--on-dark-2); max-width: 44ch; }
.ins7m__nav { display: grid; gap: 6px; justify-items: start; }
.ins7m__nav .lnk { color: #fff; font-size: calc(16 * var(--u)); }
.ins7m__nav > span { display: flex; flex-wrap: wrap; gap: 4px 16px; }
.ins7m__nav > span a { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-dark-2); text-underline-offset: 3px; }
.ins7m .ins6m__rail { width: calc(200 * var(--u)); height: auto; }
.ins7f { padding-block: calc(48 * var(--u)) calc(16 * var(--u)); }
.ins7f__g { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: calc(40 * var(--u)); align-items: start; }
.ft7 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(28 * var(--u)); align-items: center; }
.ft7__img { display: block; } .ft7__img img { width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: var(--r-xs); }
.ft7__t { display: grid; gap: calc(12 * var(--u)); }
.ft7__h { font-size: calc(30 * var(--u)); font-weight: 700; letter-spacing: -.02em; line-height: 1.15; text-wrap: balance; }
.ft7__h a { text-decoration: none; } .ft7__h a:hover { text-decoration: underline; text-underline-offset: 4px; }
.ft7__x { font-size: calc(17 * var(--u)); line-height: 1.55; color: var(--fg2); }
.ft7 .post__meta, .ft7 .lnk { font-size: max(calc(14.5 * var(--u)), var(--floor)); }
.ins7f__side { border-left: 1px solid var(--rl); padding-left: calc(28 * var(--u)); }
.ins7f__k { font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); margin-bottom: 8px; }
.ins7f__side ul { display: grid; }
.ins7f__side li a { display: grid; grid-template-columns: calc(112 * var(--u)) minmax(0, 1fr); gap: calc(14 * var(--u)); align-items: start; padding: calc(12 * var(--u)) 0; text-decoration: none; border-bottom: 1px solid var(--rl); }
.ins7f__side img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 3px; }
.ins7f__side span { display: grid; gap: 3px; } .ins7f__side em { font-style: normal; font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 600; color: var(--ink-accent); }
.ins7f__side b { font-size: calc(15.5 * var(--u)); line-height: 1.35; } .ins7f__side small { font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--fg3); }
.ins7f__side a:hover b { text-decoration: underline; text-underline-offset: 3px; }
.ins7a { padding-top: calc(56 * var(--u)); }
.ins7a__top { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 16px 32px; }
.ins7a__q input { width: calc(340 * var(--u)); max-width: 100%; min-height: 46px; padding: 0 16px; font: inherit; font-size: max(16px, var(--floor)); border: 1px solid var(--btn-border-light); border-radius: var(--btn-r); background: var(--ground-white); }
.ins7a__ctl { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 18px; margin: calc(22 * var(--u)) 0 calc(10 * var(--u)); }
.ins7a__chips, .ins7a__subs { display: flex; flex-wrap: wrap; gap: 8px; }
.ins7a__subs { margin-bottom: calc(14 * var(--u)); }
.ins7a .fc { width: auto; flex: none; justify-content: flex-start; display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; font-size: max(calc(14.5 * var(--u)), var(--floor)); font-weight: 600; background: var(--ground-white); color: var(--on-light-1); border: 1px solid var(--btn-border-light); border-radius: var(--r-pill); cursor: pointer; }
.ins7a .fc span { font-size: max(12px, var(--floor)); font-weight: 600; color: var(--fg3); }
.ins7a .fc[aria-pressed="true"] { background: var(--ground-navy); color: #fff; border-color: var(--ground-navy); } .ins7a .fc[aria-pressed="true"] span { color: rgba(255,255,255,.7); }
.ins7a .fc--sub { min-height: 34px; font-size: max(calc(13.5 * var(--u)), var(--floor)); }
.ins7a .ins5a__n { margin-left: auto; font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--fg2); }
.ins7a .posts { margin-top: calc(18 * var(--u)); }
.sub7 { margin-top: calc(48 * var(--u)); }
@media (max-width: 899px) {
  .ins7m__in { grid-template-columns: minmax(0, 1fr); gap: 18px; } .ins7m .ins6m__rail { display: none; } .ins7m__h { font-size: 40px; }
  .ins7f__g, .ft7 { grid-template-columns: minmax(0, 1fr); } .ins7f__side { border-left: 0; padding-left: 0; }
  .ins7a__chips { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin-inline: -20px; padding-inline: 20px; } .ins7a .fc { flex: none; }
  .ins7a .ins5a__n { margin-left: 0; } .ins7a__q, .ins7a__q input { width: 100%; }
}

/* Article R4 band */
.nx7 { background: var(--ground-mist); border-top: 1px solid var(--on-light-rule); padding-block: calc(40 * var(--u)); }
.nx7__g { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 20px 40px; }
.nx7 h2 { font-size: calc(26 * var(--u)); font-weight: 700; letter-spacing: -.015em; }
.nx7 p { margin-top: 6px; font-size: calc(16.5 * var(--u)); color: var(--on-light-2); max-width: 60ch; }
.nx7 .btn { min-height: calc(48 * var(--u)); font-size: calc(16 * var(--u)); }
.kr7 .s7__h { margin-bottom: calc(24 * var(--u)); }
@media (max-width: 767px) { .nx7 h2 { font-size: 22px; } }
.ph7__art { min-width: 0; }
/* round 7 · narrow screens (320 px reflow): long status pills and buttons wrap instead of widening the page */
@media (max-width: 400px) { .st { white-space: normal; height: auto; min-height: var(--pill-h); padding-block: 3px; line-height: 1.3; } .s7 .btn, .ph7 .btn { white-space: normal; text-align: left; } .pan7__art .sym5 { height: auto; width: 90%; } }
html.rm .pb7__track { animation: none !important; }
.portal7__legal { font-size: max(calc(13 * var(--u)), var(--floor)); }
/* round 7 · density pass against Astra's budgets (Private 4.1–4.8 screens before the footer) */
.r7 .s7 { padding-block: calc(80 * var(--u)); }
.a7 { max-width: calc(500 * var(--u)); justify-self: end; width: 100%; }
.pc7__stage { max-width: calc(520 * var(--u)); justify-self: center; width: 100%; }
.pc7__b { padding-block: calc(14 * var(--u)); }
.fw7__art .sym5 { max-width: calc(220 * var(--u)); }
.au7__art { min-height: calc(220 * var(--u)); } .au7__art .sym5 { max-width: calc(330 * var(--u)); }
.rel7__grp { padding-block: calc(20 * var(--u)); } .rel7__l { gap: calc(12 * var(--u)) calc(32 * var(--u)); } .rel7__m { min-height: calc(40 * var(--u)); }
@media (max-width: 767px) { .r7 .s7 { padding-block: 56px; } }
.pc7 .s7__head, .fw7 .s7__head { margin-bottom: calc(26 * var(--u)); }
.pc7__foot { margin-top: calc(26 * var(--u)); padding-top: calc(18 * var(--u)); }
.pc7__d { margin-bottom: calc(14 * var(--u)); }
.fw7__l > li { padding-block: calc(16 * var(--u)); }
.fw7__prov { margin-top: calc(20 * var(--u)); }
.fw7__prov ul { grid-template-columns: repeat(auto-fill, minmax(calc(165 * var(--u)), 1fr)); gap: calc(10 * var(--u)) calc(20 * var(--u)); }
.fw7__go { margin-top: calc(16 * var(--u)); }
@media (max-width: 767px) { .portal7__legal { font-size: max(13px, var(--floor)); } }

/* ══ ROUND 7c (Henri, 13 Oct, third pass) ══════════════════════════════════════════════════════════════════════ */
/* portal: the figure lives in the subtitle; the manifesto button stands alone; doors are clean glass, no strips */
.portal7__sub { max-width: 52ch; }
.pm7v { color: #fff; font-weight: 700; }
.pm7s { display: inline-flex; align-items: center; gap: 7px; margin-left: 4px; vertical-align: middle; padding: 2px 10px; border: 1px solid rgba(240,184,92,.45); border-radius: var(--r-pill); font-size: max(calc(13 * var(--u)), var(--floor)); color: rgba(255,255,255,.8); white-space: nowrap; }
.pm7s::before { content: ""; width: 7px; height: 7px; border-radius: var(--sq-r); background: var(--warn-dark); }
.pr7 { grid-template-rows: auto auto 1fr auto; padding-top: calc(26 * var(--u));
  background: linear-gradient(155deg, rgba(255,255,255,.10), rgba(255,255,255,.03) 45%, rgba(255,255,255,.015));
  border: 1px solid rgba(255,255,255,.20); box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 24px 60px rgba(0,0,0,.28);
  -webkit-backdrop-filter: blur(22px) saturate(1.3); backdrop-filter: blur(22px) saturate(1.3); }
.pr7:hover, .pr7:focus-within { background: linear-gradient(155deg, rgba(255,255,255,.14), rgba(255,255,255,.05) 45%, rgba(255,255,255,.02)); border-color: rgba(255,255,255,.34); }
.pr7__d { margin-bottom: calc(22 * var(--u)); }
.pr7__go { grid-row: 4; border-top-color: rgba(255,255,255,.16); }
.portal7__sq { display: grid; gap: calc(7 * var(--u)); width: calc(10 * var(--u)); background: none; box-shadow: none; opacity: 1; }
.portal7__sq i { display: block; width: calc(10 * var(--u)); height: calc(10 * var(--u)); border-radius: var(--sq-r); background: rgba(103,187,214,.35); }
.portal7__sq i:nth-child(2) { background: #67BBD6; box-shadow: 0 0 12px rgba(103,187,214,.6); }
/* the ecosystem band: smaller and quieter than the doors */
.portal7__band .pb7__list { gap: calc(36 * var(--u)); padding-right: calc(36 * var(--u)); }
.portal7__band .pb7__list li { height: calc(36 * var(--u)); opacity: .55; }
.portal7__band .pb7__list img, .portal7__band .pb7__list svg.mkv { height: calc(var(--mh, 24) * .62 * var(--u)); max-width: calc(110 * var(--u)); }
@media (max-width: 767px) { .pm7s { white-space: normal; margin: 8px 0 0; } }
/* manifesto: the routes box under the bridge in the left pane; it follows the text on narrow screens */
.mf7__side { position: sticky; top: calc(40 * var(--u)); display: grid; gap: calc(36 * var(--u)); }
.mf7__side .mf7__bridge { position: static; }
.mf7__end--side { margin-top: 0; padding: calc(24 * var(--u)); border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-xs); background: rgba(255,255,255,.035); border-top: 1px solid rgba(255,255,255,.14); }
.mf7__end--side .mf7__routes { grid-template-columns: minmax(0, 1fr) auto; }
.mf7__end--side .mf7__routes .btn { min-width: 0; }
.mf7__end--flow { display: none; }
@media (max-width: 899px) { .mf7__side { position: static; } .mf7__end--side { display: none; } .mf7__end--flow { display: grid; } }
/* closing sections before the footer: the Depth gradient runs top to bottom and ends in the footer's black */
.ch7.depth, .bd7.depth, .ac7.depth { background: linear-gradient(180deg, #1B2836 0%, #0B141B 38%, #06090C 70%, #000000 100%); }
.ch7.depth + *, .bd7.depth + *, .ac7.depth + * { border-top: 0; }
main:has(> section:last-child.depth) + footer.ft { border-top: 0; }

/* About map 7c: many fine routes, green impulses, a small legend */
.hub7__arc { fill: none; stroke: #9BD2E6; stroke-opacity: .28; stroke-width: 1.1; }
.hub7__end { fill: #9BD2E6; fill-opacity: .55; }
.hub7__pk { fill: #8ECB9B; filter: drop-shadow(0 0 4px rgba(142,203,155,.85)); }
html.rm .hub7__pk { display: none; }
.abh7__map figcaption { display: flex; flex-wrap: wrap; gap: 6px 22px; align-items: center; }
.abh7__lg { display: inline-flex; align-items: center; gap: 8px; color: var(--on-dark-2); }
.abh7__lg i { width: 9px; height: 9px; border-radius: 2px; } .abh7__lg--hub { background: #9BD2E6; } .abh7__lg--mk { background: #8ECB9B; }
.abh7__note { flex-basis: 100%; color: var(--on-dark-3); }

/* About relationships 7c: uniform tiles per group; logo centred in an equal cell, role beneath */
.rel7__grp { grid-template-columns: minmax(0, 1fr); gap: calc(16 * var(--u)); padding-block: calc(26 * var(--u)); }
.rel7__k { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 16px; }
.rel7__k p { margin-top: 0; }
.rel7__tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(190 * var(--u)), 1fr)); gap: calc(12 * var(--u)); }
.rel7__t { display: grid; grid-template-rows: calc(76 * var(--u)) auto; align-items: center; justify-items: center; gap: 2px; height: 100%; padding: calc(10 * var(--u)) calc(14 * var(--u)) calc(14 * var(--u)); background: var(--ground-white); border: 1px solid var(--rl); border-radius: var(--r-xs); text-decoration: none; color: var(--on-light-1); transition: border-color 200ms var(--ease), box-shadow 200ms var(--ease); }
.rel7__t:hover, .rel7__t:focus-visible { border-color: var(--blue-500); box-shadow: 0 10px 26px rgba(11,20,27,.07); }
.rel7__lg { display: grid; place-items: center; width: 100%; height: 100%; }
.rel7__lg img, .rel7__lg svg.mkv { display: block; height: calc(var(--mh, 24) * var(--u)); max-height: calc(40 * var(--u)); width: auto; max-width: 100%; filter: brightness(0); opacity: .78; }
.rel7__lg svg.mkv { aspect-ratio: var(--ar); }
.rel7__t:hover .rel7__lg img, .rel7__t:hover .rel7__lg svg.mkv { opacity: 1; }
.rel7 .rel7__r { text-align: center; font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--fg2); line-height: 1.35; }
.rel7__grp--ecosystem .rel7__tiles { grid-template-columns: repeat(auto-fill, minmax(calc(150 * var(--u)), 1fr)); }
.rel7__grp--ecosystem .rel7__t { grid-template-rows: calc(64 * var(--u)); padding-block: calc(8 * var(--u)); }

/* About capabilities: "What we do" disclosure */
.cap7__more { border-top: 1px solid var(--rl); padding-top: calc(10 * var(--u)); }
.cap7__more summary { display: inline-flex; align-items: center; gap: 10px; min-height: 44px; padding: 0 14px; border: 1px solid var(--btn-border-light); border-radius: var(--btn-r); background: var(--ground-white); font-size: calc(15 * var(--u)); font-weight: 600; cursor: pointer; list-style: none; }
.cap7__more summary::-webkit-details-marker { display: none; }
.cap7__more summary::after { content: "+"; font-weight: 400; font-size: 1.2em; } .cap7__more[open] summary::after { content: "–"; }
.cap7__more ul { margin-top: calc(14 * var(--u)); display: grid; gap: calc(12 * var(--u)); }
.cap7__more li { display: grid; gap: 2px; padding-left: calc(18 * var(--u)); position: relative; }
.cap7__more li::before { content: ""; position: absolute; left: 0; top: .5em; width: 8px; height: 8px; border-radius: var(--sq-r); background: var(--blue-500); }
.cap7__more b { font-size: calc(16 * var(--u)); } .cap7__more li span { font-size: calc(15 * var(--u)); color: var(--fg2); line-height: 1.5; }

/* Insights 7c: a light masthead with real buttons; no rail art */
.ins7m.lt { padding: calc(var(--hdr-h) + calc(56 * var(--u))) 0 calc(40 * var(--u)); border-bottom: 1px solid var(--rl); background: linear-gradient(180deg, var(--ground-mist), var(--ground-white)); }
.ins7m.lt .ins7m__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: calc(56 * var(--u)); align-items: end; }
.ins7m.lt .ins7m__h { color: var(--on-light-1); margin-top: 10px; }
.ins7m.lt .ins7m__p { color: var(--on-light-2); }
.ins7m.lt .ins7m__nav { display: grid; gap: calc(14 * var(--u)); justify-items: start; }
.ins7m__k { font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); }
.ins7m__btns { display: flex; flex-wrap: wrap; gap: 8px; }
.tb7 { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border: 1px solid var(--btn-border-light); border-radius: var(--r-pill); background: var(--ground-white); color: var(--on-light-1); font-size: max(calc(15 * var(--u)), 14px); font-weight: 600; text-decoration: none; transition: border-color 200ms var(--ease), background-color 200ms var(--ease); }
.tb7 span { font-size: max(12px, var(--floor)); color: var(--fg3); font-weight: 600; }
.tb7:hover, .tb7:focus-visible { border-color: var(--blue-800); background: var(--ground-mist); }
.ins7m__all { min-height: calc(46 * var(--u)); font-size: calc(15.5 * var(--u)); }
.ft7 { grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); }
.ft7__go { min-height: calc(44 * var(--u)) !important; font-size: calc(15 * var(--u)) !important; padding: 0 calc(18 * var(--u)) !important; }
.lt .ft7__go { color: var(--on-light-1); }
.post__img img { aspect-ratio: 16 / 8; object-fit: cover; }
.post__x { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; font-size: max(calc(15 * var(--u)), 15px); line-height: 1.5; color: var(--on-light-2); }
@media (max-width: 899px) { .ins7m.lt .ins7m__in { grid-template-columns: minmax(0, 1fr); gap: 20px; } .ft7 { grid-template-columns: minmax(0, 1fr); } }

/* Article 7c: outline rail lower and interactive; body runs to the shell's right edge; share row under the meta */
.art7b .art6__grid { grid-template-columns: calc(250 * var(--u)) minmax(0, 1fr); column-gap: calc(64 * var(--u)); justify-content: stretch; }
.art7b .art6__rel { display: none; }
.art7b .art__sticky { top: calc(var(--hdr-h-c, 56px) + calc(56 * var(--u))); padding-top: calc(24 * var(--u)); }
.art7b .art__rl { font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); margin-bottom: 10px; }
.art7b .art__rail ol { counter-reset: toc; border-left: 2px solid var(--rl); gap: 2px; }
.art7b .art__rail ol a { position: relative; display: grid; grid-template-columns: 24px 1fr; gap: 6px; margin-left: -2px; padding: 9px 12px 9px 14px; border-left: 2px solid transparent; border-radius: 0 var(--r-xs) var(--r-xs) 0; font-size: max(calc(14.5 * var(--u)), 14px); color: var(--fg2); transition: background-color 180ms var(--ease), color 180ms var(--ease), border-color 180ms var(--ease); }
.art7b .art__rail ol a::before { counter-increment: toc; content: counter(toc, decimal-leading-zero); font-size: max(12px, var(--floor)); font-weight: 700; color: var(--fg3); padding-top: 2px; font-variant-numeric: tabular-nums; }
.art7b .art__rail ol a:hover { background: var(--ground-mist); color: var(--blue-800); border-left-color: var(--blue-500); }
.art7b .art__rail ol a[aria-current="true"] { background: rgba(103,187,214,.12); color: var(--on-light-1); border-left-color: #3A8CA7; font-weight: 600; }
.art7b .art__rail ol a[aria-current="true"]::before { color: #3A8CA7; }
.art7b .art__body article.tb-art { max-width: none; }
.art7b .art__body article.tb-art p, .art7b .art__body article.tb-art li { font-size: 19px; line-height: 1.7; }
/* tables: a header row, ruled rows, readable cells, horizontal scroll on narrow screens */
.art7b .art__body .tb-table-wrap, .art7b .art__body figure:has(> table) { overflow-x: auto; margin: 1.6em 0; border: 1px solid var(--rl); border-radius: var(--r-xs); }
.art7b .art__body table { width: 100%; border-collapse: collapse; font-size: max(16px, var(--floor)); line-height: 1.5; min-width: 560px; }
.art7b .art__body thead th, .art7b .art__body table tr:first-child th { background: var(--ground-mist); text-align: left; font-weight: 700; color: var(--on-light-1); }
.art7b .art__body th, .art7b .art__body td { padding: 12px 16px; border-bottom: 1px solid var(--rl); vertical-align: top; text-align: left; }
.art7b .art__body tbody tr:last-child td { border-bottom: 0; }
.art7b .art__body td:first-child { font-weight: 600; color: var(--on-light-1); }
.art7b .art__body .tb-table-caption, .art7b .art__body figcaption, .art7b .art__body caption { font-size: max(14px, var(--floor)) !important; line-height: 1.5; color: var(--fg3); padding: 10px 16px; caption-side: bottom; text-align: left; }
/* sources and references: numbered, compact, quiet links; footnote markers small and linked */
.art7b .art__body .tb-sources { margin-top: 2.4em; padding: 24px 28px; background: var(--ground-mist); border-radius: var(--r-xs); border: 1px solid var(--rl); }
.art7b .art__body .tb-sources-label, .art7b .art__body .tb-sources h2, .art7b .art__body .tb-sources h3 { font-size: max(13px, var(--floor)) !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); margin: 0 0 12px !important; }
.art7b .art__body .tb-sources ol, .art7b .art__body .tb-sources ul, .art7b .art__body .tb-sources-list { list-style: decimal; padding-left: 1.6em; margin: 0; display: grid; gap: 8px; }
.art7b .art__body .tb-sources li { font-size: max(15px, var(--floor)) !important; line-height: 1.5 !important; color: var(--on-light-2); padding-left: 4px; }
.art7b .art__body .tb-sources li::marker { color: var(--fg3); font-weight: 600; font-variant-numeric: tabular-nums; }
.art7b .art__body .tb-sources a { color: var(--on-light-1); text-decoration: underline; text-decoration-color: rgba(11,20,27,.25); text-underline-offset: 3px; }
.art7b .art__body .tb-sources a:hover { text-decoration-color: currentColor; color: var(--blue-800); }
.art7b .art__body sup { font-size: .68em; line-height: 0; vertical-align: super; }
.art7b .art__body sup a { text-decoration: none; color: var(--blue-800); font-weight: 700; padding: 0 1px; }
/* share row */
.sh7 { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: calc(16 * var(--u)); }
.sh7__k { font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); margin-right: 4px; }
.sh7__b { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border: 1px solid var(--btn-border-light); border-radius: var(--r-pill); background: var(--ground-white); color: var(--on-light-1); font: inherit; font-size: max(14px, var(--floor)); font-weight: 600; text-decoration: none; cursor: pointer; transition: border-color 180ms var(--ease), background-color 180ms var(--ease); }
.sh7__b svg { width: 16px; height: 16px; } .sh7__i { width: 38px; padding: 0; justify-content: center; }
.sh7__b:hover, .sh7__b:focus-visible { border-color: var(--blue-800); background: var(--ground-mist); }
@media (max-width: 900px) { .art7b .art6__grid { grid-template-columns: minmax(0, 1fr); } .art7b .art__body article.tb-art p, .art7b .art__body article.tb-art li { font-size: max(17px, var(--floor)); } }
.pm7v { white-space: nowrap; } .portal7__sub { max-width: 58ch; }
.rel7__grp--appointed-provider .rel7__tiles, .rel7__grp--membership .rel7__tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.rel7__grp--ecosystem .rel7__tiles { grid-template-columns: repeat(6, minmax(0, 1fr)); }
@media (max-width: 899px) { .rel7__grp--appointed-provider .rel7__tiles, .rel7__grp--membership .rel7__tiles, .rel7__grp--ecosystem .rel7__tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.post__img { aspect-ratio: 16 / 8; }
@media (max-width: 899px) { .portal7__sq { display: none !important; } }
/* capabilities: shared rows so the three "What we do" controls and links align */
@media (min-width: 900px) { .cap7__g > li { grid-row: span 6; grid-template-rows: subgrid; row-gap: calc(10 * var(--u)); } .cap7__g { grid-auto-rows: auto; } }
.cap7__more { align-self: start; }
/* About relationships 7d (Henri): compact. One row per group: label on the left, small inline marks on the right */
.rel7.s7 { padding-block: calc(64 * var(--u)); }
.rel7 .s7__head { margin-bottom: calc(20 * var(--u)); }
.rel7__grp { grid-template-columns: calc(230 * var(--u)) minmax(0, 1fr); gap: calc(28 * var(--u)); align-items: center; padding-block: calc(16 * var(--u)); }
.rel7__k { display: grid; gap: 2px; }
.rel7__k h3 { font-size: calc(16 * var(--u)) !important; }
.rel7__k p { font-size: max(calc(13 * var(--u)), var(--floor)) !important; color: var(--fg3); line-height: 1.4; }
.rel7__grp .rel7__tiles, .rel7__grp--appointed-provider .rel7__tiles, .rel7__grp--membership .rel7__tiles, .rel7__grp--ecosystem .rel7__tiles { display: flex; flex-wrap: wrap; align-items: center; gap: calc(10 * var(--u)) calc(30 * var(--u)); }
.rel7__t, .rel7__grp--ecosystem .rel7__t { display: inline-grid; grid-template-rows: auto; justify-items: start; gap: 2px; height: auto; padding: 4px 0; background: none; border: 0; border-radius: 0; box-shadow: none !important; }
.rel7__lg { width: auto; height: calc(32 * var(--u)); place-items: center start; }
.rel7__lg img, .rel7__lg svg.mkv { height: calc(var(--mh, 24) * .72 * var(--u)); max-height: calc(26 * var(--u)); opacity: .7; }
.rel7__grp--ecosystem .rel7__lg { height: calc(28 * var(--u)); }
.rel7__grp--ecosystem .rel7__lg img, .rel7__grp--ecosystem .rel7__lg svg.mkv { max-height: calc(20 * var(--u)); }
.rel7__t:hover .rel7__lg img, .rel7__t:hover .rel7__lg svg.mkv, .rel7__t:focus-visible .rel7__lg img { opacity: 1; }
.rel7 .rel7__r { text-align: left; font-size: max(calc(12 * var(--u)), var(--floor)); color: var(--fg3); }
.rel7 .small { margin-top: calc(10 * var(--u)); }
@media (max-width: 899px) { .rel7__grp { grid-template-columns: minmax(0, 1fr); gap: 10px; } }
.rel7 .s7__h { font-size: calc(34 * var(--u)); } @media (max-width: 767px) { .rel7 .s7__h { font-size: 26px; } }

/* ══ ROUND 8 · Private Assets (Astra R8 §1) ══════════════════════════════════════════════════════════════════════ */
.ph8__h { max-width: none; font-size: calc(58 * var(--u)); }
/* P1 assembly: one pass (pulse → frame fills → terms → lit block → two outputs), then rest */
.a8 { margin: 0; width: 100%; max-width: calc(600 * var(--u)); justify-self: end; }
.a8__svg { width: 100%; height: auto; overflow: visible; }
.a8__ln { fill: none; stroke: #FFFFFF; stroke-opacity: .14; stroke-width: 1.3; }
.a8__sel { stroke: #67BBD6; stroke-opacity: 1; stroke-width: 2.2; }
.a8__t { opacity: .62; } .a8__t.is-sel { opacity: 1; }
.a8__frame { fill: rgba(27,56,69,.35); stroke: #9BD2E6; stroke-opacity: .55; stroke-width: 1.5; }
.a8__c { fill: #FFFFFF; fill-opacity: .16; }
.a8__c.a8__lit { fill: #67BBD6; fill-opacity: 1; }
.a8__out { fill: none; stroke: #9BD2E6; stroke-opacity: .7; stroke-width: 1.6; }
.a8__pk { fill: #67BBD6; opacity: 0; offset-distance: 0%; }
.a8__cap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 4px 16px; margin-top: calc(8 * var(--u)); font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-dark-2); }
.a8__cap span:nth-child(2) { text-align: center; } .a8__cap span:nth-child(3) { text-align: right; }
.a8__cap em { grid-column: 1 / -1; font-style: normal; color: var(--on-dark-3); }
html.js:not(.rm) .a8:not(.is-in) .a8__sel { stroke-dasharray: 1; stroke-dashoffset: 1; }
html.js:not(.rm) .a8:not(.is-in) .a8__c { fill-opacity: .04; }
html.js:not(.rm) .a8:not(.is-in) .a8__c.a8__lit { fill-opacity: 0; }
html.js:not(.rm) .a8:not(.is-in) .a8__terms, html.js:not(.rm) .a8:not(.is-in) .a8__node { opacity: 0; }
html.js:not(.rm) .a8:not(.is-in) .a8__out { stroke-dasharray: 1; stroke-dashoffset: 1; }
html.js:not(.rm) .a8 .a8__sel { transition: stroke-dashoffset 900ms var(--motion-ease-settle) 200ms; }
html.js:not(.rm) .a8.is-in .a8__pk { animation: a8pk 900ms var(--motion-ease-settle) 200ms both; }
@keyframes a8pk { 0% { offset-distance: 0%; opacity: 0; } 15% { opacity: 1; } 90% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }
html.js:not(.rm) .a8 .a8__c { transition: fill-opacity 260ms var(--ease); transition-delay: calc(1.1s + var(--k) * 34ms); }
html.js:not(.rm) .a8 .a8__terms { transition: opacity 400ms var(--ease) 2.5s; }
html.js:not(.rm) .a8 .a8__c.a8__lit { transition-delay: 2.8s; }
html.js:not(.rm) .a8 .a8__out { transition: stroke-dashoffset 700ms var(--motion-ease-settle) 3.1s; }
html.js:not(.rm) .a8 .a8__node { transition: opacity 400ms var(--ease); transition-delay: calc(3.5s + var(--n) * 200ms); }
@media (max-width: 767px) { .ph8__h { font-size: 38px; } .a8 { max-width: 460px; justify-self: start; } .a8__cap { grid-template-columns: minmax(0, 1fr); } .a8__cap span { text-align: left !important; } }

/* P2: selector with tailored mechanism panels; the instrument types are a prominent disclosure before the CTA */
.au8__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.15fr); gap: calc(40 * var(--u)); align-items: start; }
.au8__card { margin: 0; background: var(--ground-white); border: 1px solid var(--rl); border-radius: var(--r-xs); overflow: hidden; }
.au8__card.is-sw { animation: au7in 300ms var(--motion-ease-settle) both; }
.au8__art { padding: calc(18 * var(--u)) calc(22 * var(--u)) calc(10 * var(--u)); background: linear-gradient(180deg, #FFFFFF, var(--ground-mist)); border-bottom: 1px solid var(--rl); }
.p2a { width: 100%; height: auto; display: block; }
.au8__leg { margin-top: 6px; font-size: max(calc(13 * var(--u)), var(--floor)) !important; color: var(--fg3); }
.au8__card figcaption { padding: calc(18 * var(--u)) calc(22 * var(--u)) calc(22 * var(--u)); display: grid; gap: calc(8 * var(--u)); }
.au8__k { font-size: max(calc(12.5 * var(--u)), var(--floor)) !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); }
.au8__chain { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; font-size: calc(18 * var(--u)) !important; }
.au8__chain b { color: var(--blue-800); }
.au8__body { color: var(--fg2); }
.au8__m { display: none; }
.au8__card--m { margin: 0 18px 18px; }
.in8 { margin-top: calc(28 * var(--u)); border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); }
.in8 summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-height: calc(60 * var(--u)); padding: 0 calc(22 * var(--u)); cursor: pointer; list-style: none; }
.in8 summary::-webkit-details-marker { display: none; }
.in8__t { font-size: calc(18 * var(--u)); font-weight: 700; color: var(--on-light-1); }
.in8__x { position: relative; width: 32px; height: 32px; border-radius: var(--btn-r); border: 1px solid var(--btn-border-light); }
.in8__x::before, .in8__x::after { content: ""; position: absolute; left: 9px; right: 9px; top: 50%; height: 1.6px; margin-top: -.8px; background: var(--on-light-1); transition: transform 240ms var(--motion-ease-settle); }
.in8__x::after { transform: rotate(90deg); } .in8[open] .in8__x::after { transform: rotate(0); }
.in8 summary:hover .in8__x { background: var(--ground-mist); }
.in8__i { padding: 0 calc(22 * var(--u)); color: var(--fg2); }
.in8__l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(18 * var(--u)) calc(28 * var(--u)); padding: calc(18 * var(--u)) calc(22 * var(--u)) calc(24 * var(--u)); }
.in8__l li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; }
.in8__ic { display: inline-grid; place-items: center; width: calc(42 * var(--u)); height: calc(42 * var(--u)); border-radius: var(--sq-r); background: var(--ground-navy); color: #9BD2E6; }
.ic8 { width: calc(24 * var(--u)); height: calc(24 * var(--u)); }
.in8__l b { font-size: calc(16.5 * var(--u)); } .in8__l p { margin-top: 3px; font-size: calc(15 * var(--u)) !important; color: var(--fg2); }
.au8__act { margin-top: calc(22 * var(--u)); }
@media (max-width: 899px) { .au8__g { grid-template-columns: minmax(0, 1fr); } .au8__stage { display: none; } .au8__m:not([hidden]) { display: block; } .in8__l { grid-template-columns: minmax(0, 1fr); } }

/* P3: one instrument, two rails, four capability rows each with details on demand */
.rl8__d { display: grid; grid-template-columns: minmax(0, 1fr) calc(220 * var(--u)) minmax(0, 1fr); align-items: start; gap: 0; }
.rl8__rail { padding: calc(24 * var(--u)) calc(26 * var(--u)); border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); }
.rl8__hd { display: flex; align-items: center; gap: 12px; } .rl8__ic { color: var(--blue-800); } .rl8__ic .ic { width: calc(32 * var(--u)); height: calc(32 * var(--u)); }
.rl8__desc { margin-top: calc(10 * var(--u)); color: var(--fg2); }
.rl8__rows { margin-top: calc(14 * var(--u)); border-top: 1px solid var(--rl); }
.rl8__rows li { border-bottom: 1px solid var(--rl); }
.rl8__r summary { display: flex; align-items: center; gap: 10px; min-height: calc(50 * var(--u)); cursor: pointer; list-style: none; }
.rl8__r summary::-webkit-details-marker { display: none; }
.rl8__t { flex: 1; font-size: calc(16.5 * var(--u)); font-weight: 600; }
.rl8__x { width: 10px; height: 10px; border-right: 1.6px solid var(--fg2); border-bottom: 1.6px solid var(--fg2); transform: rotate(45deg) translate(-2px, -2px); transition: transform 220ms var(--motion-ease-settle); flex: none; }
.rl8__r[open] .rl8__x { transform: rotate(225deg) translate(-2px, -2px); }
.rl8__r p { padding: 0 0 calc(14 * var(--u)); color: var(--fg2); font-size: calc(15.5 * var(--u)) !important; }
.rl8__r summary:hover .rl8__t { color: var(--blue-800); }
.rl8__c { position: relative; display: grid; place-items: center; padding-top: calc(40 * var(--u)); }
.rl8__inst { width: calc(112 * var(--u)); height: auto; position: relative; z-index: 1; }
.rl8__track { position: absolute; top: calc(40 * var(--u) + 56 * var(--u)); height: 8px; width: calc(50% - 56 * var(--u)); background: repeating-linear-gradient(90deg, rgba(35,95,115,.55) 0 6px, transparent 6px 12px); border-top: 1.5px solid rgba(35,95,115,.55); border-bottom: 1.5px solid rgba(35,95,115,.55); }
.rl8__track--l { left: 0; } .rl8__track--r { right: 0; }
.rl8 .br7__pk { top: calc(40 * var(--u) + 56 * var(--u) - 1px); }
.rl8 .br7__pk--l { right: calc(50% + 56 * var(--u)); } .rl8 .br7__pk--r { left: calc(50% + 56 * var(--u)); }
@keyframes br7l { 0% { opacity: 0; transform: translateX(0); } 15% { opacity: 1; } 100% { opacity: 1; transform: translateX(calc(-110 * var(--u) + 56 * var(--u) + 5px)); } }
@keyframes br7r { 0% { opacity: 0; transform: translateX(0); } 15% { opacity: 1; } 100% { opacity: 1; transform: translateX(calc(110 * var(--u) - 56 * var(--u) - 5px)); } }
.rl8__mid { text-align: center; margin-top: -4px; font-size: max(calc(13.5 * var(--u)), var(--floor)) !important; color: var(--fg3); }
.rl8__foot { margin-top: calc(20 * var(--u)); display: grid; gap: 6px; max-width: calc(820 * var(--u)); }
.rl8__s { font-weight: 600; }
@media (max-width: 899px) { .rl8__d { grid-template-columns: minmax(0, 1fr); gap: 14px; } .rl8__c { order: -1; padding-top: 0; place-items: start; } .rl8__track, .rl8 .br7__pk { display: none; } .rl8__mid { text-align: left; } }

/* P4: bounded sticky artwork beside naturally scrolling stages; direct controls; static alternative */
.pc8__ctl { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 24px; margin: calc(-8 * var(--u)) 0 calc(24 * var(--u)); }
.pc8__nav { display: flex; flex-wrap: wrap; gap: 8px; }
.pc8__go { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 14px; border-radius: var(--r-pill); border: 1px solid rgba(255,255,255,.24); background: rgba(255,255,255,.04); color: #fff; font: inherit; font-size: max(calc(14.5 * var(--u)), 14px); font-weight: 600; cursor: pointer; }
.pc8__go span { font-size: max(12px, var(--floor)); color: var(--on-dark-3); font-variant-numeric: tabular-nums; }
.pc8__go[aria-current="step"] { background: #67BBD6; border-color: #67BBD6; color: var(--ground-navy); } .pc8__go[aria-current="step"] span { color: var(--ground-navy); }
.pc8__alt { display: flex; flex-wrap: wrap; gap: 4px 18px; } .pc8__alt .lnk { color: #fff; font-size: max(calc(14.5 * var(--u)), 14px); background: none; border: 0; cursor: pointer; padding: 0; }
.pc8__g { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: calc(56 * var(--u)); align-items: start; }
.pc8__steps { display: grid; }
.pc8__s { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: calc(18 * var(--u)); align-content: center; min-height: calc(var(--vh) * .2); padding: calc(20 * var(--u)) 0; border-top: 1px solid var(--on-dark-rule); opacity: .5; transition: opacity 300ms var(--ease); scroll-margin-top: calc(var(--hdr-h) + 40px); }
.pc8__s:last-child { border-bottom: 1px solid var(--on-dark-rule); }
.pc8__s.is-on { opacity: 1; }
.pc8__n { display: inline-grid; place-items: center; width: calc(36 * var(--u)); height: calc(36 * var(--u)); border-radius: var(--sq-r); background: rgba(255,255,255,.08); font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 700; color: var(--on-dark-2); }
.pc8__s.is-on .pc8__n { background: #67BBD6; color: var(--ground-navy); }
.pc8__s h3 { font-size: calc(26 * var(--u)) !important; }
.pc8__o { margin-top: 6px; color: var(--on-dark-2); }
.pc8__d { margin-top: 10px; padding-left: calc(14 * var(--u)); border-left: 2px solid #67BBD6; color: #9BD2E6; font-size: calc(15.5 * var(--u)) !important; display: grid; gap: 2px; }
.pc8__d span { font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-dark-3); }
.pc8__art { position: sticky; top: calc(var(--hdr-h-c, 56px) + 32px); }
.pc8__stage { margin: 0; }
.pc8__stage svg { max-height: calc(var(--vh) - 160 * var(--u)); width: 100%; }
/* cumulative: every completed stage stays built */
.pc8__stage .pc7__ly { opacity: 0; transition: opacity 520ms var(--ease), transform 520ms var(--motion-ease-settle); }
.pc8__stage[data-s="0"] .pc7__ly[data-l="0"], .pc8__stage[data-s="1"] .pc7__ly[data-l="0"], .pc8__stage[data-s="1"] .pc7__ly[data-l="1"], .pc8__stage[data-s="2"] .pc7__ly:not([data-l="3"]), .pc8__stage[data-s="3"] .pc7__ly { opacity: 1; }
.pc8__tk { margin-top: calc(28 * var(--u)); padding-top: calc(18 * var(--u)); border-top: 1px solid var(--on-dark-rule); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 28px; }
.pc8__tk p { max-width: calc(760 * var(--u)); color: var(--on-dark-2); font-size: max(calc(15 * var(--u)), var(--floor)) !important; display: grid; gap: 8px; }
.pc8__tks { display: flex; flex-wrap: wrap; gap: 8px; } .pc8__tk .lnk { color: #fff; }
/* static: phone, reduced motion, short screens, or "View all four stages" */
.pc8.is-static .pc8__g { grid-template-columns: minmax(0, 1fr); }
.pc8.is-static .pc8__art { position: static; order: -1; max-width: calc(560 * var(--u)); }
.pc8.is-static .pc8__s { min-height: 0; opacity: 1; }
.pc8.is-static .pc8__s .pc8__n { background: #67BBD6; color: var(--ground-navy); }
.pc8.is-static .pc8__stage .pc7__ly { opacity: 1; }
.pc8.is-static .pc8__nav { display: none; }
@media (max-width: 899px) { .pc8__g { grid-template-columns: minmax(0, 1fr); } .pc8__art { position: static; order: -1; } .pc8__s { min-height: 0; opacity: 1; } .pc8__stage .pc7__ly { opacity: 1; } .pc8__nav { display: none; } }

/* P5: the structure cross-section with one selected layer explained */
.fw8__g { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); gap: calc(28 * var(--u)) calc(56 * var(--u)); align-items: start; }
.fw8__side .s7__head { margin-bottom: calc(20 * var(--u)); }
.fw8__l { display: grid; border-top: 1px solid var(--rl); }
.fw8__l > li { border-bottom: 1px solid var(--rl); }
.fw8__b { width: 100%; display: flex; align-items: center; gap: 14px; min-height: calc(56 * var(--u)); padding: 0; background: none; border: 0; text-align: left; cursor: pointer; color: inherit; font: inherit; }
.fw8__n { display: inline-grid; place-items: center; width: calc(32 * var(--u)); height: calc(32 * var(--u)); border-radius: var(--sq-r); border: 1px solid var(--rl); font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 700; color: var(--fg2); background: var(--ground-white); }
.fw8__b b { font-size: calc(18 * var(--u)); }
.fw8__b[aria-pressed="true"] .fw8__n { background: var(--ground-navy); color: #fff; border-color: var(--ground-navy); }
.fw8__b:hover b { color: var(--blue-800); }
.fw8__d { padding: 0 0 calc(16 * var(--u)) calc(46 * var(--u)); color: var(--fg2); }
.fw8__x { margin: 0; display: grid; gap: calc(10 * var(--u)); }
.fw8__ly { display: grid; gap: 6px; padding: calc(18 * var(--u)) calc(22 * var(--u)); border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); transition: border-color 260ms var(--ease), box-shadow 260ms var(--ease), opacity 260ms var(--ease); opacity: .6; position: relative; }
.fw8__ly + .fw8__ly::before { content: ""; position: absolute; left: calc(36 * var(--u)); top: calc(-11 * var(--u)); height: calc(10 * var(--u)); border-left: 2px solid var(--rl); }
.fw8__x[data-on="vehicle"] .fw8__ly--vehicle, .fw8__x[data-on="rights"] .fw8__ly--rights, .fw8__x[data-on="rights"] .fw8__ly--life, .fw8__x[data-on="life"] .fw8__ly--life { opacity: 1; border-color: var(--blue-500); box-shadow: 0 12px 30px rgba(11,20,27,.07); }
.fw8__lk { font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); }
.fw8__ly b { font-size: calc(17 * var(--u)); }
.fw8__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.fw8__chips i { font-style: normal; display: inline-flex; align-items: center; min-height: 28px; padding: 0 10px; border-radius: var(--r-pill); background: var(--ground-mist); border: 1px solid var(--rl); font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-light-2); }
.fw8__x figcaption { font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--fg3); }
.fw8__prov { grid-column: 1 / -1; padding-top: calc(18 * var(--u)); border-top: 1px solid var(--rl); }
.fw8__prov ul { margin: calc(12 * var(--u)) 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: calc(12 * var(--u)) calc(20 * var(--u)); }
.fw8__prov li { display: grid; gap: 2px; } .fw8__prov b { font-size: calc(16 * var(--u)); } .fw8__prov span { font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--fg2); }
@media (max-width: 899px) { .fw8__g { grid-template-columns: minmax(0, 1fr); } .fw8__prov ul { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* P6 / U4: questions with one issuer action; multi-open FAQ */
.qa8__g { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: calc(28 * var(--u)) calc(64 * var(--u)); align-items: start; }
.qa8__head { position: sticky; top: calc(var(--hdr-h-c, 56px) + 40px); }
.fq8 { display: grid; gap: 8px; }
.qa8 .fold summary, .uq8 .fold summary { padding: calc(16 * var(--u)) calc(20 * var(--u)); grid-template-columns: 32px 1fr 20px; min-height: 52px; }
.qa8 .fold__t, .uq8 .fold__t { font-size: calc(17.5 * var(--u)); } .qa8 .fold__b, .uq8 .fold__b { padding: 0 calc(20 * var(--u)) calc(18 * var(--u)) calc(64 * var(--u)); } .qa8 .fold__b p, .uq8 .fold__b p { font-size: calc(16 * var(--u)) !important; }
@media (max-width: 899px) { .qa8__g { grid-template-columns: minmax(0, 1fr); } .qa8__head { position: static; } }

/* ══ ROUND 8 · Public Assets (Astra R8 §2) ═══════════════════════════════════════════════════════════════════════ */
/* U1: four regional strips, company first, listing second; one drift then rest */
.hs8 { margin: 0; display: grid; gap: calc(14 * var(--u)); padding: calc(26 * var(--u)) 0; overflow: hidden; -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); }
.hs8__row { display: grid; grid-template-columns: calc(110 * var(--u)) max-content; align-items: center; gap: calc(14 * var(--u)); padding-left: calc(var(--i) * 26 * var(--u)); }
.hs8__k { font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-dark-3); text-align: right; }
.hs8__cards { display: flex; gap: calc(12 * var(--u)); }
.co8 { display: grid; gap: 3px; min-width: calc(170 * var(--u)); padding: calc(12 * var(--u)) calc(16 * var(--u)); border-radius: var(--r-xs); border: 1px solid rgba(255,255,255,.12); background: linear-gradient(155deg, rgba(27,56,69,.75), rgba(11,20,27,.9)); }
.co8 b { font-size: calc(16 * var(--u)); font-weight: 700; color: #fff; white-space: nowrap; }
.co8 span { font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-dark-2); font-variant-numeric: tabular-nums; }
.co8.is-lit { border-color: #67BBD6; box-shadow: 0 0 0 1px #67BBD6, 0 0 24px rgba(103,187,214,.35); }
.hs8 figcaption { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding-left: calc(124 * var(--u)); font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-dark-3); }
html.js:not(.rm) .hs8.is-in .hs8__cards { animation: hs8 4.2s var(--motion-ease-settle) both; animation-delay: calc(var(--i) * 120ms); }
.hs8__row:nth-child(even) .hs8__cards { --dir: 1; } .hs8__row:nth-child(odd) .hs8__cards { --dir: -1; }
@keyframes hs8 { from { transform: translateX(calc(var(--dir) * 40px)); opacity: .4; } to { transform: none; opacity: 1; } }
@media (max-width: 767px) { .hs8__row { grid-template-columns: minmax(0, 1fr); padding-left: 0; gap: 6px; } .hs8__k { text-align: left; } .hs8__cards { flex-wrap: wrap; } .co8 { min-width: 0; flex: 1 1 140px; } .hs8 { -webkit-mask-image: none; mask-image: none; } .hs8 figcaption { padding-left: 0; } }

/* U2: regional explorer: tabs, three stationary company cards, a manually selected mechanism */
.rx8__tabs { display: flex; flex-wrap: wrap; gap: 8px; border-bottom: 1px solid var(--rl); padding-bottom: calc(14 * var(--u)); }
.rx8__tabs [role="tab"] { min-height: 44px; padding: 0 18px; border: 1px solid var(--btn-border-light); border-radius: var(--r-pill); background: var(--ground-white); font: inherit; font-size: max(calc(15.5 * var(--u)), 15px); font-weight: 600; color: var(--on-light-1); cursor: pointer; }
.rx8__tabs [aria-selected="true"] { background: var(--ground-navy); border-color: var(--ground-navy); color: #fff; }
.rx8__p { padding-top: calc(20 * var(--u)); }
.rx8__intro { color: var(--fg2); max-width: 70ch; }
.rx8__cos { margin-top: calc(16 * var(--u)); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(14 * var(--u)); }
.rx8__co { width: 100%; height: 100%; display: grid; gap: 4px; justify-items: start; text-align: left; padding: calc(18 * var(--u)) calc(20 * var(--u)); border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); cursor: pointer; font: inherit; color: inherit; transition: border-color 200ms var(--ease), box-shadow 200ms var(--ease); }
.rx8__co b { font-size: calc(19 * var(--u)); } .rx8__co span { font-size: max(calc(14 * var(--u)), 13px); color: var(--fg2); } .rx8__id { font-variant-numeric: tabular-nums; color: var(--fg3) !important; }
.rx8__co[aria-pressed="true"] { border-color: var(--blue-500); box-shadow: 0 0 0 1px var(--blue-500), 0 12px 28px rgba(11,20,27,.07); }
.rx8__m { margin-top: calc(18 * var(--u)); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); counter-reset: m; }
.rx8__m li { position: relative; padding: calc(16 * var(--u)) calc(20 * var(--u)); display: grid; gap: 4px; }
.rx8__m li + li { border-left: 1px dashed var(--rl); }
.rx8__m li + li::before { content: ""; position: absolute; left: -7px; top: calc(24 * var(--u)); width: 12px; height: 12px; border-radius: var(--sq-r); background: #67BBD6; }
.rx8__mk { font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); }
.rx8__m b { font-size: calc(17 * var(--u)); } .rx8__m p { color: var(--fg2); font-size: calc(15 * var(--u)) !important; }
.rx8__foot { margin-top: calc(18 * var(--u)); display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px 28px; }
@media (max-width: 899px) { .rx8__cos, .rx8__m { grid-template-columns: minmax(0, 1fr); } .rx8__m li + li { border-left: 0; border-top: 1px dashed var(--rl); } .rx8__m li + li::before { left: calc(20 * var(--u)); top: -7px; } }

/* U3: one precise workflow at a time; the proposed service stack beneath */
.uc8__card { background: var(--ground-depth), var(--ground-black); color: #fff; border: 0; padding: calc(26 * var(--u)); }
.uc8__k { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; font-size: max(calc(12.5 * var(--u)), var(--floor)) !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-dark-3); margin-bottom: calc(16 * var(--u)); }
.wf8 { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0; margin-bottom: calc(18 * var(--u)); }
.wf8 li { position: relative; display: grid; gap: 10px; align-content: start; padding-right: calc(14 * var(--u)); }
.wf8 li:not(:last-child)::after { content: ""; position: absolute; left: calc(38 * var(--u)); right: 4px; top: calc(16 * var(--u)); border-top: 1px dashed rgba(155,210,230,.5); }
.wf8__n { display: inline-grid; place-items: center; width: calc(32 * var(--u)); height: calc(32 * var(--u)); border-radius: var(--sq-r); background: rgba(103,187,214,.18); color: #9BD2E6; font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 700; position: relative; z-index: 1; }
.wf8__t { font-size: calc(15.5 * var(--u)); font-weight: 600; line-height: 1.35; color: #fff; }
.wf8__t .st { margin-top: 6px; display: flex; width: max-content; }
.uc8__card figcaption { padding-top: calc(14 * var(--u)); border-top: 1px solid var(--on-dark-rule); }
.uc8__quiet .au7__r b { font-weight: 600; color: var(--fg2); }
.uc8__m .wf8 { grid-template-columns: minmax(0, 1fr); gap: 10px; } .uc8__m .wf8 li { grid-template-columns: auto minmax(0, 1fr); align-items: center; } .uc8__m .wf8 li::after { display: none; }
.uc8__m { padding: 14px 18px 20px; background: var(--ground-depth), var(--ground-black); color: #fff; border-radius: var(--r-xs); margin: 0 0 14px; }
.uc8__m .uc7__cap { color: var(--on-dark-2); }
.sk8 { margin-top: calc(28 * var(--u)); padding: calc(22 * var(--u)) calc(24 * var(--u)); border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-mist); }
.sk8__hd { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; }
.sk8__p { font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--fg3); }
.sk8__l { margin-top: calc(14 * var(--u)); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(10 * var(--u)); }
.sk8__l li { display: grid; gap: 4px; align-content: start; padding: calc(14 * var(--u)); background: var(--ground-white); border: 1px solid var(--rl); border-radius: var(--r-xs); }
.sk8__n { font-size: max(12px, var(--floor)); font-weight: 700; color: var(--fg3); } .sk8__l b { font-size: calc(16 * var(--u)); } .sk8__l li > span:last-child { font-size: max(calc(14 * var(--u)), 13px); color: var(--fg2); }
.sk8__b { margin-top: calc(12 * var(--u)); color: var(--fg2); }
@media (max-width: 899px) { .wf8 { grid-template-columns: minmax(0, 1fr); gap: 10px; } .wf8 li::after { display: none; } .sk8__l { grid-template-columns: minmax(0, 1fr); } .uc8__stage { display: none; } }
/* U1 strips: three equal cards per region so every company name stays readable (wraps, never clipped) */
.hs8 { -webkit-mask-image: none; mask-image: none; overflow: visible; }
.hs8__row { grid-template-columns: calc(104 * var(--u)) minmax(0, 1fr); padding-left: 0; }
.hs8__cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.hs8__row:nth-child(2) .hs8__cards, .hs8__row:nth-child(4) .hs8__cards { transform: translateX(calc(14 * var(--u))); }
.co8 { min-width: 0; } .co8 b { white-space: normal; line-height: 1.25; }
.hs8 figcaption { padding-left: calc(118 * var(--u)); }
@keyframes hs8 { from { transform: translateX(calc(var(--dir) * 28px)); opacity: .45; } to { transform: none; opacity: 1; } }
@media (max-width: 767px) { .hs8__cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } .hs8__row:nth-child(2) .hs8__cards, .hs8__row:nth-child(4) .hs8__cards { transform: none; } .hs8 figcaption { padding-left: 0; } }

/* ══ ROUND 8 · forms: field-level errors, honeypot, header without a CTA ══ */
.fl8 { display: grid; gap: 6px; }
.fl8__e { min-height: 0; font-size: max(13.5px, var(--floor)); font-weight: 600; color: var(--bad-dark, #F08A7E); }
.lt .fl8__e, .talk .fl8__e { color: #B42318; }
.fl8__e:empty { display: none; }
.hp8 { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wl .fl8__e { grid-column: 1 / -1; } .wl .chk { grid-column: 1 / -1; font-size: max(13.5px, var(--floor)); display: flex; gap: 8px; align-items: flex-start; }
.wl--dk .chk { color: var(--on-dark-2); } .wl--dk .chk a { color: #fff; }
/* the consent checkbox must not inherit the text-field rules of .wl and .subscribe5 (QA r8: squashed to 5×48 and 301×13);
   the whole label is the touch target */
.wl .chk, .subscribe5 .chk { display: flex; flex-wrap: wrap; gap: 8px 10px; align-items: flex-start; }
.wl .chk input[type="checkbox"], .subscribe5 .chk input[type="checkbox"] { flex: 0 0 auto; width: 20px; height: 20px; min-width: 0; min-height: 0; padding: 0; margin: 1px 0 0; border: 0; background: none; accent-color: var(--action-green); }
.wl .chk > span:not(.fl8__e), .subscribe5 .chk > span:not(.fl8__e) { flex: 1 1 0; min-width: 0; }
.wl .chk .fl8__e, .subscribe5 .chk .fl8__e { flex-basis: 100%; }
.subscribe5 .chk { flex-basis: 100%; font-size: max(13.5px, var(--floor)); color: var(--fg2); }
.mega__co { display: inline-flex; align-items: center; min-height: 30px; padding: 0 10px; border-radius: var(--r-pill); border: 1px solid rgba(255,255,255,.18); font-size: max(13px, var(--floor)); color: #fff; }
.mega__card--icons .mega__icons { flex-wrap: wrap; gap: 6px; }

/* ══ ROUND 8 · portal ══ */
.pm8 { display: inline-flex; align-items: center; gap: 7px; margin-left: 6px; vertical-align: middle; padding: 3px 11px; border: 1px solid rgba(240,184,92,.5); border-radius: var(--r-pill); font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: rgba(255,255,255,.86); white-space: nowrap; }
.pm8::before { content: ""; width: 7px; height: 7px; border-radius: var(--sq-r); background: var(--warn-dark); }
.portal7__in { padding-bottom: calc(40 * var(--u)); }
.portal7__band { padding-block: calc(16 * var(--u)) calc(22 * var(--u)); border-top: 1px solid rgba(255,255,255,.1); }
.portal7__band .pb7 { margin-top: 0; }
/* five squares, one impulse passes once top to bottom, then the middle block rests lit */
.portal7__sq { gap: calc(8 * var(--u)); }
.portal7__sq i { background: rgba(103,187,214,.28); box-shadow: none; }
.portal7__sq i:nth-child(3) { background: #67BBD6; box-shadow: 0 0 12px rgba(103,187,214,.55); }
html.js:not(.rm) .portal7__sq i { animation: sq8 3.6s var(--ease) both; animation-delay: calc(var(--k) * 420ms + 600ms); }
.portal7__sq i:nth-child(1) { --k: 0; } .portal7__sq i:nth-child(2) { --k: 1; } .portal7__sq i:nth-child(3) { --k: 2; } .portal7__sq i:nth-child(4) { --k: 3; } .portal7__sq i:nth-child(5) { --k: 4; }
@keyframes sq8 { 0% { background: rgba(103,187,214,.28); box-shadow: none; } 8% { background: #67BBD6; box-shadow: 0 0 14px rgba(103,187,214,.7); } 22%, 100% { background: rgba(103,187,214,.28); box-shadow: none; } }
html.js:not(.rm) .portal7__sq i:nth-child(3) { animation-name: sq8c; }
@keyframes sq8c { 0% { background: rgba(103,187,214,.28); } 8%, 100% { background: #67BBD6; box-shadow: 0 0 12px rgba(103,187,214,.55); } }
/* the logo band: one short drift, then it rests and can be scrolled by hand */
.pb7.is-run .pb7__track { animation: pb8 4.6s var(--motion-ease-settle) 1 both; }
@keyframes pb8 { from { transform: translateX(0); } to { transform: translateX(-180px); } }
.portal7__band .pb7 { overflow-x: auto; scrollbar-width: none; }
.portal7__band .pb7::-webkit-scrollbar { display: none; }
.portal7__band .pb7__list[aria-hidden] { display: none; }

/* ══ ROUND 8 · manifesto: the routes panel aligns with the last paragraph; more opaque; natural stacking on phones ══ */
.mf7__in { align-items: stretch; }
.mf7__side { position: static; display: flex; flex-direction: column; justify-content: space-between; gap: calc(28 * var(--u)); }
.mf7__side .mf7__bridge { position: sticky; top: calc(28 * var(--u)); }
.mf7__end--side { background: rgba(8,14,20,.94); border-color: rgba(255,255,255,.2); box-shadow: 0 18px 40px rgba(0,0,0,.35); }
@media (max-width: 899px) { .mf7__side { display: block; } }

/* ══ ROUND 8 · Toolkit (T1–T6) ══ */
.tk8h { margin: 0; display: grid; grid-template-columns: minmax(0, 1fr) calc(40 * var(--u)) minmax(0, .8fr); align-items: center; }
.tk8h__a, .tk8h__m { padding: calc(18 * var(--u)); border: 1px solid rgba(255,255,255,.14); border-radius: var(--r-xs); background: rgba(255,255,255,.03); }
.tk8h__k { display: flex; align-items: center; gap: 8px; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 700; color: #fff; margin-bottom: 10px; }
.tk8h__hand { height: 2px; background: repeating-linear-gradient(90deg, #67BBD6 0 5px, transparent 5px 10px); position: relative; }
.tk8h__hand::after { content: ""; position: absolute; right: -2px; top: -4px; border-left: 8px solid #67BBD6; border-top: 5px solid transparent; border-bottom: 5px solid transparent; }
.tk8h__m ul { display: grid; gap: 8px; } .tk8h__m li { display: flex; align-items: center; gap: 10px; font-size: max(calc(14.5 * var(--u)), 14px); color: var(--on-dark-2); }
.tk8h__doc { width: 14px; height: 17px; border: 1.5px solid currentColor; border-radius: 2px; flex: none; position: relative; opacity: .8; }
.tk8h__doc::after { content: ""; position: absolute; left: 2px; right: 2px; top: 5px; height: 1.5px; background: currentColor; box-shadow: 0 4px 0 currentColor; }
.tk8h__f { margin-top: 10px; font-size: max(calc(12.5 * var(--u)), var(--floor)); color: var(--on-dark-3); }
/* the illustrative scorecard */
.sc8 { display: grid; gap: calc(10 * var(--u)); padding: calc(20 * var(--u)); border-radius: var(--r-xs); background: #0B141B; color: #fff; border: 1px solid rgba(255,255,255,.12); }
.sc8--mini { padding: calc(14 * var(--u)); gap: 8px; }
.sc8__top { display: flex; justify-content: space-between; align-items: center; font-size: max(12px, var(--floor)); color: var(--on-dark-3); font-variant-numeric: tabular-nums; }
.sc8__tag { padding: 2px 8px; border: 1px solid rgba(255,255,255,.25); border-radius: var(--r-pill); }
.sc8__k { font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-dark-3); }
.sc8__band { display: flex; align-items: center; gap: 8px; font-size: calc(20 * var(--u)) !important; font-weight: 700; color: #F0B85C; }
.sc8__band i { width: 10px; height: 10px; border-radius: var(--sq-r); background: #F0B85C; }
.sc8__sub { font-size: max(calc(14 * var(--u)), 13px) !important; color: var(--on-dark-2); }
.sc8__dims { display: grid; gap: 8px; }
.sc8__dims li { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) auto auto; gap: 10px; align-items: center; font-size: max(calc(13.5 * var(--u)), var(--floor)); }
.sc8--mini .sc8__dims li { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto; }
.sc8__n { color: var(--on-dark-2); } .sc8__lv { color: #fff; font-weight: 600; min-width: 7ch; }
.sc8__bar { height: 6px; border-radius: 3px; background: rgba(255,255,255,.1); position: relative; overflow: hidden; }
.sc8__bar i { position: absolute; inset: 0 auto 0 0; width: var(--w); background: #67BBD6; border-radius: 3px; }
.sc8__bar[data-w="0"] { background: none; border: 1px dashed rgba(255,255,255,.35); }
.sc8__ev { font-size: max(11.5px, var(--floor)); font-weight: 600; padding: 2px 8px; border-radius: var(--r-pill); border: 1px solid currentColor; }
.sc8__ev--v { color: #8ECB9B; } .sc8__ev--s { color: #9BD2E6; } .sc8__ev--m { color: var(--on-dark-3); }
.sc8__cap, .sc8__foot { font-size: max(calc(13 * var(--u)), var(--floor)) !important; color: var(--on-dark-3); }
.sc8__gaps ul { display: grid; gap: 6px; margin-top: 6px; } .sc8__gaps li { display: flex; justify-content: space-between; gap: 12px; font-size: max(calc(14 * var(--u)), 13px); } .sc8__gaps span { color: var(--on-dark-2); }
.sc8s__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(56 * var(--u)); align-items: start; }
.sc8s__k { margin: calc(18 * var(--u)) 0 calc(8 * var(--u)); font-size: max(calc(12.5 * var(--u)), var(--floor)) !important; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.sc8s__bands { display: grid; gap: 8px; } .sc8s__bands li { display: grid; grid-template-columns: calc(130 * var(--u)) minmax(0, 1fr); gap: 12px; align-items: center; color: var(--fg2); font-size: calc(15.5 * var(--u)); }
.bd8 { display: inline-flex; justify-content: center; padding: 4px 10px; border-radius: var(--r-pill); font-size: max(13px, var(--floor)); font-weight: 700; border: 1px solid currentColor; }
.bd8--strong { color: #11734F; } .bd8--cond { color: #9A6212; } .bd8--nr { color: #B42318; } .bd8--oos { color: var(--fg3); }
.sc8s__card { margin: 0; }
.pk8__g { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: calc(56 * var(--u)); align-items: start; }
.pk8__venn { position: relative; margin: 0; max-width: calc(420 * var(--u)); }
.pk8__venn svg { width: 100%; height: auto; }
.pk8__l { position: absolute; display: grid; font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--fg2); text-align: center; }
.pk8__l b { font-size: calc(15 * var(--u)); color: var(--on-light-1); }
.pk8__l--i { left: 8%; top: 22%; } .pk8__l--a { right: 8%; top: 22%; } .pk8__l--p { left: 0; right: 0; top: 76%; }
.pk8__venn figcaption { margin-top: 8px; font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--fg3); }
.pk8__tiers { border-top: 1px solid var(--rl); } .pk8__tiers li { border-bottom: 1px solid var(--rl); }
.pk8__tiers summary { display: flex; align-items: center; gap: 12px; min-height: 48px; cursor: pointer; list-style: none; color: var(--blue-800); } .pk8__tiers summary::-webkit-details-marker { display: none; }
.pk8__tiers summary b { flex: 1; color: var(--on-light-1); font-size: calc(16.5 * var(--u)); } .pk8__tiers details[open] .rl8__x { transform: rotate(225deg) translate(-2px, -2px); }
.pk8__tiers p { padding: 0 0 12px 26px; color: var(--fg2); }
.pk8__out { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; } .pk8__out li { display: grid; gap: 2px; } .pk8__out b { font-size: calc(16 * var(--u)); } .pk8__out span { color: var(--fg2); font-size: calc(15 * var(--u)); }
.ho8__l { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: calc(16 * var(--u)); counter-reset: h; }
.ho8__l li { position: relative; display: grid; gap: 8px; align-content: start; padding: calc(20 * var(--u)); border: 1px solid var(--on-dark-rule); border-radius: var(--r-xs); background: rgba(255,255,255,.03); }
.ho8__l li .pc8__n { background: #67BBD6; color: var(--ground-navy); } .ho8__l b { font-size: calc(18 * var(--u)); } .ho8__l p { color: var(--on-dark-2); }
.ho8__note { margin-top: calc(18 * var(--u)); color: var(--on-dark-2); } .ho8__note .lnk { color: #fff; }
.rs8__l { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(20 * var(--u)); margin-bottom: calc(14 * var(--u)); }
.rs8__l li { display: grid; gap: 8px; align-content: start; padding-top: calc(18 * var(--u)); border-top: 2px solid var(--rl); } .rs8__l p { color: var(--fg2); }
.fo8__g { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: calc(32 * var(--u)) calc(56 * var(--u)); align-items: center; }
.fo8__alt { margin-top: 14px; color: var(--on-dark-2); } .fo8__alt .lnk { color: #fff; }
.fo8__disc { margin-top: 12px; font-size: max(calc(13 * var(--u)), var(--floor)) !important; color: var(--on-dark-3); }
.fo8__sup { grid-column: 1 / -1; padding: calc(18 * var(--u)) calc(22 * var(--u)); border-radius: var(--r-xs); background: #001A27; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 32px; }
.fo8__sup .sc8s__k { margin: 0; color: var(--on-dark-3); } .fo8__sup ul { display: flex; flex-wrap: wrap; gap: 32px; align-items: center; } .fo8__sup img { height: calc(56 * var(--u)); width: auto; }
@media (max-width: 899px) { .tk8h, .sc8s__g, .pk8__g, .fo8__g { grid-template-columns: minmax(0, 1fr); } .tk8h__hand { width: 2px; height: 28px; margin-left: 24px; background: repeating-linear-gradient(180deg, #67BBD6 0 5px, transparent 5px 10px); } .tk8h__hand::after { display: none; } .ho8__l, .rs8__l, .pk8__out { grid-template-columns: minmax(0, 1fr); } }

/* ══ ROUND 8 · About ══ */
.hub7__arc { stroke-opacity: .2; stroke-width: .7; }
.hub7__end { fill: #9BD2E6; fill-opacity: .5; }
.ro8 .s7__head { margin-bottom: calc(24 * var(--u)); }
.ro8__k { font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--fg3); margin-bottom: calc(12 * var(--u)); }
.ro8__l { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: calc(14 * var(--u)); }
.ro8__l li { display: grid; gap: 6px; align-content: start; padding: calc(18 * var(--u)); background: var(--ground-white); border: 1px solid var(--rl); border-radius: var(--r-xs); }
.ro8__role { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 700; color: var(--blue-800); }
.ro8__name { font-size: calc(17 * var(--u)); font-weight: 700; color: var(--on-light-1); text-decoration: none; }
.ro8__name:hover { text-decoration: underline; text-underline-offset: 3px; }
.ro8__l p { font-size: calc(14.5 * var(--u)) !important; color: var(--fg2); }
.ro8__more { margin-top: calc(18 * var(--u)); display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(14 * var(--u)); align-items: start; }
.ro8__d { border: 1px solid var(--rl); border-radius: var(--r-xs); background: var(--ground-white); }
.ro8__d summary { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 2px 12px; align-items: center; padding: calc(14 * var(--u)) calc(18 * var(--u)); cursor: pointer; list-style: none; }
.ro8__d summary::-webkit-details-marker { display: none; }
.ro8__d summary b { font-size: calc(16 * var(--u)); } .ro8__d summary span:not(.rl8__x) { grid-column: 1; font-size: calc(14 * var(--u)); color: var(--fg2); } .ro8__d summary .rl8__x { grid-row: 1 / 3; grid-column: 2; }
.ro8__d[open] .rl8__x { transform: rotate(225deg) translate(-2px, -2px); }
.ro8__d ul { display: flex; flex-wrap: wrap; gap: 8px; padding: 0 calc(18 * var(--u)) calc(16 * var(--u)); }
.ro8__d li a { display: inline-flex; align-items: center; min-height: 34px; padding: 0 12px; border-radius: var(--r-pill); border: 1px solid var(--rl); background: var(--ground-mist); font-size: max(14px, var(--floor)); color: var(--on-light-1); text-decoration: none; }
.ro8__d li a:hover { border-color: var(--blue-800); }
.cap7__more li span { font-size: calc(15 * var(--u)); }
@media (max-width: 899px) { .ro8__l { grid-template-columns: repeat(2, minmax(0, 1fr)); } .ro8__more { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 480px) { .ro8__l { grid-template-columns: minmax(0, 1fr); } }

/* ══ ROUND 8 · article reflow (QA-05) and a readable measure ══ */
.art__body .tb-art p, .art__body .tb-art li, .art__body .tb-art a, .art__body .tb-art td, .art__body .tb-art th { overflow-wrap: anywhere; }
.art__body .tb-art p, .art__body .tb-art li { word-break: normal; }
.tbl8 { overflow-x: auto; max-width: 100%; margin: 1.4em 0; border: 1px solid var(--rl); border-radius: var(--r-xs); }
.tbl8:focus-visible { outline: var(--focus-outline-light); outline-offset: 2px; }
.tbl8 table { margin: 0 !important; overflow: visible !important; }
.tb-table-wrap .tbl8 { border: 0; margin: 0; }
.emb8 { position: relative; width: 100%; max-width: 100%; aspect-ratio: 16 / 9; margin: 1.4em 0; }
.emb8 iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }
.art__body img, .art__body video, .art__body svg { max-width: 100%; height: auto; }
.art7b .art__body article.tb-art p, .art7b .art__body article.tb-art li, .art7b .art__body article.tb-art h2, .art7b .art__body article.tb-art h3, .art7b .art__body article.tb-art h4, .art7b .art__body article.tb-art blockquote { max-width: 74ch; }
.art7b .art__body article.tb-art p, .art7b .art__body article.tb-art li { font-size: 19px; }
/* ══ ROUND 8 · Insights masthead ══ */
.ins8m__in { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: 20px 40px; }
.ins8m__h { margin-top: 10px; font-size: calc(52 * var(--u)); font-weight: 700; letter-spacing: -.03em; line-height: 1.04; max-width: 18ch; text-wrap: balance; color: var(--on-light-1); }
.ins8m .ins7m__p { margin-top: 12px; color: var(--on-light-2); }
.ins8m__all { color: var(--on-light-1); }
@media (max-width: 767px) { .ins8m__h { font-size: 34px; } }
/* QA r8: a field's error sits directly under its field when the email row wraps (phones); tab order is unchanged */
.subscribe5 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(240px, 1fr) auto; align-items: center; gap: 10px 14px; }
.subscribe5 > p:first-child { grid-column: 1; grid-row: 1; } .subscribe5 > input { grid-column: 2; grid-row: 1; min-width: 0; } .subscribe5 > button { grid-column: 3; grid-row: 1; }
.subscribe5 > .fl8__e { grid-column: 2 / 4; grid-row: 2; margin-top: -4px; } .subscribe5 > :not(p:first-child):not(input):not(.fl8__e):not(button) { grid-column: 1 / -1; }
@media (max-width: 760px) { .subscribe5 { grid-template-columns: minmax(0, 1fr) auto; } .subscribe5 > p:first-child { grid-column: 1 / -1; } .subscribe5 > input { grid-column: 1; grid-row: 2; } .subscribe5 > button { grid-column: 2; grid-row: 2; } .subscribe5 > .fl8__e { grid-column: 1 / -1; grid-row: 3; } }
@media (max-width: 560px) { .wl > input { order: 1; } .wl > .fl8__e { order: 2; } .wl > button { order: 3; } .wl > :not(input):not(.fl8__e):not(button) { order: 4; }
  .subscribe5 { grid-template-columns: minmax(0, 1fr); } .subscribe5 > input { grid-column: 1; grid-row: 2; } .subscribe5 > .fl8__e { grid-column: 1; grid-row: 3; } .subscribe5 > button { grid-column: 1; grid-row: 4; justify-self: start; } }
/* QA r8 budgets (Astra §1: Private ≈ 5.0–5.2 screens at 1440 × 900): a slightly tighter section rhythm on the round-8 pages */
.r8 .s7 { padding-block: calc(72 * var(--u)); }
@media (max-width: 767px) { .r8 .s7 { padding-block: 56px; } }
/* QA r8 contrast: status labels inside the dark U3 workflow card take the dark-ground colours (was 2.43:1) */
.uc8__card .st.live { color: var(--ok-dark); } .uc8__card .st.soon { color: var(--warn-dark); } .uc8__card .st.lim { color: var(--info-dark); }

/* ══ ROUND 8 · Henri 14 Oct: branded tStock strip (Kit 1.2.2 tiles) in the Public hero; demo-like market preview ══ */
.ph8u .stock-stage { height: calc(500 * var(--u)); background: radial-gradient(ellipse at 55% 45%, #183440 0%, #000 70%); }
.stock-stage--r8 .stock-cols { gap: calc(18 * var(--u)); transform: rotate(-9deg) translateY(calc(-40 * var(--u))); }
.stock-stage--r8 .stock-col { gap: calc(18 * var(--u)); animation: stock8 4.6s var(--motion-ease-settle, cubic-bezier(.2,.7,.2,1)) 1 both; animation-delay: calc(var(--c) * 120ms); }
.stock-stage--r8 .stock-col:nth-child(even) { animation-name: stock8r; }
.stock-stage--r8 .stock-tile { width: calc(124 * var(--u)); height: calc(146 * var(--u)); gap: 8px; }
.stock-stage--r8 .stock-tile img { width: calc(92 * var(--u)); height: calc(92 * var(--u)); }
.stock-stage--r8 .stock-tile span { font-size: max(calc(12.5 * var(--u)), var(--floor)); line-height: 1.2; text-align: center; padding: 0 6px; color: var(--on-dark-1, #fff); }
@keyframes stock8 { from { transform: translateY(calc(-90 * var(--u))); } to { transform: none; } }
@keyframes stock8r { from { transform: translateY(calc(70 * var(--u))); } to { transform: translateY(calc(-30 * var(--u))); } }
html.rm .stock-stage--r8 .stock-col { animation: none !important; }
.stock-stage--r8 .stock-cap { display: flex; justify-content: flex-start; gap: 10px; }
@media (max-width: 767px) { .ph8u .stock-stage { height: 340px; } .stock-stage--r8 .stock-tile { width: 92px; height: 112px; } .stock-stage--r8 .stock-tile img { width: 68px; height: 68px; } .stock-stage--r8 .stock-tile span { font-size: max(11.5px, var(--floor)); } .stock-stage--r8 .stock-cols { gap: 12px; } .stock-stage--r8 .stock-col { gap: 12px; } }
@media (max-width: 400px) { .stock-stage--r8 .stock-col:nth-child(4) { display: none; } }

.mega__card--icons .mega__icons { display: grid; grid-template-columns: repeat(3, 56px); gap: 10px; }
.mega__card--icons .mega__icons img { width: 56px; height: 56px; border-radius: 12px; }

.mp8 { border: 1px solid var(--on-light-rule); border-radius: var(--r-sm, 10px); background: var(--ground-white, #fff); box-shadow: 0 18px 48px rgba(11,20,27,.08); overflow: hidden; }
.mp8__bar { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 12px 18px; border-bottom: 1px solid var(--on-light-rule); background: var(--ground-mist, #F5F7F9); }
.mp8__brand { font-weight: 700; font-size: max(14px, var(--floor)); color: var(--on-light-1); }
.mp8__note { margin-left: auto; font-size: max(13px, var(--floor)); color: var(--on-light-3, #5A6B78); }
.mp8__ctl { display: grid; gap: 10px; padding: 16px 18px 6px; }
.mp8__f { display: flex; flex-wrap: wrap; gap: 8px; }
.mp8__f button { display: inline-flex; align-items: center; gap: 7px; min-height: 36px; padding: 0 13px; border: 1px solid var(--on-light-rule); border-radius: var(--r-pill); background: #fff; font: inherit; font-size: max(14px, var(--floor)); font-weight: 600; color: var(--on-light-2); cursor: pointer; }
.mp8__f button img { width: 18px; height: 13px; border-radius: 2px; }
.mp8__f button[aria-pressed="true"] { background: var(--on-light-1, #0B141B); border-color: var(--on-light-1, #0B141B); color: #fff; }
.mp8__f--cl button { min-height: 32px; font-size: max(13px, var(--floor)); font-weight: 500; }
.mp8__dot { width: 9px; height: 9px; border-radius: 2px; background: var(--u-equity-ink); } .mp8__dot.u-basket { background: var(--u-basket-ink); } .mp8__dot.u-commodity { background: var(--u-commodity-ink); }
.mp8__g { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, 1fr); gap: 0; align-items: start; }
.mp8__list { min-width: 0; padding: 6px 0 0; }
.mp8__hd, .mp8__r { display: grid; grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.2fr) minmax(0, 1fr) auto; align-items: center; gap: 12px; }
.mp8__hd { padding: 8px 18px; font-size: max(12px, var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-light-3, #5A6B78); border-bottom: 1px solid var(--on-light-rule); }
.mp8__rows { list-style: none; margin: 0; padding: 0; max-height: calc(440 * var(--u)); overflow-y: auto; overscroll-behavior: contain; }
.mp8__row + .mp8__row { border-top: 1px solid var(--on-light-rule); }
.mp8__r { width: 100%; padding: 10px 18px; border: 0; background: none; font: inherit; text-align: left; color: var(--on-light-1); cursor: pointer; position: relative; }
.mp8__r:hover { background: var(--ground-mist, #F5F7F9); }
.mp8__r[aria-pressed="true"] { background: var(--u-equity-tint); box-shadow: inset 3px 0 0 var(--u-equity-ink); }
.mp8__a { display: flex; align-items: center; gap: 12px; min-width: 0; }
.mp8__a > img, .mp8__nt { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 10px; }
.mp8__nt { display: inline-flex; align-items: center; justify-content: center; border: 1px dashed var(--on-light-rule-strong, #B7C2CC); background: var(--ground-mist, #F5F7F9); }
.mp8__nt img { border-radius: 2px; } .mp8__nt--l { width: 84px; height: 84px; border-radius: 18px; }
.mp8__nm { display: grid; min-width: 0; } .mp8__nm b { font-size: max(15px, var(--floor)); font-weight: 600; overflow-wrap: anywhere; } .mp8__nm span { font-size: max(13px, var(--floor)); color: var(--on-light-3, #5A6B78); }
.mp8__m { display: inline-flex; align-items: center; gap: 8px; font-size: max(14px, var(--floor)); color: var(--on-light-2); min-width: 0; }
.mp8__m img { width: 20px; height: 15px; border-radius: 2px; flex: 0 0 auto; }
.mp8__cc { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 16px; padding: 0 3px; border: 1px solid var(--on-light-rule); border-radius: 3px; font-size: max(10px, var(--floor)); font-weight: 700; letter-spacing: .04em; color: var(--on-light-2); }
.mp8__c { justify-self: start; display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border-radius: var(--r-pill); border: 1px solid var(--u-equity-rule); background: var(--u-equity-tint); color: var(--u-equity-ink); font-size: max(12.5px, var(--floor)); font-weight: 600; white-space: nowrap; }
.mp8__c.u-basket { border-color: var(--u-basket-rule); background: var(--u-basket-tint); color: var(--u-basket-ink); }
.mp8__c.u-commodity { border-color: var(--u-commodity-rule); background: var(--u-commodity-tint); color: var(--u-commodity-ink); }
.mp8__foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 18px 14px; border-top: 1px solid var(--on-light-rule); }
.mp8__cnt { margin: 0; font-size: max(13px, var(--floor)); color: var(--on-light-3, #5A6B78); }
.mp8__d { position: sticky; top: calc(var(--hdr-h, 64px) + 16px); margin: 14px 18px 18px 0; padding: 22px; border-radius: var(--r-sm, 10px); background: var(--ground-depth), var(--ground-black, #000); color: #fff; }
.mp8__dh { display: flex; align-items: center; gap: 16px; padding-bottom: 18px; border-bottom: 1px solid var(--on-dark-rule); }
.mp8__dt > img { width: 84px; height: 84px; display: block; } .mp8__dt .mp8__nt { border-color: rgba(255,255,255,.3); background: rgba(255,255,255,.04); }
.mp8__dh b { display: block; font-size: 20px; font-weight: 700; letter-spacing: -.01em; } .mp8__dh span[data-mp-list] { display: block; margin: 2px 0 8px; font-size: max(14px, var(--floor)); color: var(--on-dark-2); }
.mp8__d .mp8__c { background: var(--u-equity-face-dark); border-color: transparent; color: var(--u-equity-ink-dark); }
.mp8__d .mp8__c.u-basket { background: var(--u-basket-face-dark); color: var(--u-basket-ink-dark); } .mp8__d .mp8__c.u-commodity { background: var(--u-commodity-face-dark); color: var(--u-commodity-ink-dark); }
.mp8__flow { list-style: none; margin: 18px 0; padding: 0; display: grid; gap: 14px; }
.mp8__flow li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; }
.mp8__fk { font-size: max(12px, var(--floor)); font-weight: 700; color: var(--sky-400, #6CC4E0); padding-top: 2px; }
.mp8__flow b { font-size: max(15px, var(--floor)); } .mp8__flow p { margin: 2px 0 0; font-size: max(14px, var(--floor)); color: var(--on-dark-2); }
.mp8__d .btn { color: #fff; border-color: rgba(255,255,255,.4); }
.mp8__fn { margin: 0; padding: 12px 18px 16px; border-top: 1px solid var(--on-light-rule); }
@media (max-width: 1099px) { .mp8__hd, .mp8__r { grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) auto; } .mp8__hd span:nth-child(4), .mp8__s { display: none; } }
@media (max-width: 899px) { .mp8__g { grid-template-columns: minmax(0, 1fr); } .mp8__d { position: static; margin: 0 14px 14px; } .mp8__rows { max-height: none; } }
@media (max-width: 599px) { .mp8__hd { display: none; } .mp8__r { grid-template-columns: minmax(0, 1fr) auto; row-gap: 6px; padding: 12px 14px; } .mp8__m { grid-column: 1; grid-row: 2; padding-left: 56px; font-size: max(13px, var(--floor)); } .mp8__c { grid-column: 2; grid-row: 1 / span 2; align-self: center; } .mp8__bar, .mp8__ctl, .mp8__foot, .mp8__fn { padding-left: 14px; padding-right: 14px; } .mp8__note { margin-left: 0; } .mp8__f { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; } .mp8__f button { flex: 0 0 auto; } }
.mp8__hd, .mp8__r { grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.2fr) minmax(0, 1fr); }
.mp8__grp { margin: 0; padding: 9px 18px; background: var(--ground-mist, #F5F7F9); border-bottom: 1px solid var(--on-light-rule); font-size: max(13px, var(--floor)); color: var(--on-light-3, #5A6B78); }
.mp8__grp b { color: var(--warn, #7A3D00); font-weight: 700; margin-right: 6px; }
.mp8__more { font-weight: 600; }
.mp8__fn { max-width: none; }
.stock-stage--r8 .stock-cols { align-items: center; transform: rotate(-9deg); }
@media (max-width: 1099px) { .mp8__hd, .mp8__r { grid-template-columns: minmax(0, 2fr) minmax(0, 1.1fr) auto; } }
.mega__card.mega__card--icons { min-height: 252px; }
.mega__card--icons .mega__icons { grid-template-columns: repeat(3, 50px); gap: 9px; top: 16px; right: 16px; }
.mega__card--icons .mega__icons img { width: 50px; height: 50px; }
.mp8 .mp8__grp { font-size: max(13px, var(--floor)); line-height: 1.4; max-width: none; }
.mp8 .mp8__grp span { font-size: max(13px, var(--floor)); }
/* P3: each rail capability carries its icon (Henri, 14 Oct) */
.rl8__r summary { gap: 12px; }
.rl8__ri { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 8px; background: var(--ground-mist, #F5F7F9); border: 1px solid var(--on-light-rule); color: var(--sky-700, #1F6F8B); }
.rl8__ri .ic8 { width: 20px; height: 20px; }
.rl8__r[open] .rl8__ri { background: var(--u-equity-tint, #EEF4FF); }
.rl8__r p { padding-left: 44px; }
/* About team (Henri, 14 Oct): one soft black overlay on every portrait, the same treatment as the prepared candidates */
.pp6__ph img { filter: saturate(.75); }
.pp6__ph:not(.pp6__ph--pending)::after { background: linear-gradient(rgba(0,0,0,.12), rgba(0,0,0,.12)), radial-gradient(circle at 50% 42%, transparent 58%, rgba(0,0,0,.12) 100%); }
/* Portal squares (Henri, 14 Oct: "one impulse flowing as a loop"): three passes down the five squares in about 4.9 s,
   then rest with the centre lit (motion stop rule: nothing moves for more than 5 s without a control) */
html.js:not(.rm) .portal7__sq i { animation: sq8 1.2s var(--ease) 3 both; animation-delay: calc(var(--k) * 220ms + 400ms); }
html.js:not(.rm) .portal7__sq i:nth-child(3) { animation: sq8 1.2s var(--ease) 3 both, sq8c .6s var(--ease) forwards; animation-delay: calc(var(--k) * 220ms + 400ms), calc(var(--k) * 220ms + 400ms + 3.6s); }
.portal7__sq i:nth-child(2) { background: rgba(103,187,214,.28); box-shadow: none; }
/* About headline on two lines (Henri, 14 Oct): wider copy column, one line per phrase on desktop; phones wrap naturally */
@media (min-width: 1200px) {
  .abh7__g { grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr); }
  .abh7 .ph7__h { max-width: none; font-size: calc(50 * var(--u)); }
  .abh7 .ph7__h .ln { display: block; white-space: nowrap; }
}
/* QA r8: at narrow widths a rail row's status pill moves under its title (320 px overflowed by 21 px) */
.rl8__t { min-width: 0; }
@media (max-width: 480px) { .rl8__r summary { flex-wrap: wrap; row-gap: 6px; } .rl8__r summary .rl8__t { flex: 1 1 calc(100% - 90px); } .rl8__r summary .rl8__x { order: 2; } .rl8__r summary .st { order: 3; margin-left: 44px; } .rl8__r p { padding-left: 0; } }
/* Public market preview (Henri, 14 Oct, 2): demo thumbnails, Atlas pre-screen, planned mint and redeem flow */
.mp8__a > img { width: 40px; height: 40px; border-radius: 0; }
.mp8__dt > img { width: 84px; height: 84px; }
.mp8__tabs { display: flex; gap: 4px; margin: 18px 0 14px; padding: 4px; border-radius: 10px; background: rgba(255,255,255,.06); }
.mp8__tabs [role=tab] { flex: 1 1 0; min-height: 36px; padding: 0 10px; border: 0; border-radius: 7px; background: none; font: inherit; font-size: max(13.5px, var(--floor)); font-weight: 600; color: var(--on-dark-2); cursor: pointer; }
.mp8__tabs [role=tab][aria-selected="true"] { background: rgba(255,255,255,.12); color: #fff; }
.mp8__p { min-height: 286px; }
.at8__hd { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.at8__k { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0; font-size: max(12.5px, var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-dark-3); }
.at8__s { margin: 0; display: flex; align-items: baseline; gap: 4px; white-space: nowrap; }
.at8__s b { font-size: 34px; line-height: 1; font-weight: 700; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.at8__s > span:not(.at8__st) { font-size: max(14px, var(--floor)); color: var(--on-dark-3); }
.at8__st { margin-left: 8px; padding: 3px 9px; border-radius: var(--r-pill); border: 1px solid rgba(142,203,155,.45); color: #8ECB9B; font-size: max(12px, var(--floor)); font-weight: 600; }
.at8__dims { list-style: none; margin: 0; padding: 0; display: grid; gap: 9px; }
.at8__dims li { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr) 2.2em; align-items: center; gap: 10px; font-size: max(13.5px, var(--floor)); color: var(--on-dark-2); }
.at8__dims i { position: relative; height: 6px; border-radius: 3px; background: rgba(255,255,255,.1); overflow: hidden; }
.at8__dims i::after { content: ""; position: absolute; inset: 0; transform-origin: left; transform: scaleX(var(--v)); background: #67BBD6; border-radius: 3px; }
.at8__dims b { text-align: right; font-weight: 600; color: #fff; font-variant-numeric: tabular-nums; }
.at8__note, .mr8__note { margin: 14px 0 0; font-size: max(12.5px, var(--floor)); line-height: 1.5; color: var(--on-dark-3); }
.at8__n { margin: 12px 0 0; font-size: max(15px, var(--floor)); color: var(--on-dark-2); }
.mr8__sw { display: inline-flex; gap: 4px; padding: 3px; border: 1px solid rgba(255,255,255,.16); border-radius: var(--r-pill); }
.mr8__sw button { min-height: 32px; padding: 0 16px; border: 0; border-radius: var(--r-pill); background: none; font: inherit; font-size: max(13.5px, var(--floor)); font-weight: 600; color: var(--on-dark-2); cursor: pointer; }
.mr8__sw button[aria-pressed="true"] { background: #fff; color: var(--on-light-1, #0B141B); }
.mr8__st { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 0; }
.mr8__st li { position: relative; display: grid; grid-template-columns: 22px minmax(0, 1fr); gap: 12px; padding-bottom: 14px; }
.mr8__st li:not(:last-child)::before { content: ""; position: absolute; left: 10px; top: 20px; bottom: 0; width: 2px; background: rgba(255,255,255,.12); }
.mr8__dot { width: 22px; height: 22px; border-radius: 6px; border: 2px solid rgba(103,187,214,.5); background: #0B141B; }
.mr8__st b { font-size: max(14.5px, var(--floor)); } .mr8__st p { margin: 2px 0 0; font-size: max(13.5px, var(--floor)); color: var(--on-dark-2); }
.mr8__st li .mr8__dot { background: #67BBD6; border-color: #67BBD6; }
html.js:not(.rm) .mr8.is-run .mr8__st li .mr8__dot { animation: mr8 .5s var(--ease) both; animation-delay: calc(var(--i) * 700ms); }
@keyframes mr8 { from { background: #0B141B; border-color: rgba(103,187,214,.5); box-shadow: none; } 60% { box-shadow: 0 0 0 5px rgba(103,187,214,.25); } to { background: #67BBD6; border-color: #67BBD6; box-shadow: none; } }
@media (max-width: 599px) { .mp8__tabs [role=tab] { font-size: max(12.5px, var(--floor)); padding: 0 6px; } .at8__dims li { grid-template-columns: minmax(0, 1.4fr) minmax(0, .8fr) 2.2em; font-size: max(12.5px, var(--floor)); } .mp8__p { min-height: 0; } }
/* the section body rule (.s7 p) must not resize the preview's small print */
.s7 .mp8 .at8__note, .s7 .mp8 .mr8__note { font-size: max(12.5px, var(--floor)); line-height: 1.5; color: var(--on-dark-3); }
.s7 .mp8 .at8__k { font-size: max(12px, var(--floor)); line-height: 1.3; }
.s7 .mp8 .at8__s { font-size: inherit; }
.s7 .mp8 .at8__n { font-size: max(15px, var(--floor)); }
.s7 .mp8 .mr8__st p { font-size: max(13.5px, var(--floor)); line-height: 1.45; }
.s7 .mp8 p.mp8__fn { font-size: max(13px, var(--floor)); line-height: 1.5; max-width: none; }
.s7 .mp8 .mp8__more { font-size: max(15px, var(--floor)); border: 0; background: none; padding: 6px 0; }
/* About team (Henri, 14 Oct): LinkedIn as on the live site, no bios */
.pp6__li { display: inline-flex; align-items: center; gap: 6px; margin-top: 8px; font-size: max(13.5px, var(--floor)); font-weight: 600; color: var(--sky-700, #1F6F8B); text-decoration: none; }
.pp6__li svg { width: 16px; height: 16px; }
.pp6__li:hover span:first-of-type { text-decoration: underline; }
/* ══ Henri, 14 Oct: animations autoplay continuously (reduced motion: still; paused on hover, off screen and in a hidden tab) ══ */
.pb7.is-run .pb7__track { animation: pb7 var(--ld, 80s) linear infinite; }
.pb7.is-run.is-halted .pb7__track { animation-play-state: paused; }
html.js:not(.rm) .portal7__sq i { animation: sq8 2.4s var(--ease) infinite both; animation-delay: calc(var(--k) * 220ms + 400ms); }
html.js:not(.rm) .portal7__sq i:nth-child(3) { animation: sq8 2.4s var(--ease) infinite both; animation-delay: calc(var(--k) * 220ms + 400ms); }
@keyframes sq8 { 0% { background: rgba(103,187,214,.28); box-shadow: none; } 6% { background: #67BBD6; box-shadow: 0 0 14px rgba(103,187,214,.7); } 18%, 100% { background: rgba(103,187,214,.28); box-shadow: none; } }
html.js:not(.rm) .a8.is-in .a8__pk { animation: a8pk8 3.2s var(--motion-ease-settle) 300ms infinite both; }
@keyframes a8pk8 { 0% { offset-distance: 0%; opacity: 0; } 8% { opacity: 1; } 42% { opacity: 1; offset-distance: 100%; } 48%, 100% { offset-distance: 100%; opacity: 0; } }
html.js:not(.rm) .a8.is-in .a8__c.a8__lit { animation: a8lit 3.2s var(--ease) 300ms infinite; }
@keyframes a8lit { 0%, 40% { filter: none; } 46% { filter: drop-shadow(0 0 6px rgba(103,187,214,.9)); } 70%, 100% { filter: none; } }
.stock-stage--r8 .stock-col { animation: stk8 var(--dur, 46s) linear infinite; animation-delay: calc(var(--c) * -7s); }
.stock-stage--r8 .stock-col:nth-child(1) { --dur: 46s; } .stock-stage--r8 .stock-col:nth-child(2) { --dur: 54s; animation-name: stk8r; } .stock-stage--r8 .stock-col:nth-child(3) { --dur: 50s; } .stock-stage--r8 .stock-col:nth-child(4) { --dur: 58s; animation-name: stk8r; }
@keyframes stk8 { from { transform: translateY(0); } to { transform: translateY(-50%); } }
@keyframes stk8r { from { transform: translateY(-50%); } to { transform: translateY(0); } }
.stock-stage--r8.is-halted .stock-col, .stock-stage--r8:hover .stock-col, .stock-stage--r8:focus-within .stock-col { animation-play-state: paused; }
html.rm .stock-stage--r8 .stock-col { animation: none !important; }
.stock-stage--r8 .stock-cols { align-items: flex-start; }
html.js:not(.rm) .mr8.is-run .mr8__st li .mr8__dot, html.js:not(.rm) .mr8 .mr8__st li .mr8__dot { animation: mr8c 5s var(--ease) infinite; animation-delay: calc(var(--i) * 800ms); }
@keyframes mr8c { 0% { background: #0B141B; border-color: rgba(103,187,214,.5); box-shadow: none; } 8% { background: #67BBD6; border-color: #67BBD6; box-shadow: 0 0 0 5px rgba(103,187,214,.25); } 14%, 70% { background: #67BBD6; border-color: #67BBD6; box-shadow: none; } 82%, 100% { background: #0B141B; border-color: rgba(103,187,214,.5); } }
/* ══ About roles (Henri, 14 Oct): a role map in the brand's line grammar (solid line with end dots joins two things) ══ */
.rm8 { position: relative; margin: 0; }
.rm8__hub { position: relative; z-index: 1; display: flex; align-items: center; gap: 16px; width: max-content; max-width: 100%; margin: 0 auto calc(56 * var(--u)); padding: 14px 22px 14px 14px; border-radius: 14px; background: var(--ground-black, #000); color: #fff; box-shadow: 0 14px 40px rgba(11,20,27,.18); }
.rm8__blk { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 11.7%; background: linear-gradient(160deg, #1B3845, #4C7E8E); box-shadow: 0 0 0 1px rgba(155,210,230,.35), 0 0 22px rgba(103,187,214,.35); }
.rm8__blk img { width: 30px; height: 30px; }
.rm8__hub b { display: block; font-size: max(17px, var(--floor)); } .rm8__hub span:not(.rm8__blk) { display: block; font-size: max(13.5px, var(--floor)); color: var(--on-dark-2); }
.rm8__l { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 16px; }
/* the rail under the hub and one connector to each role, each ending in a dot */
.rm8__l::before { content: ""; position: absolute; left: 10%; right: 10%; top: calc(-28 * var(--u)); height: 2px; background: #9FB2BE; }
.rm8__hub::after { content: ""; position: absolute; left: 50%; bottom: calc(-28 * var(--u)); width: 2px; height: calc(28 * var(--u)); background: #9FB2BE; transform: translateX(-1px); }
.rm8__l li { position: relative; display: flex; flex-direction: column; gap: 8px; padding: 20px 18px 18px; background: #fff; border: 1px solid var(--on-light-rule); border-radius: 12px; }
.rm8__l li::before { content: ""; position: absolute; left: 50%; top: calc(-28 * var(--u)); width: 2px; height: calc(28 * var(--u)); background: #9FB2BE; transform: translateX(-1px); }
.rm8__l li::after { content: ""; position: absolute; left: 50%; top: -5px; width: 8px; height: 8px; border-radius: 2px; background: #235F73; transform: translateX(-4px); }
.rm8__lg { display: flex; align-items: center; height: 40px; }
.rm8__lg img, .rm8__lg .mkv { height: calc(var(--mh) * 1px); max-height: 28px; width: auto; max-width: 100%; }
.rm8__nm { font-weight: 700; font-size: max(15px, var(--floor)); color: var(--on-light-1); }
.rm8__role { font-size: max(12px, var(--floor)); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sky-700, #1F6F8B); }
.s7 .rm8__l p { margin: 0; font-size: max(14px, var(--floor)); line-height: 1.5; color: var(--fg2); flex: 1 1 auto; }
.rm8__go { font-size: max(13.5px, var(--floor)); font-weight: 600; color: var(--on-light-1); text-decoration: none; }
.rm8__go:hover { text-decoration: underline; }
.rm8__rows { display: grid; gap: 18px; margin-top: calc(56 * var(--u)); padding-top: calc(28 * var(--u)); border-top: 1px solid var(--on-light-rule); }
.rm8__row { display: grid; grid-template-columns: 220px minmax(0, 1fr); align-items: center; gap: 12px 28px; }
.s7 .rm8__k { margin: 0; font-size: max(12.5px, var(--floor)); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--on-light-3, #5A6B78); }
.rm8__marks { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 14px 30px; }
.rm8__m a { display: inline-flex; align-items: center; min-height: 36px; opacity: .72; transition: opacity 200ms var(--ease); }
.rm8__m a:hover, .rm8__m a:focus-visible { opacity: 1; }
.rm8__m img, .rm8__m .mkv { height: calc(var(--mh) * 1px); max-height: 26px; width: auto; filter: grayscale(1) brightness(.25); }
.rm8__m [data-f="invert"] { filter: invert(1) grayscale(1) brightness(.25); }
.s7 .rm8__note { grid-column: 2; margin: 0; font-size: max(13px, var(--floor)); color: var(--on-light-3, #5A6B78); }
@media (max-width: 1099px) { .rm8__l { grid-template-columns: repeat(3, minmax(0, 1fr)); } .rm8__l::before, .rm8__l li::before, .rm8__l li::after, .rm8__hub::after { display: none; } .rm8__hub { margin-bottom: 24px; } }
@media (max-width: 699px) { .rm8__l { grid-template-columns: minmax(0, 1fr); } .rm8__row { grid-template-columns: minmax(0, 1fr); } .s7 .rm8__note { grid-column: 1; } .rm8__hub { width: auto; } }
/* marks on a light ground: one dark monochrome silhouette for every wordmark (several are drawn for dark grounds) */
.rm8__lg img, .rm8__lg .mkv, .rm8__m img, .rm8__m .mkv, .rm8__m [data-f="invert"], .rm8__lg [data-f="invert"] { filter: brightness(0); opacity: .82; }
.rm8__m a { opacity: .8; }
.rm8 [data-f="invert"] { filter: brightness(0) !important; }
/* Public: featured article before the questions (Henri, 14 Oct) */
.fa8 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: calc(36 * var(--u)); align-items: center; margin-top: calc(48 * var(--u)); padding: calc(20 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: 14px; background: #fff; }
.fa8__img { display: block; border-radius: 10px; overflow: hidden; aspect-ratio: 16 / 9; background: #06090C; }
.fa8__img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 600ms var(--motion-ease-settle); }
.fa8:hover .fa8__img img { transform: scale(1.02); }
.s7 .fa8__k { margin: 0 0 8px; font-size: max(12.5px, var(--floor)); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--sky-700, #1F6F8B); }
.fa8__k span { color: var(--on-light-3, #5A6B78); }
.fa8 h3 { margin: 0 0 10px; font-size: calc(26 * var(--u)); line-height: 1.2; letter-spacing: -.015em; text-wrap: balance; }
.fa8 h3 a { color: inherit; text-decoration: none; } .fa8 h3 a:hover { text-decoration: underline; }
.s7 .fa8__d { margin: 0 0 8px; font-size: max(16px, var(--floor)); color: var(--fg2); max-width: 56ch; }
.s7 .fa8__m { margin: 0 0 14px; font-size: max(13.5px, var(--floor)); color: var(--on-light-3, #5A6B78); }
@media (max-width: 767px) { .fa8 { grid-template-columns: minmax(0, 1fr); gap: 18px; } .fa8 h3 { font-size: 22px; } }
/* P5 (Henri, 14 Oct: use the brand book's artwork): the approved illustration-system explainer for the selected layer */
.fw8__ill { position: relative; margin: 0 0 14px; border-radius: 12px; overflow: hidden; background: #F5F7F9; border: 1px solid var(--on-light-rule); aspect-ratio: 1200 / 820; }
.fw8__ill img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; opacity: 0; transition: opacity 400ms var(--ease); }
.fw8__x[data-on="vehicle"] .fw8__ill img[data-l="vehicle"], .fw8__x[data-on="rights"] .fw8__ill img[data-l="rights"], .fw8__x[data-on="life"] .fw8__ill img[data-l="life"] { opacity: 1; }
.fw8__marks { gap: 14px 34px; margin: 10px 0 14px; }
.fw8__marks li { display: grid; gap: 4px; }
.fw8__pr { font-size: max(12px, var(--floor)); color: var(--on-light-3, #5A6B78); }
/* Public U3 (Henri, 14 Oct: designed more beautifully): audience tiles in the Block gradient, icons on the service stack */
.uc8__ic { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: calc(44 * var(--u)); height: calc(44 * var(--u)); border-radius: 11.7%; background: linear-gradient(160deg, #1B3845, #4C7E8E); color: #fff; }
.uc8__ic .ic8 { width: 22px; height: 22px; }
.uc8 .au7__r { display: flex; align-items: flex-start; gap: 14px; }
.sk8__l li { position: relative; }
.sk8__i { display: inline-flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 6px; border-radius: 8px; background: var(--ground-mist, #F5F7F9); border: 1px solid var(--on-light-rule); color: var(--sky-700, #1F6F8B); }
.sk8__i .ic8 { width: 20px; height: 20px; }
.s7 .sk8__b { font-size: max(15px, var(--floor)); line-height: 1.55; }
.fw8__ill { aspect-ratio: 1200 / 700; }
.fw8__ill img[data-l="vehicle"] { transform: scale(1.55) translateY(-2%); }
.fw8__ill img[data-l="rights"] { transform: scale(1.12); }
.fw8__ill img[data-l="life"] { transform: scale(1.18); }
.fw8__ill img[data-l="rights"] { transform: scale(1.75) translateY(1%); }
/* About consistency (Henri, 14 Oct): the market section takes the site's section heading; the team fills its rows */
.mk6--about .mk6__h { font-family: var(--font-sans, Inter, system-ui, sans-serif); font-size: calc(44 * var(--u)); font-weight: 700; letter-spacing: -.025em; line-height: 1.08; }
.mk6--about { padding-top: calc(72 * var(--u)); }
@media (max-width: 767px) { .mk6--about .mk6__h { font-size: 31px; } }
@media (min-width: 1280px) { .ab6t__l--lead { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.ab6t__l + .ab6t__l { margin-top: calc(16 * var(--u)); }
@media (min-width: 1280px) {
  .ab6t__l--lead .pp6 { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
  .ab6t__l--lead .pp6__ph { width: calc(72 * var(--u)); height: calc(72 * var(--u)); }
}
.ab6t__l.ab6t__l--lead { align-items: stretch; }
.ab6t__l--lead + .ab6t__l { margin-top: calc(16 * var(--u)) !important; }
@media (min-width: 1280px) { .ab6t__l--lead .pp6__ph { flex: 0 0 auto; width: calc(72 * var(--u)); height: calc(72 * var(--u)); min-height: calc(72 * var(--u)); aspect-ratio: 1; } .ab6t__l--lead .pp6__t { height: auto; } }
/* QA r8 stress: bold inside bold table cells resolved to 900 (outside the brand's 400–800); one bold weight */
.art__body strong, .art__body b, .tbl8 strong, .tbl8 b { font-weight: 700; }
/* Public market preview: an empty state when the filters match nothing */
.mp8__empty { margin: 0; padding: 22px 18px; font-size: max(14.5px, var(--floor)); color: var(--on-light-3, #5A6B78); }
.mp8__empty button { font: inherit; font-weight: 600; color: var(--sky-700, #1F6F8B); background: none; border: 0; padding: 0; cursor: pointer; text-decoration: underline; }
/* QA r8 contrast: status labels inside the dark preview panel take the dark-ground colours */
.mp8__d .st.live { color: var(--ok-dark); } .mp8__d .st.soon { color: var(--warn-dark); } .mp8__d .st.lim { color: var(--info-dark); }
.pp6__li { min-height: 24px; padding-block: 2px; }
.rm8__go { display: inline-flex; align-items: center; min-height: 24px; }
.rm8__m img, .rm8__lg img { width: auto; }
/* P5: with the illustration carrying the picture, only the selected layer's card shows beneath it (no JS: all three) */
html.js .fw8__x[data-on="vehicle"] .fw8__ly:not([data-l="vehicle"]), html.js .fw8__x[data-on="rights"] .fw8__ly:not([data-l="rights"]), html.js .fw8__x[data-on="life"] .fw8__ly:not([data-l="life"]) { display: none; }

/* ═════ round 9 · 14 Oct · Henri's production pass ═════
   Small type in the new blocks uses max(calc(N * var(--u)), var(--floor)): N visual px at the 80% site scale, never under the floor. */
.fs9 { font-size: max(calc(13 * var(--u)), var(--floor)); }

/* Public hero: the status line sits under the art, outside the stage's fade mask */
.stock-wrap9 { position: relative; }
.stock-cap.stock-cap--r9 { position: static; margin: calc(14 * var(--u)) 0 0; padding: 0; background: none; border: 0; -webkit-backdrop-filter: none; backdrop-filter: none; justify-content: flex-start; gap: 12px; font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--on-dark-2); }
.stock-cap--r9 .st.soon { color: var(--warn-dark); }
.stock-wrap9.off .stock-col, .stock-wrap9.is-halted .stock-col, .stock-wrap9:hover .stock-col, .stock-wrap9:focus-within .stock-col { animation-play-state: paused; }

/* Public market explorer (U2): soft detail card, networks and protocols bar, three columns */
.mp9 .mp8__brand { display: inline-flex; align-items: center; gap: 8px; font-size: max(calc(15 * var(--u)), var(--floor)); }
.mp9 .mp8__note { font-size: max(calc(13 * var(--u)), var(--floor)); font-variant-numeric: tabular-nums; }
.mp9 .mp8__f button { min-height: calc(38 * var(--u)); font-size: max(calc(14 * var(--u)), var(--floor)); padding: 0 calc(14 * var(--u)); }
.mp9 .mp8__f button:hover:not([aria-pressed="true"]) { border-color: #A9BCC7; background: var(--ground-mist); }
.mp9__net { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: calc(6 * var(--u)) 0 calc(8 * var(--u)); }
.mp9__nk { margin-right: 2px; font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-light-3); }
.mp9__ch { display: inline-flex; align-items: center; gap: 7px; min-height: calc(32 * var(--u)); padding: 0 calc(12 * var(--u)) 0 calc(8 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: var(--r-pill); background: var(--ground-mist); font-size: max(calc(13.5 * var(--u)), var(--floor)); font-weight: 600; color: var(--on-light-2); white-space: nowrap; }
.mp9__ch img { width: calc(18 * var(--u)); height: calc(18 * var(--u)); border-radius: 50%; }
.mp9__sep { width: 1px; height: calc(22 * var(--u)); margin: 0 6px; background: var(--on-light-rule); }
.mp9 .mp8__hd, .mp9 .mp8__r { grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.25fr) minmax(0, 1fr); }
.mp9 .mp8__hd { font-size: max(calc(12 * var(--u)), var(--floor)); }
.mp9 .mp8__r { padding-block: calc(12 * var(--u)); transition: background-color 160ms var(--ease); }
.mp9 .mp8__r:hover { background: #F2F6F8; }
.mp9 .mp8__r[aria-pressed="true"] { background: #EAF2F6; box-shadow: inset 3px 0 0 var(--blue-800); }
.mp9 .mp8__nm b { font-size: max(calc(15.5 * var(--u)), var(--floor)); }
.mp9 .mp8__nm span, .mp9 .mp8__m { font-size: max(calc(13.5 * var(--u)), var(--floor)); }
.mp9__ls { font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-light-3); font-variant-numeric: tabular-nums; white-space: nowrap; }
.mp9 .mp8__rows { max-height: none; }
.s7 .mp9 .mp8__grp, .s7 .mp9 .mp8__grp span { font-size: max(calc(13 * var(--u)), var(--floor)); }
.s7 .mp9 .mp8__more { font-size: max(calc(15 * var(--u)), var(--floor)); }
.mp9__d { margin: calc(16 * var(--u)) calc(18 * var(--u)) calc(18 * var(--u)) 0; padding: calc(24 * var(--u)); border: 1px solid #DCE6EC; border-radius: 12px; background: linear-gradient(180deg, #F6F9FB 0%, #EEF4F7 100%); color: var(--on-light-1); box-shadow: 0 1px 0 rgba(255,255,255,.9) inset; }
.mp9__d .mp8__dh { border-bottom-color: #D9E3E9; }
.mp9__d .mp8__dt > img { width: calc(76 * var(--u)); height: calc(76 * var(--u)); border-radius: 14px; box-shadow: 0 10px 24px rgba(0,43,64,.18); }
.mp9__d .mp8__dh b { font-size: max(calc(20 * var(--u)), var(--floor)); color: var(--on-light-1); }
.mp9__d .mp8__dh span[data-mp-list] { color: var(--on-light-3); font-size: max(calc(14 * var(--u)), var(--floor)); }
.mp9__d .mp8__c, .mp9__d .mp8__c.u-basket, .mp9__d .mp8__c.u-commodity { background: #fff; border: 1px solid #D3DEE5; color: var(--on-light-2); font-size: max(calc(12.5 * var(--u)), var(--floor)); }
.mp9__d .mp8__tabs { margin: calc(18 * var(--u)) 0 calc(16 * var(--u)); background: rgba(0,26,39,.06); }
.mp9__d .mp8__tabs [role=tab] { min-height: calc(38 * var(--u)); font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-light-2); transition: background-color 160ms var(--ease), color 160ms var(--ease); }
.mp9__d .mp8__tabs [role=tab]:hover { color: var(--on-light-1); }
.mp9__d .mp8__tabs [role=tab][aria-selected="true"] { background: #fff; color: var(--on-light-1); box-shadow: 0 1px 3px rgba(11,20,27,.12); }
.mp9 .mp8__p { min-height: calc(330 * var(--u)); }
.mp9__d .mr8__sw { border-color: #D3DEE5; background: #fff; }
.mp9__d .mr8__sw button { min-height: calc(32 * var(--u)); font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-light-2); }
.mp9__d .mr8__sw button[aria-pressed="true"] { background: var(--ground-navy); color: #fff; }
.mp9__d .mr8__st b { font-size: max(calc(14.5 * var(--u)), var(--floor)); color: var(--on-light-1); }
.s7 .mp9__d .mr8__st p { font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-light-2); }
.mp9__d .mr8__st li:not(:last-child)::before { background: #D0DCE3; }
.mp9__d .mr8__st li .mr8__dot, .mp9__d .mr8__dot { background: #fff; border-color: #A9C3D0; }
html.js:not(.rm) .mp9__d .mr8 .mr8__st li .mr8__dot { animation: mr9c 5s var(--ease) infinite; animation-delay: calc(var(--i) * 800ms); }
html.rm .mp9__d .mr8__st li .mr8__dot { background: var(--blue-800); border-color: var(--blue-800); }
@keyframes mr9c { 0% { background: #fff; border-color: #A9C3D0; box-shadow: none; } 8% { background: var(--blue-800); border-color: var(--blue-800); box-shadow: 0 0 0 5px rgba(35,95,115,.16); } 14%, 70% { background: var(--blue-800); border-color: var(--blue-800); box-shadow: none; } 82%, 100% { background: #fff; border-color: #A9C3D0; box-shadow: none; } }
.mp9__d .at8__k { color: var(--on-light-3); }
.mp9__d .at8__s b { color: var(--on-light-1); }
.mp9__d .at8__s > span:not(.at8__st) { color: var(--on-light-3); }
.mp9__d .at8__st { border-color: #C9D6DE; background: #fff; color: var(--on-light-2); }
.mp9__d .at8__dims li { color: var(--on-light-2); font-size: max(calc(13.5 * var(--u)), var(--floor)); }
.mp9__d .at8__dims i { background: #DCE6EC; }
.mp9__d .at8__dims i::after { background: var(--blue-850); }
.mp9__d .at8__dims b { color: var(--on-light-1); }
.s7 .mp9__d .at8__n { color: var(--on-light-2); }
.s7 .mp9 .at9__fn { margin: calc(16 * var(--u)) 0 0; padding-top: calc(12 * var(--u)); border-top: 1px solid #D9E3E9; font-size: max(calc(12.5 * var(--u)), var(--floor)); line-height: 1.5; color: var(--on-light-3); max-width: none; }
.dc9__f, .dc9__docs { list-style: none; margin: 0; padding: 0; display: grid; gap: calc(12 * var(--u)); }
.dc9__f li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; }
.dc9__i { display: grid; place-items: center; width: calc(38 * var(--u)); height: calc(38 * var(--u)); border: 1px solid #D3DEE5; border-radius: 9px; background: #fff; color: var(--blue-800); }
.dc9__i svg { width: calc(20 * var(--u)); height: calc(20 * var(--u)); }
.dc9__f b { display: block; font-size: max(calc(14.5 * var(--u)), var(--floor)); }
.dc9__f span, .dc9__t span { display: block; font-size: max(calc(13.5 * var(--u)), var(--floor)); line-height: 1.45; color: var(--on-light-2); }
.s7 .mp9 .dc9__k { margin: calc(20 * var(--u)) 0 calc(10 * var(--u)); font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--on-light-3); }
.dc9__docs { gap: 8px; }
.dc9__docs li { display: flex; align-items: center; gap: 12px; padding: calc(10 * var(--u)) calc(12 * var(--u)); border: 1px solid #D3DEE5; border-radius: 9px; background: #fff; }
.dc9__pdf { flex: none; padding: 4px 6px; border-radius: 4px; background: var(--blue-850); color: #fff; font-size: max(calc(10.5 * var(--u)), var(--floor)); font-weight: 700; letter-spacing: .06em; }
.dc9__t { flex: 1 1 auto; min-width: 0; } .dc9__t b { display: block; font-size: max(calc(14 * var(--u)), var(--floor)); }
.dc9__t span { color: var(--on-light-3); font-size: max(calc(12.5 * var(--u)), var(--floor)); }
.dc9__s { flex: none; font-size: max(calc(12 * var(--u)), var(--floor)); color: var(--on-light-3); white-space: nowrap; }
@media (max-width: 899px) { .mp9__d { margin: 0 14px 14px; } }
@media (max-width: 599px) { .mp9 .mp8__r { grid-template-columns: minmax(0, 1fr) auto; } .mp9 .mp8__m { grid-column: 1; grid-row: 2; padding-left: 52px; } .mp9__ls { grid-column: 2; grid-row: 1 / span 2; align-self: center; } .mp9__net { padding-inline: 0; } }

/* Public outcomes (U3): three audiences, outcome pictures, then the order-to-mint workflow and the featured read */
.uc9 .s7__head .eyebrow { margin-bottom: calc(14 * var(--u)); }
.uc9__g { list-style: none; margin: calc(44 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(24 * var(--u)); }
.uc9__c { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--on-light-rule); border-radius: var(--r-lg); background: #fff; overflow: hidden; transition: transform 320ms var(--motion-ease-settle), box-shadow 320ms var(--ease), border-color 320ms var(--ease); }
.uc9__c:hover { transform: translateY(-4px); border-color: #BFD3DD; box-shadow: 0 24px 48px rgba(11,20,27,.10); }
.uc9__art { margin: 0; padding: calc(8 * var(--u)) calc(8 * var(--u)) 0; background: linear-gradient(180deg, #F5F7F9 0%, #EBF2F5 100%); border-bottom: 1px solid var(--on-light-rule); }
.uc9__art svg { display: block; width: 100%; height: auto; }
.uc9__t { display: flex; flex-direction: column; gap: calc(10 * var(--u)); padding: calc(24 * var(--u)) calc(26 * var(--u)) calc(28 * var(--u)); }
.s7 .uc9__k { margin: 0; font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
.uc9__t h3 { margin: 0; font-size: calc(23 * var(--u)); line-height: 1.18; letter-spacing: -.015em; text-wrap: balance; }
.s7 .uc9__d { margin: 0; font-size: calc(16 * var(--u)); line-height: 1.55; color: var(--on-light-2); }
.uc9__b { list-style: none; margin: calc(4 * var(--u)) 0 0; padding: calc(14 * var(--u)) 0 0; border-top: 1px solid var(--on-light-rule); display: grid; gap: calc(9 * var(--u)); }
.uc9__b li { position: relative; padding-left: calc(20 * var(--u)); font-size: calc(15 * var(--u)); font-weight: 600; color: var(--on-light-1); line-height: 1.35; }
.uc9__b li::before { content: ""; position: absolute; left: 0; top: .42em; width: calc(8 * var(--u)); height: calc(8 * var(--u)); border-radius: var(--sq-r); background: var(--blue-500); }
.uc9__act { margin-top: calc(30 * var(--u)); }
.ov9__cc { font: 700 7px var(--font-sans); fill: #2D3E50; text-anchor: middle; }
.ov9__big { font: 700 21px var(--font-sans); fill: #001A27; text-anchor: middle; }
.ov9__sm { font: 500 9px var(--font-sans); fill: #5A6B78; text-anchor: middle; }
.od9__t { font: 600 10.5px var(--font-sans); fill: #fff; text-anchor: middle; }
.od9__t--lg { font-size: 12.5px; }
.od9__p { fill: none; stroke: #9FB9C6; stroke-width: 1.6; stroke-dasharray: 2 4; }
.od9__pk { fill: #67BBD6; }
.om9__k { font: 600 10px var(--font-sans); fill: #001A27; text-anchor: middle; }
.om9__lg text { font: 500 10px var(--font-sans); fill: #2D3E50; }
.om9__ln { stroke-dasharray: 100; stroke-dashoffset: 0; }
html.js:not(.rm) .ov9__t { animation: ov9t 9s var(--ease) infinite both; animation-delay: calc(var(--i) * 280ms); }
html.js:not(.rm) .ov9__seg { animation: ov9s 9s var(--ease) infinite both; animation-delay: calc(700ms + var(--i) * 260ms); }
html.js:not(.rm) .od9__l { animation: od9l 8s var(--motion-ease-settle) infinite both; animation-delay: calc(var(--i) * 420ms); }
html.js:not(.rm) .od9__pk { animation: od9p 2.2s linear infinite both; animation-delay: calc(var(--i) * 700ms); }
html.js:not(.rm) .om9__ln { animation: om9 7s linear infinite both; }
html.js:not(.rm) .om9__a { animation: om9a 7s var(--ease) infinite both; animation-delay: calc(var(--i) * 600ms); }
@keyframes ov9t { 0% { opacity: 0; transform: translateY(6px); } 7%, 84% { opacity: 1; transform: none; } 94%, 100% { opacity: 0; transform: translateY(-4px); } }
@keyframes ov9s { 0% { opacity: 0; } 8%, 82% { opacity: 1; } 92%, 100% { opacity: 0; } }
@keyframes od9l { 0% { opacity: 0; transform: translateY(-14px); } 9%, 86% { opacity: 1; transform: none; } 96%, 100% { opacity: 0; transform: translateY(-6px); } }
@keyframes od9p { 0% { opacity: 0; transform: none; } 20%, 70% { opacity: 1; } 100% { opacity: 0; transform: translateY(-16px); } }
@keyframes om9 { 0% { stroke-dashoffset: 100; opacity: 1; } 82% { stroke-dashoffset: 0; opacity: 1; } 96%, 100% { stroke-dashoffset: 0; opacity: 0; } }
@keyframes om9a { 0%, 6% { opacity: .2; } 14%, 80% { opacity: 1; } 94%, 100% { opacity: .2; } }
[data-mo9].is-halted * { animation-play-state: paused !important; }
.wf9 { --g: calc(24 * var(--u)); margin-top: calc(56 * var(--u)); padding: calc(34 * var(--u)) calc(36 * var(--u)) calc(38 * var(--u)); border-radius: var(--r-lg); background: radial-gradient(120% 140% at 85% 0%, #0E3445 0%, #04131C 55%, #020A0F 100%); color: #fff; }
.wf9__hd h3 { margin: 0; font-size: calc(26 * var(--u)); letter-spacing: -.015em; color: #fff; }
.s7 .wf9__hd p { margin: calc(8 * var(--u)) 0 0; color: var(--on-dark-2); max-width: 60ch; }
.wf9__w { position: relative; margin-top: calc(34 * var(--u)); }
.wf9__track { position: absolute; top: calc(23 * var(--u)); left: calc((100% - 3 * var(--g)) / 8); right: calc((100% - 3 * var(--g)) / 8); height: 2px; background: repeating-linear-gradient(90deg, rgba(155,210,230,.4) 0 6px, transparent 6px 12px); }
.wf9__pk { position: absolute; top: -4px; left: 0; width: 10px; height: 10px; border-radius: 2px; background: #67BBD6; box-shadow: var(--glow-lit); }
html.js:not(.rm) .wf9__pk { animation: wf9p 8s linear infinite both; }
.wf9__l { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--g); text-align: center; }
.wf9__i { position: relative; z-index: 1; display: grid; place-items: center; width: calc(48 * var(--u)); height: calc(48 * var(--u)); margin: 0 auto; border: 1px solid rgba(155,210,230,.28); border-radius: 11px; background: #0B2532; color: #9BD2E6; }
.wf9__i svg { width: calc(24 * var(--u)); height: calc(24 * var(--u)); }
html.js:not(.rm) .wf9__i { animation: wf9i 8s var(--ease) infinite both; animation-delay: calc(var(--i) * 2s); }
.wf9__n { display: block; margin-top: calc(16 * var(--u)); font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 700; letter-spacing: .08em; color: var(--blue-400); }
.wf9__l b { display: block; margin-top: 4px; font-size: calc(18 * var(--u)); color: #fff; }
.wf9__l li > span:last-child { display: block; margin: 6px auto 0; max-width: 26ch; font-size: calc(14.5 * var(--u)); line-height: 1.5; color: var(--on-dark-2); }
@keyframes wf9p { 0% { left: 0; opacity: 0; } 3% { opacity: 1; } 75% { left: calc(100% - 10px); opacity: 1; } 84%, 100% { left: calc(100% - 10px); opacity: 0; } }
@keyframes wf9i { 0% { background: #0B2532; border-color: rgba(155,210,230,.28); box-shadow: none; color: #9BD2E6; } 4%, 22% { background: #1C4E5E; border-color: #67BBD6; box-shadow: 0 0 0 6px rgba(103,187,214,.12), 0 0 22px rgba(103,187,214,.45); color: #fff; } 32%, 100% { background: #0B2532; border-color: rgba(155,210,230,.28); box-shadow: none; color: #9BD2E6; } }
.uc9 .fa8 { margin-top: calc(56 * var(--u)); border-color: #CFE0E8; background: linear-gradient(120deg, #E6F1F6 0%, #EFF5F8 45%, #F5F7F9 100%); box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; }
.uc9 .fa8:hover { border-color: #B5CFDB; }
@media (max-width: 1023px) { .uc9__g { grid-template-columns: minmax(0, 1fr); max-width: 640px; } }
@media (max-width: 767px) { .wf9 { padding: 24px 20px 26px; } .wf9__track { display: none; } .wf9__l { grid-template-columns: minmax(0, 1fr); text-align: left; gap: 18px; } .wf9__l li { display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 14px; } .wf9__i { grid-row: 1 / span 3; margin: 0; } .wf9__n { margin-top: 0; } .wf9__l li > span:last-child { margin: 4px 0 0; max-width: none; } }

/* Private P2 (round 9): primary-market raise per ICP, use-case examples behind a button, instrument types in a dialog */
.au9__head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 32px; margin-bottom: calc(40 * var(--u)); }
.au9__head .s7__head { margin-bottom: 0; }
.au9__types { gap: 10px; background: var(--ground-white); }
.au9__types .ic8 { width: calc(20 * var(--u)); height: calc(20 * var(--u)); color: var(--blue-800); }
.au9__card { border-radius: var(--r-lg); border-color: #D8E3E9; box-shadow: 0 24px 60px rgba(11,20,27,.07); }
.au9__art { padding: calc(14 * var(--u)) calc(16 * var(--u)) calc(4 * var(--u)); background: radial-gradient(120% 120% at 85% 0%, #E6F1F6 0%, #F5F7F9 55%, #FFFFFF 100%); border-bottom: 1px solid var(--rl); }
.au9__art svg { display: block; width: 100%; height: auto; }
.r9__t { font: 700 13px var(--font-sans); fill: #0B141B; }
.r9__s { font: 500 10.5px var(--font-sans); fill: #5A6B78; }
.r9__s--c { text-anchor: middle; }
.r9__lb { font: 600 12px var(--font-sans); fill: #2D3E50; text-anchor: middle; }
.r9__ln { fill: none; stroke: #A9C3D0; stroke-width: 1.6; stroke-dasharray: 3 5; }
.r9__ln--out { stroke: #2C7A94; }
.au9__cap { padding: calc(22 * var(--u)) calc(26 * var(--u)) calc(24 * var(--u)) !important; display: grid; gap: calc(10 * var(--u)) !important; }
.s7 .au9__k { margin: 0; font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
.au9__cap h3 { margin: 0; font-size: calc(24 * var(--u)); line-height: 1.2; letter-spacing: -.015em; text-wrap: balance; }
.s7 .au9__body { margin: 0; font-size: calc(16.5 * var(--u)); color: var(--fg2); }
.au9__ex { margin-top: calc(6 * var(--u)); }
.au9__ex > summary { display: inline-flex; align-items: center; gap: 12px; min-height: calc(44 * var(--u)); padding: 0 calc(16 * var(--u)) 0 calc(18 * var(--u)); border: 1px solid var(--btn-border-light); border-radius: var(--btn-r); background: #fff; font-weight: 600; font-size: max(calc(15.5 * var(--u)), var(--floor)); color: var(--on-light-1); cursor: pointer; list-style: none; transition: background-color 200ms var(--ease), color 200ms var(--ease), border-color 200ms var(--ease); }
.au9__ex > summary::-webkit-details-marker { display: none; }
.au9__ex > summary:hover { background: var(--btn-wash-light); }
.au9__ex[open] > summary { background: var(--ground-navy); border-color: var(--ground-navy); color: #fff; }
.au9__x { position: relative; width: 12px; height: 12px; }
.au9__x::before, .au9__x::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1.6px; margin-top: -.8px; background: currentColor; transition: transform 260ms var(--motion-ease-settle); }
.au9__x::after { transform: rotate(90deg); }
.au9__ex[open] .au9__x::after { transform: rotate(0deg); }
.au9__exl { list-style: none; margin: calc(14 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(12 * var(--u)); }
.au9__exl li { display: flex; flex-direction: column; gap: 6px; padding: calc(16 * var(--u)); border: 1px solid #DCE6EC; border-radius: 10px; background: linear-gradient(180deg, #F8FAFB 0%, #F0F5F8 100%); }
html.js:not(.rm) .au9__ex[open] .au9__exl li { animation: au9in 420ms var(--motion-ease-settle) both; }
html.js:not(.rm) .au9__ex[open] .au9__exl li:nth-child(2) { animation-delay: 90ms; }
@keyframes au9in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
.s7 .au9__en { margin: 0; font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--blue-800); }
.s7 .au9__ch { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; font-size: calc(15.5 * var(--u)); line-height: 1.35; }
.au9__ch b { color: var(--blue-800); }
.s7 .au9__d { margin: 0; font-size: calc(14.5 * var(--u)); line-height: 1.5; color: var(--fg2); }
.s7 .au9__rails { display: flex; flex-wrap: wrap; gap: 6px; margin: auto 0 0; padding-top: 6px; }
.au9__rl { display: inline-flex; align-items: center; gap: 6px; min-height: calc(28 * var(--u)); padding: 0 10px 0 8px; border: 1px solid #D3DEE5; border-radius: var(--r-pill); background: #fff; font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 600; color: var(--on-light-2); }
.au9__rl svg { width: calc(16 * var(--u)); height: calc(16 * var(--u)); }
.au9__rl--coin { color: var(--blue-800); border-color: #BCD7E2; background: #F2F8FB; }
.s7 .au9__fn { margin: calc(10 * var(--u)) 0 0; font-size: max(calc(12.5 * var(--u)), var(--floor)); color: var(--fg3); }
@media (max-width: 599px) { .au9__exl { grid-template-columns: minmax(0, 1fr); } .au9__head { align-items: flex-start; } }
.dlg9 { width: min(calc(860 * var(--u)), calc(var(--vw) - 32px)); max-height: calc(var(--vh) - 48px); padding: 0; border: 0; border-radius: 14px; background: #fff; color: var(--on-light-1); box-shadow: 0 40px 120px rgba(0,0,0,.35); }
.dlg9::backdrop { background: rgba(0,10,15,.58); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px); }
html.js:not(.rm) .dlg9[open] { animation: dlg9in 320ms var(--motion-ease-settle) both; }
@keyframes dlg9in { from { opacity: 0; transform: translateY(14px) scale(.985); } to { opacity: 1; transform: none; } }
.dlg9__in { padding: calc(32 * var(--u)) calc(34 * var(--u)) calc(34 * var(--u)); }
.dlg9__top { display: flex; justify-content: space-between; align-items: flex-start; gap: 24px; }
.dlg9__top h2 { margin: 8px 0 0; font-size: calc(30 * var(--u)); letter-spacing: -.02em; }
.dlg9__l { margin: 8px 0 0; font-size: calc(16 * var(--u)); color: var(--on-light-2); }
.dlg9__x { flex: none; width: 44px; height: 44px; border: 1px solid var(--on-light-rule); border-radius: var(--btn-r); background: #fff; font-size: 26px; line-height: 1; color: var(--on-light-2); cursor: pointer; }
.dlg9__x:hover { background: var(--ground-mist); color: var(--on-light-1); }
.dlg9__g { list-style: none; margin: calc(24 * var(--u)) 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(12 * var(--u)); }
.dlg9__g li { display: flex; gap: 14px; align-items: flex-start; padding: calc(16 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: 10px; background: var(--ground-mist); transition: border-color 200ms var(--ease), background-color 200ms var(--ease); }
.dlg9__g li:hover { border-color: #B9CFDA; background: #fff; }
.dlg9__g b { display: block; font-size: calc(16.5 * var(--u)); }
.dlg9__g p { margin: 4px 0 0; font-size: calc(14.5 * var(--u)); line-height: 1.5; color: var(--on-light-2); }
@media (max-width: 767px) { .dlg9__g { grid-template-columns: minmax(0, 1fr); } .dlg9__in { padding: 22px 18px; } }

/* Private P3 (round 9): two tinted rails of capability tiles (no dropdowns) around an animated instrument both rails feed */
.rl9 { display: grid; grid-template-columns: minmax(0, 1fr) calc(230 * var(--u)) minmax(0, 1fr); align-items: stretch; }
.rl9__p { padding: calc(26 * var(--u)); border: 1px solid; border-radius: 14px; transition: opacity 700ms var(--ease), transform 700ms var(--motion-ease-settle); }
.rl9__p--t { background: linear-gradient(160deg, #F8F6F2 0%, #F0EDE6 100%); border-color: #E3DDD1; }
.rl9__p--d { background: linear-gradient(160deg, #F0F7FA 0%, #E2EFF5 100%); border-color: #CDE1EA; }
.rl9__hd { display: flex; gap: 14px; align-items: flex-start; margin-bottom: calc(20 * var(--u)); }
.rl9__hd h3 { margin: 0; font-size: calc(22 * var(--u)); letter-spacing: -.01em; }
.s7 .rl9__desc { margin: 4px 0 0; font-size: calc(15 * var(--u)); line-height: 1.5; color: var(--fg2); }
.rl9__g { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: calc(10 * var(--u)); }
.rl9__t { display: flex; flex-direction: column; gap: 6px; padding: calc(14 * var(--u)) calc(14 * var(--u)) calc(16 * var(--u)); border: 1px solid rgba(11,20,27,.08); border-radius: 10px; background: rgba(255,255,255,.74); transition: transform 280ms var(--motion-ease-settle), box-shadow 280ms var(--ease), border-color 280ms var(--ease), background-color 280ms var(--ease); }
.rl9__t:hover { transform: translateY(-3px); background: #fff; box-shadow: 0 14px 30px rgba(11,20,27,.08); }
.rl9__p--t .rl9__t:hover { border-color: #D3C6AF; } .rl9__p--d .rl9__t:hover { border-color: #9EC6D6; }
.rl9__ti { display: grid; place-items: center; width: calc(34 * var(--u)); height: calc(34 * var(--u)); border: 1px solid rgba(11,20,27,.1); border-radius: 8px; background: #fff; color: #6B5E4A; transition: background-color 280ms var(--ease), color 280ms var(--ease); }
.rl9__p--d .rl9__ti { color: var(--blue-800); }
.rl9__ti svg { width: calc(18 * var(--u)); height: calc(18 * var(--u)); }
.rl9__p--t .rl9__t:hover .rl9__ti { background: #5E5240; color: #fff; } .rl9__p--d .rl9__t:hover .rl9__ti { background: var(--blue-850); color: #fff; }
.rl9__t b { font-size: calc(15.5 * var(--u)); line-height: 1.3; }
.s7 .rl9__t p { margin: 0; font-size: calc(13.5 * var(--u)); line-height: 1.45; color: var(--fg2); }
.rl9__st { align-self: flex-start; }
.rl9__c { display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 0 0 calc(8 * var(--u)); transition: opacity 700ms var(--ease), transform 700ms var(--motion-ease-settle); }
.rl9__svg { display: block; width: 100%; height: auto; overflow: visible; }
.s7 .rl9__mid { margin: calc(4 * var(--u)) 0 0; font-size: max(calc(13.5 * var(--u)), var(--floor)); font-weight: 600; color: var(--fg3); text-align: center; }
.rl9__tr { fill: none; stroke-width: 2; stroke-dasharray: 3 5; }
.rl9__tr--l { stroke: #B9AE9C; } .rl9__tr--r { stroke: #67BBD6; }
.rl9__pk--l { fill: #8C7F6B; } .rl9__pk--r { fill: #3A8CA7; }
.rl9__k { font: 600 10px var(--font-sans); fill: #5A6B78; text-anchor: middle; }
.rl9__pk { opacity: 0; }
html.rm .rl9__pk { opacity: 1; }
html.js:not(.rm) .rl9__pk--l { animation: rl9l 2.4s linear infinite both; animation-delay: calc(var(--i) * 800ms); }
html.js:not(.rm) .rl9__pk--r { animation: rl9r 2.4s linear infinite both; animation-delay: calc(var(--i) * 800ms + 400ms); }
html.js:not(.rm) .rl9__blk { animation: rl9b 3.2s ease-in-out infinite; }
@keyframes rl9l { 0% { opacity: 0; transform: translateX(4px); } 15%, 80% { opacity: 1; } 100% { opacity: 0; transform: translateX(52px); } }
@keyframes rl9r { 0% { opacity: 0; transform: translateX(-4px); } 15%, 80% { opacity: 1; } 100% { opacity: 0; transform: translateX(-52px); } }
@keyframes rl9b { 0%, 100% { filter: drop-shadow(0 0 0 rgba(103,187,214,0)); } 50% { filter: drop-shadow(0 0 12px rgba(103,187,214,.55)); } }
/* the slide-in runs only where the whole row fits on screen (desktop); on stacked layouts the rails are always visible */
@media (min-width: 1024px) {
  html.js .rl9:not(.is-in) .rl9__p--t { opacity: 0; transform: translateX(-28px); }
  html.js .rl9:not(.is-in) .rl9__p--d { opacity: 0; transform: translateX(28px); }
  html.js .rl9:not(.is-in) .rl9__c { opacity: 0; transform: scale(.94); } }
@media (max-width: 1023px) { .rl9 { grid-template-columns: minmax(0, 1fr); gap: 12px; } .rl9__c { max-width: 260px; margin: 0 auto; } }
@media (max-width: 599px) { .rl9__g { grid-template-columns: minmax(0, 1fr); } .rl9__p { padding: 18px; } }

/* Private P4 (round 9): a framed stage per step, a caption and progress on the art, a progress rail beside the steps */
.pc9s .pc8__s { min-height: calc(var(--vh) * .28); transition: opacity 420ms var(--ease); }
.pc9s .pc8__s.is-past { opacity: .62; }
.pc9s .pc8__s.is-past .pc8__n { background: rgba(103,187,214,.28); color: #fff; }
.pc9s .pc8__steps { position: relative; }
.pc9s .pc8__steps::before, .pc9s .pc8__steps::after { content: ""; position: absolute; left: calc(18 * var(--u) - 1px); top: 0; width: 2px; border-radius: 1px; }
.pc9s .pc8__steps::before { bottom: 0; background: rgba(255,255,255,.08); }
.pc9s .pc8__steps::after { height: calc(var(--p, .25) * 100%); background: linear-gradient(180deg, #67BBD6, #2C7A94); transition: height 600ms var(--motion-ease-settle); }
.pc9s .pc8__n { position: relative; z-index: 1; transition: background-color 300ms var(--ease), color 300ms var(--ease), box-shadow 300ms var(--ease); }
.pc9s .pc8__s.is-on .pc8__n { box-shadow: 0 0 0 5px rgba(103,187,214,.16), var(--glow-lit); }
.pc9__stage { position: relative; padding: calc(46 * var(--u)) calc(16 * var(--u)) calc(26 * var(--u)); border: 1px solid rgba(155,210,230,.16); border-radius: 16px; background: radial-gradient(110% 90% at 50% 0%, rgba(44,122,148,.2) 0%, rgba(2,10,15,0) 70%), rgba(255,255,255,.02); }
.s7 .pc9__cap { position: absolute; left: calc(18 * var(--u)); top: calc(16 * var(--u)); margin: 0; }
.pc9__cap span { display: none; align-items: center; min-height: calc(28 * var(--u)); padding: 0 12px; border: 1px solid rgba(103,187,214,.35); border-radius: var(--r-pill); background: rgba(103,187,214,.12); font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #9BD2E6; }
.pc9__stage[data-s="0"] [data-c="0"], .pc9__stage[data-s="1"] [data-c="1"], .pc9__stage[data-s="2"] [data-c="2"], .pc9__stage[data-s="3"] [data-c="3"] { display: inline-flex; }
.pc9__prog { position: absolute; left: calc(18 * var(--u)); right: calc(18 * var(--u)); bottom: calc(14 * var(--u)); height: 3px; border-radius: 2px; background: rgba(255,255,255,.08); overflow: hidden; }
.pc9__prog i { display: block; height: 100%; width: calc(var(--p, .25) * 100%); background: linear-gradient(90deg, #2C7A94, #67BBD6); transition: width 600ms var(--motion-ease-settle); }
.pc9__ly { opacity: 0; transform: translateY(10px); transition: opacity 520ms var(--ease), transform 600ms var(--motion-ease-settle); }
.pc9__stage[data-s="0"] .pc9__ly[data-l="0"], .pc9__stage[data-s="1"] .pc9__ly[data-l="1"], .pc9__stage[data-s="2"] .pc9__ly[data-l="1"], .pc9__stage[data-s="2"] .pc9__ly[data-l="2"], .pc9__stage[data-s="3"] .pc9__ly[data-l="1"], .pc9__stage[data-s="3"] .pc9__ly[data-l="3"] { opacity: 1; transform: none; }
.pc9__stage[data-s="2"] .pc9__terms, .pc9__stage[data-s="3"] .pc9__terms { opacity: 0; transition: opacity 400ms var(--ease); }
.pc9__sym { opacity: 0; transition: opacity 500ms var(--ease); }
.pc9__stage:not([data-s="0"]) .pc9__sym { opacity: 1; }
.pc9__dl, .pc9__ol { fill: none; stroke: #67BBD6; stroke-opacity: .6; stroke-width: 1.6; stroke-dasharray: 3 6; }
.pc9__tk { font: 700 11px var(--font-sans); letter-spacing: .08em; fill: #9BD2E6; text-transform: uppercase; }
.pc9__rt { font: 600 12px var(--font-sans); fill: #FFFFFF; }
.pc9__rt--c { text-anchor: middle; font-size: 11px; }
.pc9__ok, .pc9__cell, .pc9__role { transform-box: fill-box; transform-origin: center; }
.pc9__bar { transform-box: fill-box; transform-origin: left center; }
html.js:not(.rm) .pc9__stage[data-s="0"] .pc9__ok { animation: pc9ok 4.8s var(--motion-ease-settle) infinite both; animation-delay: calc(var(--i) * 600ms + 300ms); }
html.js:not(.rm) .pc9__stage[data-s="0"] .pc9__scan { animation: pc9scan 2.6s ease-in-out infinite alternate; }
html.js:not(.rm) .pc9__stage[data-s="1"] .pc9__cell { animation: pc9cell 520ms var(--motion-ease-settle) both; animation-delay: calc(var(--k) * 16ms); }
html.js:not(.rm) .pc9__stage[data-s="1"] .pc9__bar { animation: pc9bar 600ms var(--motion-ease-settle) both; animation-delay: calc(500ms + var(--i) * 120ms); }
html.js:not(.rm) .pc9__stage[data-s="2"] .pc9__role { animation: pc9role 600ms var(--motion-ease-settle) both; animation-delay: calc(var(--i) * 140ms); }
@keyframes pc9ok { 0% { opacity: 0; transform: scale(0); } 10% { opacity: 1; transform: scale(1.15); } 16%, 86% { opacity: 1; transform: scale(1); } 100% { opacity: 0; transform: scale(.8); } }
@keyframes pc9scan { from { transform: translateY(0); } to { transform: translateY(78px); } }
@keyframes pc9cell { from { opacity: 0; transform: scale(.5); } to { opacity: 1; transform: none; } }
@keyframes pc9bar { from { transform: scaleX(0); } to { transform: none; } }
@keyframes pc9role { from { opacity: 0; transform: scale(.92); } to { opacity: 1; transform: none; } }
.pc8.is-static .pc9__stage .pc9__ly { opacity: 0; } .pc8.is-static .pc9__stage .pc9__ly[data-l="1"], .pc8.is-static .pc9__stage .pc9__ly[data-l="3"] { opacity: 1; transform: none; }
@media (max-width: 899px) { .pc9__stage .pc9__ly { opacity: 0; } .pc9__stage .pc9__ly[data-l="1"], .pc9__stage .pc9__ly[data-l="3"] { opacity: 1; transform: none; } .pc9s .pc8__steps::before, .pc9s .pc8__steps::after { display: none; } }
.au9__side .au8__act { margin-top: calc(28 * var(--u)); }

/* About (round 9): the three market cards share one size; the network allocation is its own row under them */
.mk6--about .mk6__data { align-items: stretch; padding-bottom: 0; }
.mk6--about .mkd { display: flex; flex-direction: column; border-radius: 10px; transition: border-color 240ms var(--ease), box-shadow 240ms var(--ease); }
.mk6--about .mkd:hover { border-color: #BFD3DD; box-shadow: 0 16px 36px rgba(11,20,27,.06); }
.mk6--about .mkd__src { margin-top: auto; padding-top: calc(10 * var(--u)); }
.mk9__alloc { margin: calc(20 * var(--u)) 0 calc(64 * var(--u)); padding: calc(20 * var(--u)) calc(24 * var(--u)) calc(22 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: 10px; background: var(--ground-white); }
.mk9__ah { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 24px; }
.mk9__ah .mkd__k { margin: 0; }
.mk6 .mk9__as { margin: 0; font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-light-3); }
.mk9__alloc .mkd__bar { height: calc(12 * var(--u)); margin-top: calc(14 * var(--u)); }
.mkd__leg.mk9__leg { grid-template-columns: repeat(6, minmax(0, auto)); justify-content: start; gap: 6px calc(28 * var(--u)); margin-top: calc(12 * var(--u)); }
.mk9__leg b { margin-left: 8px; }
@media (max-width: 1099px) { .mkd__leg.mk9__leg { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 599px) { .mkd__leg.mk9__leg { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* About services (round 9): three cards, a one-line promise and three visible points each */
.cap9__g { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: calc(24 * var(--u)); }
.cap9__c { position: relative; display: flex; flex-direction: column; gap: calc(10 * var(--u)); padding: calc(28 * var(--u)) calc(28 * var(--u)) calc(26 * var(--u)); border: 1px solid var(--on-light-rule); border-radius: 12px; background: #fff; overflow: hidden; transition: transform 300ms var(--motion-ease-settle), border-color 300ms var(--ease), box-shadow 300ms var(--ease); }
.cap9__c::before { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 3px; background: linear-gradient(90deg, var(--blue-800), var(--blue-400)); transform: scaleX(0); transform-origin: left; transition: transform 420ms var(--motion-ease-settle); }
.cap9__c:hover { transform: translateY(-3px); border-color: #BFD3DD; box-shadow: 0 20px 44px rgba(11,20,27,.08); }
.cap9__c:hover::before, .cap9__c:focus-within::before { transform: none; }
.cap9__ic { display: grid; place-items: center; width: calc(52 * var(--u)); height: calc(52 * var(--u)); border-radius: 12px; background: linear-gradient(145deg, #E6F1F6, #F5F7F9); color: var(--blue-800); }
.cap9__ic .ic { width: calc(30 * var(--u)); height: calc(30 * var(--u)); }
.cap9__c h3 { margin: calc(6 * var(--u)) 0 0; font-size: calc(24 * var(--u)); letter-spacing: -.015em; }
.s7 .cap9__l { margin: 0; font-size: calc(17 * var(--u)); font-weight: 600; color: var(--blue-800); }
.cap9__b { list-style: none; margin: calc(6 * var(--u)) 0 calc(10 * var(--u)); padding: calc(14 * var(--u)) 0 0; border-top: 1px solid var(--on-light-rule); display: grid; gap: calc(12 * var(--u)); }
.cap9__b li { position: relative; padding-left: calc(22 * var(--u)); font-size: calc(15.5 * var(--u)); line-height: 1.5; color: var(--on-light-1); }
.cap9__b li::before { content: ""; position: absolute; left: 0; top: .5em; width: calc(9 * var(--u)); height: calc(9 * var(--u)); border-radius: var(--sq-r); background: var(--blue-500); }
.cap9__c .lnk { margin-top: auto; }
@media (max-width: 899px) { .cap9__g { grid-template-columns: minmax(0, 1fr); } }

/* About team (round 9): calmer cards, a tag colour per group, portraits that warm on hover, LinkedIn as a quiet button */
.ab6t .pp6 { border: 1px solid #E1E8ED; border-radius: 12px; background: #fff; transition: transform 300ms var(--motion-ease-settle), border-color 300ms var(--ease), box-shadow 300ms var(--ease); }
.ab6t .pp6:hover { transform: translateY(-3px); border-color: #BFD3DD; box-shadow: 0 18px 40px rgba(11,20,27,.08); }
.ab6t .pp6__ph { border-radius: 12px; overflow: hidden; box-shadow: 0 0 0 1px rgba(11,20,27,.06), 0 6px 16px rgba(11,20,27,.10); }
.ab6t .pp6__ph img { filter: saturate(.7) contrast(1.02); transition: filter 400ms var(--ease), transform 600ms var(--motion-ease-settle); }
.ab6t .pp6:hover .pp6__ph img { filter: none; transform: scale(1.04); }
.pp6__tag { border: 1px solid transparent; }
.pp6__tag--founder { background: var(--ground-navy); color: #fff; }
.pp6__tag--board { background: #E3EFF4; border-color: #CFE2EA; color: var(--blue-850); }
.pp6__tag--team { background: #E5F3EE; border-color: #CDE7DD; color: var(--action-green); }
.pp6__tag--adviser { background: #F2EFE9; border-color: #E4DED3; color: #5E5240; }
.pp6__t b { letter-spacing: -.01em; }
.pp6__li { gap: 7px; padding: 3px 10px 3px 7px; border: 1px solid #D6E2E8; border-radius: var(--r-pill); color: var(--blue-800); transition: background-color 200ms var(--ease), color 200ms var(--ease), border-color 200ms var(--ease); }
.pp6__li:hover { background: var(--blue-850); border-color: var(--blue-850); color: #fff; }
.pp6__li:hover span:first-of-type { text-decoration: none; }

/* About roles (round 9): the hub names T-Blocks as arranger and structurer */
@media (min-width: 600px) { .rm8__hub b { white-space: nowrap; } }

/* About contact (round 9): three equal cards, actions on one line */
.ch9s .ch7__g { align-items: stretch; }
.ch9s .ch7__g > li { display: flex; flex-direction: column; gap: calc(12 * var(--u)); border-radius: 12px; transition: border-color 260ms var(--ease), background-color 260ms var(--ease); }
.ch9s .ch7__g > li:hover { border-color: rgba(155,210,230,.35); background: rgba(255,255,255,.05); }
.ch9s .ch7__g .btns { margin-top: auto; padding-top: calc(8 * var(--u)); }
.ch9s .ch7__g .btn { min-width: calc(220 * var(--u)); justify-content: space-between; }
.mk6--about { padding-bottom: calc(72 * var(--u)); } .mk6--about .mk9__alloc { margin-bottom: 0; }
.ab6t .pp6__li { justify-self: start; width: fit-content; align-self: flex-start; }

/* Insights (round 9): a darker mist hero with a tile field; calmer hover on every card; rounder thumbnails */
.ins9m.ins7m.lt { position: relative; overflow: hidden; background: linear-gradient(180deg, #E7EEF2 0%, #EEF3F6 100%); border-bottom-color: #D9E3E9; }
.ins9f { position: absolute; top: 0; right: 0; bottom: 0; width: 62%; pointer-events: none; -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 42%); mask-image: linear-gradient(90deg, transparent 0%, #000 42%); }
.ins9f svg { display: block; width: 100%; height: 100%; }
.ins9m .ins8m__in { position: relative; z-index: 1; }
.ins9m .ins8m__all { background: rgba(255,255,255,.9); }
.ins9m .ins8m__all:hover { background: #fff; }
html.js:not(.rm) .ins9f__c { animation: ins9w 7.5s ease-in-out infinite both; animation-delay: calc(var(--c) * -210ms); }
html.js:not(.rm) .ins9f__lit { animation: ins9p 2.8s ease-in-out infinite; }
@keyframes ins9w { 0%, 100% { opacity: .5; } 50% { opacity: 1; } }
@keyframes ins9p { 0%, 100% { filter: drop-shadow(0 0 0 rgba(103,187,214,0)); opacity: .85; } 50% { filter: drop-shadow(0 0 6px rgba(103,187,214,.9)); opacity: 1; } }
@media (max-width: 767px) { .ins9f { width: 100%; opacity: .5; } }
.post__img { border-radius: 12px; border-color: #DDE6EB; transition: box-shadow 320ms var(--ease), border-color 320ms var(--ease); }
.post a:hover .post__img { border-color: #BFD3DD; box-shadow: 0 16px 36px rgba(11,20,27,.12); }
.post b { transition: color 200ms var(--ease); }
.post a:hover b { color: var(--blue-800); text-decoration: none; }
.post a:focus-visible .post__img { outline: var(--focus-outline-light); outline-offset: 3px; }
.ft7__img img { border-radius: 14px; transition: transform 700ms var(--motion-ease-settle); }
.ft7__img { overflow: hidden; border-radius: 14px; box-shadow: 0 18px 44px rgba(11,20,27,.14); }
.ft7:hover .ft7__img img { transform: scale(1.025); }
.ins7f__side li a { padding-inline: 8px; margin-inline: -8px; border-radius: 10px; transition: background-color 200ms var(--ease); }
.ins7f__side li a:hover { background: var(--ground-mist); }
.ins7f__side img { border-radius: 8px; }
.ins7a .fc { transition: background-color 180ms var(--ease), border-color 180ms var(--ease), color 180ms var(--ease); }
.ins7a .fc:hover:not([aria-pressed="true"]) { background: #EEF4F7; border-color: #BFD3DD; }

/* Article (round 9): a shaded header, rounder cover, Depth boxes instead of flat black, rounded figures, a tinted
   route band and a mist reading row, so each part of the page reads as its own section */
.art6__head { background: linear-gradient(180deg, #EAF0F3 0%, #F5F7F9 100%); border-bottom: 1px solid #DCE5EA; }
.art6__cover { border-radius: 16px; box-shadow: 0 24px 56px rgba(11,20,27,.18); }
article.tb-art .tb-takeaways { border-radius: 12px; border-left: 3px solid var(--blue-500); background: linear-gradient(180deg, #F1F6F8, #F5F7F9); }
article.tb-art .tb-quote, article.tb-art .tb-cta { border-radius: 14px; background: var(--ground-depth), #000; }
article.tb-art .tb-chart, article.tb-art .tb-table-wrap, article.tb-art .tb-sources, article.tb-art .tb-callout { border-radius: 12px; }
article.tb-art .tb-table-wrap { overflow: hidden; }
.art7b .nx7 { background: linear-gradient(120deg, #E3EFF4 0%, #EDF3F6 55%, #F5F7F9 100%); border-top: 1px solid #D3E3EA; border-bottom: 1px solid #D3E3EA; }
.art7b .kr7 { background: var(--ground-mist); }

/* Atlas Ledger (round 9): the Atlas and Meridian kit, lock 1. Light pane by default, dark inside dark grounds.
   L4 words, L5 five blocks per dimension with one lit sky block, L6 percent in ink beside the band, L8 provenance. */
.lg9 { --lk-ink: var(--on-light-1); --lk-ink2: var(--on-light-2); --lk-ink3: var(--on-light-3); --lk-rule: var(--on-light-rule); --lk-pane: #fff;
  --lk-tile: var(--n-300); --lk-open: var(--n-450); --lk-lit: var(--sky-fill); --lk-glow: rgba(83,150,170,.28);
  --lk-met: var(--ok); --lk-part: var(--warn); --lk-gap: var(--bad); --lk-na: var(--n-450);
  --lk-strong: var(--atlas-band-high-light); --lk-cond: var(--atlas-band-mid-light); --lk-nr: var(--atlas-band-low-light); --lk-oos: var(--n-450);
  padding: calc(22 * var(--u)) calc(24 * var(--u)); border: 1px solid var(--lk-rule); border-radius: 12px; background: var(--lk-pane); color: var(--lk-ink); }
.dk .lg9, .lg9--dk { --lk-ink: var(--on-dark-1); --lk-ink2: var(--on-dark-2); --lk-ink3: var(--on-dark-3); --lk-rule: var(--on-dark-rule); --lk-pane: var(--ground-slate);
  --lk-tile: var(--n-600); --lk-open: var(--n-400); --lk-lit: var(--blue-400); --lk-glow: rgba(103,187,214,.30);
  --lk-met: var(--ok-dark); --lk-part: var(--warn-dark); --lk-gap: var(--bad-dark); --lk-na: var(--n-400);
  --lk-strong: var(--atlas-band-high); --lk-cond: var(--atlas-band-mid); --lk-nr: var(--atlas-band-low); --lk-oos: var(--n-400); }
.lg9__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.lg9__id { font-size: max(calc(12 * var(--u)), var(--floor)); font-variant-numeric: tabular-nums; letter-spacing: .04em; color: var(--lk-ink3); }
.lg9__tag { padding: 2px 9px; border: 1px solid var(--lk-rule); border-radius: var(--r-pill); font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; color: var(--lk-ink2); }
.lg9__hero { display: flex; align-items: center; gap: calc(16 * var(--u)); margin: calc(14 * var(--u)) 0 calc(14 * var(--u)); padding-bottom: calc(14 * var(--u)); border-bottom: 2px solid var(--lk-ink); }
.lg9__pct, .at9 .lg9__pct { font-size: calc(48 * var(--u)); line-height: 1; font-weight: 700; letter-spacing: -.03em; font-variant-numeric: tabular-nums; color: var(--lk-ink, var(--on-light-1)); }
.lg9__pct span { font-size: .5em; font-weight: 600; margin-left: 2px; letter-spacing: 0; }
.lg9--mini .lg9__pct { font-size: calc(36 * var(--u)); }
.s7 .lg9__band, .lg9__band { margin: 0; display: inline-flex; align-items: center; gap: 8px; font-size: max(calc(16 * var(--u)), var(--floor)); font-weight: 700; color: var(--lk-ink, var(--on-light-1)); }
.lg9__sq { width: calc(12 * var(--u)); height: calc(12 * var(--u)); border-radius: var(--sq-r); flex: none; background: var(--lk-cond, var(--atlas-band-mid-light)); }
.lg9__sq--strong { background: var(--lk-strong, var(--atlas-band-high-light)); } .lg9__sq--cond { background: var(--lk-cond, var(--atlas-band-mid-light)); } .lg9__sq--nr { background: var(--lk-nr, var(--atlas-band-low-light)); } .lg9__sq--oos { background: var(--lk-oos, var(--n-450)); }
.s7 .lg9__gc, .lg9__gc { margin: 3px 0 0; font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--lk-ink3); }
.s7 .lg9__sub { margin: 0 0 calc(10 * var(--u)); font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--lk-ink2); }
.lg9__rows { list-style: none; margin: 0; padding: 0; display: grid; }
.lg9__rows li { display: grid; grid-template-columns: minmax(0, 1fr) auto calc(104 * var(--u)); align-items: center; gap: calc(14 * var(--u)); min-height: calc(38 * var(--u)); border-bottom: 1px solid var(--lk-rule, var(--on-light-rule)); }
.lg9__rows li:last-child { border-bottom: 0; }
.lg9__n { display: inline-flex; align-items: center; gap: 8px; font-size: max(calc(14 * var(--u)), var(--floor)); color: var(--lk-ink, var(--on-light-1)); min-width: 0; }
.lg9__mk { flex: none; width: calc(8 * var(--u)); height: calc(8 * var(--u)); border-radius: 1.5px; background: var(--lk-lit, var(--sky-fill)); box-shadow: 0 0 0 3px var(--lk-glow, rgba(83,150,170,.28)); }
.lg9__mk--off { background: transparent; box-shadow: inset 0 0 0 1.5px var(--lk-open, var(--n-450)); }
.lg9__b { display: inline-grid; grid-template-columns: repeat(5, calc(13 * var(--u))); gap: calc(4 * var(--u)); }
.lg9__b i { width: calc(13 * var(--u)); height: calc(13 * var(--u)); border-radius: 2px; box-shadow: inset 0 0 0 1.2px var(--lk-open, var(--n-450)); opacity: .55; }
.lg9__b i.on { background: var(--lk-tile, var(--n-300)); box-shadow: none; opacity: 1; }
.lg9__b i.lit { background: var(--lk-lit, var(--sky-fill)); box-shadow: 0 0 0 3px var(--lk-glow, rgba(83,150,170,.28)); opacity: 1; }
.lg9__b--na i { opacity: .25; }
html.js:not(.rm) .lg9__b i.lit { animation: lg9lit 2.8s ease-in-out infinite; }
@keyframes lg9lit { 0%, 100% { box-shadow: 0 0 0 2px var(--lk-glow, rgba(83,150,170,.28)); } 50% { box-shadow: 0 0 0 5px var(--lk-glow, rgba(83,150,170,.28)); } }
.lg9__w { display: inline-flex; align-items: center; gap: 7px; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--lk-ink, var(--on-light-1)); white-space: nowrap; }
.lg9__w i { width: calc(9 * var(--u)); height: calc(9 * var(--u)); border-radius: 1.5px; flex: none; }
.lg9__w--met i { background: var(--lk-met, var(--ok)); } .lg9__w--part i { background: var(--lk-part, var(--warn)); } .lg9__w--gap i { background: var(--lk-gap, var(--bad)); } .lg9__w--na i { background: transparent; box-shadow: inset 0 0 0 1.4px var(--lk-na, var(--n-450)); }
.lg9__w--na { font-weight: 500; color: var(--lk-ink3, var(--on-light-3)); }
.lg9__gaps { margin-top: calc(16 * var(--u)); padding-top: calc(12 * var(--u)); border-top: 1px solid var(--lk-rule); }
.s7 .lg9__k, .lg9__k { margin: 0 0 8px; font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--lk-ink3); }
.lg9__gaps ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.lg9__gaps li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 10px; font-size: max(calc(14 * var(--u)), var(--floor)); }
.lg9__gaps li span { color: var(--lk-ink3); font-size: max(calc(13 * var(--u)), var(--floor)); }
.s7 .lg9__foot, .lg9__foot { margin: calc(14 * var(--u)) 0 0; font-size: max(calc(12 * var(--u)), var(--floor)); line-height: 1.5; color: var(--lk-ink3); max-width: none; }
.lg9--mini { padding: calc(16 * var(--u)); }
.lg9--mini .lg9__hero { margin: calc(10 * var(--u)) 0; padding-bottom: calc(10 * var(--u)); }
.lg9--mini .lg9__rows li { grid-template-columns: minmax(0, 1fr) auto; min-height: calc(32 * var(--u)); gap: 10px; }
.lg9--mini .lg9__w { display: none; }
.tk8h__a .lg9 { border: 0; background: transparent; padding: calc(12 * var(--u)) 0 0; }
.sc9s .sc8s__card { margin: 0; }
.sc9s .sc8s__card .lg9 { padding: calc(28 * var(--u)) calc(30 * var(--u)); box-shadow: 0 24px 60px rgba(11,20,27,.08); }
.bd9 { list-style: none; margin: 0 0 calc(22 * var(--u)); padding: 0; display: grid; gap: 0; border-top: 1px solid var(--rl); }
.bd9 li { display: grid; grid-template-columns: calc(150 * var(--u)) minmax(0, 1fr); gap: 14px; align-items: center; min-height: calc(42 * var(--u)); border-bottom: 1px solid var(--rl); }
.bd9__n { display: inline-flex; align-items: center; gap: 9px; font-weight: 700; font-size: max(calc(15 * var(--u)), var(--floor)); }
.bd9__d { font-size: calc(15 * var(--u)); color: var(--fg2); }
.bd9w { list-style: none; margin: 0 0 calc(18 * var(--u)); padding: 0; display: flex; flex-wrap: wrap; gap: 10px 22px; }
.bd9w li { display: inline-flex; align-items: center; gap: 10px; }
.bd9w__lit { font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 600; color: var(--on-light-2); }
.bd9w .lg9__b { grid-template-columns: repeat(5, calc(11 * var(--u))); gap: 3px; } .bd9w .lg9__b i { width: calc(11 * var(--u)); height: calc(11 * var(--u)); }
.bd9w li:last-child .lg9__b { grid-template-columns: calc(11 * var(--u)); }
.at9 .at8__hd { align-items: center; }
.at9__s { margin: 0; display: flex; align-items: center; gap: 12px; }
.at9 .lg9__pct { font-size: calc(34 * var(--u)); }
.at9__rows li { grid-template-columns: minmax(0, 1fr) auto calc(96 * var(--u)); min-height: calc(34 * var(--u)); border-bottom-color: #D9E3E9; }
.mp9__d .at9 { --lk-ink: var(--on-light-1); --lk-ink3: var(--on-light-3); --lk-rule: #D9E3E9; --lk-tile: var(--n-300); --lk-open: var(--n-450); --lk-lit: var(--sky-fill); }

/* Toolkit (round 9): document tiers as a visible list; a lighter Supported-by band; waitlists with a name */
.pk9__tiers { list-style: none; margin: 0 0 calc(24 * var(--u)); padding: 0; display: grid; border-top: 1px solid var(--rl); }
.pk9__tiers li { display: grid; grid-template-columns: auto calc(150 * var(--u)) minmax(0, 1fr); gap: 14px; align-items: center; min-height: calc(46 * var(--u)); border-bottom: 1px solid var(--rl); transition: background-color 200ms var(--ease); }
.pk9__tiers li:hover { background: var(--ground-mist); }
.pk9__i { display: grid; place-items: center; width: calc(30 * var(--u)); height: calc(30 * var(--u)); border-radius: 7px; background: #EEF4F7; color: var(--blue-800); }
.pk9__i svg { width: calc(17 * var(--u)); height: calc(17 * var(--u)); }
.pk9__tiers b { font-size: calc(16 * var(--u)); }
.pk9__tiers span:last-child { font-size: calc(14.5 * var(--u)); color: var(--fg2); }
.fo9s .fo8__sup { background: rgba(255,255,255,.04); border: 1px solid var(--on-dark-rule); border-radius: 12px; }
.fo9s .fo8__sup img { height: calc(48 * var(--u)); width: auto; opacity: 1; }
.wl.wl9 { grid-template-columns: minmax(0, .8fr) minmax(0, 1fr) auto; }
.wl.wl9 .fl8__e { grid-column: 1 / -1; }
.wl.wl9 .fl8__e:empty { display: none; }
@media (max-width: 599px) { .wl.wl9 { grid-template-columns: minmax(0, 1fr); } .bd9 li { grid-template-columns: minmax(0, 1fr); gap: 2px; padding-block: 8px; } .pk9__tiers li { grid-template-columns: auto minmax(0, 1fr); } .pk9__tiers span:last-child { grid-column: 2; } .lg9__rows li { grid-template-columns: minmax(0, 1fr) auto; } .lg9__rows .lg9__w { grid-column: 1 / -1; } }
.dlg9 .in8__ic { flex: none; }
.s7 .au9__ch { flex-direction: column; align-items: flex-start; gap: 2px; }
.au9__ch .au7__ar { display: none; }
.au9__ch b::before { content: "→ "; color: var(--blue-500); }
@media (max-width: 599px) { .mkd__leg.mk9__leg { grid-template-columns: minmax(0, 1fr); } .mk9__leg li { white-space: normal; } }

.rl9s { overflow-x: clip; }
/* the step numbers sit on the progress rail: opaque grounds keep the rail from showing through the digits */
.pc9s .pc8__n { background: #151C22; }
.pc9s .pc8__s.is-past .pc8__n { background: #1F4654; color: #fff; }

/* Manifesto pop-up (round 9, Henri: "not symmetrical"): the panel fits its content and sits centred, on an opaque Depth
   ground; two balanced columns, both vertically centred: the bridge with the two routes under it, and the text */
@media (min-width: 900px) {
  .mf7--dlg { height: fit-content; max-height: calc(100% - var(--hdr-h) - 56 * var(--u)); margin: auto; width: min(calc(1180 * var(--u)), calc(100% - 2 * var(--gutter)));
    background: radial-gradient(90% 120% at 0% 0%, rgba(44,122,148,.22) 0%, rgba(4,9,13,0) 60%), linear-gradient(160deg, #060B10 0%, #0B141B 100%); -webkit-backdrop-filter: none; backdrop-filter: none; border-color: rgba(155,210,230,.18); }
  .mf7--dlg::backdrop { background: rgba(0,6,10,.62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
  .mf7--dlg .mf7__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: calc(64 * var(--u)); padding: calc(64 * var(--u)); }
  .mf7--dlg .mf7__side { justify-content: center; gap: calc(32 * var(--u)); }
  .mf7--dlg .mf7__side .mf7__bridge { position: static; padding-top: 0; }
  .mf7--dlg .mf7__end--side { background: rgba(255,255,255,.04); border-color: rgba(155,210,230,.2); border-radius: 12px; box-shadow: none; }
  .mf7--dlg .mf7__copy { max-width: none; }
  .mf7--dlg .mf7__1 { font-size: calc(32 * var(--u)); }
  .mf7--dlg .mf7__t p { font-size: calc(17.5 * var(--u)); }
}
.abh9__q p { font-size: calc(22 * var(--u)); }
.abh9__q cite a { color: var(--on-dark-2); text-decoration: underline; text-decoration-color: rgba(255,255,255,.3); text-underline-offset: 3px; }
.abh9__q cite a:hover { color: #fff; text-decoration-color: currentColor; }

/* Public explorer (round 9b): the list is not a scroll box, so the wheel always scrolls the page (Henri: stuck after "Show more") */
.mp9 .mp8__rows { max-height: none; overflow: visible; overscroll-behavior: auto; }
/* Mint and redeem (round 9b): the steps light one after another, the last one holds, then the loop restarts at the first
   step (Henri). One 6-second cycle: step n lights at 0.4 + n seconds, all four go dark together at 5.2 s. */
html.js:not(.rm) .mp9__d .mr8 .mr8__st li .mr8__dot { animation: none; }
html.js:not(.rm) .mp9__d .mr8.is-run .mr8__st li:nth-child(1) .mr8__dot { animation: mr9s0 6s var(--ease) infinite both; }
@keyframes mr9s0 { 0%, 6.66% { background: #fff; border-color: #A9C3D0; box-shadow: none; } 6.67% { background: var(--blue-800); border-color: var(--blue-800); box-shadow: 0 0 0 6px rgba(35,95,115,.18); } 11.67%, 86.67% { background: var(--blue-800); border-color: var(--blue-800); box-shadow: none; } 90.67%, 100% { background: #fff; border-color: #A9C3D0; box-shadow: none; } }
html.js:not(.rm) .mp9__d .mr8.is-run .mr8__st li:nth-child(2) .mr8__dot { animation: mr9s1 6s var(--ease) infinite both; }
@keyframes mr9s1 { 0%, 23.32% { background: #fff; border-color: #A9C3D0; box-shadow: none; } 23.33% { background: var(--blue-800); border-color: var(--blue-800); box-shadow: 0 0 0 6px rgba(35,95,115,.18); } 28.33%, 86.67% { background: var(--blue-800); border-color: var(--blue-800); box-shadow: none; } 90.67%, 100% { background: #fff; border-color: #A9C3D0; box-shadow: none; } }
html.js:not(.rm) .mp9__d .mr8.is-run .mr8__st li:nth-child(3) .mr8__dot { animation: mr9s2 6s var(--ease) infinite both; }
@keyframes mr9s2 { 0%, 39.99% { background: #fff; border-color: #A9C3D0; box-shadow: none; } 40.00% { background: var(--blue-800); border-color: var(--blue-800); box-shadow: 0 0 0 6px rgba(35,95,115,.18); } 45.00%, 86.67% { background: var(--blue-800); border-color: var(--blue-800); box-shadow: none; } 90.67%, 100% { background: #fff; border-color: #A9C3D0; box-shadow: none; } }
html.js:not(.rm) .mp9__d .mr8.is-run .mr8__st li:nth-child(4) .mr8__dot { animation: mr9s3 6s var(--ease) infinite both; }
@keyframes mr9s3 { 0%, 56.66% { background: #fff; border-color: #A9C3D0; box-shadow: none; } 56.67% { background: var(--blue-800); border-color: var(--blue-800); box-shadow: 0 0 0 6px rgba(35,95,115,.18); } 61.67%, 86.67% { background: var(--blue-800); border-color: var(--blue-800); box-shadow: none; } 90.67%, 100% { background: #fff; border-color: #A9C3D0; box-shadow: none; } }
.mp9__d .mr8__st li:not(:last-child)::after { content: ""; position: absolute; left: 10px; top: 20px; bottom: 0; width: 2px; background: var(--blue-800); transform-origin: top; transform: scaleY(0); }
html.js:not(.rm) .mp9__d .mr8.is-run .mr8__st li:nth-child(1)::after { animation: mr9l0 6s linear infinite both; }
@keyframes mr9l0 { 0%, 6.67% { transform: scaleY(0); } 23.33%, 86.67% { transform: scaleY(1); } 90.67%, 100% { transform: scaleY(0); opacity: 1; } }
html.js:not(.rm) .mp9__d .mr8.is-run .mr8__st li:nth-child(2)::after { animation: mr9l1 6s linear infinite both; }
@keyframes mr9l1 { 0%, 23.33% { transform: scaleY(0); } 40.00%, 86.67% { transform: scaleY(1); } 90.67%, 100% { transform: scaleY(0); opacity: 1; } }
html.js:not(.rm) .mp9__d .mr8.is-run .mr8__st li:nth-child(3)::after { animation: mr9l2 6s linear infinite both; }
@keyframes mr9l2 { 0%, 40.00% { transform: scaleY(0); } 56.67%, 86.67% { transform: scaleY(1); } 90.67%, 100% { transform: scaleY(0); opacity: 1; } }
html.rm .mp9__d .mr8__st li:not(:last-child)::after { transform: none; }
/* Documents tab (round 9b): one icon family, the stroke icons of the kit; the file type rides under the document icon */
.dc9__i { border-radius: 10px; background: linear-gradient(145deg, #FFFFFF, #EEF4F7); }
.dc9__pdf { display: grid; justify-items: center; gap: 1px; padding: 6px 7px 4px; border-radius: 8px; background: #EEF4F7; color: var(--blue-850); border: 1px solid #D3DEE5; }
.dc9__pdf svg { width: calc(20 * var(--u)); height: calc(20 * var(--u)); }
.dc9__pdf i { font-style: normal; font-size: max(calc(9.5 * var(--u)), 9px); font-weight: 700; letter-spacing: .06em; line-height: 1; }
.dc9__docs li { transition: border-color 200ms var(--ease); }
/* featured article on Private (round 9b): the same shaded card as on Public, in its own short band before the questions */
.fa9s.s7 { padding-block: calc(56 * var(--u)) 0; }
.fa9s .fa8, .uc9 .fa8 { margin-top: 0; border-color: #CFE0E8; background: linear-gradient(120deg, #E6F1F6 0%, #EFF5F8 45%, #F5F7F9 100%); box-shadow: 0 1px 0 rgba(255,255,255,.8) inset; }
.uc9 .fa8 { margin-top: calc(56 * var(--u)); }
.fa9s .fa8:hover, .uc9 .fa8:hover { border-color: #B5CFDB; }
.fa8 h3 a:hover { text-decoration: none; color: var(--blue-800); }
/* drawer (round 9b): the Private link entry looks exactly like the Public entries (no link underline, same case and hover) */
a.talk__sub, a.talk__sub:hover, a.talk__sub:focus-visible { text-decoration: none; color: inherit; }
a.talk__sub b, a.talk__sub span { text-decoration: none; }
/* Public explorer (round 9b, Henri): Listing = flag + exchange and code; third column = the Atlas pre-screen; the networks
   and protocols sit compactly under the asset card */
.mp9 .mp8__hd, .mp9 .mp8__r { grid-template-columns: minmax(0, 2.1fr) minmax(0, 1.25fr) minmax(0, 1fr); }
.mp9__ls { display: inline-flex; align-items: center; gap: 9px; color: var(--on-light-2); }
.mp9__ls img { width: 20px; height: 15px; border-radius: 2px; flex: none; box-shadow: 0 0 0 1px rgba(11,20,27,.08); }
.mp9__at { display: inline-flex; align-items: center; gap: 7px; font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-light-2); white-space: nowrap; }
.mp9__at b { font-weight: 700; color: var(--on-light-1); font-variant-numeric: tabular-nums; min-width: 2.6em; }
.mp9__at .lg9__sq { width: calc(9 * var(--u)); height: calc(9 * var(--u)); }
.mp9__at--na { color: var(--on-light-3); font-size: max(calc(13 * var(--u)), var(--floor)); }
.mp9__d .mp9__net { display: grid; gap: 8px; margin-top: calc(18 * var(--u)); padding-top: calc(14 * var(--u)); border-top: 1px solid #D9E3E9; }
.s7 .mp9__d .mp9__net p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; max-width: none; }
.mp9__d .mp9__nk { min-width: calc(76 * var(--u)); font-size: max(calc(11.5 * var(--u)), var(--floor)); }
.mp9__d .mp9__ch { min-height: calc(26 * var(--u)); padding: 0 calc(9 * var(--u)) 0 calc(6 * var(--u)); gap: 5px; background: #fff; font-size: max(calc(12.5 * var(--u)), var(--floor)); }
.mp9__d .mp9__ch img { width: calc(15 * var(--u)); height: calc(15 * var(--u)); }
@media (max-width: 599px) { .mp9 .mp8__r { grid-template-columns: minmax(0, 1fr) auto; } .mp9__ls { grid-column: 1; grid-row: 2; padding-left: 52px; } .mp9__at { grid-column: 2; grid-row: 1 / span 2; align-self: center; } .mp9__at span { display: none; } }
.s7 .mp9__d .mp9__net p { display: grid; gap: 6px; }
.mp9__d .mp9__net p > span.mp9__nk { display: block; }
.mp9__d .mp9__net p { grid-template-columns: 1fr; } .mp9__d .mp9__net p .mp9__ch { justify-self: start; }
.mp9__d .mp9__net p { display: flex; flex-wrap: wrap; } .mp9__d .mp9__net p .mp9__nk { flex: 0 0 100%; min-width: 0; }

/* Toolkit follow (round 9b, Henri): Supported by sits above the email intake, centred, with marks that read clearly */
.fo9__r { display: grid; gap: calc(16 * var(--u)); }
.fo9s .fo8__sup.fo9__sup { grid-column: auto; justify-content: center; flex-direction: column; gap: calc(14 * var(--u)); padding: calc(22 * var(--u)) calc(24 * var(--u)); text-align: center; background: linear-gradient(160deg, #0B2532, #071820); border: 1px solid rgba(155,210,230,.2); border-radius: 12px; }
.fo9__sup ul { justify-content: center; align-items: center; gap: calc(40 * var(--u)); }
.fo9__sup li:first-child img { height: calc(40 * var(--u)); width: auto; }
.fo9__sup li:last-child img { height: calc(84 * var(--u)); width: auto; }
.fo9s .fo8__sup img { opacity: 1; }
/* Ledger head (round 9b): the T-Blocks lockup and the Atlas engine mark, as in the kit's result channels */
.lg9__top { align-items: center; }
.lg9__logo { height: calc(17 * var(--u)); width: auto; }
.lg9__logo--l { display: none; } .dk .lg9__logo--l { display: block; } .dk .lg9__logo--d { display: none; }
.lg9--mini .lg9__logo { height: calc(14 * var(--u)); }
.s7 .lg9__eb, .lg9__eb { display: flex; align-items: center; gap: 8px; margin: calc(12 * var(--u)) 0 0; font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--lk-ink2); max-width: none; }
.lg9__eb img { width: calc(16 * var(--u)); height: calc(16 * var(--u)); border-radius: 3px; }
.lg9__eb .lg9__id { font-weight: 500; letter-spacing: .04em; text-transform: none; }

/* sweep (round 9b): one corner scale for panes across the site (buttons keep the brand's 4 px), one button size */
.fq8__i, .fold.fq8__i, .fw8__ly, .ac7__f, .tk8h__a, .tk8h__m, .ho8__l > li, .mkin6__i, .mkout6__c, .subscribe5.sub7, .mf7__end--side, .rs8__l > li { border-radius: 10px; }
.mp8.mp9 { border-radius: 14px; }
.fq8__i[open] { border-radius: 10px; }
.ins8m__all, .ft7__go, .mf7--page .mf7__routes .btn, .nx7 .btn, .posts__more .btn { min-height: calc(50 * var(--u)); font-size: max(calc(16 * var(--u)), var(--floor)); padding-inline: calc(22 * var(--u)); }
.ins7f .ft7__go, a.btn.ft7__go { min-height: calc(50 * var(--u)) !important; }
a.btn.ft7__go { font-size: max(calc(16 * var(--u)), var(--floor)) !important; padding: 0 calc(22 * var(--u)) !important; }
/* toolkit (round 9b, Henri): one engine mark per card, on the right edge beside the T-Blocks lockup */
.lg9__eng { display: inline-flex; align-items: center; gap: 7px; font-size: max(calc(13 * var(--u)), var(--floor)); font-weight: 700; color: var(--lk-ink, #fff); }
.lg9__eng img { width: calc(16 * var(--u)); height: calc(16 * var(--u)); border-radius: 3px; }
.lg9__eb { justify-content: flex-start; }
.lg9__eb .lg9__tag { margin-left: auto; letter-spacing: 0; text-transform: none; }
.tk9__top { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding-bottom: calc(12 * var(--u)); margin-bottom: calc(10 * var(--u)); border-bottom: 1px solid var(--on-dark-rule); }
.tk9__top .lg9__eng { color: #fff; }
.tk9__top .lg9__logo { height: calc(14 * var(--u)); width: auto; }
/* the last dark section before the footer: its tint at the top, black at the bottom, so it meets the footer seamlessly */
.fo8.depth { background: linear-gradient(180deg, #1B2836 0%, #0B141B 38%, #06090C 70%, #000000 100%); }
.lg9 .lg9__eb { display: flex; flex-wrap: nowrap; width: 100%; }
/* toolkit Meridian (round 9b, Henri): the Venn is centred in its column with its labels inside the drawing; the
   overlap uses the Meridian engine colour; the Meridian outputs carry square bullets in that colour */
.pk9__venn { justify-self: center; align-self: center; width: 100%; max-width: calc(440 * var(--u)); margin: 0 auto; }
.pk9__venn .pk8__l { display: none; }
.pk9__t { font: 700 15px var(--font-sans); fill: #0B141B; text-anchor: middle; }
.pk9__s { font: 500 11.5px var(--font-sans); fill: #5A6B78; text-anchor: middle; }
.pk9__c { font: 700 12px var(--font-sans); fill: #fff; text-anchor: middle; letter-spacing: .04em; }
.pk9__venn figcaption { text-align: center; }
.pk8__out li { position: relative; padding-left: calc(20 * var(--u)); }
.pk8__out li::before { content: ""; position: absolute; left: 0; top: .5em; width: calc(9 * var(--u)); height: calc(9 * var(--u)); border-radius: var(--sq-r); background: var(--engine-meridian, #C4872D); }
@media (max-width: 599px) { .pk9__tiers li { align-items: start; min-height: 0; padding-block: 12px; row-gap: 4px; column-gap: 12px; } .pk9__tiers b { align-self: center; } }

/* Private process (round 9b, Henri): the headline and stage controls pin under the site header; the art pins beside
   the steps; only the steps scroll. Static on phones, short screens and under reduced motion. */
.pc9s .pc8__alt { display: none; }
.pc9__stick { position: relative; }
.pc9__pin { position: sticky; top: calc(var(--hdr-bottom, 64px) + 4px); z-index: 4; margin-inline: calc(-1 * var(--gutter)); padding: calc(18 * var(--u)) var(--gutter) calc(14 * var(--u));
  background: linear-gradient(180deg, #030507 0%, #04070A 82%, rgba(4,7,10,0) 100%); }
.pc9__pin .s7__head { margin-bottom: calc(18 * var(--u)); }
.pc9s .pc8__ctl { margin: 0; }
.pc9s .pc8__art { top: calc(var(--hdr-bottom, 64px) + var(--pin-h, 200px) + 12px); }
.pc9s .pc8__stage svg { max-height: calc(var(--vh) - var(--hdr-bottom, 64px) - var(--pin-h, 200px) - 140 * var(--u)); }
.pc9s .pc8__s:first-child { padding-top: calc(28 * var(--u)); }
.pc9s .pc8__s:last-child { min-height: calc(var(--vh) * .34); }
.pc8.is-static .pc9__pin { position: static; background: none; margin-inline: 0; padding-inline: 0; }
@media (max-width: 899px) { .pc9__pin { position: static; background: none; margin-inline: 0; padding-inline: 0; } }
/* P2 (round 9b, Henri): the two actions stacked under the selector, one width */
.au9__act { display: grid; grid-template-columns: minmax(0, 1fr); gap: 12px; max-width: calc(380 * var(--u)); }
.au9__act .btn { width: 100%; justify-content: space-between; min-height: calc(50 * var(--u)); }
.au9__act .au9__types { background: #fff; }
.au9__plus { font-size: 1.2em; line-height: 1; color: var(--blue-800); }
/* the process section uses one even dark ground, so the pinned band matches whatever scrolls under it */
.pc9s.depth { background: radial-gradient(70% 50% at 85% 0%, rgba(44,122,148,.10), rgba(4,8,11,0) 70%), #04080B; }
.pc9__pin { background: linear-gradient(180deg, #04080B 0%, #04080B 84%, rgba(4,8,11,0) 100%); }

/* Featured article (round 9b, Henri): a deeper, more visible card; the label rides on the thumbnail; drawn thumbnails */
.fa9s .fa8.fa9, .uc9 .fa8.fa9 { border: 1px solid #B9D3DE; background: linear-gradient(120deg, #D3E5EC 0%, #E2EDF2 55%, #ECF3F6 100%); box-shadow: 0 18px 44px rgba(11,20,27,.10); padding: calc(22 * var(--u)); }
.fa9__img { position: relative; border-radius: 12px; overflow: hidden; background: #04121A; box-shadow: 0 14px 34px rgba(0,26,39,.28); }
.fa9__svg { display: block; width: 100%; height: 100%; }
.fa9__l { font: 600 15px var(--font-sans); fill: #FFFFFF; fill-opacity: .8; }   /* the 5.6 engine label (Henri, 18 Oct) */
.fa9__chip { position: absolute; left: 14px; top: 14px; display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px; border-radius: var(--r-pill); background: rgba(0,10,15,.72); border: 1px solid rgba(155,210,230,.35); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); font-size: max(calc(12.5 * var(--u)), var(--floor)); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #fff; }
.fa9__chip i { width: calc(8 * var(--u)); height: calc(8 * var(--u)); border-radius: 1.5px; background: #67BBD6; }
.s7 .fa9 .fa8__k { color: var(--blue-800); }
.fa9 h3 { font-size: calc(28 * var(--u)); }
.fa9__go { margin-top: calc(6 * var(--u)); }
.fa9:hover .fa9__img { box-shadow: 0 18px 40px rgba(0,26,39,.34); }
/* Public (round 9b): the DeFi picture in the light style of its neighbours */
.od9__t { fill: #2D3E50; font-size: 10.5px; }
.od9__t--lg { fill: #1C4E5E; font-size: 12px; }
.od9__p { stroke: #A9C3D0; }
.od9__pk { fill: #3A8CA7; }
/* "From order to mint" in five steps: the packet and the lights run one 10-second cycle */
.wf9 { --n: 5; }
.wf9__l { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.wf9__track { left: calc((100% - 4 * var(--g)) / 10); right: calc((100% - 4 * var(--g)) / 10); }
html.js:not(.rm) .wf9__pk { animation: wf9p5 10s linear infinite both; }
html.js:not(.rm) .wf9__i { animation: wf9i5 10s var(--ease) infinite both; animation-delay: calc(var(--i) * 2s); }
@keyframes wf9p5 { 0% { left: 0; opacity: 0; } 2% { opacity: 1; } 80% { left: calc(100% - 10px); opacity: 1; } 88%, 100% { left: calc(100% - 10px); opacity: 0; } }
@keyframes wf9i5 { 0% { background: #0B2532; border-color: rgba(155,210,230,.28); box-shadow: none; color: #9BD2E6; } 3%, 18% { background: #1C4E5E; border-color: #67BBD6; box-shadow: 0 0 0 6px rgba(103,187,214,.12), 0 0 22px rgba(103,187,214,.45); color: #fff; } 26%, 100% { background: #0B2532; border-color: rgba(155,210,230,.28); box-shadow: none; color: #9BD2E6; } }
.wf9__l li > span:last-child { max-width: 24ch; }
@media (max-width: 1023px) and (min-width: 768px) { .wf9__l { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: 28px; } .wf9__track { display: none; } }
/* Networks and Protocols in two columns under the asset card */
.mp9__d .mp9__net { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px 18px; }
.s7 .mp9__d .mp9__net p { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; }
.mp9__d .mp9__net p .mp9__nk { flex: none; margin-bottom: 2px; }
.s7 .mp9__d .mp9__net p { margin: 0; flex-direction: row; flex-wrap: wrap; align-items: center; align-content: flex-start; }
.mp9__d .mp9__net p .mp9__nk { flex: 0 0 100%; }
.mp9__d .mp9__net { align-items: start; }
.pc9s.depth { background: #04080B; }
/* the "Featured from Insights" label heads the card, outside the thumbnail (Henri) */
.fa9 { grid-template-rows: auto 1fr; }
.s7 .fa9 .fa9__chip, .fa9 .fa9__chip { grid-column: 1 / -1; position: static; justify-self: start; margin: 0 0 calc(2 * var(--u)); background: var(--ground-navy); border-color: var(--ground-navy); -webkit-backdrop-filter: none; backdrop-filter: none; color: #fff; max-width: none; }
@media (max-width: 767px) { .fa9 .fa9__chip { grid-column: 1; } }
.dc9__f .dc9__i { display: grid; place-items: center; }

/* Public Atlas card (round 9b, Henri): a small Atlas result card inside the asset card, quiet and low-contrast */
.mp9__d .at9c { padding: calc(14 * var(--u)) calc(16 * var(--u)) calc(12 * var(--u)); border: 1px solid #DCE6EC; border-radius: 10px; background: #fff; box-shadow: 0 1px 2px rgba(11,20,27,.04); }
.at9c__top { padding-bottom: calc(10 * var(--u)); border-bottom: 1px solid #E6ECF0; }
.at9c__top .lg9__logo { height: calc(14 * var(--u)); width: auto; }
.at9c__top .lg9__eng { font-size: max(calc(12.5 * var(--u)), var(--floor)); color: var(--on-light-2); }
.at9c__top .lg9__eng img { width: calc(14 * var(--u)); height: calc(14 * var(--u)); }
.at9c__hd { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: calc(10 * var(--u)) 0 calc(6 * var(--u)); }
.s7 .at9c__k, .at9c__k { margin: 0; font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 600; letter-spacing: .04em; color: var(--on-light-3); }
.mp9__d .at9c .lg9__pct { font-size: calc(26 * var(--u)); color: var(--on-light-1); }
.mp9__d .at9c .lg9__band { font-size: max(calc(13.5 * var(--u)), var(--floor)); font-weight: 600; color: var(--on-light-2); }
.mp9__d .at9c .lg9__sq { width: calc(9 * var(--u)); height: calc(9 * var(--u)); opacity: .85; }
.mp9__d .at9c .at9__rows li { min-height: calc(30 * var(--u)); border-bottom-color: #EEF2F5; grid-template-columns: minmax(0, 1fr) auto calc(84 * var(--u)); gap: 10px; }
.mp9__d .at9c .lg9__n { font-size: max(calc(13 * var(--u)), var(--floor)); color: var(--on-light-2); }
.mp9__d .at9c .lg9__b { grid-template-columns: repeat(5, calc(11 * var(--u))); gap: 3px; }
.mp9__d .at9c .lg9__b i { width: calc(11 * var(--u)); height: calc(11 * var(--u)); }
.mp9__d .at9c .lg9__b i.on { background: #C5D1DA; }
.mp9__d .at9c .lg9__w { font-size: max(calc(12 * var(--u)), var(--floor)); font-weight: 500; color: var(--on-light-3); }
.mp9__d .at9c .lg9__w i { opacity: .7; width: calc(7 * var(--u)); height: calc(7 * var(--u)); }
.s7 .mp9 .at9c__fn, .at9c__fn { margin: calc(10 * var(--u)) 0 0; font-size: max(calc(11.5 * var(--u)), var(--floor)); line-height: 1.45; color: var(--on-light-3); max-width: none; }
.mp9__d .at9c.at8--none .at8__n { margin: 6px 0 0; font-size: max(calc(13.5 * var(--u)), var(--floor)); color: var(--on-light-2); }
/* Public outcomes (round 9c): the strategies bar in navy with white type; "170+" fits the ring; bullet lists share a baseline */
.od9__top .od9__t--lg { fill: #FFFFFF; }
.ov9__big--s { font-size: 15px; letter-spacing: -.02em; }
.uc9__t { flex: 1 1 auto; }
.uc9__b { margin-top: auto; }
.uc9__d { margin-bottom: calc(6 * var(--u)) !important; }
/* About hero (round 9c, Henri): a larger map that fills its column, the legend anchored to the bottom of the hero row */
@media (min-width: 900px) {
  .abh7__g { grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); align-items: stretch; }
  .abh7__map { display: flex; flex-direction: column; justify-content: space-between; gap: calc(18 * var(--u)); height: 100%; }
  .abh7__map svg { width: 112%; max-width: none; margin: auto -6% auto -6%; }
  .abh7__map figcaption { margin-top: 0; padding-top: calc(12 * var(--u)); border-top: 1px solid var(--on-dark-rule); }
}
@media (min-width: 1200px) { .abh7__g { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .abh7__map svg { width: 118%; margin: auto -4% auto -8%; } }
/* the five-step workflow stacks on phones (the five-column rule above came later in the file and overrode it) */
@media (max-width: 767px) { .wf9__l { grid-template-columns: minmax(0, 1fr); } }

/* Articles (round 9d): the old h4–h6 headings join the new scale; contributor bylines read as a quiet note */
article.tb-art h4 { font-size: 1.15em; line-height: 1.3; margin: 1.6em 0 .5em; font-weight: 700; color: var(--on-light-1); }
article.tb-art h5, article.tb-art h6 { font-size: 1em; line-height: 1.35; margin: 1.4em 0 .4em; font-weight: 700; color: var(--on-light-1); letter-spacing: 0; text-transform: none; }
article.tb-art .tb-byline { margin: 0 0 1.4em; padding: .8em 1em; border-left: 3px solid var(--blue-500); background: var(--ground-mist); border-radius: 0 8px 8px 0; font-size: .95em; color: var(--on-light-2); }
article.tb-art img[width][height] { height: auto; }

/* Round 10 (a11y): the Key Takeaways label is a <p> (it labels its aside; as an <h3> after the page h1 it skipped a level).
   Same look as the heading it replaces, measured: 21px/1.3, 700, uppercase, tracked, each variant in its own colour. */
.art6 .art__body article.tb-art p.tb-takeaways-label, .art6 .art__body article.tb-art p.tb-keytakeaways-label { font-size: 21px; line-height: 1.3; font-weight: 700; text-transform: uppercase; margin: 1.4em 0 .5em; max-width: 74ch; }
.art6 .art__body article.tb-art p.tb-takeaways-label { letter-spacing: .16em; color: #67BBD6; }
.art6 .art__body article.tb-art p.tb-keytakeaways-label { letter-spacing: .18em; color: #002B40; }

/* Round 10 (Henri, 14 Oct): privacy and cookie policy page, and the cookie-preferences links */
.lg10 .art6__hg { align-items: start; }
.lg10__glance { background: #FFFFFF; border: 1px solid #DCE5EA; border-radius: 12px; padding: calc(28 * var(--u)) calc(32 * var(--u)); box-shadow: 0 16px 36px rgba(11,20,27,.06); }
.lg10__glance h2 { font-size: max(13px, var(--floor)); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: #1A5C6E; margin: 0 0 14px; }
.lg10__glance ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 12px; }
.lg10__glance li { position: relative; padding-left: 22px; font-size: 16px; line-height: 1.5; color: #1B3845; }
.lg10__glance li::before { content: ""; position: absolute; left: 0; top: .5em; width: 8px; height: 8px; border-radius: 1px; background: #3A8CA7; }
.lg10__body section + section { margin-top: 8px; }
.lg10__body h3 { font-size: 19px; margin: 1.6em 0 .4em; }
.lg10__body table { font-size: 15px; }
.lg10__body td:first-child { font-weight: 600; color: #0B141B; }
.lg10__body code { font-size: .9em; background: #EEF3F6; border-radius: 4px; padding: 1px 5px; }
.lg10 .art6__lede { max-width: 56ch; }
@media (max-width: 1023px) { .lg10__glance { padding: 22px; } }
.lg10 .btn-s, .lg10 .art__body .tb-art a.btn-s { border-color: var(--btn-border-light); color: var(--on-light-1); text-decoration: none; }
.lg10 .btn-s:hover { background: var(--btn-wash-light); }
.lg10__body ul { list-style: none; padding-left: 0; }
.lg10__body ul li { position: relative; padding-left: 24px; margin: .35em 0; }
.lg10__body ul li::before { content: ""; position: absolute; left: 2px; top: .62em; width: 7px; height: 7px; border-radius: 1px; background: #3A8CA7; }
.art__body .lg10__body td, .art__body .lg10__body th { overflow-wrap: normal; word-break: normal; hyphens: none; }
.lg10__body td:first-child { min-width: 9em; }
.lg10__glance li { font-size: 17px; }

/* Round 10 (Henri, 15 Oct): the LinkedIn link sits at the foot of every profile card, whatever the length of the role */
.ab6t__l { align-items: stretch; }
.ab6t__l .pp6 { height: 100%; }
.ab6t__l .pp6__t { display: flex; flex-direction: column; align-items: flex-start; height: 100%; gap: 3px; }
.ab6t__l .pp6__li { margin-top: auto; padding-top: 10px; }
.ab6t__l--lead .pp6__t { flex: 1 1 auto; }
.pp6__tag--legal-counsel { color: var(--blue-800); }
/* Henri, 15 Oct: the portal title on one line, sized from the column's width so it never overflows; phones wrap */
.portal7__h1 { max-width: none; }
@media (min-width: 700px) { .portal7__top { container-type: inline-size; } .portal7__h1 { white-space: nowrap; font-size: min(4.75rem, 5.5cqi); } }
/* Manifesto (Henri, 15 Oct): a narrower bridge column so the text has the room and the pop-up needs no scroll; the
   "Choose where to start" box ends level with the last line of the text; the opening sits on two lines, one sentence
   each, sized from the text column. The pop-up (home, About) and /manifesto/ share the layout. */
@media (min-width: 900px) {
  .mf7--dlg .mf7__in, .mf7--page .mf7__in { grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr); align-items: stretch; gap: calc(56 * var(--u)); }
  .mf7--dlg .mf7__in { padding: calc(48 * var(--u)) calc(56 * var(--u)); }
  .mf7--dlg .mf7__side, .mf7--page .mf7__side { display: flex; flex-direction: column; justify-content: space-between; gap: calc(28 * var(--u)); }
  .mf7__copy, .mf7--dlg .mf7__copy { container-type: inline-size; max-width: none; }
  .mf7__1, .mf7--dlg .mf7__1 { font-size: min(calc(32 * var(--u)), 4.8cqi); }
  .mf7__1 .ln { white-space: nowrap; }
  .mf7--dlg .mf7__t { margin-top: calc(22 * var(--u)); gap: calc(14 * var(--u)); }
  .mf7--dlg .mf7__t p { line-height: 1.55; }
  .mf7--dlg .mf7__sig { margin-top: calc(18 * var(--u)); }
  /* the narrower box: the two routes stacked, full width */
  .mf7__end--side .mf7__routes .btn { width: 100%; }
}
/* no status pills by the routes (Henri, 15 Oct): one column of buttons at every width */
.mf7__routes, .mf7__end--side .mf7__routes { grid-template-columns: minmax(0, 1fr); gap: calc(10 * var(--u)); }
/* Henri, 15 Oct: the About trigger is the homepage's manifesto button (same glyph, size and border), level with the
   button beside it; on phones the pop-up sits on the same dimmed, blurred ground as on desktop, so it reads as a layer */
.btns .mfb7 { margin-top: 0; align-self: stretch; }
@media (max-width: 899px) { .mf7--dlg::backdrop { background: rgba(0,6,10,.62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); } }
/* Public Assets, hero-only mode (src/switches.json, Henri 15 Oct): the hero is the page, one screen under the menu bar
   like the landing page; the art scales with the screen's height; the regulatory line sits at the foot in place of
   the footer */
.ph8u--full { min-height: var(--vh); display: flex; flex-direction: column; padding-bottom: calc(18 * var(--u)); }
.ph8u--full > .ph7__g { flex: 1; align-items: center; }
.ph8u--full .stock-stage { height: clamp(260px, calc(var(--vh) - var(--hdr-h) - 190 * var(--u)), calc(660 * var(--u))); }
.ph8u__legal { margin: 0; padding-top: calc(14 * var(--u)); border-top: 1px solid rgba(255,255,255,.1); font-size: max(calc(12.5 * var(--u)), 12px); line-height: 1.5; color: rgba(255,255,255,.55); max-width: none; }
@media (max-width: 899px) { .ph8u--full { min-height: 0; } .ph8u--full .stock-stage { height: 300px; } }
/* Henri, 15 Oct: no Coming soon pill or caption under the art on the hero-only page (the eyebrow keeps the status) */
.ph8u--full .stock-cap { display: none; }
/* site audit F25 (16 Oct): on light grounds a mark flagged for inversion (HubFinance) is flattened like its neighbours,
   not inverted to white; the two hairline wordmarks get a little more height so they read beside the others */
.lt [data-f="invert"] { filter: brightness(0) !important; }
.rm8__m img[src*="fii."], .rm8__m img[src*="how3"] { height: 32px; max-height: 32px; }
/* Henri, 19 Oct: the 5.6 covers are drawn for 16:9 with a safe margin and the T-Blocks symbol in the bottom-right
   corner, so the cards show the whole cover (a 2:1 crop cut the corner mark and the top labels) */
.post__img, .post__img img { aspect-ratio: 16 / 9; }

/* ══ ROUND 11 · mobile and touch stress test (19 Oct 2026) ══
   Layout, interaction and accessibility only: no copy, colour or design change. --tap is a 44 visual px touch target
   under the page zoom (44 px on phones, 49 CSS px under the tablet .9, 61 under .72, 69 under .64). */
:root { --tap: calc(var(--btn-h-md) / var(--pz)); }
.nobr { white-space: nowrap; }
:is(.eyebrow, .btn, .lnk) > .nobr { display: contents; }   /* in a flex label the name joins its words, not the gap */
h1, h2, h3, h4, .fold__t, summary b { text-wrap: balance; }

/* the drawer's Send buttons had no ground: the drawer is neither .lt nor .dk, so .btn-p fell back to the browser's grey
   button and read as disabled. The light-ground action green, as in .lt and .dlg. */
.talk .btn-p { background: var(--action-green); color: var(--on-action-green); }
.talk .btn-p:hover { background: var(--action-green-hover); }

/* iOS zooms the page into any field under 16 px: every text field is at least 16 visual px on phones and on touch
   screens (the drawer's fields inherited the 14 px label size; tablets scaled 14.4 px search and list fields) */
@media (pointer: coarse), (max-width: 767px) {
  html body :is(input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="file"]), select, textarea) { font-size: calc(16px / var(--pz)); }
}

/* the drawer on phones and short screens: the close control stays in reach while the form scrolls, the page behind
   does not scroll, and the field the visitor is in is never under the bar */
.talk, .mnav, .mf7__in, .dlg9 { overscroll-behavior: contain; }
@media (max-width: 599px), (max-height: 520px) {
  .talk__top { position: sticky; top: 0; z-index: 3; margin: -20px -20px 0; padding: 10px 20px; background: var(--ground-white); border-bottom: 1px solid var(--rl); }
  .talk .frm :is(input, select, textarea) { scroll-margin-top: 84px; }
}
@media (max-height: 520px) and (min-width: 600px) { .talk__top { margin: -32px -44px 0; padding: 10px 44px; } }
@media (pointer: coarse) { html:has(.talk[open]), html:has(.dlg9[open]) { overflow: hidden; } }

/* touch targets: 44 visual px wherever a finger is the pointer */
@media (pointer: coarse) {
  .ft ul a, .ft__foot a { min-height: var(--tap); }
  .ft__social a { width: var(--tap); height: var(--tap); }
  .sh7__b { min-height: var(--tap); } .sh7__i { width: var(--tap); }
  .art6__back .lnk, .talk__back { min-height: var(--tap); }
  .art6__toc-d summary { min-height: var(--tap); }
  .art6__toc-d ol { gap: 0; } .art6__toc-d ol a { display: inline-flex; align-items: center; min-height: var(--tap); padding-block: 6px; }
  .talk__x, .mf7__x, .dlg9__x { width: var(--tap); height: var(--tap); }
  .navtog { min-height: var(--tap); }
  .ins7a .fc, .ins7a .fc--sub { min-height: var(--tap); }
  .ins7a__q input { min-height: var(--tap); }
  article.tb-art .tb-chart__text summary { min-height: var(--tap); }
  /* a touch tablet in landscape gets the desktop bar: its links, menu carets and action at full touch size */
  .nav__a, .nav__b, .hdr__act .btn { min-height: var(--tap); }
  .nav__b { width: var(--tap); }
  .hdr[data-state="compact"] { --h: max(var(--hdr-h-c), calc(var(--tap) + 8px)); }
  .hdr__logo, .lnk, .mfb7, .pp6__li, .rm8__m a, .mkd__how summary { min-height: var(--tap); }
  .totop { width: var(--tap); height: var(--tap); }
  article.tb-art .tb-cta a.tb-cta-button-secondary { display: inline-flex; align-items: center; min-height: var(--tap); }
}

/* the back-to-top button: 44 px, clear of the home indicator, and above the HubSpot chat once it has loaded (both sat
   in the same bottom-right corner); --chat is the widget's height, set by site.js as it opens, shows its welcome
   message or closes */
.totop { bottom: calc(max(16px, env(safe-area-inset-bottom)) + var(--chat, 0px)); }
@media (max-width: 767px) { .totop { width: 44px; height: 44px; right: max(12px, env(safe-area-inset-right)); bottom: calc(max(12px, env(safe-area-inset-bottom)) + var(--chat, 0px)); } }
.totop.is-chat { opacity: 0 !important; visibility: hidden; pointer-events: none; }

/* landscape phones with a notch (the pages use viewport-fit=cover): text and controls stay inside the safe area */
.wrap { padding-left: max(var(--gutter), calc(env(safe-area-inset-left) / var(--pz))); padding-right: max(var(--gutter), calc(env(safe-area-inset-right) / var(--pz))); }
@media (max-width: 767px) { .wrap { padding-left: max(20px, env(safe-area-inset-left)); padding-right: max(20px, env(safe-area-inset-right)); } }
@media (max-width: 959px) {
  .hdr[data-state="top"] .hdr__bar, .hdr[data-state="expanded"] .hdr__bar { padding-left: max(20px, calc(env(safe-area-inset-left) / var(--pz))); padding-right: max(20px, calc(env(safe-area-inset-right) / var(--pz))); }
  .hdr[data-state="compact"] { --inset: max(10px, calc(env(safe-area-inset-left) / var(--pz))); }
}
.talk__in { padding-right: max(var(--talk-px, 44px), calc(env(safe-area-inset-right) / var(--pz))); }
@media (max-width: 599px) { .talk__in { --talk-px: 20px; } }

/* footer: on phones the globe sat behind the brand line and its lines ran through the words; it now starts below it */
@media (max-width: 599px) { .ft .globe { top: 150px; } }

/* Private process on phones: the description and "You receive" run under the number as well as the title, so each
   sits on two lines (they were three in the indented column) */
@media (max-width: 599px) {
  .pc8__s { row-gap: 8px; align-items: center; }
  .pc8__s > div { display: contents; }
  .pc8__s .pc8__o, .pc8__s .pc8__d { grid-column: 1 / -1; margin-top: 0; }
}

/* article anchors: the heading lands just under the compact bar (scroll padding and margin added up to 172 px) */
@media (max-width: 767px) { .art6 .art__body article.tb-art h2, .art__body article.tb-art :is(h2, h3)[id] { scroll-margin-top: 16px; } }

/* article components ─────────────────────────────────────────────────────────────────────────────────────────────
   The quote: round 9 put .tb-quote on the Depth panel, but both quote rules (the F02 blockquote and the site's aside)
   set dark ink, so the text was dark on dark (about 1.1:1). Light ink on the panel, with room around it. */
html article.tb-art :is(blockquote, aside).tb-quote { margin: 36px 0; padding: 28px 32px 28px 60px; color: var(--on-dark-1); }
html article.tb-art :is(blockquote, aside).tb-quote::before { left: 32px; top: calc(28px + .42em); background: var(--blue-400); }
html article.tb-art :is(blockquote, aside).tb-quote cite { color: var(--on-dark-2); }
html article.tb-art :is(blockquote, aside).tb-quote :is(p, a) { color: inherit; }
@media (max-width: 599px) { html article.tb-art :is(blockquote, aside).tb-quote { padding: 22px 20px 22px 44px; font-size: 21px; } html article.tb-art :is(blockquote, aside).tb-quote::before { left: 20px; top: calc(22px + .42em); } }
/* footnote markers and the takeaways label were sky on white (2.2:1 and 2.0:1); sky is for dark grounds */
/* attribute selectors on purpose: naming these classes here would make tools/build.mjs stop carrying their article rules */
.art__body .tb-art [class~="tb-footnote-ref"] { color: var(--blue-800); }
.art6 .art__body article.tb-art p.tb-takeaways-label { color: var(--blue-800); }
/* tables on phones: words never break inside (the cells used overflow-wrap: anywhere, so a squeezed first column split
   "instrument"), the table keeps its own sideways scroll with an edge shadow to show there is more, and the caption
   stays in view at the scroller's width instead of running off with the table */
.art__body article.tb-art div.tbl8 > table { display: table; }
.art__body .tb-art .tbl8 :is(td, th) { overflow-wrap: normal; word-break: normal; }
.tbl8 { container-type: inline-size;
  background: linear-gradient(90deg, var(--ground-white) 40%, transparent) left / 32px 100% no-repeat local,
    linear-gradient(270deg, var(--ground-white) 40%, transparent) right / 32px 100% no-repeat local,
    radial-gradient(farthest-side at 0 50%, color-mix(in srgb, var(--on-light-1) 18%, transparent), transparent) left / 14px 100% no-repeat scroll,
    radial-gradient(farthest-side at 100% 50%, color-mix(in srgb, var(--on-light-1) 18%, transparent), transparent) right / 14px 100% no-repeat scroll; }
.art__body .tb-art .tbl8 caption { position: sticky; left: 0; max-width: 100cqi; box-sizing: border-box; }
/* the article's own panels on phones: the takeaways keep their inset but give the text its measure back */
@media (max-width: 599px) { html article.tb-art :is(.tb-takeaways, [class~="tb-keytakeaways"]) { padding: 22px 20px; } html article.tb-art [class~="tb-keytakeaways"] ul { padding-left: 18px; } }
/* Copy link, when no clipboard is available: the address replaces the label, selectable in one tap */
.sh7__b.is-url span { user-select: all; -webkit-user-select: all; overflow-wrap: anywhere; font-size: max(13px, var(--floor)); font-weight: 500; }
