/* v33 pages: Roadmap (/roadmap/) and Brochures (/brochures/). Everything is scoped under body.pg-roadmap or body.pg-brochures.
   Colours come from the site tokens (light and dark follow :root[data-theme] and prefers-color-scheme through those tokens). */
body.pg{overflow-x:clip}
body.pg .vh{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
/* status glyphs: filled = trading, half = being set up, open = planned, dashed = indicative (shape and a word, never colour alone) */
body.pg .sg{width:12px;height:12px;flex:none}
body.pg .ms .ico.mi{width:18px;height:18px;flex:none;color:var(--c,var(--teal))}

/* ---------- Roadmap: hero and legend ---------- */
body.pg-roadmap .rm-hero .sub{max-width:56ch}
body.pg-roadmap .rm-legend{list-style:none;margin:28px auto 0;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:10px 14px;max-width:880px}
body.pg-roadmap .rm-legend .ms{display:flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--hair);font-size:14px;color:var(--ink2);text-align:left}
body.pg-roadmap .rm-legend .ms b{color:var(--ink);font-weight:600}
body.pg-roadmap .rm-legend .lgd{display:inline-flex;color:var(--teal)}
body.pg-roadmap .rm-legend .ms-indicative{box-shadow:none;border:1.5px dashed var(--line)}
/* ---------- what comes first ---------- */
body.pg-roadmap .fcs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;counter-reset:fc}
body.pg-roadmap .fc{position:relative;display:grid;gap:8px;align-content:start;padding:26px 20px 22px;border-radius:var(--r-m);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair),var(--shadow);counter-increment:fc}
body.pg-roadmap .fc::before{content:"";position:absolute;left:20px;top:0;width:40px;height:4px;border-radius:0 0 4px 4px;background:var(--c)}
body.pg-roadmap .fc-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;font-size:20px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c) 16%,transparent)}
body.pg-roadmap .fc-ic .ico{width:20px;height:20px}
body.pg-roadmap .fc-q{margin:4px 0 0;font-size:13px;font-weight:700;letter-spacing:.02em;color:color-mix(in srgb,var(--c) var(--status-mix,100%),var(--ink))}
body.pg-roadmap .fc h3{margin:0;font-size:19px;line-height:1.2;letter-spacing:-.015em}
body.pg-roadmap .fc p:last-child{margin:0;font-size:15px;line-height:1.45;color:var(--ink2)}
/* ---------- year tabs ---------- */
body.pg-roadmap .ytabs{display:flex;justify-content:center;gap:6px;margin:0 auto 28px;padding:5px;width:max-content;max-width:100%;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--hair)}
body.pg-roadmap .ytabs a{display:grid;gap:0;justify-items:center;min-width:96px;padding:8px 18px 7px;border-radius:999px;font:700 20px/1.1 var(--f-display);letter-spacing:-.02em;color:var(--ink);text-decoration:none}
body.pg-roadmap .ytabs a small{font:500 12px/1.3 var(--f-text);letter-spacing:0;color:var(--ink2)}
body.pg-roadmap .ytabs a[aria-selected="true"]{background:var(--teal);color:#fff}
body.pg-roadmap .ytabs a[aria-selected="true"] small{color:rgba(255,255,255,.9)}
:root[data-theme="dark"] body.pg-roadmap .ytabs a[aria-selected="true"]{color:#04181a}
:root[data-theme="dark"] body.pg-roadmap .ytabs a[aria-selected="true"] small{color:#04181a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body.pg-roadmap .ytabs a[aria-selected="true"]{color:#04181a}:root:not([data-theme="light"]) body.pg-roadmap .ytabs a[aria-selected="true"] small{color:#04181a}}
body.pg-roadmap .ytabs a:hover{text-decoration:none;background:color-mix(in srgb,var(--teal) 10%,transparent)}
body.pg-roadmap .ytabs a[aria-selected="true"]:hover{background:var(--teal)}
body.pg-roadmap .ytabs a:focus-visible{outline:2px solid var(--link);outline-offset:2px}
body.pg-roadmap .ytabs:not(.rm-js){display:none}
body.pg-roadmap .ry{margin-bottom:44px;scroll-margin-top:72px}
body.pg-roadmap .ry[hidden]{display:none}
body.pg-roadmap .ry-h{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;margin:0 0 16px;font-size:clamp(30px,4vw,44px);letter-spacing:-.03em;color:var(--teal)}
body.pg-roadmap .ry-h small{font:500 15px/1.4 var(--f-text);letter-spacing:0;color:var(--ink2)}
body.pg-roadmap .ys.rm-js .ry{margin-bottom:0}
/* ---------- swim-lane ---------- */
body.pg-roadmap .lane{--lab:214px;--g:10px;display:grid;gap:10px}
body.pg-roadmap .lane-h{display:grid;grid-template-columns:var(--lab) repeat(4,minmax(0,1fr));column-gap:var(--g);padding:0 14px 0 18px;font:700 13px/1 var(--f-display);letter-spacing:.06em;color:var(--ink2)}
body.pg-roadmap .lane-h span{padding:0 4px 4px;border-bottom:2px solid var(--line)}
body.pg-roadmap .lane-h span:first-child{border:0}
body.pg-roadmap .lr{display:grid;grid-template-columns:var(--lab) minmax(0,1fr);column-gap:var(--g);row-gap:8px;align-items:start;padding:12px 14px 12px 14px;border-radius:var(--r-m);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair);border-left:4px solid var(--c)}
body.pg-roadmap .lr-div{background:var(--bg2)}body.pg-roadmap .lr-div .rl{padding-left:14px}
body.pg-roadmap .rl{display:grid;gap:3px;align-content:center;min-height:44px;padding-right:6px}
body.pg-roadmap .rl small{font-size:12px;line-height:1.3;color:var(--ink2)}
body.pg-roadmap .rl-logo{display:block}
body.pg-roadmap .rl-logo .lg,body.pg-roadmap .rl-logo .lgp{height:30px;width:auto;max-width:100%}
body.pg-roadmap .rl-logo .lgp .lg{height:30px}
body.pg-roadmap .rl-ic{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--card))}
body.pg-roadmap .rl-ic .ico{width:18px;height:18px}
body.pg-roadmap .rl:has(.rl-ic){grid-template-columns:30px 1fr;column-gap:10px}
body.pg-roadmap .rl:has(.rl-ic) small{grid-column:1/-1}
body.pg-roadmap .rl-name{font:600 16px/1.2 var(--f-display);color:var(--ink);align-self:center}
body.pg-roadmap .lcs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));column-gap:var(--g)}
body.pg-roadmap .lc ul,body.pg-roadmap .ylist ul{list-style:none;margin:0;padding:0;display:grid;gap:6px}
body.pg-roadmap .lc-all{grid-column:2}
body.pg-roadmap .lc-all ul{display:flex;flex-wrap:wrap}
body.pg-roadmap .lc-all::before{content:attr(data-q);display:block;margin:0 0 4px 2px;font:600 11px/1 var(--f-text);letter-spacing:.06em;text-transform:uppercase;color:var(--ink2)}
body.pg-roadmap .ry[data-year="2029"] .lane-h,body.pg-roadmap .ry[data-year="2030"] .lane-h,body.pg-roadmap .ry[data-year="2029"] .lcs,body.pg-roadmap .ry[data-year="2030"] .lcs{display:none}
/* milestone pills */
body.pg-roadmap .ms{position:relative;display:flex;align-items:flex-start;gap:7px;padding:7px 9px;border-radius:12px;background:color-mix(in srgb,var(--c,var(--teal)) 9%,var(--card));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--c,var(--teal)) 30%,transparent);font-size:13px;line-height:1.3;color:var(--ink);min-width:0}
body.pg-roadmap .ms .mt{flex:1;min-width:0;overflow-wrap:anywhere}
body.pg-roadmap .ms .sg{margin-top:2px;color:color-mix(in srgb,var(--c,var(--teal)) 80%,var(--ink))}
body.pg-roadmap .ms-trading{background:color-mix(in srgb,var(--c,var(--teal)) 20%,var(--card));box-shadow:inset 0 0 0 1.5px var(--c,var(--teal))}
body.pg-roadmap .ms-setup{box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--c,var(--teal)) 70%,transparent)}
body.pg-roadmap .ms-planned{background:var(--card)}
body.pg-roadmap .ms-indicative{background:transparent;box-shadow:none;border:1.5px dashed color-mix(in srgb,var(--c,var(--teal)) 55%,var(--line))}
body.pg-roadmap .rm-legend .ms{background:var(--card)}
body.pg-roadmap .rm-legend .ms .lgd .sg{color:var(--teal);margin-top:0}
body.pg-roadmap .rm-legend .ms-indicative{background:transparent}
body.pg-roadmap .ylist{display:none}
body.pg-roadmap .rm-n{margin:28px auto 0;max-width:64ch;text-align:center;font-size:15px;color:var(--ink2)}
/* ---------- matrix ---------- */
body.pg-roadmap .mx-wrap{border-radius:var(--r-m);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair),var(--shadow);overflow:hidden}
body.pg-roadmap .mx{width:100%;border-collapse:collapse;table-layout:fixed;font-size:14px;line-height:1.4}
body.pg-roadmap .mx thead th{padding:14px 14px;text-align:left;font:700 16px/1 var(--f-display);letter-spacing:-.01em;color:var(--teal);background:var(--bg2);border-bottom:1px solid var(--line)}
body.pg-roadmap .mx thead th:first-child{width:21%}
body.pg-roadmap .mx tbody th,body.pg-roadmap .mx td{padding:14px;text-align:left;vertical-align:top;border-top:1px solid var(--hair)}
body.pg-roadmap .mx tbody tr:first-child th,body.pg-roadmap .mx tbody tr:first-child td{border-top:0}
body.pg-roadmap .mx tbody th{position:relative;padding-left:22px;font-weight:600;color:var(--ink)}
body.pg-roadmap .mx tbody th small{display:block;margin-top:3px;font-weight:400;font-size:12px;color:var(--ink2)}
body.pg-roadmap .mx-dot{position:absolute;left:0;top:0;bottom:0;width:5px;background:var(--c)}
body.pg-roadmap .mx td ul{list-style:none;margin:0;padding:0;display:grid;gap:5px}
body.pg-roadmap .mx td li b{color:color-mix(in srgb,var(--c) var(--status-mix,100%),var(--ink));font-weight:700}
body.pg-roadmap .mx-s{display:flex;align-items:center;gap:5px;margin-bottom:6px;font:600 12px/1 var(--f-text);letter-spacing:.05em;text-transform:uppercase;color:var(--ink2)}
body.pg-roadmap .mx-s .sg{width:11px;height:11px;color:var(--c)}
body.pg-roadmap .mx-indicative{background:color-mix(in srgb,var(--bg2) 60%,transparent)}
body.pg-roadmap .mx-none{color:var(--ink2)}
body.pg-roadmap .rm-first .sh,body.pg-roadmap .rm-tl .sh,body.pg-roadmap .rm-mx .sh{margin-bottom:clamp(28px,4vw,44px)}

/* ---------- Brochures ---------- */
body.pg-brochures .bro-hero .sub{max-width:52ch}
body.pg-brochures .bfil{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin:0 auto 28px}
body.pg-brochures .bfil[hidden]{display:none}
body.pg-brochures .bf{all:unset;box-sizing:border-box;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 18px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--line);font:600 15px/1 var(--f-display);color:var(--ink)}
body.pg-brochures .bf .bn{min-width:22px;padding:3px 7px;border-radius:999px;background:var(--bg2);font:600 12px/1 var(--f-text);text-align:center;color:var(--ink2)}
body.pg-brochures .bf[aria-pressed="true"]{background:var(--teal);color:#fff;box-shadow:none}
body.pg-brochures .bf[aria-pressed="true"] .bn{background:rgba(255,255,255,.22);color:#fff}
:root[data-theme="dark"] body.pg-brochures .bf[aria-pressed="true"]{color:#04181a}
:root[data-theme="dark"] body.pg-brochures .bf[aria-pressed="true"] .bn{background:rgba(0,0,0,.18);color:#04181a}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) body.pg-brochures .bf[aria-pressed="true"]{color:#04181a}:root:not([data-theme="light"]) body.pg-brochures .bf[aria-pressed="true"] .bn{background:rgba(0,0,0,.18);color:#04181a}}
body.pg-brochures .bf:focus-visible{outline:2px solid var(--link);outline-offset:2px}
body.pg-brochures .bgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:16px}
body.pg-brochures .bc{position:relative;display:grid;grid-template-columns:116px minmax(0,1fr);gap:18px;align-items:start;padding:20px;border-radius:var(--r-m);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair),var(--shadow);border-top:4px solid var(--c)}
body.pg-brochures .bc[hidden]{display:none}
body.pg-brochures .bc-cover{display:block;width:116px;aspect-ratio:160/226;border-radius:8px;overflow:hidden;background:var(--bg2);box-shadow:0 1px 3px rgba(0,0,0,.14),0 0 0 1px var(--hair)}
body.pg-brochures .bc-cover img{display:block;width:100%;height:100%;object-fit:cover}
body.pg-brochures .bc-soon{display:grid;place-content:center;justify-items:center;gap:10px;padding:8px;text-align:center;box-shadow:none;background:color-mix(in srgb,var(--c) 6%,var(--card));border:1.5px dashed color-mix(in srgb,var(--c) 45%,var(--line))}
body.pg-brochures .bc-soon .lgp,body.pg-brochures .bc-soon>.lg{width:92px;height:auto}
body.pg-brochures .bc-soon .lgp .lg{width:92px;height:auto}
body.pg-brochures .bc-soon small{font-size:12px;line-height:1.25;color:var(--ink2)}
body.pg-brochures .bc-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;color:var(--c);background:color-mix(in srgb,var(--c) 14%,var(--card))}
body.pg-brochures .bc-ic .ico{width:20px;height:20px}
body.pg-brochures .bc-soon b{font:600 15px/1.2 var(--f-display);color:var(--ink)}
body.pg-brochures .bc-b{display:grid;gap:8px;align-content:start;min-width:0}
body.pg-brochures .bc-k{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0}
body.pg-brochures .bc-kind{font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ink2)}
body.pg-brochures .bc h3{margin:0;font-size:20px;line-height:1.2;letter-spacing:-.015em}
body.pg-brochures .bc-s{margin:0;font-size:15px;line-height:1.45;color:var(--ink2)}
body.pg-brochures .bc-meta{margin:0;font-size:13px;color:var(--ink2)}
body.pg-brochures .bc-a{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:2px}
body.pg-brochures .bc-a .more{gap:6px;font-size:15px}
body.pg-brochures .bc-a .ico,body.pg-brochures .bc-none .ico{width:17px;height:17px}
body.pg-brochures .bc-none{display:inline-flex;align-items:center;gap:6px;font-size:15px;font-weight:500;color:var(--ink2)}
body.pg-brochures .bro-req{margin:36px 0 0;text-align:center;font-size:17px;color:var(--ink2)}
body.pg-brochures .bro-req .more{margin-left:6px}

/* ---------- tablets and phones ---------- */
@media (max-width:1100px){
  body.pg-roadmap .fcs{grid-template-columns:repeat(2,minmax(0,1fr))}
  body.pg-roadmap .lane{--lab:168px}
}
@media (max-width:860px){
  /* swim-lane becomes a vertical year-by-year list */
  body.pg-roadmap .lane{display:none}
  body.pg-roadmap .ylist{display:grid;gap:22px}
  body.pg-roadmap .yq{display:grid;gap:10px;padding:16px 14px 14px;border-radius:var(--r-m);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair)}
  body.pg-roadmap .yq h4{margin:0;font:700 17px/1.2 var(--f-display);letter-spacing:-.01em;color:var(--teal)}
  body.pg-roadmap .yq .ms{display:grid;grid-template-columns:18px minmax(0,1fr) 12px;grid-template-areas:"ic yc sg" "ic mt sg";column-gap:9px;row-gap:1px;border-left:4px solid var(--c);padding:9px 10px;border-radius:12px}
  body.pg-roadmap .yq .ms .mi{grid-area:ic;margin-top:1px}
  body.pg-roadmap .yq .ms .yc{grid-area:yc;font:600 12px/1.3 var(--f-text);letter-spacing:.02em;color:color-mix(in srgb,var(--c) var(--status-mix,100%),var(--ink))}
  body.pg-roadmap .yq .ms .mt{grid-area:mt;font-size:14px}
  body.pg-roadmap .yq .ms .sg{grid-area:sg}
  body.pg-roadmap .ry-h{margin-bottom:14px}
  /* matrix: each company becomes a card, each year a labelled block */
  body.pg-roadmap .mx-wrap{background:transparent;box-shadow:none;overflow:visible}
  body.pg-roadmap .mx,body.pg-roadmap .mx tbody,body.pg-roadmap .mx tr,body.pg-roadmap .mx th,body.pg-roadmap .mx td{display:block}
  body.pg-roadmap .mx thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%)}
  body.pg-roadmap .mx tr{margin-bottom:14px;border-radius:var(--r-m);background:var(--card);box-shadow:inset 0 0 0 1px var(--hair);overflow:hidden}
  body.pg-roadmap .mx tbody th{padding:14px 14px 12px 20px;border:0;background:color-mix(in srgb,var(--c) 7%,var(--card))}
  body.pg-roadmap .mx td{border-top:1px solid var(--hair);padding:12px 14px 12px 20px}
  body.pg-roadmap .mx td::before{content:attr(data-label);display:block;margin-bottom:4px;font:700 15px/1 var(--f-display);color:var(--teal)}
  body.pg-roadmap .mx-dot{width:5px}
}
@media (max-width:600px){
  body.pg-roadmap .fcs{grid-template-columns:1fr}
  body.pg-roadmap .ytabs{gap:2px;padding:4px;width:100%}
  body.pg-roadmap .ytabs a{flex:1;min-width:0;padding:8px 4px 7px;font-size:18px}
  body.pg-roadmap .ytabs a small{font-size:12px}
  body.pg-roadmap .rm-legend .ms{flex:1 1 100%}
  body.pg-brochures .bc{grid-template-columns:88px minmax(0,1fr);gap:14px;padding:16px}
  body.pg-brochures .bc-cover{width:88px}
  body.pg-brochures .bc-soon{padding:4px;gap:6px}
  body.pg-brochures .bc-soon .lgp,body.pg-brochures .bc-soon>.lg,body.pg-brochures .bc-soon .lgp .lg{width:72px}
  body.pg-brochures .bc-soon small{font-size:12px}
}
@media (prefers-reduced-motion:reduce){body.pg *{transition:none!important}}
