/* ---- colour tokens: light is the default, dark is the option ---- */
:root,html[data-theme="light"]{color-scheme:light;
  /* brand: deep navy, signal blue, scan teal; every grey carries a little navy */
  --x-bg:#FFFFFF;--x-card:#FFFFFF;--x-pane:#F3F7FC;--x-card2:#E9F0F9;--x-line:#D6E0EC;--x-line2:#B9C8DA;--x-inp:#FFFFFF;
  --x-hi:#0B1B33;--x-fg:#1A2B44;--x-fg2:#344863;--x-mut:#56677F;--x-mut2:#5B6C84;--x-mut3:#56677F;--x-lab:#46586F;--x-lab2:#56677F;--x-ink:#0B1B33;
  --x-acc:#0B63CE;--x-acc2:#0B63CE;--x-accd:#084C9E;--x-accbg:#E3EEFB;--x-onacc:#FFFFFF;
  --x-up:#09703F;--x-dn:#C42B27;--x-warn:#8A5A00;--x-upbg:#E3F4EB;--x-dnbg:#FBE7E6;--x-warnbg:#FAF0D6;--x-hero2:#F3F7FC;
  --x-gold:#2F7DE1;--x-goldtxt:#0B63CE;--x-brandbg:#0C2340;--x-hdr:#0C2340;--x-hdr2:#123259;--x-strip:#EEF3F9;--x-navy:#0C2340;--x-hbar:#0C2340}

body{background:var(--x-bg);color:var(--x-fg)}

/* legacy pages (blog, legal) follow the theme too */

/* design base: reconstructed from the handoff mockups */
body{margin:0;background:var(--x-bg)}
a{color:var(--x-accd)}a:hover{color:var(--x-hi)}

html{scroll-behavior:smooth}
::selection{background:var(--x-acc);color:var(--x-onacc)}
a,button{transition:color .15s ease,background-color .15s ease,border-color .15s ease,transform .18s ease,box-shadow .18s ease}
:focus-visible{outline:2px solid var(--x-acc);outline-offset:2px;border-radius:6px}
body{font-family:Inter, system-ui, sans-serif;font-variant-numeric:tabular-nums;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3{text-wrap:balance}[style*="Schibsted"],[font-family*="Schibsted"]{font-variant-numeric:normal}p{text-wrap:pretty}
[role="rowgroup"]+[role="rowgroup"] [role="row"]:hover{background:rgba(34,211,238,0.05)}
a[style*="border-radius: 6px"]:hover,a[style*="border-radius: 6px"]:hover{transform:translateY(-2px);box-shadow:0 14px 34px -14px rgba(7,18,30,.45)}
button[style*="cursor: pointer"]:hover{filter:brightness(1.12)}
@keyframes sx-scan{0%{top:8%;opacity:0}12%{opacity:1}88%{opacity:1}100%{top:92%;opacity:0}}
@keyframes sx-pulse{0%,100%{opacity:1}50%{opacity:.35}}
.sx-scan{animation:sx-scan 4.5s cubic-bezier(.45,0,.55,1) infinite}
.sx-live{animation:sx-pulse 1.6s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media (max-width: 640px){
  nav[aria-label="Main"]{flex-wrap:nowrap!important;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-basis:100%!important;order:3;gap:4px 18px!important;margin:0 -16px;padding:0 16px}
  nav[aria-label="Main"]::-webkit-scrollbar{display:none}
  nav[aria-label="Main"] a{white-space:nowrap}
  h1{font-size:clamp(34px,10.5vw,46px)!important;line-height:1.05!important}
  h2[style*="font-size: 44px"],h2[style*="font-size: 40px"]{font-size:30px!important}
  h2[style*="font-size: 36px"],h2[style*="font-size: 34px"]{font-size:27px!important}
}
@media (max-width: 640px){
  section > div[style*="padding: 84px 24px 92px"]{padding:44px 16px 52px!important;gap:32px!important}
  #markets [style*="minmax(min(180px"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* range buttons (stock page) */
.rb{min-height:36px;min-width:44px;padding:0 10px;border:0;border-radius:8px;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:14px;cursor:pointer;background:transparent;color:var(--x-fg2);font-weight:500}
.rb.on{background:var(--x-acc);color:var(--x-onacc);font-weight:600}
details>summary::-webkit-details-marker{display:none}

/* dark data tables */
.dtbl{width:100%;border-collapse:collapse;font-size:15.5px;min-width:720px}
.dtbl th{padding:12px;font-size:14px;font-weight:500;color:var(--x-mut);text-align:left;border-bottom:1px solid var(--x-line);white-space:nowrap}
.dtbl td{padding:12px;border-bottom:1px solid var(--x-card2);white-space:nowrap;color:var(--x-hi)}
.dtbl .r{text-align:right}
.dtbl tbody tr:hover td{background:rgba(34,211,238,.05)}
.dtbl a{color:inherit;text-decoration:none}

/* ---- mobile data tables become cards (replaces the old min-width reset that made columns overlap) ---- */
@media (max-width: 760px){
  [role="table"][data-t]{min-width:0!important;font-size:15px!important}
  [role="table"][data-t] > [role="rowgroup"]:first-child{display:none}
  [role="table"][data-t] [role="row"]{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:2px 8px!important;padding:14px 12px!important;margin:0 0 10px;border:1px solid var(--x-line);border-radius:8px;background:var(--x-card)}
  [role="table"][data-t="scan"] [role="row"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  [role="table"][data-t] [role="cell"]{justify-content:flex-start!important;border:0!important;padding:6px 0!important;align-items:flex-start!important;text-align:left!important;min-width:0}
  [role="table"][data-t] [role="cell"]:first-child{grid-column:1/-1;padding-bottom:10px!important;border-bottom:1px solid var(--x-line)!important;margin-bottom:4px}
  [role="table"][data-t="value"] [role="cell"]:last-child{grid-column:1/-1;padding-top:10px!important;border-top:1px solid var(--x-line)!important;margin-top:4px}
  [role="table"][data-t="scan"] [role="cell"]:nth-child(-n+3){grid-column:1/-1}
  [role="table"][data-t] [role="cell"][data-l]:not([data-l=""])::before{content:attr(data-l);display:block;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--x-mut);font-family:Inter,system-ui,sans-serif;margin-bottom:2px}
  [role="table"][data-t] [role="cell"] span,[role="table"][data-t] [role="cell"] a{max-width:100%}
  /* the sort chips above the list already cover sorting on a phone */
  .dtbl{min-width:600px}
  .dtbl td:first-child,.dtbl th:first-child{position:sticky;left:0;background:var(--x-bg);z-index:1}
}

/* ---- mobile polish ---- */
html,body{overflow-x:clip}
@media (max-width: 640px){
  a[style*="min-height: 40px"],a[style*="min-height: 36px"],button[style*="min-height: 40px"]{min-height:44px!important}
  input,select{font-size:16px!important}   /* stops iOS zooming into fields */
  table.sec,.dtbl{font-size:15px}
  section{scroll-margin-top:12px}
  [style*="font-size: 44px"]{font-size:36px!important}
}

@media (max-width: 760px){ table.sec{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch} table.sec th,table.sec td{white-space:nowrap} table.sec td:nth-child(2){white-space:normal;min-width:200px} }

@media (max-width: 760px){ .cp-card > *{min-width:0} table.sec{min-width:0!important;width:100%} }

/* ---- product layer: a working finance site, not a landing page ---- */
html{scroll-behavior:smooth}
body{font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif;font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
::selection{background:var(--x-accbg);color:var(--x-hi)}
a{color:var(--x-acc);text-decoration:none}a:hover{text-decoration:underline}
[style*="Source Serif"],[style*=Inter]{font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif!important}
[style*="Source Serif"]{letter-spacing:-.005em!important}
h1,h2,h3{font-family:Inter,"Helvetica Neue",Arial,sans-serif!important;color:var(--x-hi);letter-spacing:-.01em}
h1[style]{font-size:26px!important;line-height:1.2!important;font-weight:700!important}
h1[style] span{font-weight:700!important}
h2[style]{font-size:17px!important;line-height:1.3!important;font-weight:700!important}
h3[style]{font-size:15.5px!important;font-weight:700!important}
p[style*="font-size: 18px"],p[style*="font-size: 17px"]{font-size:15.5px!important}
div[style*="font-size: 56px"],div[style*="font-size: 44px"],span[style*="font-size: 44px"]{font-size:34px!important}
/* flat panels, square-ish corners, thin rules */
[style*="border-radius: 8px"],[style*="border-radius: 10px"],[style*="border-radius: 12px"]{border-radius:4px!important}
[style*="border-radius: 6px"]{border-radius:3px!important}
section[style*="border: 1px solid"],div[style*="border: 1px solid var(--x-line)"]{box-shadow:none!important}
[style*="padding: 22px"],[style*="padding: 26px"]{padding:14px 16px!important}
[style*="padding: 18px"]{padding:12px 14px!important}
[style*="padding: 8px 8px 16px"],[style*="padding: 8px 8px 14px"]{padding:0 0 4px!important}
main[style*="padding"]{padding-top:16px!important;padding-bottom:40px!important}
main[style*="gap: 24px"],main[style*="gap: 22px"],section[style*="gap: 24px"]{gap:12px!important}
section[style*="gap: 16px"]{gap:10px!important}
a[style*="min-height: 46px"],a[style*="min-height: 48px"],button[style*="min-height: 48px"]{min-height:38px!important}
/* header: dark product bar, nav bar, market strip */
.hd{background:var(--x-hdr);color:#fff;position:sticky;top:0;z-index:60}
.hd a{color:inherit;text-decoration:none}
.hd-top{max-width:1320px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:16px}
.hd-logo{display:flex;align-items:center;gap:9px;font-weight:800;font-size:20px;letter-spacing:-.02em;color:#fff}
.hd-logo b{color:#6FB2FF;font-weight:800}
.hd-search{flex:1 1 360px;max-width:560px;margin:0 auto;display:flex;align-items:center;gap:8px;background:#fff;border-radius:3px;padding:0 10px;height:36px}
.hd-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;font:15px Inter,Arial,sans-serif;color:#0F1720;height:34px}
.hd-search svg{stroke:#66717F}
.hd-right{display:flex;align-items:center;gap:14px;margin-left:auto;font-size:14px;font-weight:600}

.hd-nav{background:var(--x-hdr2);border-top:1px solid rgba(255,255,255,.07)}
.hd-nav nav{max-width:1320px;margin:0 auto;padding:0 12px;display:flex;gap:2px;overflow-x:auto;scrollbar-width:none}
.hd-nav nav::-webkit-scrollbar{display:none}
.hd-nav a{color:#D5DDE8;font-size:14.5px;font-weight:600;padding:10px 12px;white-space:nowrap;border-bottom:2px solid transparent}
.hd-nav a:hover{color:#fff;text-decoration:none;background:rgba(255,255,255,.05)}
.hd-nav a.on{color:#fff;border-bottom-color:#4C9AFF}
.mstrip{background:var(--x-strip);border-bottom:1px solid var(--x-line);font-size:13.5px}
.mstrip div{max-width:1320px;margin:0 auto;padding:0 16px;display:flex;overflow-x:auto;scrollbar-width:none}
.mstrip div::-webkit-scrollbar{display:none}
.mstrip a{display:flex;gap:8px;align-items:baseline;padding:7px 14px 7px 0;margin-right:14px;color:var(--x-fg);white-space:nowrap;border-right:1px solid var(--x-line);padding-right:14px}
.mstrip a:last-child{border-right:0}
.mstrip b{font-weight:600}
.mstrip .u{color:var(--x-up)}.mstrip .d{color:var(--x-dn)}

@media (max-width:640px){
  .hd-top{flex-wrap:wrap;gap:8px 10px;padding:8px 12px}
  .hd-search{order:3;flex-basis:100%;max-width:none}
  .hd-right a.wl{display:none}
  .hd-logo{font-size:18px}
}
/* tables: dense, tabular */
.dtbl{font-size:14px}
.dtbl thead th{font-size:13px;letter-spacing:.03em;text-transform:uppercase;color:var(--x-mut);font-weight:600;padding:8px 10px;border-bottom:1px solid var(--x-line2)}
.dtbl td{padding:7px 10px}
.dtbl tbody tr:hover td{background:var(--x-pane)}
/* footer: plain dark */
footer{background:var(--x-hdr)!important;color:#A9B6C6!important;border-top:0!important;margin-top:32px!important}
footer a{color:#D5DDE8!important}
footer strong,footer span[style*="Source Serif"]{color:#fff!important}
footer span[style*="Source Serif"] span{color:#6FB2FF!important}
footer div[style*="border-top"]{border-top-color:rgba(255,255,255,.12)!important;color:#8E9BB0!important}
:focus-visible{outline:2px solid var(--x-acc);outline-offset:2px;border-radius:3px}
[id]{scroll-margin-top:96px}
@media (max-width:640px){[id]{scroll-margin-top:120px}}

/* ---- page frame: main column + right rail ---- */
.pg{max-width:1320px;margin:0 auto;padding:14px 16px 40px;display:flex;gap:16px;align-items:flex-start}
.pg-main{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:12px}
.pg-rail{flex:0 0 320px;display:flex;flex-direction:column;gap:12px;position:sticky;top:104px}
@media (max-width:1000px){.pg{flex-direction:column;align-items:stretch}.pg-main{width:100%;max-width:100%}.pg-rail{flex:none;width:100%;position:static}}
.pnl{background:var(--x-card);border:1px solid var(--x-line);border-radius:4px}
.pnl h3,.pnl h2{margin:0;padding:10px 14px;font-size:15px!important;border-bottom:1px solid var(--x-line);color:var(--x-hi)}
.pnl .more{display:block;padding:9px 14px;font-size:14px;font-weight:600;border-top:1px solid var(--x-line)}
.pnl .links{list-style:none;margin:0;padding:6px 14px 10px;display:flex;flex-direction:column;gap:7px;font-size:14.5px}
.kv{margin:0;padding:4px 14px}
.kv>div{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--x-line);font-size:14px}
.kv>div:last-child{border-bottom:0}
.kv dt{color:var(--x-mut)}.kv dd{margin:0;font-weight:600;color:var(--x-hi);display:flex;align-items:center;gap:6px;text-align:right}
.kv dd i{width:8px;height:8px;border-radius:50%;flex:none}
.sc{display:flex;gap:14px;align-items:center;padding:12px 14px 4px}
.sc-ring{position:relative;width:84px;height:84px;flex:none}
.sc-ring div{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1}
.sc-ring b{font-size:26px;color:var(--x-hi)}.sc-ring small{font-size:12.5px;color:var(--x-mut)}
.sc-t{display:flex;flex-direction:column;gap:4px;font-size:14px;color:var(--x-mut)}.sc-t b{font-size:15.5px;color:var(--x-hi);line-height:1.3}
table.mini{width:100%;border-collapse:collapse;font-size:14px}
table.mini td{padding:7px 14px;border-bottom:1px solid var(--x-line)}table.mini td.r{text-align:right;font-family:'IBM Plex Mono',ui-monospace,monospace}
table.mini a{color:var(--x-fg)}
/* quote header */
.qh{display:flex;flex-wrap:wrap;gap:14px 28px;align-items:flex-start;padding:4px 0 6px}
.qh-l{flex:1 1 380px;min-width:0;display:flex;flex-direction:column;gap:6px}
.qh h1{margin:0;font-size:24px!important;line-height:1.2!important}
.qh h1 span{color:var(--x-mut);font-weight:600!important}
.qh-sub{font-size:14px;color:var(--x-mut)}
.qh-price{display:flex;align-items:baseline;gap:12px;margin-top:4px}
.qh-px{font-size:36px;font-weight:700;color:var(--x-hi);letter-spacing:-.02em}
.qh-chg{font-size:17px;font-weight:600}
.qh-meta{font-size:13.5px;color:var(--x-mut)}
.qh-act{display:flex;flex-wrap:wrap;gap:8px;margin-top:6px}
.btn2{display:inline-flex;align-items:center;min-height:32px;padding:0 12px;border:1px solid var(--x-line2);border-radius:3px;background:var(--x-card);color:var(--x-fg)!important;font:600 14px Inter,Arial,sans-serif;cursor:pointer;text-decoration:none!important}
.btn2:hover{background:var(--x-pane)}
.btn2.pri{background:var(--x-acc);border-color:var(--x-acc);color:var(--x-onacc)!important}
.qh-r{flex:1 1 300px;max-width:420px;display:flex;flex-direction:column;gap:12px}
.rw{display:flex;flex-direction:column;gap:3px}
.rw-h{display:flex;justify-content:space-between;font-size:13.5px;color:var(--x-mut)}.rw-h b{font-size:13.5px}
.rw-v{font-size:20px;font-weight:700;color:var(--x-hi)}.rw-v small{font-size:13.5px;font-weight:500;color:var(--x-mut);margin-left:6px}.rw-v.sm{font-size:15px;font-weight:600}
.rw-f{display:flex;justify-content:space-between;font-size:12.5px;color:var(--x-mut)}
.gauge{position:relative;height:8px;border-radius:2px;background:linear-gradient(90deg,var(--x-dnbg),var(--x-card2) 30%,var(--x-card2) 70%,var(--x-upbg))}
.gauge i{position:absolute;top:0;bottom:0;background:var(--x-accbg);border:1px solid var(--x-acc);box-sizing:border-box;border-radius:2px}
.gauge u{position:absolute;top:-3px;bottom:-3px;width:3px;margin-left:-1px;background:var(--x-hi);border-radius:1px;text-decoration:none}
.gauge.thin{height:4px;background:var(--x-line)}
.tabs2{display:flex;gap:0;overflow-x:auto;border-bottom:1px solid var(--x-line);scrollbar-width:none}
.tabs2 a{flex:none;padding:10px 14px;font-size:14.5px;font-weight:600;color:var(--x-mut);border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none}
.tabs2 a:hover{color:var(--x-hi);text-decoration:none}
.tabs2 a.on{color:var(--x-hi);border-bottom-color:var(--x-acc)}

/* ---- dashboard bits ---- */
.intro{margin:0;padding:0 0 4px;font-size:15px;color:var(--x-fg2);max-width:900px}
.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
@media (max-width:900px){.two{grid-template-columns:1fr}}
.pnl .dtbl{width:100%;border-collapse:collapse;min-width:0}
.pnl .dtbl td,.pnl .dtbl th{padding:7px 14px}
.pnl .dtbl td{border-top:1px solid var(--x-line)}
.pnl .dtbl .r,.pnl .dtbl th.r{text-align:right}
.tk{color:var(--x-hi);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:14px}
.nm{color:var(--x-mut);font-size:13.5px}
.mono{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:14px}
.ptabs{display:flex;align-items:stretch;border-bottom:1px solid var(--x-line);gap:0}
.ptabs button{background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;padding:11px 16px;font:600 15px Inter,Arial,sans-serif;color:var(--x-mut);cursor:pointer}
.ptabs button.on{color:var(--x-hi);border-bottom-color:var(--x-acc)}
.ptabs-more{margin-left:auto;align-self:center;padding:0 14px;font-size:14px;font-weight:600}
.tag{display:inline-block;padding:2px 8px;border-radius:3px;font-size:13px;font-weight:600;background:var(--x-accbg);color:var(--x-accd)}
.tag.soft{background:var(--x-card2);color:var(--x-mut)}
.note{margin:0;padding:8px 14px 10px;font-size:14px;color:var(--x-fg2);border-top:1px solid var(--x-line)}
.lens{list-style:none;margin:0;padding:4px 14px;display:flex;flex-direction:column}
.lens li{display:flex;flex-direction:column;padding:8px 0;border-bottom:1px solid var(--x-line);font-size:14px}
.lens li:last-child{border-bottom:0}
.lens b{color:var(--x-hi)}.lens span{color:var(--x-mut)}
.fine{margin:0;font-size:13.5px;color:var(--x-mut)}
.pnl h3,.pnl h2{display:block}
section.pnl>h3,section.pnl>h2{margin:0}

section#about p{font-size:15.5px!important;line-height:1.6!important}

/* dense grid tables (value lists, scanner) */
@media (min-width:761px){
  [role="cell"][style*="padding: 12px"]{padding:7px 10px!important}
  [role="columnheader"][style*="padding: 12px"],[role="columnheader"][style*="padding: 10px 12px"]{padding:8px 10px!important}
  [role="cell"] span[style*="font-size: 22px"],[role="cell"] span[style*="font-size: 20px"]{font-size:15.5px!important}
}

/* small screens: panels scroll sideways instead of cutting columns; non-essential columns drop out */
.pnl{overflow:hidden}
.pnl .tabpane,.pnl>table,.pnl>div:has(>table){overflow-x:auto}
@media (max-width:640px){
  .pnl .dtbl th,.pnl .dtbl td{padding:7px 10px}
  .tabpane .dtbl th:nth-child(4),.tabpane .dtbl td:nth-child(4){display:none}
  .two .dtbl th:nth-child(2),.two .dtbl td:nth-child(2){display:none}
  .nm{display:none}
  .qh-px{font-size:30px}
  .qh-r{max-width:none}
  .pg{padding:10px 10px 32px}
}

/* ---- ad units: network code when approved, otherwise our own promotions in the same boxes ---- */
.adrow{max-width:1320px;margin:0 auto;padding:10px 16px 0}
.adslot{position:relative;background:var(--x-pane);border:1px solid var(--x-line);border-radius:3px;display:flex;align-items:center;justify-content:center;overflow:hidden}
.adslot .adlbl{position:absolute;top:2px;left:6px;font-size:9.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--x-mut2)}
.ad-leader.adslot,.ad-infeed.adslot{min-height:90px}.ad-rect.adslot{min-height:250px}.ad-tall.adslot{min-height:600px}
.hx{background:var(--x-card);border:1px solid var(--x-line);border-radius:3px;overflow:hidden}
.hx a{color:inherit;text-decoration:none}
.hx a:hover{text-decoration:none}
.hx-k{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--x-acc)}
.hx-h{font-size:15.5px;color:var(--x-hi);line-height:1.25}
.hx-p{font-size:13.5px;color:var(--x-mut);line-height:1.4}
.hx-b{display:inline-block;font-size:13.5px;font-weight:700;color:var(--x-acc)}
.hx-leader,.hx-infeed{min-height:90px;display:flex}
.hx-leader>a,.hx-infeed>a{display:flex;align-items:center;gap:16px;padding:12px 18px;width:100%;color:var(--x-acc)}
.hx-tx{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}
.hx-leader .hx-b,.hx-infeed .hx-b{flex:none;padding:8px 14px;border:1px solid var(--x-acc);border-radius:3px}
.hx-leader>a:hover .hx-b,.hx-infeed>a:hover .hx-b{background:var(--x-acc);color:var(--x-onacc)}
.hx-rect{min-height:250px;display:flex}
.hx-rect>a{display:flex;flex-direction:column;justify-content:center;gap:8px;padding:20px;width:100%;color:var(--x-acc)}
.hx-tall{min-height:600px;display:flex;flex-direction:column;background:linear-gradient(180deg,var(--x-accbg),var(--x-card) 55%)}
.hx-main{display:flex;flex-direction:column;gap:10px;padding:22px 20px 18px;color:var(--x-acc)}
.hx-art{width:100%;height:auto;margin:6px 0 4px}
.hx-tall .hx-h{font-size:22px;letter-spacing:-.01em}
.hx-tall .hx-p{font-size:14.5px}
.hx-tall .hx-b{margin-top:6px;align-self:flex-start;padding:9px 16px;background:var(--x-acc);color:var(--x-onacc);border-radius:3px}
.hx-list{list-style:none;margin:0;padding:6px 20px 18px;display:flex;flex-direction:column;border-top:1px solid var(--x-line);flex:1}
.hx-list li a{display:flex;flex-direction:column;gap:1px;padding:11px 0;border-bottom:1px solid var(--x-line)}
.hx-list li:last-child a{border-bottom:0}
.hx-list b{font-size:14.5px;color:var(--x-hi)}.hx-list span{font-size:13.5px;color:var(--x-mut)}
/* the big sticky sidebar unit: the rail stretches to the page height, the ad stays in view while the page scrolls */
@media (min-width:1001px){.pg{align-items:stretch}.pg-rail{position:static}.ad-tall{position:sticky;top:104px;align-self:flex-start;width:100%}}
@media (max-width:640px){.hx-leader>a,.hx-infeed>a{flex-wrap:wrap;gap:8px 12px;padding:12px}.hx-leader .hx-b,.hx-infeed .hx-b{padding:6px 12px}.ad-tall.adslot{min-height:250px}.hx-tall{min-height:0}.hx-tall .hx-list{display:none}}

/* ---- minimal pass: smaller type, tighter gaps, no large empty patches ---- */
p[style*="font-size: 16px"],p[style*="font-size: 17px"],p[style*="font-size: 18px"],p[style*="font-size: 19px"]{font-size:15px!important;line-height:1.55!important}
div[style*="font-size: 24px"],div[style*="font-size: 22px"]:not(.sc-t):not(.rw-v){font-size:17px!important;line-height:1.3!important}
div[style*="font-size: 20px"]{font-size:16px!important}
[style*="gap: 24px"],[style*="gap: 28px"],[style*="gap: 32px"]{gap:12px!important}
[style*="gap: 14px 24px"],[style*="gap: 16px 28px"]{gap:10px 16px!important}
[style*="padding: 14px 18px"],[style*="padding: 16px 18px"],[style*="padding: 20px"]{padding:10px 14px!important}
[style*="padding: 12px 14px"]{padding:9px 12px!important}
[style*="padding: 44px"],[style*="padding: 48px"],[style*="padding: 52px"],[style*="padding: 64px"]{padding-top:16px!important;padding-bottom:16px!important}
[style*="margin-top: 72px"],[style*="margin-top: 64px"],[style*="margin-top: 48px"],[style*="margin-top: 40px"]{margin-top:16px!important}
[style*="min-height: 120px"],[style*="min-height: 160px"],[style*="min-height: 200px"]{min-height:0!important}
section[style*="display: flex"][style*="flex-direction: column"]{gap:10px!important}
[style*="font-size: 15.5px"]{font-size:15px!important}
[style*="font-size: 15.5px"]{font-size:14.5px!important}
.pnl h3,.pnl h2{padding:9px 14px}
.pnl .more{padding:7px 14px}
.kv>div{padding:5px 0}
.hx-main{padding:16px 18px 14px}
.lensgrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
@media (max-width:760px){.lensgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.lensgrid>:last-child:nth-child(odd){grid-column:1/-1}}

/* ---- StocksXray identity: viewfinder corners, scan-line headings, navy + blue + teal ---- */
:root,html[data-theme="light"]{--x-teal:#0B8F86}

.hd-logo b{color:#35D0C0!important}
/* corner brackets on every panel and card */
.pnl,.hx,.qh-r .rw,.adslot,section[style*="border: 1px solid"][style*="border-radius"],div[style*="border: 1px solid var(--x-line)"][style*="border-radius: 4px"]{position:relative}
.pnl::before,.hx::before,section[style*="border: 1px solid"][style*="border-radius"]::before{content:"";position:absolute;inset:-1px;pointer-events:none;z-index:2;
  --b:color-mix(in srgb,var(--x-acc) 85%,transparent);
  background:
   linear-gradient(var(--b),var(--b)) top left/9px 2px no-repeat,linear-gradient(var(--b),var(--b)) top left/2px 9px no-repeat,
   linear-gradient(var(--b),var(--b)) top right/9px 2px no-repeat,linear-gradient(var(--b),var(--b)) top right/2px 9px no-repeat,
   linear-gradient(var(--b),var(--b)) bottom left/9px 2px no-repeat,linear-gradient(var(--b),var(--b)) bottom left/2px 9px no-repeat,
   linear-gradient(var(--b),var(--b)) bottom right/9px 2px no-repeat,linear-gradient(var(--b),var(--b)) bottom right/2px 9px no-repeat}
/* panel headings: marker, caps, dotted scan leader */
.pnl>h3,.pnl>h2{display:flex!important;align-items:center;gap:8px;font-size:13px!important;letter-spacing:.07em;text-transform:uppercase;font-weight:700!important;color:var(--x-fg2)!important}
.pnl>h3::before,.pnl>h2::before{content:"";width:7px;height:7px;background:var(--x-teal);flex:none}
.pnl>h3::after,.pnl>h2::after{content:"";flex:1;height:5px;margin-left:4px;background-image:radial-gradient(var(--x-line2) 1px,transparent 1.2px);background-size:7px 5px;opacity:.9}
/* header and footer texture */
.hd{background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.028) 0 1px,transparent 1px 9px),radial-gradient(700px 120px at 85% -40%,rgba(76,154,255,.22),transparent 70%)}
.qh{isolation:isolate}
.qh::after{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--x-line) 70%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--x-line) 70%,transparent) 1px,transparent 1px);background-size:26px 26px;-webkit-mask-image:linear-gradient(90deg,transparent 35%,#000);mask-image:linear-gradient(90deg,transparent 35%,#000)}
.qh{position:relative}
.hx-tall{background-image:linear-gradient(color-mix(in srgb,var(--x-line) 60%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--x-line) 60%,transparent) 1px,transparent 1px),linear-gradient(180deg,var(--x-accbg),var(--x-card) 55%);background-size:24px 24px,24px 24px,auto}
.tag{border-left:3px solid var(--x-teal);border-radius:2px}
/* the five-lens ring */
.sc-ring svg{display:block}
/* footer */
footer.ft{background:var(--x-hdr)!important;color:#A9B6C6!important;margin-top:24px!important;border-top:3px solid var(--x-teal)!important;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.025) 0 1px,transparent 1px 9px)!important}
.ft-in{max-width:1320px;margin:0 auto;padding:30px 16px 22px;display:grid;grid-template-columns:1.6fr repeat(4,1fr);gap:28px}
.ft-brand p{margin:10px 0 0;font-size:14px;line-height:1.55;color:#A9B6C6}
.ft-brand .hd-logo{color:#fff!important}
.ft-src{display:flex;flex-wrap:wrap;gap:6px}
.ft-src span{font-size:12.5px;font-weight:600;letter-spacing:.04em;padding:3px 8px;border:1px solid rgba(255,255,255,.18);border-radius:2px;color:#D5DDE8}
.ft-col{display:flex;flex-direction:column;gap:8px}
.ft-col b{font-size:13px;letter-spacing:.09em;text-transform:uppercase;color:#fff!important;margin-bottom:4px;display:flex;align-items:center;gap:7px}
.ft-col b::before{content:"";width:6px;height:6px;background:var(--x-teal);flex:none}
.ft-col a{font-size:14px;color:#C9D3E1!important;text-decoration:none}
.ft-col a:hover,.ft-brand a:hover{color:#fff!important;text-decoration:underline}
.ft-brand a{color:#C9D3E1!important}
.ft-risk{border-top:1px solid rgba(255,255,255,.1);background:rgba(0,0,0,.18)}
.ft-risk .ft-in{display:block;padding:14px 16px}
.ft-risk p{margin:0;font-size:13.5px;line-height:1.55;color:#93A1B5;max-width:1100px}.ft-risk b{color:#D5DDE8}
.ft-bar{border-top:1px solid rgba(255,255,255,.08)}
.ft-bar .ft-in{display:flex;flex-wrap:wrap;justify-content:space-between;gap:6px 20px;padding:12px 16px;font-size:13.5px;color:#8190A5}
@media (max-width:900px){.ft-in{grid-template-columns:1fr 1fr}.ft-brand{grid-column:1/-1}}
@media (max-width:480px){.ft-in{grid-template-columns:1fr 1fr;gap:20px 14px}}

/* ---- Market Compass: regime card ---- */
.rg-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px}
.rg-name{font-size:26px;font-weight:700;letter-spacing:-.015em;color:var(--x-hi);line-height:1.15}
.rg-chips{display:flex;gap:6px;flex-wrap:wrap}
.rg-chips span{font-size:13px;font-weight:600;padding:3px 8px;border-radius:2px;background:var(--x-card2);color:var(--x-mut);border-left:3px solid var(--x-teal)}
.rg-wrap{display:grid;grid-template-columns:auto 1fr;gap:8px;align-items:stretch}
.rg-y{display:grid;grid-template-rows:1fr 1fr;gap:6px}
.rg-y span{writing-mode:vertical-rl;transform:rotate(180deg);text-align:center;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--x-mut);display:flex;align-items:center;justify-content:center;border-right:2px solid var(--x-line);padding-right:5px}
.rg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
.rg>div{position:relative;display:flex;flex-direction:column;gap:3px;padding:12px 14px;min-height:92px;background:var(--x-pane);border:1px solid var(--x-line);border-radius:3px}
.rg b{font-size:15.5px;color:var(--x-hi)}
.rg span{font-size:13.5px;color:var(--x-mut);font-family:'IBM Plex Mono',ui-monospace,monospace}
.rg em{font-style:normal;font-size:13.5px;line-height:1.4;color:var(--x-mut2);margin-top:auto;padding-top:6px}
.rg .cur{background:var(--x-accbg);border-color:var(--x-acc);box-shadow:inset 3px 0 0 var(--x-acc)}
.rg .cur em{color:var(--x-fg2)}
.rg i{position:absolute;top:8px;right:8px;font-style:normal;font-size:11.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 6px;border-radius:2px;background:var(--x-acc);color:var(--x-onacc)}
.rg-x{display:flex;justify-content:space-between;margin-left:30px;font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--x-mut)}
@media (max-width:480px){.rg>div{min-height:84px;padding:10px 11px}.rg-name{font-size:22px}}

.cp-big{font-size:28px!important;line-height:1.15!important;letter-spacing:-.015em}
.cp-card{padding:14px 16px!important}

/* sector page */
.sech{display:flex;flex-direction:column;gap:8px;padding:2px 0 4px}
.sech-k{font-size:13.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--x-mut)}
.sech h1{margin:0}
.sech-kpi{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;border:1px solid var(--x-line);border-radius:4px;background:var(--x-card)}
.sech-kpi>div{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-right:1px solid var(--x-line)}
.sech-kpi>div:last-child{border-right:0}
.sech-kpi span{font-size:13px;color:var(--x-mut);text-transform:uppercase;letter-spacing:.04em;font-weight:600}
.sech-kpi b{font-size:22px;color:var(--x-hi)}.sech-kpi small{font-size:13.5px;color:var(--x-mut);font-weight:500}
@media (max-width:640px){.sech-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.sech-kpi>div:nth-child(2){border-right:0}.sech-kpi>div:nth-child(-n+2){border-bottom:1px solid var(--x-line)}.hide-s{display:none}}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chips a{padding:5px 11px;border:1px solid var(--x-line2);border-radius:99px;font-size:13.5px;font-weight:600;color:var(--x-fg2);text-decoration:none;background:var(--x-card)}
.chips a small{color:var(--x-mut);font-weight:500}
.chips a.on{background:var(--x-acc);border-color:var(--x-acc);color:var(--x-onacc)}.chips a.on small{color:var(--x-onacc);opacity:.8}
.dtbl th a{color:inherit}

/* header on small screens: logo left, theme switch right, search on its own row */
.hd-logo{order:1}
.hd-right{order:2;margin-left:auto}
.hd-search{order:3}
@media (min-width:641px){.hd-logo{order:0}.hd-right{order:0}.hd-search{order:0}}
@media (max-width:640px){.hd-top{display:flex;flex-wrap:wrap;align-items:center}.hd-search{flex:1 1 100%;max-width:none;margin:0}}

/* ---- search suggestions ---- */
.hd-search{position:relative}
.sg{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:80;background:var(--x-card);color:var(--x-fg);border:1px solid var(--x-line2);border-radius:4px;box-shadow:0 16px 40px -12px rgba(0,0,0,.45);max-height:min(70vh,560px);overflow:auto;text-align:left}
.sg[hidden]{display:none}
.sg-h{padding:8px 14px 4px;font-size:12.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--x-mut)}
.sg-r{display:flex;align-items:center;gap:12px;padding:9px 14px;border-bottom:1px solid var(--x-line);color:inherit!important;text-decoration:none!important}
.sg-r.on,.sg-r:hover{background:var(--x-accbg)}
.sg-x{flex:none;width:44px;height:30px;border-radius:3px;display:flex;align-items:center;justify-content:center;background:hsl(var(--h) 55% 38%);color:#fff;font-size:11.5px;letter-spacing:.03em;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18)}
.sg-x b{font-weight:800}
.sg-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.sg-t{display:flex;align-items:center;gap:6px}.sg-t b{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:15px;color:var(--x-hi)}
.sg-t i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;border-radius:2px;background:var(--x-accbg);color:var(--x-accd);border-left:2px solid var(--x-teal)}
.sg-n{font-size:13.5px;color:var(--x-mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg mark{background:color-mix(in srgb,var(--x-acc) 28%,transparent);color:inherit;border-radius:2px;padding:0 1px}
.sg-e{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:1px;max-width:46%}
.sg-c{font-size:13.5px;color:var(--x-fg2);white-space:nowrap}
.sg-q{font-size:13px;color:var(--x-mut);font-family:'IBM Plex Mono',ui-monospace,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.sg-ch{margin-left:6px}.sg-ch.u{color:var(--x-up)}.sg-ch.d{color:var(--x-dn)}
.sg-all{display:block;padding:10px 14px;font-size:14px;font-weight:600;text-align:center}
.sg-empty{padding:16px 14px;font-size:14px;color:var(--x-mut)}
@media (max-width:640px){.sg-e{display:none}.sg-r{padding:10px 12px}.sg{max-height:62vh}}
.srl{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:8px}
.sr{display:flex;align-items:center;gap:12px;padding:10px 12px;background:var(--x-card);border:1px solid var(--x-line);border-radius:4px;color:inherit!important;text-decoration:none!important}
.sr:hover{border-color:var(--x-acc)}
.sr-m{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.sr-n{font-size:14px;color:var(--x-fg2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sr-i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;margin-left:6px;border-radius:2px;background:var(--x-accbg);color:var(--x-accd);border-left:2px solid var(--x-teal)}
.sr-e{flex:none;display:flex;flex-direction:column;align-items:flex-end;font-size:13.5px;color:var(--x-fg2);max-width:42%}
@media (max-width:640px){.sr-e{display:none}}

/* exchange is written at the right-hand end, no badge on the left */
.sg-e{max-width:48%}.sg-c b{color:var(--x-hi);letter-spacing:.03em}
.sr-e b{color:var(--x-hi);letter-spacing:.03em}
@media (max-width:640px){.sg-e{display:flex!important;max-width:44%}.sg-q{display:none}.sg-c{font-size:13.5px}.sr-e{display:flex!important;max-width:44%}.sr-e .nm{display:none}}

/* ---- card polish ---- */
.pg-main h2[style],section[style*="border"] h2[style]{display:flex;align-items:center;gap:8px;margin-bottom:2px;padding-bottom:8px;border-bottom:1px solid var(--x-line);font-size:13.5px!important;letter-spacing:.07em;text-transform:uppercase;color:var(--x-fg2)!important;font-weight:700!important}
.pg-main h2[style]::before,section[style*="border"] h2[style]::before{content:"";width:7px;height:7px;background:var(--x-teal);flex:none}
.stat{flex:1 1 150px;min-width:0;background:var(--x-pane);border:1px solid var(--x-line);border-left:3px solid var(--x-acc);border-radius:3px;padding:8px 12px;display:flex;flex-direction:column;gap:2px}
.stat>div:first-child{font-size:12.5px!important;letter-spacing:.04em;text-transform:uppercase;font-weight:600}
.lc{background:var(--x-card);border:1px solid var(--x-line);border-radius:3px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-width:0;transition:border-color .15s,transform .15s}
.lc:hover{border-color:var(--x-line2);transform:translateY(-1px)}
.lc>div:nth-child(2){font-size:30px!important}
/* cards in a row keep their own height instead of stretching into empty patches */
section[style*="display: flex"][style*="flex-wrap: wrap"]{align-items:flex-start!important}

/* ---- cards, second pass: Market Compass, blog, picks ---- */
.cp-card,.card{position:relative;background:var(--x-card);border:1px solid var(--x-line);border-radius:3px}
.cp-card{padding:14px 16px!important;gap:10px}
.cp-card::before,.card::before{content:"";position:absolute;inset:-1px;pointer-events:none;z-index:2;--b:color-mix(in srgb,var(--x-acc) 85%,transparent);
  background:linear-gradient(var(--b),var(--b)) top left/9px 2px no-repeat,linear-gradient(var(--b),var(--b)) top left/2px 9px no-repeat,
   linear-gradient(var(--b),var(--b)) top right/9px 2px no-repeat,linear-gradient(var(--b),var(--b)) top right/2px 9px no-repeat,
   linear-gradient(var(--b),var(--b)) bottom left/9px 2px no-repeat,linear-gradient(var(--b),var(--b)) bottom left/2px 9px no-repeat,
   linear-gradient(var(--b),var(--b)) bottom right/9px 2px no-repeat,linear-gradient(var(--b),var(--b)) bottom right/2px 9px no-repeat}
.cp-k{font-size:13px!important;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--x-mut)!important;display:flex;align-items:center;gap:8px}
.cp-k::before{content:"";width:7px;height:7px;background:var(--x-teal);flex:none}
.cp-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px}
.cp-h h2{display:flex;align-items:center;gap:8px;font-size:13.5px!important;letter-spacing:.07em;text-transform:uppercase;color:var(--x-fg2)!important;margin:0}
.cp-h h2::before{content:"";width:7px;height:7px;background:var(--x-teal);flex:none}
.cp-h p,.cp-h .cp-note{font-size:13.5px!important;color:var(--x-mut)!important;margin:2px 0 0}
.themes{gap:10px!important}
.themes .cp-card{border-top:3px solid var(--x-acc)}
.th-title{font-size:16px!important;font-weight:700!important;color:var(--x-hi);line-height:1.3}
.th-why{font-size:14px!important;color:var(--x-fg2)}
.th-ud{font-size:14px;display:flex;flex-direction:column;gap:3px;padding-top:6px;border-top:1px dashed var(--x-line2)}
.th-ud a{font-weight:600}
table.sec td a{text-decoration:none}
table.sec td a b{font-weight:600;font-size:15px;color:var(--x-hi)}
table.sec td a:hover b{color:var(--x-acc)}
table.sec tbody tr:hover td{background:var(--x-pane)}
table.sec th{font-size:12.5px!important;letter-spacing:.05em;text-transform:uppercase;color:var(--x-mut)!important}
.pill2{border-radius:2px!important;border-left:3px solid currentColor}
.picks{gap:10px!important}
.picks a.cp-card{text-decoration:none!important;transition:border-color .15s,transform .15s}
.picks a.cp-card:hover{border-color:var(--x-acc);transform:translateY(-1px)}
a.card:hover{border-color:var(--x-acc)}
.card{padding:14px 16px!important}

/* ---- cards in the site colours: navy-tinted headers, brand chips ---- */
.pnl>h3,.pnl>h2{background:linear-gradient(90deg,var(--x-accbg),transparent 75%)}
.cp-h{padding:0 0 8px;border-bottom:1px solid var(--x-line)}
.cp-card .cp-h{margin-bottom:4px}
.th-top .tag{background:var(--x-accbg)!important;color:var(--x-accd)!important;border-left:3px solid var(--x-teal);border-radius:2px}
.themes .cp-card{border-top-color:var(--x-navy)}

.cp-card .tag,.cp-card .pill2{font-weight:700}
.lc,.stat{background:linear-gradient(180deg,var(--x-pane),var(--x-card) 70%)}
.hx-tall{background-image:linear-gradient(color-mix(in srgb,var(--x-line) 60%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--x-line) 60%,transparent) 1px,transparent 1px),linear-gradient(180deg,var(--x-accbg),var(--x-card) 55%)}
.adslot{background:var(--x-pane)}
.hh1{margin:0!important;font-size:21px!important;line-height:1.25!important;font-weight:700!important;color:var(--x-hi)}

/* ---- coloured card headers and a firmer border ---- */
.pnl,.cp-card,.card,.hx,.lc,.sech-kpi,section[style*="border: 1px solid"]:not([id="lenses"]),div[style*="border: 1px solid"][style*="padding"]{border-width:2px!important;border-style:solid!important;border-color:var(--x-line2)!important}
.pnl::before,.cp-card::before,.card::before,.hx::before,section[style*="border: 1px solid"][style*="border-radius"]::before{inset:-2px}
/* panel headers: filled brand bar */
.pnl>h3,.pnl>h2{background:var(--x-hbar)!important;color:#fff!important;border-bottom:0!important;padding:9px 14px}
.pnl>h3::after,.pnl>h2::after{background-image:radial-gradient(rgba(255,255,255,.35) 1px,transparent 1.2px)}
.pnl>h3 a,.pnl>h2 a{color:#fff}
/* inline-styled cards: a header that is the first child fills the card's top edge */
section[style*="border"]>h2[style]:first-child,div[style*="border: 1px solid"]>h2[style]:first-child{margin:-14px -16px 10px!important;padding:9px 16px!important;background:var(--x-hbar);color:#fff!important;border-bottom:0!important}
/* Market Compass cards */
.cp-card>.cp-k:first-child,.cp-card>.cp-h:first-child{margin:-14px -16px 8px;padding:9px 16px;background:var(--x-hbar);color:#fff!important;border-bottom:0}
.cp-card>.cp-k:first-child{color:#fff!important}
.cp-card>.cp-h:first-child h2{color:#fff!important}
.cp-card>.cp-h:first-child p,.cp-card>.cp-h:first-child .cp-note{color:#C9D6E6!important}
.themes .cp-card{border-top-width:2px!important}
.sech-kpi>div{border-right-width:2px}
.lc{border-top-width:4px!important}

/* header bar applied by cards.js to inline-styled cards */
.hbar{background:var(--x-hbar)!important;color:#fff!important;border-bottom:0!important}
.hbar>h2,.hbar>h3,.hbar>h2[style],.hbar>div:first-child,.hbar>span:first-child{color:#fff!important;border-bottom:0!important;padding-bottom:0!important;margin:0!important;background:none!important}
.hbar h2[style]::before{background:var(--x-teal)}
.hbar .nm,.hbar [style*="var(--x-mut)"]{color:#C9D6E6!important}
.hbar b,.hbar .mono,.hbar summary,.hbar a{color:#fff!important}
.hbar .tag{background:rgba(255,255,255,.14)!important;color:#fff!important}
.cp-card>summary.hbar{cursor:pointer;font-weight:700;font-size:13px;letter-spacing:.07em;text-transform:uppercase}
.hbar .cp-note,.hbar .th-top .cp-note{color:#C3D1E3!important}
.hbar [style*="--x-up"]{color:#7BE0A6!important}.hbar [style*="--x-warn"]{color:#F3C25C!important}.hbar [style*="--x-dn"]{color:#FF9B95!important}

/* ===== blog + news ===== */
.bgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:12px 0}
.bcard{display:flex;flex-direction:column;gap:5px;background:var(--x-card);border:2px solid var(--x-line2);border-radius:6px;overflow:hidden;color:var(--x-fg);text-decoration:none;transition:border-color .15s,transform .15s}
.bcard:hover{border-color:var(--x-acc);transform:translateY(-2px)}
.bcard .bimg{display:block;aspect-ratio:1200/630;background:var(--x-pane);border-bottom:2px solid var(--x-line2)}
.bcard .bimg img{display:block;width:100%;height:100%;object-fit:cover}
.bcard .bk,.bcard b,.bcard .bx{padding:0 13px}
.bcard .bk{margin-top:8px;font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--x-mut)}
.bcard b{font-size:16px;line-height:1.28;color:var(--x-hi)}
.bcard .bx{font-size:14px;line-height:1.45;color:var(--x-fg2);padding-bottom:13px}
.bad{grid-column:1/-1}
.nw-tk{font:700 12.5px/1 'IBM Plex Mono',ui-monospace,monospace;font-style:normal;background:var(--x-accbg);color:var(--x-acc);padding:3px 6px;border-radius:3px;letter-spacing:.02em}
a.nw-tk{text-decoration:none}
.bsearch{display:flex;gap:8px;margin:2px 0 10px}
.bsearch input{flex:1;min-width:0;border:2px solid var(--x-line2);background:var(--x-card);color:var(--x-fg);border-radius:5px;padding:8px 11px;font:inherit}
.bsearch button{border:0;background:var(--x-acc);color:var(--x-onacc);font:700 14px Inter,sans-serif;padding:0 16px;border-radius:5px;cursor:pointer}
.pager{display:flex;justify-content:space-between;align-items:center;gap:10px;margin:14px 0}
.pager a{font-weight:700;color:var(--x-acc);text-decoration:none;border:2px solid var(--x-line2);border-radius:5px;padding:7px 14px;background:var(--x-card)}
.pager .pg-of{font-size:13.5px;color:var(--x-mut)}
.sr-list{list-style:none;margin:0;padding:0;counter-reset:s}
.sr-list li{border-top:1px solid var(--x-line)}
.sr-list li:first-child{border-top:0}
.sr-list a{display:flex;flex-direction:column;gap:2px;padding:9px 14px;color:var(--x-fg);text-decoration:none}
.sr-list a:hover{background:var(--x-pane)}
.sr-list b{color:var(--x-hi);font-size:15.5px}
.sr-list span{font-size:13.5px;color:var(--x-mut);line-height:1.4}
/* article */
.art{min-width:0}
.art h1{font-size:30px;line-height:1.18;letter-spacing:-.01em;margin:6px 0 8px;color:var(--x-hi)}
.art-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;color:var(--x-mut);margin-bottom:12px}
.art-meta a{color:var(--x-acc)}
.art-img{margin:0 0 14px;border:2px solid var(--x-line2);border-radius:6px;overflow:hidden;background:var(--x-pane)}
.art-img img{display:block;width:100%;height:auto}
.dek{font-size:18px;line-height:1.5;color:var(--x-fg2);margin:0 0 12px;font-weight:500}
.prose-x{font-size:16.5px;line-height:1.72;color:var(--x-fg);max-width:74ch}
.prose-x p{margin:0 0 15px}
.prose-x h2{font-size:21px;line-height:1.25;margin:28px 0 10px;color:var(--x-hi);padding-left:11px;border-left:4px solid var(--x-acc);scroll-margin-top:150px}
.prose-x h3{font-size:17px;margin:20px 0 8px;color:var(--x-hi)}
.prose-x ul,.prose-x ol{margin:0 0 15px;padding-left:22px}
.prose-x li{margin:4px 0}
.prose-x a{color:var(--x-acc);text-decoration:underline;text-underline-offset:2px}
.prose-x strong{color:var(--x-hi)}
.prose-x blockquote{margin:0 0 15px;padding:8px 14px;border-left:4px solid var(--x-teal);background:var(--x-pane);color:var(--x-fg2)}
.prose-x pre{background:var(--x-pane);border:1px solid var(--x-line2);border-radius:5px;padding:11px 14px;overflow:auto;font:14.5px/1.55 'IBM Plex Mono',ui-monospace,monospace;margin:0 0 15px}
.prose-x code{font:0.9em 'IBM Plex Mono',ui-monospace,monospace;background:var(--x-pane);padding:1px 5px;border-radius:3px}
.prose-x pre code{background:none;padding:0}
.prose-x .tw{overflow-x:auto;margin:0 0 15px}
.prose-x table{border-collapse:collapse;width:100%;font-size:15px}
.prose-x th,.prose-x td{border:1px solid var(--x-line2);padding:7px 10px;text-align:left;vertical-align:top}
.prose-x th{background:var(--x-pane);color:var(--x-hi)}
.srcs{font-size:14px;color:var(--x-mut);margin:6px 0 14px;line-height:1.55}
.srcs a{color:var(--x-acc)}
.snav{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.snav a{display:flex;flex-direction:column;gap:3px;padding:12px 14px;border:2px solid var(--x-line2);border-radius:6px;background:var(--x-card);text-decoration:none;color:var(--x-fg)}
.snav a.r{text-align:right}
.snav a:hover{border-color:var(--x-acc)}
.snav span{font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--x-mut)}
.snav b{color:var(--x-hi);font-size:15.5px;line-height:1.3}
.rel{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.rel a{display:flex;flex-direction:column;gap:2px;padding:10px 14px;border-top:1px solid var(--x-line);color:var(--x-fg);text-decoration:none}
.rel a:hover{background:var(--x-pane)}
.rel b{color:var(--x-hi);font-size:15px;line-height:1.3}
.rel span{font-size:13.5px;color:var(--x-mut)}
.kn{display:grid;grid-template-columns:repeat(4,1fr)}
.kn div{padding:11px 14px;border-right:1px solid var(--x-line)}
.kn div:last-child{border-right:0}
.kn span{display:block;font-size:12.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--x-mut)}
.kn b{font:600 18px 'IBM Plex Mono',ui-monospace,monospace;color:var(--x-hi)}
.toc li{line-height:1.35}
/* home: latest news block */
.nwb{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr)}
.nw-lead{display:flex;flex-direction:column;color:var(--x-fg);text-decoration:none;border-right:2px solid var(--x-line2)}
.nw-lead img{display:block;width:100%;aspect-ratio:1200/630;object-fit:cover;background:var(--x-pane)}
.nw-lead .nw-t{display:flex;flex-direction:column;gap:5px;padding:11px 15px 14px}
.nw-lead b{font-size:21px;line-height:1.22;color:var(--x-hi)}
.nw-lead .nw-d{font-size:14.5px;line-height:1.45;color:var(--x-fg2)}
.nw-meta{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--x-mut)}
.nw-list{display:flex;flex-direction:column}
.nw-list>a{display:flex;gap:11px;align-items:flex-start;padding:10px 14px;border-bottom:1px solid var(--x-line);color:var(--x-fg);text-decoration:none}
.nw-list>a:hover,.nw-lead:hover{background:var(--x-pane)}
.nw-list img{flex:none;width:104px;aspect-ratio:1200/630;object-fit:cover;border-radius:3px;border:1px solid var(--x-line2)}
.nw-list b{display:block;font-size:15px;line-height:1.3;color:var(--x-hi);margin-top:3px}
.nw-list a.nw-all{margin-top:auto;border-bottom:0;justify-content:flex-end;font-weight:700;color:var(--x-acc);font-size:14px}
@media(max-width:760px){.nwb{grid-template-columns:minmax(0,1fr)}.nw-lead{border-right:0;border-bottom:2px solid var(--x-line2)}.kn{grid-template-columns:repeat(2,1fr)}.kn div:nth-child(2){border-right:0}.kn div:nth-child(-n+2){border-bottom:1px solid var(--x-line)}.snav{grid-template-columns:1fr}.art h1{font-size:25px}.prose-x{font-size:16px}}

.nwb>*{min-width:0}.nw-lead img,.nw-list img,.bcard img,.art-img img{max-width:100%}

.nw-lead img,.nw-list img{height:auto}

/* data tables: click-to-sort headers */
th.dt-th:hover{background:var(--x-pane)}
th.dt-th .dt-i{font-size:9px;color:var(--x-acc);margin-left:4px;white-space:nowrap}
th.dt-th .dt-i sup{font-size:8px}
th.dt-th a{color:inherit;text-decoration:none}

/* ===== research report: always paper-light, A4 when printed ===== */
.rp-wrap{max-width:900px;margin:0 auto;padding:12px 12px 40px}
.rp-bar{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px}
.rp-btns{display:flex;gap:8px;flex-wrap:wrap}
.rp{--x-bg:#FFFFFF;--x-card:#FFFFFF;--x-pane:#F3F7FC;--x-card2:#E9F0F9;--x-line:#D6E0EC;--x-line2:#B9C8DA;--x-hi:#0B1B33;--x-fg:#1A2B44;--x-fg2:#344863;--x-mut:#56677F;--x-acc:#0B63CE;--x-up:#09703F;--x-dn:#C42B27;--x-warn:#8A5A00;color:#1A2B44;font:14px/1.5 Inter,system-ui,sans-serif}
.rp-page{background:#fff;border:2px solid var(--x-line2);border-radius:6px;padding:22px 26px 18px;margin-bottom:14px;position:relative}
.rp-head{display:flex;justify-content:space-between;align-items:center;border-bottom:3px solid #0C2340;padding-bottom:8px;margin-bottom:10px}
.rp-brand{display:flex;align-items:center;gap:8px;font:700 17px Inter,sans-serif;color:#0C2340}.rp-brand b{color:#0E8F82}
.rp-mark{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:6px;background:#0C2340;color:#fff;font:700 15px Inter,sans-serif}
.rp-kind{font:600 12.5px Inter,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#56677F}
.rp-h1{margin:2px 0 0;font:700 26px/1.15 Inter,sans-serif;color:#0B1B33}.rp-h1 small{font-weight:600;color:#56677F;font-size:18px}
.rp-sub{margin:2px 0 12px;color:#56677F;font-size:13.5px}
.rp-h2{margin:14px 0 6px;font:700 13.5px Inter,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:#fff;background:#0C2340;padding:5px 10px;border-radius:3px}
.rp-h2 small{font-weight:500;letter-spacing:0;text-transform:none;color:#C3D1E3;margin-left:8px;font-size:12.5px}
.rp-grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.rp-kv,.rp-t{width:100%;border-collapse:collapse;font-size:13.5px}
.rp-kv th,.rp-kv td,.rp-t th,.rp-t td{padding:4px 6px;border-bottom:1px solid #E1E8F1;vertical-align:top}
.rp-kv th,.rp-t tbody th{text-align:left;font-weight:500;color:#344863}
.rp-kv td{text-align:right;font:600 13.5px 'IBM Plex Mono',ui-monospace,monospace;color:#0B1B33}
.rp-t thead th{background:#EEF3F9;color:#46586F;font-weight:700;font-size:12.5px;text-align:right;white-space:nowrap}
.rp-t thead th:first-child{text-align:left}
.rp-t td{text-align:right;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13.5px}
.rp-t a,.rp-p a,.rp-list a{color:#0B63CE}
.rp-me th,.rp-me td{background:#E3EEFB;font-weight:700}
.rp-tw{overflow-x:auto}
.rp-fv{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:6px}
.rp-fv>div{border:1px solid #D6E0EC;background:#F3F7FC;border-radius:5px;padding:8px 10px;display:flex;flex-direction:column}
.rp-fv span{font:700 12px Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#56677F}.rp-fv b{font:700 22px 'IBM Plex Mono',monospace;color:#0B1B33}.rp-fv em{font-style:normal;font-size:13px;color:#56677F}
.rp-score{display:flex;align-items:baseline;gap:8px}.rp-score b{font:700 38px 'IBM Plex Mono',monospace}.rp-score span{font-size:13.5px;color:#56677F}
.rp-lenses{display:flex;flex-direction:column;gap:5px;margin-top:4px}
.rp-lenses>div{display:grid;grid-template-columns:110px 1fr 30px;gap:8px;align-items:center;font-size:13.5px}
.rp-lenses i{display:block;height:8px;border-radius:4px;background:#E1E8F1;overflow:hidden}.rp-lenses u{display:block;height:100%}.rp-lenses b{text-align:right;font-family:'IBM Plex Mono',monospace}
.rp-chart{border:1px solid #D6E0EC;border-radius:5px;padding:6px 8px;background:#fff}
.rp-p{margin:6px 0;font-size:13.5px;line-height:1.6;color:#1A2B44}
.rp-note{margin:8px 0;font-size:13.5px;color:#56677F}
.rp-cols{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.rp-box{border:1px solid #D6E0EC;border-radius:5px;padding:7px 9px;background:#fff}.rp-box h3{margin:0 0 4px;font:700 13.5px Inter,sans-serif;color:#0B1B33}
.rp-row{display:grid;grid-template-columns:1fr auto 52px;gap:6px;font-size:13px;padding:2px 0;border-top:1px dotted #E1E8F1}.rp-row b{text-align:right}.rp-val{color:#56677F;font-family:'IBM Plex Mono',monospace;font-size:12.5px}
.rp-list{margin:6px 0;padding-left:18px;font-size:13.5px}.rp-list li{margin:3px 0}.rp-list em{color:#56677F;font-style:normal;font-size:13px}
.rp-good li::marker{color:#09703F}.rp-risk li::marker{color:#C42B27}
.rp-tri{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.rp-tri>div{border:1px solid #D6E0EC;background:#F3F7FC;border-radius:5px;padding:8px 10px;display:flex;flex-direction:column}
.rp-tri span{font:700 12px Inter,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:#56677F}.rp-tri b{font:700 17px Inter,sans-serif}.rp-tri em{font-style:normal;font-size:12.5px;color:#56677F}
.rp-foot{margin-top:14px;border-top:1px solid #D6E0EC;padding-top:5px;font-size:12px;color:#56677F;text-align:right}
@media(max-width:700px){.rp-grid2,.rp-cols,.rp-tri,.rp-fv{grid-template-columns:1fr}.rp-page{padding:14px 12px}.rp-h1{font-size:21px}.rp-head{flex-wrap:wrap;gap:4px 10px}.rp-kind{text-align:right}}
@page{size:A4;margin:9mm}
.rp-measure{max-width:none!important;padding:0!important;width:718px!important}.rp-measure .rp-page{border:0!important;border-radius:0!important;padding:0!important;margin:0!important}.rp-measure .rp-grid2,.rp-measure .rp-fv{grid-template-columns:1fr 1fr!important}.rp-measure .rp-cols,.rp-measure .rp-tri{grid-template-columns:repeat(3,1fr)!important}
@media print{
  html,body{background:#fff!important}
  .hd,.mstrip,.adrow,.ft,.rp-bar,.hd-nav{display:none!important}
  .rp-wrap{max-width:none;padding:0}
  .rp-page{border:0;border-radius:0;padding:0;margin:0;page-break-after:always;break-after:page;min-height:auto}
  .rp-page:last-child{page-break-after:auto}
  .rp-h2,.rp-fv>div,.rp-tri>div,.rp-mark,.rp-lenses u,.rp-t thead th,.rp-me th,.rp-me td{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .rp-box,.rp-chart,.rp-tw{break-inside:avoid}
  a{color:inherit!important;text-decoration:none!important}
}

/* ---- COT chart: blue = net long, red = net short against a zero line (same pair as the ETFWinner module); tokens follow the theme ---- */
.cotchart{margin:0;padding:0;--cot-long:var(--x-acc);--cot-short:var(--x-dn);--cot-grid:var(--x-line);--cot-base:var(--x-line2);--cot-axis:var(--x-mut)}
.cotchart figcaption{font-size:13.5px;color:var(--x-mut);margin:4px 0 8px;line-height:1.5}
.cotchart__plot{position:relative}
.cotchart svg{width:100%;height:auto;aspect-ratio:760/260;display:block;overflow:visible}
.cotchart__grid{stroke:var(--cot-grid);stroke-width:1;shape-rendering:crispEdges}
.cotchart__zero{stroke:var(--cot-base);stroke-width:1.5;shape-rendering:crispEdges}
.cotchart__ytick,.cotchart__xtick{fill:var(--cot-axis);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px}
.cotchart__fill{stroke:none}.cotchart__fill--long{fill:var(--cot-long);opacity:.14}.cotchart__fill--short{fill:var(--cot-short);opacity:.14}
.cotchart__line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}
.cotchart__line--long{stroke:var(--cot-long)}.cotchart__line--short{stroke:var(--cot-short)}
.cotchart__end{stroke:var(--x-card);stroke-width:2}.cotchart__end.is-long{fill:var(--cot-long)}.cotchart__end.is-short{fill:var(--cot-short)}
.cotchart__hair{stroke:var(--cot-axis);stroke-width:1;stroke-dasharray:3 3;pointer-events:none}
.cotchart__hit{cursor:crosshair}
.cotchart__tip{position:absolute;transform:translate(-50%,-130%);pointer-events:none;background:var(--x-hi);color:var(--x-bg);border-radius:4px;padding:5px 9px;white-space:nowrap;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.cotchart__tip strong{display:block;font:600 15px 'IBM Plex Mono',ui-monospace,monospace}
.cotchart__tip span{font-size:13px;opacity:.85}
@media(max-width:700px){.cotchart__ytick,.cotchart__xtick{font-size:22px}.cotchart__line{stroke-width:4}.cotchart__zero{stroke-width:3}.cotchart__grid{stroke-width:2}.cotchart__end{r:9;stroke-width:4}.cotchart figcaption{font-size:13.5px}}

/* ---- COT bar charts: blue = long / net long, red = short / net short ---- */
.cotbars__h{margin:16px 0 4px;font-size:14.5px;font-weight:700;color:var(--x-hi)}
.cotbars__h:first-child{margin-top:6px}
.cotbars .fine{margin:0 0 8px}
.cotbars__plot{position:relative}
.cotbars__plot svg{width:100%;height:auto;aspect-ratio:760/210;display:block;overflow:visible}
.cotbars__grid{stroke:var(--x-line);stroke-width:1;shape-rendering:crispEdges}
.cotbars__zero{stroke:var(--x-line2);stroke-width:1.5;shape-rendering:crispEdges}
.cotbars__tick{fill:var(--x-mut);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:12.5px}
.cotcol--long{fill:var(--x-acc)}.cotcol--short{fill:var(--x-dn)}.cotcol--flat{fill:var(--x-mut);opacity:.6}
.cothit{fill:transparent;cursor:crosshair}
.cothit:hover+.cotcol{stroke:var(--x-hi);stroke-width:1}
.cotbars__tip{position:absolute;transform:translate(-50%,-125%);pointer-events:none;background:var(--x-hi);color:var(--x-bg);border-radius:4px;padding:5px 9px;font:600 13.5px 'IBM Plex Mono',ui-monospace,monospace;white-space:nowrap;z-index:2;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.cotbars__fig{margin:0}
.cotrow{display:grid;grid-template-columns:minmax(96px,170px) minmax(0,1fr) 72px;gap:10px;align-items:center;padding:3px 0;font-size:14px;color:var(--x-fg);text-decoration:none}
a.cotrow:hover{background:var(--x-pane)}
.cotrow__n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cotrow__v{text-align:right;font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13.5px;color:var(--x-hi)}
.cotrow__bar{position:relative;display:block;height:14px;background:var(--x-pane);border-radius:2px}
.cotrow__bar::before{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--x-line2)}
.cotrow__fill{position:absolute;top:0;bottom:0;display:block;min-width:1px}
.cotrow__fill.is-long{background:var(--x-acc)}.cotrow__fill.is-short{background:var(--x-dn)}
.cotcat{margin:8px 0 12px}
.cotcat__t{font-size:14px;color:var(--x-hi);margin-bottom:3px}.cotcat__t span{color:var(--x-mut);font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13.5px;margin-left:6px}
.cotcat__row{display:grid;grid-template-columns:104px minmax(0,1fr) 104px;gap:10px;align-items:center}
.cotcat__v{font-family:'IBM Plex Mono',ui-monospace,monospace;font-size:13.5px;line-height:1.2}.cotcat__v small{display:block;font-size:12.5px;color:var(--x-mut)}
.cotcat__v.is-short{text-align:right;color:var(--x-dn)}.cotcat__v.is-long{color:var(--x-acc)}
.cotcat .cotrow__bar{height:20px}
@media(max-width:700px){.cotbars__tick{font-size:22px}.cotbars__grid{stroke-width:2}.cotbars__zero{stroke-width:3}.cotrow{grid-template-columns:96px minmax(0,1fr) 58px;gap:6px;font-size:13.5px}.cotcat__row{grid-template-columns:82px minmax(0,1fr) 82px;gap:6px}}

.cotidx{display:inline-block;vertical-align:middle;width:84px;height:8px;background:var(--x-pane);border:1px solid var(--x-line2);border-radius:4px;overflow:hidden;margin-right:6px}
.cotidx i{display:block;height:100%;background:var(--x-acc)}
.cotidx--wide{display:block;width:auto;height:12px;margin:0}
.cotrow--plain .cotrow__n{white-space:normal;line-height:1.2}
.cotrow--plain{grid-template-columns:minmax(120px,190px) minmax(0,1fr) 72px}

/* ---- country trade structure bars ---- */
.tradeg{display:grid;grid-template-columns:minmax(110px,190px) minmax(0,1fr);gap:10px;align-items:center;padding:6px 0;border-bottom:1px solid var(--x-card2);font-size:14px}
.tradeg__bars{display:flex;flex-direction:column;gap:4px}
.tradeg__r{display:grid;grid-template-columns:minmax(0,1fr) 56px;gap:8px;align-items:center}
.tradeg__b{display:block;height:9px;background:var(--x-pane);border-radius:2px;overflow:hidden}
.tradeg__b i{display:block;height:100%}
.tradeg__r .mono{text-align:right;font-size:13.5px;color:var(--x-hi)}
@media(max-width:700px){.tradeg{grid-template-columns:100px minmax(0,1fr);gap:6px}}

/* in-article figures: photos and infographics with a visible caption */
.art-fig{margin:20px 0;border:2px solid var(--x-line2);border-radius:8px;overflow:hidden;background:#fff}
.art-fig img{display:block;width:100%;height:auto}
.art-fig a{display:block;cursor:zoom-in}
.art-zoom{display:none;font-weight:600;color:var(--x-acc)}
@media(max-width:700px){.art-zoom{display:inline}}
.art-fig figcaption{padding:9px 14px;font-size:14px;line-height:1.45;color:var(--x-mut);background:var(--x-pane);border-top:1px solid var(--x-line)}

/* listicle profile cards (fund profiles in the hedge-fund post): numbered heading, fact tiles, labelled sections */
.fund{--fc:#0B63CE;margin:34px 0;border:2px solid var(--x-line2);border-top:6px solid var(--fc);border-radius:10px;background:var(--x-card);overflow:hidden}
.prose-x .fund-h{margin:0;padding:16px 20px 14px;border:0;font-size:23px;line-height:1.2;display:flex;align-items:center;gap:12px;color:var(--x-hi)}
.fund-rank{flex:0 0 auto;display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 9px;border-radius:10px;background:var(--fc);color:#fff;font:800 19px/1 'IBM Plex Mono',ui-monospace,monospace}
.fund-top{display:grid;grid-template-columns:270px minmax(0,1fr);gap:16px;margin:0 20px 16px;align-items:stretch}
.fund-photo{position:relative;margin:0;border-radius:10px;overflow:hidden;background:var(--x-pane);min-width:0;min-height:270px}
.fund-photo img{display:block;width:100%;height:100%;object-fit:cover}
.fund-photo figcaption{position:absolute;left:0;right:0;bottom:0;padding:34px 11px 9px;background:linear-gradient(to top,rgba(8,20,40,.88),rgba(8,20,40,.55) 55%,rgba(8,20,40,0));color:#fff;line-height:1.35}
.fund-photo figcaption span{display:block;font-size:13.5px;font-weight:600}
.fund-photo figcaption small{display:block;margin-top:3px;font-size:13px;opacity:.9}
.fund-photo figcaption a{color:#fff;text-decoration:underline;text-underline-offset:2px}
.fund-top .fund-facts{margin:0;display:flex;flex-direction:column;gap:9px}
.fund-top .fund-facts>div{flex:1 1 auto;display:flex;flex-direction:column;justify-content:center}
.fund-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0 20px 16px}
.fund-facts>div{background:var(--x-pane);border:1px solid var(--x-line);border-left:4px solid var(--fc);border-radius:8px;padding:9px 13px}
.fund-facts span{display:block;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--x-mut);font-weight:700}
.fund-facts b{display:block;margin-top:2px;font-size:15.5px;line-height:1.4;color:var(--x-hi);font-weight:600}
.fund-sec{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 18px;padding:13px 20px;border-top:1px solid var(--x-line)}
.fund-lab{align-self:start;padding-top:3px;font-size:13.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--fc);font-weight:800}
.fund-txt p{margin:0 0 10px}.fund-txt p:last-child{margin:0}
.fund-note{background:var(--x-pane);box-shadow:inset 4px 0 0 var(--fc)}
@media(max-width:700px){.fund-top{grid-template-columns:1fr;margin:0 14px 14px}.fund-photo{aspect-ratio:4/3;min-height:0}.fund-facts{grid-template-columns:1fr}.fund-top .fund-facts{margin:0}.fund-sec{grid-template-columns:1fr;gap:2px}.prose-x .fund-h{font-size:20px;padding:14px 14px 12px}.fund-facts{margin-left:14px;margin-right:14px}.fund-sec{padding:12px 14px}}

/* ---- forex and commodity calls ---- */
.cb{display:inline-block;padding:2px 9px;border-radius:3px;font-size:13.5px;font-weight:700;letter-spacing:.02em;white-space:nowrap}
.cb.bull{background:var(--x-upbg);color:var(--x-up)}
.cb.bear{background:var(--x-dnbg);color:var(--x-dn)}
.cb.neutral{background:var(--x-card2);color:var(--x-mut)}
.cb.strong-bull{background:var(--x-up);color:#fff}
.cb.strong-bear{background:var(--x-dn);color:#fff}
.scb{position:relative;display:inline-block;width:92px;height:8px;border-radius:4px;background:linear-gradient(90deg,var(--x-dnbg),var(--x-card2) 38%,var(--x-card2) 62%,var(--x-upbg));vertical-align:middle;margin-right:6px}
.scb u{position:absolute;top:-2px;bottom:-2px;left:50%;width:1px;background:var(--x-line2);text-decoration:none}
.scb i{position:absolute;top:-4px;width:4px;height:16px;margin-left:-2px;border-radius:2px;background:var(--x-hi)}
.scb.big{display:block;width:100%;height:12px;border-radius:6px;margin:10px 0 4px}
.scb.big i{top:-5px;height:22px;width:5px;margin-left:-2.5px}
.callcard{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:14px 28px;padding:14px 16px 6px;align-items:center}
.callcard__lab{font-size:34px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.callcard__sc{display:flex;justify-content:space-between;align-items:baseline;font-size:13.5px;color:var(--x-mut)}
.callcard__sc b{font-size:20px}
.callcard__r{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.callcard__r div{background:var(--x-pane);border:1px solid var(--x-line);border-radius:4px;padding:8px 12px}
.callcard__r span{display:block;font-size:12.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--x-mut);font-weight:700}
.callcard__r b{display:block;margin-top:2px;font-size:16px;color:var(--x-hi)}
.callcard__r small{display:block;font-size:13.5px;color:var(--x-mut)}
.cs-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.cs-row{display:grid;grid-template-columns:38px minmax(0,1fr) 56px;align-items:center;gap:8px;padding:3px 0;font-size:14px}
.cs-n{font-weight:700;color:var(--x-hi)}
.cs-bar{position:relative;height:10px;border-radius:2px;background:var(--x-card2)}
.cs-bar:after{content:"";position:absolute;left:50%;top:-2px;bottom:-2px;width:1px;background:var(--x-line2)}
.cs-bar i{position:absolute;top:0;bottom:0;border-radius:2px}
.cs-v{text-align:right;font-size:13.5px}
@media(max-width:760px){.callcard{grid-template-columns:1fr}.cs-grid{grid-template-columns:1fr}.callcard__lab{font-size:28px}}

.kn small{display:block;font-size:13.5px;font-weight:400;color:var(--x-mut);margin-top:2px}
.dtbl .scb{width:60px}

/* ---- news list (latest-news layout) ---- */
.nlist{display:flex;flex-direction:column;border:1px solid var(--x-line);border-radius:4px;background:var(--x-card);margin:12px 0;overflow:hidden}
.nrow{display:grid;grid-template-columns:168px minmax(0,1fr);gap:14px;padding:12px 14px;border-top:1px solid var(--x-line);color:var(--x-fg);text-decoration:none}
.nlist>.nrow:first-child{border-top:0}
.nrow:hover{background:var(--x-pane)}
.nthumb{display:block;aspect-ratio:1200/630;border-radius:3px;overflow:hidden;background:var(--x-pane)}
.nthumb img{display:block;width:100%;height:100%;object-fit:cover}
.ntxt{display:flex;flex-direction:column;gap:5px;min-width:0}
.ntxt b{font-size:17px;line-height:1.3;color:var(--x-hi)}
.nrow:hover .ntxt b{color:var(--x-acc)}
.ndek{font-size:14.5px;line-height:1.5;color:var(--x-fg2)}
.nmeta{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;font-size:13px;color:var(--x-mut);margin-top:auto}
.nmeta em{font-style:normal;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--x-acc)}
.nlist .bad{padding:10px 14px;border-top:1px solid var(--x-line)}
@media(max-width:620px){.nrow{grid-template-columns:104px minmax(0,1fr);gap:10px;padding:10px 12px}.ntxt b{font-size:15.5px}.ndek{display:none}}

/* ---- v5: sober pass ----
   Takes the decorative layer off (corner brackets, dotted leaders, hatching, grid textures, teal markers, dark heading bars) and keeps the structure, palette and
   data density. Flatter, quieter, more editorial: light panel headers, hairline borders, one radius, tabular figures, visible keyboard focus. */
html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}
:focus-visible{outline:2px solid var(--x-acc);outline-offset:2px}
.dtbl td,.dtbl th,.mono,.kn b,.kv b,.qh-r .rw{font-variant-numeric:tabular-nums}
/* no ornaments */
.pnl::before,.hx::before,section[style*="border: 1px solid"][style*="border-radius"]::before{content:none!important;display:none!important}
.hd{background-image:none!important}
footer.ft{background-image:none!important;border-top:1px solid rgba(255,255,255,.12)!important}
.ft-col b::before,.cp-k::before,.cp-h h2::before,.pg-main h2[style]::before,section[style*="border"] h2[style]::before,.hbar h2[style]::before{content:none!important;display:none!important}
.qh::after{display:none!important}
.hx-tall{background-image:none!important;background:var(--x-card)!important}
.tag,.th-top .tag,.rg-chips span{border-left:0!important}
.sg-t i,.sr-i{border-left:0!important}
.prose-x blockquote{border-left:3px solid var(--x-line2)}
/* panels: one radius, light headers instead of dark bars */
.pnl,.hx,.adslot,.bcard,.nlist{border-radius:6px}
.pnl{box-shadow:none}
.pnl>h3,.pnl>h2,.pnl h3,.pnl h2{background:var(--x-pane)!important;color:var(--x-hi)!important;border-bottom:1px solid var(--x-line)!important;font-size:14px!important;letter-spacing:.01em!important;text-transform:none!important;font-weight:700!important;padding:10px 16px!important}
.pnl>h3::before,.pnl>h2::before,.pnl>h3::after,.pnl>h2::after{content:none!important;display:none!important}
.pnl>h3 a,.pnl>h2 a{color:var(--x-acc)!important;font-weight:600}
section[style*="border"]>h2[style]:first-child,div[style*="border: 1px solid"]>h2[style]:first-child{background:var(--x-pane)!important;color:var(--x-hi)!important;border-bottom:1px solid var(--x-line)!important;text-transform:none!important;letter-spacing:.01em!important}
.cp-card>.cp-k:first-child,.cp-card>.cp-h:first-child{background:var(--x-pane)!important;color:var(--x-hi)!important}
.hbar{background:var(--x-pane)!important;color:var(--x-hi)!important;border-bottom:1px solid var(--x-line)!important}
.hbar>h2,.hbar>h3,.hbar>h2[style],.hbar>div:first-child,.hbar>span:first-child,.hbar b,.hbar .mono,.hbar summary{color:var(--x-hi)!important}
.hbar .nm,.hbar [style*="var(--x-mut)"],.hbar .cp-note,.hbar .th-top .cp-note{color:var(--x-mut)!important}
.hbar a{color:var(--x-acc)!important}
.hbar .tag{background:var(--x-accbg)!important;color:var(--x-accd)!important}
.cp-card>summary.hbar{text-transform:none;letter-spacing:.01em;font-size:14px}
/* v5b: hairline borders instead of the firm 2px frames, header bars that inline scripts add lose their caps, a faint page tint so white panels read as panels */
.pnl,.cp-card,.card,.hx,.lc,.sech-kpi,section[style*="border: 1px solid"]:not([id="lenses"]),div[style*="border: 1px solid"][style*="padding"]{border-width:1px!important;border-color:var(--x-line)!important}
.themes .cp-card{border-top-width:1px!important}
.sech-kpi>div{border-right-width:1px}
.lc{border-top-width:3px!important}
.bcard,.art-img,.snav a,.pager a,.art-fig,.rp-page,.bsearch input{border-width:1px!important;border-color:var(--x-line)!important}
.bcard .bimg{border-bottom-width:1px}
.nw-lead{border-right-width:1px}
.fund{border-width:1px;border-top-width:4px}
.hbar,.hbar>h2,.hbar>h3,.hbar>h2[style],.hbar>div:first-child,.hbar>span:first-child{text-transform:none!important;letter-spacing:.01em!important}
.hbar{font-size:14px!important}
:root,html[data-theme="light"]{--x-bg:#F5F7FA}
.dtbl td:first-child,.dtbl th:first-child{background:inherit}

/* ---- currency converter ---- */
.cvx{display:grid;grid-template-columns:minmax(110px,1fr) minmax(0,2fr) auto minmax(0,2fr) auto;gap:10px;padding:12px 14px;align-items:end}
.cvx-f{display:flex;flex-direction:column;gap:4px;min-width:0}
.cvx-f span{font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--x-mut)}
.cvx input,.cvx select{height:42px;padding:0 10px;border:1px solid var(--x-line2);border-radius:4px;background:var(--x-card);color:var(--x-hi);font:500 15.5px Inter,system-ui,sans-serif;min-width:0;width:100%}
.cvx input:focus,.cvx select:focus{border-color:var(--x-acc);outline:0;box-shadow:0 0 0 3px var(--x-accbg)}
.cvx-sw{height:42px;width:42px;border:1px solid var(--x-line2);border-radius:4px;background:var(--x-pane);color:var(--x-acc);font-size:18px;cursor:pointer}
.cvx-sw:hover{background:var(--x-accbg)}
.cvx-out{padding:4px 14px 8px;display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}
.cvx-out span{color:var(--x-mut);font-size:15.5px}
.cvx-out b{font:700 30px 'IBM Plex Mono',ui-monospace,monospace;color:var(--x-hi);overflow-wrap:anywhere}
.cvx-tabs{display:grid;grid-template-columns:1fr 1fr}
.cvx-tabs>div+div{border-left:1px solid var(--x-line)}
.cvx-tabs .dtbl{width:100%}
@media(max-width:860px){.cvx{grid-template-columns:1fr}.cvx-sw{justify-self:center}.cvx-tabs{grid-template-columns:1fr}.cvx-tabs>div+div{border-left:0;border-top:1px solid var(--x-line)}.cvx-out b{font-size:24px}}

/* ======== v6 polish: grouped navigation, touch targets, small text, skip link ======== */
.skip{position:absolute;left:8px;top:-64px;z-index:200;background:#fff;color:#0B1B33!important;padding:10px 16px;border-radius:4px;font:700 15px Inter,system-ui,sans-serif;box-shadow:0 6px 24px rgba(0,0,0,.3)}
.skip:focus{top:8px}
.hd-nav nav.nv{display:flex;gap:0;overflow:visible;padding:0 12px;position:relative}
.nv-g{position:relative}
.nv-b{display:flex;align-items:center;gap:7px;background:transparent;border:0;border-bottom:2px solid transparent;color:#D5DDE8;font:600 15px Inter,system-ui,sans-serif;padding:0 15px;min-height:44px;cursor:pointer;white-space:nowrap}
.nv-b:hover,.nv-g.open .nv-b{color:#fff;background:rgba(255,255,255,.07)}
.nv-g.on .nv-b{color:#fff;border-bottom-color:#4C9AFF}
.nv-b svg{width:11px;height:11px;flex:none;opacity:.8;transition:transform .15s ease}
.nv-g.open .nv-b svg{transform:rotate(180deg)}
.nv-p{display:none;position:absolute;left:0;top:100%;min-width:260px;background:var(--x-hdr2);border:1px solid rgba(255,255,255,.12);border-top:2px solid #4C9AFF;border-radius:0 0 6px 6px;box-shadow:0 22px 44px -14px rgba(0,0,0,.6);padding:6px;z-index:70}
.nv-g.open .nv-p{display:block}
.hd-nav .nv-p a{display:flex;align-items:center;min-height:40px;padding:0 12px;border-radius:4px;color:#D5DDE8;font-size:15px;font-weight:500;border-bottom:0;white-space:nowrap}
.hd-nav .nv-p a:hover,.hd-nav .nv-p a:focus-visible{background:rgba(255,255,255,.09);color:#fff;text-decoration:none}
.hd-nav .nv-p a.cur{background:rgba(76,154,255,.2);color:#fff;font-weight:600}
.nv-burger{display:none;align-items:center;justify-content:center;width:36px;height:34px;border:1px solid rgba(255,255,255,.28);border-radius:3px;background:transparent;color:#fff;cursor:pointer}
.nv-burger[aria-expanded="true"]{background:rgba(255,255,255,.12)}
.nv-m{position:fixed;left:0;right:0;bottom:0;z-index:59;background:var(--x-hdr);overflow-y:auto;overscroll-behavior:contain;padding:6px 14px 48px;-webkit-overflow-scrolling:touch;border-top:1px solid rgba(255,255,255,.1)}
.nv-m[hidden]{display:none}
.nv-m details{border-bottom:1px solid rgba(255,255,255,.1)}
.nv-m summary{list-style:none;display:flex;justify-content:space-between;align-items:center;min-height:54px;padding:0 4px;color:#fff;font:700 16.5px Inter,system-ui,sans-serif;cursor:pointer}
.nv-m summary::-webkit-details-marker{display:none}
.nv-m summary::after{content:"+";font-size:22px;font-weight:400;opacity:.75}
.nv-m details[open] summary::after{content:"\2212"}
.nv-m details[open]{padding-bottom:8px}
.hd .nv-m a{display:flex;align-items:center;min-height:46px;padding:0 12px 0 16px;border-radius:4px;color:#D5DDE8;font-size:16px;font-weight:500}
.hd .nv-m a.cur{background:rgba(76,154,255,.2);color:#fff;font-weight:600}
.hd .nv-m a.nv-w{margin-top:10px;border:1px solid rgba(255,255,255,.22);justify-content:center;color:#fff;font-weight:600}
@media (max-width:899px){
  .hd-nav{display:none}
  .nv-burger{display:inline-flex}
}
@media (min-width:900px){.nv-m{display:none!important}}

/* touch targets and small text: 12px floor for labels, 40px for footer and list links, roomier table links on phones */
.hx-k,em.nw-tk,.mstrip small{font-size:13.5px!important}
@media (max-width:899px){
  small,.fine,.hx-k{font-size:max(12px,.95em)}
  .ft-col{gap:2px}
  .ft-col a{display:flex;align-items:center;min-height:40px;font-size:15px}
  .ft-brand a{display:inline-flex;align-items:center;min-height:36px}
  .pnl .links{gap:0}
  .pnl .links a,.pg-rail .pnl a{display:inline-flex;align-items:center;min-height:36px}
  .chips a{display:inline-flex;align-items:center;min-height:36px}
  .btn2{min-height:40px}
  .dtbl td a{display:inline-block;padding:7px 0;min-height:32px}
  .rel a,.fund a,section.fund a{min-height:36px}
}
@media (pointer:coarse){
  .dtbl td a{padding:7px 0}
  button,select,input[type="search"],input[type="number"]{min-height:40px}
}
/* inline micro text (10 to 11px written into templates) gets a 12px floor */
[style*="font-size: 11.5px"],[style*="font-size:11.5px"],[style*="font-size: 12px"],[style*="font-size:12px"],[style*="font-size: 12.5px"],[style*="font-size:12.5px"],[style*="font-size: 13px"],[style*="font-size:13px"]{font-size:13.5px!important}

/* scroll hints, sticky report tabs, anchor offsets */
.sx-fr{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 34px),transparent)}
.sx-fl{-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 34px),transparent)}
.sx-fl.sx-fr{-webkit-mask-image:linear-gradient(to right,transparent,#000 34px,#000 calc(100% - 34px),transparent);mask-image:linear-gradient(to right,transparent,#000 34px,#000 calc(100% - 34px),transparent)}
nav.tabs2{position:sticky;top:var(--hdh,104px);z-index:40;background:var(--x-bg);margin-top:2px}
/* tab row: fade with sticky end caps instead of a mask, so the page does not show through */
nav.tabs2.sx-fr,nav.tabs2.sx-fl{-webkit-mask-image:none;mask-image:none}
nav.tabs2::before,nav.tabs2::after{content:"";flex:none;position:sticky;width:34px;pointer-events:none;z-index:2;display:none}
nav.tabs2::before{left:0;margin-right:-34px;background:linear-gradient(to right,var(--x-bg),rgba(0,0,0,0))}
nav.tabs2::after{right:0;margin-left:-34px;background:linear-gradient(to left,var(--x-bg),rgba(0,0,0,0))}
nav.tabs2.sx-fl::before,nav.tabs2.sx-fr::after{display:block}
main [id]{scroll-margin-top:calc(var(--hdh,104px) + 56px)}
@media (min-width:1100px){.tabs2 a{padding-left:9px;padding-right:9px}}
/* compact tables inside half-width cards */
.pnl .dtbl td,.pnl .dtbl th{padding-left:10px;padding-right:10px}

/* larger type: keep the promo card readable on phones (text on its own line, button below) */
@media (max-width:640px){.hx-leader .hx-tx,.hx-infeed .hx-tx{flex:1 1 170px}.hx-leader .hx-b,.hx-infeed .hx-b{flex:1 1 100%;text-align:center}}

/* real company logos (public/uploads/logos, EODHD): white tile so transparent PNGs read on the dark theme */
.co-logo{display:inline-block;vertical-align:middle;margin-right:8px;background:#fff;border-radius:5px;padding:2px;object-fit:contain;box-shadow:0 0 0 1px rgba(15,23,42,.12);box-sizing:border-box;flex:none}
.co-mono{display:inline-flex;align-items:center;justify-content:center;background:var(--x-card2);color:var(--x-hi);font-weight:600;padding:0}

/* ===== v6 signature (premium) appended 20 Oct 2026; backup in /root/sx_bak_uiv6_20261019_2137 ===== */
/* v6 signature (premium): white cards, neutral hairlines, soft layered elevation; the infographic colour set lives in fills only
   (bars, gauges, pills, dots), never in borders. Light theme only; the dark theme keeps its own surfaces. */
html[data-theme="light"]{
  --sg-ink:#0B1F3A;
  --sg-blue:#2563EB;--sg-blue-d:#1D4ED8;--sg-blue-t:#EAF1FF;
  --sg-teal:#14B8A6;--sg-teal-d:#0F766E;--sg-teal-t:#E4F8F5;
  --sg-green:#22C55E;--sg-green-d:#15803D;--sg-green-t:#E6F8EC;
  --sg-amber:#F59E0B;--sg-amber-d:#B45309;--sg-amber-t:#FFF4DD;
  --sg-coral:#F4585D;--sg-coral-d:#C2363B;--sg-coral-t:#FEEBEC;
  --sg-violet:#8B5CF6;--sg-violet-d:#6D3FE0;--sg-violet-t:#F1EBFF;
  --sg-edge:rgba(11,31,58,.09);
  --sg-lift:0 1px 2px rgba(11,31,58,.04),0 14px 30px -18px rgba(11,31,58,.22);
  --sg-lift-hover:0 2px 4px rgba(11,31,58,.05),0 20px 36px -18px rgba(11,31,58,.30);
}
/* 1. cards and panels: white, neutral hairline, generous radius, soft layered elevation */
html[data-theme="light"] .pnl,
html[data-theme="light"] .hx,
html[data-theme="light"] .qh-r .rw,
html[data-theme="light"] .card,
html[data-theme="light"] section[style*="border: 1px solid"][style*="border-radius"],
html[data-theme="light"] div[style*="border: 1px solid var(--x-line)"][style*="border-radius"]{
  background:#FFFFFF!important;border:1px solid var(--sg-edge)!important;border-radius:14px!important;box-shadow:var(--sg-lift)!important}
/* 2. tiles that sat inside cards in a blue-grey tint are white too */
html[data-theme="light"] [style*="background: var(--x-pane)"]:not(.adslot),
html[data-theme="light"] [style*="background: var(--x-bg)"],
html[data-theme="light"] .stat,html[data-theme="light"] .rg>div,html[data-theme="light"] .fund-facts>div,html[data-theme="light"] .callcard__r div{
  background:#FFFFFF!important;border:1px solid var(--sg-edge)!important;border-radius:10px!important;box-shadow:0 1px 1px rgba(11,31,58,.03)}
/* 3. card headers: white, hairline underneath, quiet; no coloured bars */
html[data-theme="light"] .pnl>h3,html[data-theme="light"] .pnl>h2,html[data-theme="light"] .pnl h3,html[data-theme="light"] .pnl h2,
html[data-theme="light"] section[style*="border"]>h2[style]:first-child,
html[data-theme="light"] div[style*="border: 1px solid"]>h2[style]:first-child,
html[data-theme="light"] .hbar{background:#FFFFFF!important;border-bottom:1px solid var(--sg-edge)!important;color:var(--sg-ink)!important;letter-spacing:-.005em!important}
/* 4. the five lens cards: white, neutral edge, a small glowing dot in the lens colour in front of the name */
html[data-theme="light"] .lc{background:#FFFFFF!important;border:1px solid var(--sg-edge)!important;border-radius:14px!important;box-shadow:var(--sg-lift);transition:box-shadow .18s ease,transform .18s ease}
html[data-theme="light"] .lc:hover{box-shadow:var(--sg-lift-hover);transform:translateY(-2px)}
html[data-theme="light"] .lc>div:first-child>span:first-child::before{content:"";display:inline-block;width:9px;height:9px;margin-right:9px;border-radius:50%;vertical-align:1px;background:radial-gradient(circle at 30% 30%,#fff 0,var(--lc-c,var(--sg-blue)) 55%,var(--lc-d,var(--sg-blue-d)) 100%);box-shadow:0 0 0 4px var(--lc-t,var(--sg-blue-t))}
html[data-theme="light"] .lensgrid>.lc:nth-child(1){--lc-c:var(--sg-violet);--lc-d:var(--sg-violet-d);--lc-t:var(--sg-violet-t)}
html[data-theme="light"] .lensgrid>.lc:nth-child(2){--lc-c:var(--sg-green);--lc-d:var(--sg-green-d);--lc-t:var(--sg-green-t)}
html[data-theme="light"] .lensgrid>.lc:nth-child(3){--lc-c:var(--sg-blue);--lc-d:var(--sg-blue-d);--lc-t:var(--sg-blue-t)}
html[data-theme="light"] .lensgrid>.lc:nth-child(4){--lc-c:var(--sg-teal);--lc-d:var(--sg-teal-d);--lc-t:var(--sg-teal-t)}
html[data-theme="light"] .lensgrid>.lc:nth-child(5){--lc-c:var(--sg-amber);--lc-d:var(--sg-amber-d);--lc-t:var(--sg-amber-t)}
/* 5. buttons: clean and tactile, no coloured edges; primary is a deep infographic blue with a soft glow */
html[data-theme="light"] .btn2:not(.pri),html[data-theme="light"] .pro-btn:not(.pro-go){background:#FFFFFF;border:1px solid var(--sg-edge);border-radius:10px;box-shadow:0 1px 2px rgba(11,31,58,.05);transition:box-shadow .15s ease,transform .15s ease}
html[data-theme="light"] .btn2:not(.pri):hover,html[data-theme="light"] .pro-btn:not(.pro-go):hover{transform:translateY(-1px);box-shadow:0 6px 14px -8px rgba(11,31,58,.30);background:#FFFFFF}
html[data-theme="light"] .btn2.pri,html[data-theme="light"] .pro-go{background:linear-gradient(180deg,#3B82F6,var(--sg-blue-d))!important;color:#fff!important;border:0!important;border-radius:10px;box-shadow:0 6px 16px -8px rgba(37,99,235,.65),inset 0 1px 0 rgba(255,255,255,.28);transition:box-shadow .15s ease,transform .15s ease}
html[data-theme="light"] .btn2.pri:hover,html[data-theme="light"] .pro-go:hover{transform:translateY(-1px);box-shadow:0 10px 20px -10px rgba(37,99,235,.75),inset 0 1px 0 rgba(255,255,255,.28)}
html[data-theme="light"] .btn2:active,html[data-theme="light"] .pro-btn:active{transform:translateY(0)}
/* 6. pills: soft fills, no borders */
html[data-theme="light"] .pro-chip,html[data-theme="light"] .tag{border-radius:99px;font-weight:700;letter-spacing:.01em}
/* 7. data fills use the infographic set with a touch of depth instead of flat semantic colours */
html[data-theme="light"] [style*="background: var(--x-dn)"]{background:linear-gradient(180deg,var(--sg-coral),var(--sg-coral-d))!important}
html[data-theme="light"] [style*="background: var(--x-up)"]{background:linear-gradient(180deg,var(--sg-green),var(--sg-green-d))!important}
html[data-theme="light"] [style*="background: var(--x-warn)"]{background:linear-gradient(180deg,var(--sg-amber),var(--sg-amber-d))!important}
html[data-theme="light"] [style*="background: var(--x-acc)"]{background:linear-gradient(180deg,#3B82F6,var(--sg-blue-d))!important}
html[data-theme="light"] .gauge{box-shadow:inset 0 1px 2px rgba(11,31,58,.12);border-radius:99px}
/* 8. tables inside cards: hairline rules, a light header, a hover row */
html[data-theme="light"] .dtbl th{background:#FAFBFD;color:#51627B}
html[data-theme="light"] .dtbl tbody tr:hover td,html[data-theme="light"] table.mini tr:hover td{background:#F5F8FD}
/* 9. page: a calmer tint behind the white cards */
html[data-theme="light"] body{background:#F4F6FA}
/* 10. Pro workspace: same white premium surfaces */
html[data-theme="light"] .pro-card{background:#FFFFFF;border:1px solid var(--sg-edge);border-radius:14px;box-shadow:var(--sg-lift);padding:22px}
html[data-theme="light"] .pro-kpi{background:#FFFFFF;border:1px solid var(--sg-edge);border-radius:12px;box-shadow:0 1px 1px rgba(11,31,58,.03)}
html[data-theme="light"] .pro-kpi b{letter-spacing:-.01em}
html[data-theme="light"] .pro-in{background:#FFFFFF;border:1px solid rgba(11,31,58,.16);border-radius:10px;transition:box-shadow .15s ease,border-color .15s ease}
html[data-theme="light"] .pro-in:focus{outline:0;border-color:var(--sg-blue);box-shadow:0 0 0 4px rgba(37,99,235,.14)}
html[data-theme="light"] .pro-in.pro-chg{border-color:var(--sg-blue);box-shadow:0 0 0 3px rgba(37,99,235,.10)}
html[data-theme="light"] .pro-sub{background:#FFFFFF;border-bottom:1px solid var(--sg-edge);box-shadow:0 6px 14px -12px rgba(11,31,58,.25)}
html[data-theme="light"] .pro-tabs{background:#F4F6FA;border-bottom:1px solid var(--sg-edge)}
html[data-theme="light"] .pro-tabs a[aria-current="true"],html[data-theme="light"] .pro-sub a[aria-current="page"]{border-bottom-color:var(--sg-blue)}
html[data-theme="light"] .pro-tbl tr.pro-hi td{background:#F5F8FD}
html[data-theme="light"] .pro-tbl th{color:#51627B;letter-spacing:.01em}
html[data-theme="light"] .pro-checks label{background:#FFFFFF;border:1px solid var(--sg-edge);border-radius:10px;box-shadow:0 1px 1px rgba(11,31,58,.03)}
html[data-theme="light"] .pro-badge{border-radius:99px}
html[data-theme="light"] .pro-rail{background:#E9EEF6;box-shadow:inset 0 1px 2px rgba(11,31,58,.10)}
html[data-theme="light"] .pro-rail i{background:linear-gradient(180deg,#94A3B8,#64748B)}
html[data-theme="light"] .pro-rail s{background:var(--sg-blue)}
/* 11. filter chips, selects and inputs that carried a blue-grey fill are white with a hairline too */
html[data-theme="light"] a[style*="background: var(--x-card2)"],
html[data-theme="light"] button[style*="background: var(--x-card2)"],
html[data-theme="light"] select[style*="background: var(--x-card2)"],
html[data-theme="light"] input[style*="background: var(--x-card2)"]{background:#FFFFFF!important;border:1px solid rgba(11,31,58,.14)!important;border-radius:10px!important;box-shadow:0 1px 2px rgba(11,31,58,.05)}
html[data-theme="light"] a[style*="background: var(--x-card2)"]:hover,html[data-theme="light"] button[style*="background: var(--x-card2)"]:hover{box-shadow:0 6px 14px -8px rgba(11,31,58,.30);transform:translateY(-1px)}
html[data-theme="light"] select:focus,html[data-theme="light"] input:focus{outline:0;border-color:var(--sg-blue)!important;box-shadow:0 0 0 4px rgba(37,99,235,.14)!important}
/* 12. lens card header: the coloured dot sits beside the first line of the name, the pill never wraps or overlaps */
html[data-theme="light"] .lc>div:first-child{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;flex-wrap:nowrap}
html[data-theme="light"] .lc>div:first-child>span:first-child{display:inline-flex;align-items:flex-start;gap:9px;min-width:0;line-height:1.3;letter-spacing:.05em}
html[data-theme="light"] .lc>div:first-child>span:first-child::before{flex:none;margin:.3em 0 0 0;vertical-align:baseline}
html[data-theme="light"] .lc>div:first-child>span:not(:first-child),html[data-theme="light"] .lc>div:first-child>b{flex:none;white-space:nowrap}
html[data-theme="light"] .lc>div:first-child>*:last-child{flex:none;white-space:nowrap}
/* 13. narrow lens cards: when the name and the pill do not fit on one line the pill drops under the name instead of overlapping it */
html[data-theme="light"] .lc>div:first-child{flex-wrap:wrap;gap:6px 10px;align-items:center}
html[data-theme="light"] .lc>div:first-child>span:first-child{flex:1 1 auto;letter-spacing:.04em}
html[data-theme="light"] .lc>div:first-child>*:last-child{margin-left:auto}
/* 14. the lens dot follows the score band, the same colour as the bar and the pill (Weak coral, Fair amber, Strong blue, no score grey); the per-lens palette is gone */
html[data-theme="light"] .lensgrid>.lc[style*="var(--x-dn)"]{--lc-c:var(--sg-coral);--lc-d:var(--sg-coral-d);--lc-t:var(--sg-coral-t)}
html[data-theme="light"] .lensgrid>.lc[style*="var(--x-warn)"]{--lc-c:var(--sg-amber);--lc-d:var(--sg-amber-d);--lc-t:var(--sg-amber-t)}
html[data-theme="light"] .lensgrid>.lc[style*="var(--x-acc)"]{--lc-c:#3B82F6;--lc-d:var(--sg-blue-d);--lc-t:var(--sg-blue-t)}
html[data-theme="light"] .lensgrid>.lc[style*="var(--x-mut2)"]{--lc-c:#94A3B8;--lc-d:#64748B;--lc-t:#EEF2F7}
/* 15. company logos for every market: monogram tile when we have no logo, and the logo tile in search */
.co-mono{background:hsl(var(--h,215) 62% 93%);color:hsl(var(--h,215) 58% 27%);font-weight:700;letter-spacing:-.02em;line-height:1;padding:0;box-shadow:0 0 0 1px rgba(15,23,42,.08);border-radius:6px}

.sg-lg{flex:none;width:34px;height:34px;border-radius:8px;background:#fff;object-fit:contain;padding:3px;box-sizing:border-box;box-shadow:0 0 0 1px rgba(15,23,42,.10);display:flex;align-items:center;justify-content:center}
.sg-lg.sg-mono{padding:0;font-weight:700;font-size:14px;letter-spacing:-.02em;line-height:1;background:hsl(var(--h,215) 62% 93%);color:hsl(var(--h,215) 58% 27%)}

/* 16. brand: report headers carry the real mark instead of a letter */
.rp-mark{font-size:0!important;color:transparent!important;background:#0C2340 url('/favicon.svg?v=5') center/100% 100% no-repeat!important;border-radius:6px}
/* 17. light-theme polish: no coloured edge stripes on status pills and article headings */
html[data-theme="light"] .pill2{border-left:0!important;border-radius:99px!important}
html[data-theme="light"] .prose-x h2{border-left:0!important;padding-left:0!important;padding-bottom:7px;border-bottom:1px solid var(--sg-edge)!important;letter-spacing:-.01em}

/* stock page hero: secondary actions as a calm text row (was eight pill buttons wrapping onto three lines) */
.qh-links{display:flex;flex-wrap:wrap;gap:4px 18px;margin-top:2px}
.qh-links a{font-size:14.5px;font-weight:600;color:var(--x-acc2,var(--x-acc));text-decoration:none;white-space:nowrap}
.qh-links a:hover{text-decoration:underline}
/* stock page hero: day and 52-week range bars were a faint shadow line; give them a visible track and an accent marker */
html .gauge.thin{height:6px;background:var(--x-line2);box-shadow:none;border-radius:99px}
html .gauge.thin u{top:-4px;bottom:-4px;width:4px;margin-left:-2px;border-radius:2px;background:var(--x-acc)}

/* ===================== v7A theme polish, 22 Oct 2026: tokens + one card language in both themes =====================
   Visual only. Ad slots (.adrow .adslot .ad-* .hx*) are deliberately not touched.
   Scales: spacing 4/8/12/16/20/24/32, radius 6/8/10/14, elevation e0 (tile) / e1 (card) / e2 (hover). */
:root{
  --sx-sp-1:4px;--sx-sp-2:8px;--sx-sp-3:12px;--sx-sp-4:16px;--sx-sp-5:20px;--sx-sp-6:24px;--sx-sp-8:32px;
  --sx-r-xs:6px;--sx-r-sm:8px;--sx-r-md:10px;--sx-r-lg:14px;
  --sx-ease:cubic-bezier(.2,.7,.2,1);
}
html[data-theme="light"]{
  --sx-edge:rgba(11,31,58,.09);--sx-surface:#FFFFFF;
  --sx-e0:0 1px 1px rgba(11,31,58,.03);
  --sx-e1:0 1px 2px rgba(11,31,58,.04),0 14px 30px -18px rgba(11,31,58,.22);
  --sx-e2:0 2px 4px rgba(11,31,58,.05),0 20px 36px -18px rgba(11,31,58,.30);
}

/* A1. cards: same radius, hairline and elevation in light and dark, including inline-styled cards that used the --x-line2 border */
html[data-theme] :is(.pnl,.cp-card,.card,.nlist,.sech-kpi,.bcard,.art-fig,.lc,section[style*="border: 1px solid"],div[style*="border: 1px solid"][style*="border-radius"]){
  border-radius:var(--sx-r-lg)!important;border:1px solid var(--sx-edge)!important;box-shadow:var(--sx-e1)!important}
/* A2. tiles that sit inside a card or form a KPI row: smaller radius, hairline, barely-there lift; no coloured edge stripes */
html[data-theme] :is(.stat,.rg>div,.fund-facts>div,.callcard__r div,:is(.pnl,.cp-card,.card,section[style*="border"]) div[style*="border: 1px solid"][style*="border-radius"]){
  border-radius:var(--sx-r-md)!important;border:1px solid var(--sx-edge)!important;box-shadow:var(--sx-e0)!important}
/* A3. a card header that bleeds to the card edge follows the card's rounded top corners (the square header used to cut the corner and the border) */
html[data-theme] :is(section[style*="border"],div[style*="border: 1px solid"])>h2[style]:first-child,
html[data-theme] .cp-card>:is(.cp-h,.cp-k,summary):first-child,
html[data-theme] .hbar{border-top-left-radius:inherit!important;border-top-right-radius:inherit!important}
/* A4. hero range boxes (fair value, day range, 52-week): they gained a border in v6 but had no padding, so the text touched the edge; same box in dark */
html[data-theme] .qh-r .rw{padding:10px 14px!important;border:1px solid var(--sx-edge)!important;border-radius:var(--sx-r-md)!important;background:var(--sx-surface)!important;box-shadow:var(--sx-e0)!important;gap:4px}
html[data-theme] .qh-r{gap:10px}
/* A5. lens cards: the score-colour dot (light only until now) also in dark; the coloured top border is gone in dark too (A1) */

/* A6. "Favourable / Unfavourable" lists: the commas were separate flex items (a space before every comma); links with commas now flow as one wrapping line */
.kv dd:has(>a):not(:has(>i)){display:block;line-height:1.5}
/* A7. half-width tables (home, rail): the company cell takes the leftover width and shortens its name with an ellipsis instead of pushing the last column out of the card */
.pnl .dtbl td:first-child:has(>a>.tk){width:100%;max-width:0}
.pnl .dtbl td:first-child:has(>a>.tk)>a{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* A8. tap targets on phones: breadcrumb links, the hero link row, the logo */
@media (max-width:899px){
  .sech-k a{display:inline-flex;align-items:center;min-height:36px}
  .qh-links{gap:0 18px}
  .qh-links a{display:inline-flex;align-items:center;min-height:36px}
  .hd-logo{min-height:40px}
}

/* ===================== v7B: type scale, card headers, ornaments, stock-page rhythm (22 Oct 2026) =====================
   Type scale: page title 28px, reading-page title 32px, standalone section title 20px, card title 15px, body 15px, table 14px, label 12.5-13.5px.
   Ad slots are not touched. */
:root{--sx-fs-h1:clamp(24px,1.1vw + 15px,28px);--sx-fs-h1-doc:clamp(26px,1.4vw + 15px,32px);--sx-fs-sec:20px;--sx-fs-card:15px}
/* B1. leftover viewfinder corner brackets on Market Compass / legacy cards (the sober pass removed them from panels only) */
.cp-card::before,.card::before{content:none!important;display:none!important}
/* B2. page titles: one size, whichever stylesheet the page came from; the quote header, article, report and Pro hero keep their own */
html[data-theme] main h1:not(.qh h1):not(.art h1):not(.rp-h1):not(.pro-h1):not(.hh1):not(.doc h1){font-size:var(--sx-fs-h1)!important;line-height:1.2!important;font-weight:700!important;letter-spacing:-.015em!important}
html[data-theme] main h1 span{font-weight:inherit}
html[data-theme] :is(.doc h1,.art h1){font-size:var(--sx-fs-h1-doc)!important;line-height:1.18!important;font-weight:700!important;letter-spacing:-.015em!important}
.hh1{font-size:var(--sx-fs-h1)!important}
/* B3. card titles: same size, weight and case in every card, whether the title is an h2, an h3, a compass heading or a header row with links beside it */
html[data-theme] :is(.pnl>h3,.pnl h3,.pg-main h2[style],main h2[style],.cp-h h2,.hbar,.pnl>h2,.pnl h2){font-size:var(--sx-fs-card)!important;font-weight:700!important;letter-spacing:-.005em!important;text-transform:none!important;line-height:1.3!important}
html[data-theme] .cp-card>.cp-k:first-child{font-size:var(--sx-fs-card)!important;font-weight:700!important;letter-spacing:-.005em!important;text-transform:none!important}
html[data-theme] :is(.pnl>h3,section[style*="border"]>h2[style]:first-child,div[style*="border: 1px solid"]>h2[style]:first-child,.pnl>h2){padding:11px 16px!important}
/* the header strip bleeds to the card edge by the card's own padding; the old rules zero the padding of some cards (tables inside), so the bleed is a variable per card variant */
html[data-theme] :is(section,div)[style*="border: 1px solid"]{--sx-cpt:14px;--sx-cpx:16px}
html[data-theme] :is(section,div)[style*="padding: 8px 8px 14px"],html[data-theme] :is(section,div)[style*="padding: 8px 8px 16px"]{--sx-cpt:0px;--sx-cpx:0px}
html[data-theme] :is(section,div)[style*="padding: 12px 14px"],html[data-theme] :is(section,div)[style*="padding: 18px"]{--sx-cpt:12px;--sx-cpx:14px}
html[data-theme] :is(section[style*="border"],div[style*="border: 1px solid"])>h2[style]:first-child{margin:calc(-1*var(--sx-cpt,14px)) calc(-1*var(--sx-cpx,16px)) 10px!important}
/* header rows that hold the title and links side by side (price chart: title left, "Interactive chart" right) get the same full-width header strip */
html[data-theme] :is(section,div)[style*="border: 1px solid"]>div:first-child:has(>h2[style]){margin:calc(-1*var(--sx-cpt,14px)) calc(-1*var(--sx-cpx,16px)) 10px!important;padding:0 16px!important;min-height:42px;align-items:center!important;border-bottom:1px solid var(--sx-edge);border-top-left-radius:inherit;border-top-right-radius:inherit}
html[data-theme] :is(section,div)[style*="border: 1px solid"]>div:first-child>h2[style]{margin:0!important;padding:0!important;border:0!important}
/* compass card headers were white text on a light strip (Sector outlook was invisible) */
html[data-theme] .cp-card>.cp-h:first-child h2{color:var(--x-hi)!important}
html[data-theme] .cp-card>.cp-h:first-child :is(p,.cp-note){color:var(--x-mut)!important}
/* B4. a standalone section title (not inside a card) is one step above the card titles */
html[data-theme] section#lenses>div:first-child>h2[style]{font-size:var(--sx-fs-sec)!important;font-weight:700!important;letter-spacing:-.01em!important;border:0!important;padding:0!important;margin:0!important;display:block}
html[data-theme] section#lenses>div:first-child>h2[style]::before{content:none}
/* B5. the five lens cards line up row by row: name and pill, score, bar, sentence, link sit at the same height in every card */
.lensgrid{align-items:stretch;row-gap:10px}
html[data-theme] .lc>div:first-child{flex-direction:column!important;align-items:flex-start!important;flex-wrap:nowrap!important;gap:6px!important}
html[data-theme] .lc>div:first-child>*:last-child{margin-left:0!important}
@supports (grid-template-rows:subgrid){
  .lensgrid>.lc{display:grid!important;grid-row:span 5;grid-template-rows:subgrid;row-gap:8px;align-content:start}
}
/* B6. SWOT: four boxes in a 2 x 2 grid (it was three and one orphan) */
#swot>div[style*="grid-template-columns"]{grid-template-columns:repeat(2,minmax(0,1fr))!important}
@media (max-width:760px){#swot>div[style*="grid-template-columns"]{grid-template-columns:1fr!important}}
/* B7. one rhythm for label/value lists: vitals, key-value lists in the rail and lens numbers share row height and size */
.kv>div{padding:7px 0;font-size:14.5px}
html[data-theme] div[style*="justify-content: space-between"][style*="padding: 9px 0"]{padding:7px 0!important;font-size:14.5px!important}
html[data-theme] div[style*="border: 1px solid"]:has(>div[style*="padding: 9px 0"]){gap:0!important}
.pnl .more{text-wrap:balance}
/* B8. one header strip colour and hairline for every kind of card header (panel h3, inline h2, compass head, header rows) */
html[data-theme="light"]{--sx-head:#FFFFFF}

html[data-theme] :is(.pnl>h3,section[style*="border"]>h2[style]:first-child,div[style*="border: 1px solid"]>h2[style]:first-child,.cp-card>.cp-h:first-child,.cp-card>.cp-k:first-child,.hbar,.pnl>h2){background:var(--sx-head)!important;border-bottom:1px solid var(--sx-edge)!important}
html[data-theme] :is(section,div)[style*="border: 1px solid"]>div:first-child:has(>h2[style]){background:var(--sx-head)}

/* ===================== v7C: edge alignment, controls, pills, states, contrast (22 Oct 2026) ===================== */
:root{--sx-px:16px}
/* C1. one left/right edge inside every panel: header, table first column, lists, notes and "more" links all start 16px in (they were 10, 14 and 16) */
html[data-theme] .pnl>h3,html[data-theme] .pnl>h2{padding-left:var(--sx-px)!important;padding-right:var(--sx-px)!important}
.pnl .more{padding-left:var(--sx-px);padding-right:var(--sx-px)}
.pnl .links{padding-left:var(--sx-px);padding-right:var(--sx-px)}
.kv{padding-left:var(--sx-px);padding-right:var(--sx-px)}
.sc{padding-left:var(--sx-px);padding-right:var(--sx-px)}
.note{padding-left:var(--sx-px);padding-right:var(--sx-px)}
.lens{padding-left:var(--sx-px);padding-right:var(--sx-px)}
.pnl .dtbl :is(th,td):first-child,table.mini td:first-child{padding-left:var(--sx-px)}
.pnl .dtbl :is(th,td):last-child,table.mini td:last-child{padding-right:var(--sx-px)}
/* C2. page containers: every page body starts at the same left edge as the header and the ad row, 1320px wide (watchlist 1100, 1240 pages were narrower and 8px off) */
main[style*="max-width"]:not([style*="1680px"]):not(.pro-wrap){max-width:1320px!important;padding-left:16px!important;padding-right:16px!important}
main.wrap.doc{max-width:1320px!important;padding:16px 16px 56px!important}
main.wrap.doc>*{max-width:780px}
@media (max-width:640px){.pg{padding-left:16px;padding-right:16px}}
/* C3. controls: one radius and one hairline for inputs, selects and buttons; the header controls follow */
:root{--sx-ctl:rgba(11,31,58,.18)}

html[data-theme] :is(select,textarea,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"]),.btn2,.rb,.pro-btn,.bsearch button,.cvx-sw){border-radius:var(--sx-r-md)!important}
html[data-theme] :is(select,textarea,input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]):not([type="file"])):not(.hd-search input){border:1px solid var(--sx-ctl)}
.hd-search{border-radius:var(--sx-r-sm)}
.nv-burger{border-radius:var(--sx-r-sm)}
.sg{border-radius:12px}
.nv-p{border-radius:0 0 var(--sx-r-md) var(--sx-r-md)}
html[data-theme] :is(select,input,textarea):focus-visible{outline:0;border-color:var(--x-acc)!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--x-acc) 22%,transparent)!important}
/* C4. status pills and badges: one shape */
html[data-theme] :is(.tag,.pill2,.cb,.pro-chip,.rg-chips span){border-radius:99px!important}
/* C5. hover, press and disabled states that were missing on chips, range buttons, tabs and pagers */
.chips a:hover,.pager a:hover{border-color:var(--x-acc);color:var(--x-hi);text-decoration:none}
.rb:hover:not(.on){background:var(--x-card2)}
.ptabs button:hover:not(.on){color:var(--x-hi)}
.chips a:active,.pager a:active,.btn2:active,.rb:active{transform:translateY(1px)}
:is(button,.btn2,select,input,textarea):disabled,[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
html[data-theme] :is(a.card,a.cp-card,.bcard,.sr,.snav a):hover{box-shadow:var(--sx-e2)!important}

/* C6. empty states (watchlist, dividend calendar): centred and calm instead of a line of grey text in the corner */
.dtbl td[colspan][style*="padding: 24px 12px"],.dtbl td[colspan][style*="padding:24px 12px"]{text-align:center;padding:36px 16px!important;color:var(--x-mut);font-size:15px;white-space:normal}
/* C7. contrast */
html[data-theme] .rp .rp-h2{color:#fff}
html[data-theme] .rp-h2 span[style*="--x-up"]{color:#7BE0A6!important}
html[data-theme] .rp-h2 span[style*="--x-warn"]{color:#F3C25C!important}
html[data-theme] .rp-h2 span[style*="--x-dn"]{color:#FF9B95!important}
.rp-brand b{color:#0B7A70}

html[data-theme] .chips a.on small{color:inherit;opacity:.85}
html[data-theme="light"] .xw-px .dn,html[data-theme="light"] .xw-et-c.dn{color:#C42B27}
html[data-theme="light"] .xw-px .up,html[data-theme="light"] .xw-et-c.up{color:#15803D}
/* C8. tap targets on phones that are not part of a sentence */
@media (max-width:899px){
  main div[style*="text-transform: uppercase"]>a{display:inline-flex;align-items:center;min-height:32px}
  button[aria-pressed][style*="min-height:30px"]{min-height:38px!important}
  a.cotrow{min-height:40px}
}
/* an empty list does not need the table's minimum width (the message ran off the phone screen) */
.dtbl:has(td[colspan][style*="padding: 24px 12px"]),.dtbl:has(td[colspan][style*="padding:24px 12px"]){min-width:0!important;width:100%}
.dtbl:has(td[colspan][style*="padding: 24px 12px"]) thead,.dtbl:has(td[colspan][style*="padding:24px 12px"]) thead{display:none}

/* ===================== v7D: the last three label-style card titles on the stock page became real card titles (view edit) ===================== */
/* the fair value card holds two columns; its title spans both and bleeds to the card edge like every other card header */
html[data-theme] #fair-value>h2:first-child{flex:0 0 calc(100% + 2*var(--sx-cpx,16px));margin-bottom:-4px!important}

/* ===================== v7E: article headings in dark, Pro hero scale, tab bar tint, last radii (22 Oct 2026) ===================== */
html[data-theme="light"]{--sx-page:#F4F6FA}

/* the sticky stock tab bar takes the exact page tint (it was a hair lighter and showed as a band) */
nav.tabs2{background:var(--sx-page)}
nav.tabs2::before{background:linear-gradient(to right,var(--sx-page),rgba(0,0,0,0))}
nav.tabs2::after{background:linear-gradient(to left,var(--sx-page),rgba(0,0,0,0))}
/* article section headings: hairline under the heading in both themes (dark still had the blue edge bar the light theme dropped) */
html[data-theme] .prose-x h2{border-left:0!important;padding-left:0!important;padding-bottom:7px;border-bottom:1px solid var(--sx-edge)!important;letter-spacing:-.01em}
/* Pro hero: the old phone rule made it 41px on a 390px screen */
html[data-theme] .pro-h1{font-size:clamp(26px,2vw + 14px,34px)!important;line-height:1.15!important}
/* images and pagers in the reading pages use the card and control radii */
html[data-theme] .art-img{border-radius:var(--sx-r-lg)!important;border:1px solid var(--sx-edge)!important}
html[data-theme] .pager a{border-radius:var(--sx-r-md)!important;border:1px solid var(--sx-edge)!important}

/* ===================== v7F: last radius outliers (Pro cards, compass dial and segmented control) (22 Oct 2026) ===================== */
html[data-theme] .pro-card{border-radius:var(--sx-r-lg)!important;border:1px solid var(--sx-edge)!important;box-shadow:var(--sx-e1)!important}
html[data-theme] :is(.pro-kpi,.dial,.cp-seg,.ar,.scnote){border-radius:var(--sx-r-md)!important}

/* ===================== v7G: chart legend price change text colours meet 4.5:1 on white (22 Oct 2026) ===================== */
html[data-theme="light"] .xw :is([style*="color:#16A34A" i],[style*="color: #16A34A" i],[style*="color: var(--xw-up)"],[style*="color:var(--xw-up)"]){color:#15803D!important}
html[data-theme="light"] .xw :is([style*="color:#E5484D" i],[style*="color: #E5484D" i],[style*="color: var(--xw-dn)"],[style*="color:var(--xw-dn)"]){color:#C42B27!important}

/* ===================== v7H: selects never wider than their row (the value-list market select was 470px on a 390px phone, arrow off screen) (22 Oct 2026) ===================== */
select{max-width:100%;min-width:0;text-overflow:ellipsis}

/* ===================== v7I: Pro workspace on the site system: page title, card titles and header strips, spacing, sticky tab bar (22 Oct 2026) =====================
   Choices: page title 28px (24px phone) like every other page; card titles 15px bold sentence case with the same header strip as site cards;
   Pro has no stand-alone section titles (every h2 sits in a card), so the 20px section size is not used here; cards 16px padding, 12px gaps. */
html[data-theme] .pro-wrap{max-width:1320px;padding:16px 16px 56px;gap:var(--sx-sp-3)}
html[data-theme] .pro-sub-in{padding:0 16px}
html[data-theme] .pro-h1{font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif;font-size:var(--sx-fs-h1)!important;line-height:1.2!important;font-weight:700!important;letter-spacing:-.015em!important}
html[data-theme] .pro-h1 span{font-weight:inherit}
html[data-theme] .pro-lab{font-size:13.5px;font-weight:700;letter-spacing:.06em;color:var(--x-mut)}
html[data-theme] .pro-wrap>div>p[style*="font-size: 16.5px"]{font-size:15px!important;line-height:1.55;color:var(--x-fg2)}
/* cards: the one card language, 16px inside, 12px between blocks */
html[data-theme] .pro-card{padding:var(--sx-sp-4);gap:var(--sx-sp-3);--sx-cpt:16px;--sx-cpx:16px}
/* card titles */
html[data-theme] .pro-h2{font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif;font-size:var(--sx-fs-card)!important;font-weight:700!important;letter-spacing:-.005em;line-height:1.3}
html[data-theme] .pro-card>.pro-h2:first-child,
html[data-theme] .pro-card>div:first-child:has(>.pro-h2){margin:-16px -16px 0;padding:11px 16px;background:var(--sx-head);border-bottom:1px solid var(--sx-edge);border-top-left-radius:inherit;border-top-right-radius:inherit}
html[data-theme] .pro-card>div:first-child:has(>.pro-h2){align-items:center!important;min-height:42px;padding-top:6px;padding-bottom:6px}
/* the big number in the model result: same face as the site's price figures */
html[data-theme] .pro-big{font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif;font-weight:700;font-size:36px;line-height:1.1;letter-spacing:-.02em}
@media (max-width:640px){html[data-theme] .pro-big{font-size:30px}}
/* sticky section tabs sit under the sticky site header (top:0 hid them behind it) and take the page tint */
html[data-theme] .pro-tabs{top:var(--hdh,104px);background:var(--sx-page);padding:0}
html[data-theme] .pro-tabs a{font-weight:600}
html[data-theme] .pro-tabs a:hover{color:var(--x-hi);text-decoration:none}
html[data-theme] .pro-tabs a:is([aria-current="true"],.on){color:var(--x-hi);border-bottom-color:var(--x-acc)}
html[data-theme] .pro-sub a:hover{color:var(--x-hi);text-decoration:none}

/* ===================== v7J: Pro tables, tiles, form controls and chips on the site scale (22 Oct 2026) =====================
   Table type: 14px cells / 13px uppercase headers, 8px 10px padding (36px rows), numbers in the same mono as the site tables, first and last column
   16px from the card edge so the rows span the card like the site's panels. Tiles: 10px radius, hairline, e0 lift, same in both themes. */
html[data-theme] .pro-two{gap:var(--sx-sp-3)}
html[data-theme] .pro-kpis,html[data-theme] .pro-result{gap:var(--sx-sp-3)}
html[data-theme] .pro-fields{gap:var(--sx-sp-3)}
html[data-theme] .pro-tbl{font-size:14px}
html[data-theme] .pro-tbl th{font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif;font-size:13px;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--x-mut);padding:8px 10px;border-bottom:1px solid var(--x-line2)}
html[data-theme] .pro-tbl td{padding:8px 10px;border-bottom:1px solid var(--x-line)}
html[data-theme] .pro-tbl tbody tr:last-child td{border-bottom:0}
html[data-theme] .pro-tbl .r{font-size:14px}
html[data-theme] .pro-tbl th.r{font-family:Inter,"Helvetica Neue",Arial,system-ui,sans-serif}
html[data-theme="light"] .pro-tbl th{background:#FAFBFD}

html[data-theme="light"] .pro-tbl tbody tr:hover td{background:#F5F8FD}

html[data-theme] .pro-card .pro-tw{margin-left:-16px;margin-right:-16px}
html[data-theme] .pro-tbl :is(th,td):first-child{padding-left:16px}
html[data-theme] .pro-tbl :is(th,td):last-child{padding-right:16px}
/* tiles */
html[data-theme] .pro-kpi{border-radius:var(--sx-r-md);border:1px solid var(--sx-edge);box-shadow:var(--sx-e0);padding:10px 14px}
html[data-theme] .pro-kpi span{font-size:13px}
/* form controls: label, input and button share the site's control radius, hairline, focus ring and hover */
html[data-theme] .pro-field label{font-size:13px;font-weight:600;color:var(--x-mut)}
html[data-theme] .pro-in{border:1px solid var(--sx-ctl);box-shadow:none}
html[data-theme] .pro-in:focus{outline:0;border-color:var(--x-acc);box-shadow:0 0 0 3px color-mix(in srgb,var(--x-acc) 22%,transparent)}
html[data-theme] .pro-btn:not(.pro-go){border:1px solid var(--sx-ctl)}
html[data-theme] .pro-btn:not(.pro-go):hover{border-color:var(--x-acc);text-decoration:none}
html[data-theme] .pro-btn:active{transform:translateY(1px)}
html[data-theme] .pro-checks label{border:1px solid var(--sx-ctl);border-radius:var(--sx-r-md);transition:border-color .15s ease,background-color .15s ease}
html[data-theme] .pro-checks label:hover{border-color:var(--x-acc)}
/* pills and badges: site size, 13px */
html[data-theme] .pro-chip{font-size:13px}
html[data-theme] .pro-badge{font-size:13px;letter-spacing:.04em}
html[data-theme] a.pro-chip:hover{text-decoration:none;box-shadow:0 0 0 1px currentColor inset}
html[data-theme] .pro-tbl tr.pro-off td{opacity:.62}
@media (max-width:899px){
  html[data-theme] a.pro-chip{display:inline-flex;align-items:center;min-height:36px;padding:0 12px}
  html[data-theme] .pro-checks label{min-height:40px}
  html[data-theme] .pro-sub a,html[data-theme] .pro-tabs a{min-height:44px}
}
/* the sensitivity grid's header cells are figures (26.20x, 31.82x), not labels: never change their case */
html[data-theme] .pro-sens th{text-transform:none;letter-spacing:0;font-size:13.5px}
/* tap targets: breadcrumb links in the Pro eyebrow line and the header Pro/Watchlist links on tablets */
@media (max-width:899px){
  html[data-theme] .pro-lab a{display:inline-flex;align-items:center;min-height:32px}
}
@media (min-width:641px) and (max-width:899px){.hd-right a.wl{display:inline-flex;align-items:center;min-height:36px;padding:0 4px}}

/* ===================== v7K: Pro KPI tiles two across on phones (they were one tall column each) (22 Oct 2026) ===================== */
@media (max-width:640px){
  html[data-theme] .pro-kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--sx-sp-2)}
  html[data-theme] .pro-kpi{padding:10px 12px}
  html[data-theme] .pro-kpi b{font-size:19px;overflow-wrap:anywhere}
  html[data-theme] .pro-kpi span,html[data-theme] .pro-kpi small{overflow-wrap:anywhere}
}
/* ===== v7L PALETTE BEGIN: FlexJobs scheme (deep teal #004F6D, blue #007CAD, orange #FF532A, white page). Remove everything from this line to the matching END line to restore the previous look. ===== */
html[data-theme="light"]{
  --p-50:#F1F9FE;--p-100:#C8E3ED;--p-200:#A5D1E2;--p-300:#7EBDD6;--p-400:#56A8C9;--p-500:#2B92BB;--p-600:#007CAD;--p-700:#00658C;--p-800:#004F6D;--p-900:#00364B;
  --o-50:#FFF4F0;--o-100:#FFD5CC;--o-200:#FFB8A7;--o-300:#FF987F;--o-400:#FF7655;--o-500:#FF532A;--o-600:#E54922;--o-700:#CB3F1B;--o-800:#B23513;--o-900:#5E1B0A;
  --n-50:#FAFBFC;--n-100:#D6DADF;--n-200:#BCC2CB;--n-300:#9FA8B4;--n-400:#818C9D;--n-500:#626F84;--n-600:#42526B;--n-700:#2F405A;--n-800:#1D2F4A;--n-900:#061C3D;
  --gain-50:#DDF2EA;--gain-500:#18A07B;--gain-700:#04775F;--loss-50:#FBE3DF;--loss-500:#E5584B;--loss-700:#A22F22;--warn-50:#FAEFD0;--warn-500:#F0A92B;--warn-700:#8A5600;
  --s1:#007CAD;--s2:#E8431C;--s3:#004F6D;--s4:#56B7D9;--s5:#F2A33A;--s6:#6B7B8E;
  --x-bg:#FFFFFF;--x-card:#FFFFFF;--x-pane:#FAFBFC;--x-card2:#EEF5FC;--x-line:#E5E5E5;--x-line2:#BFBFBF;
  --x-hi:#061C3D;--x-fg:#181818;--x-fg2:#343A40;--x-mut:#42526B;--x-mut2:#4A5A73;--x-mut3:#42526B;--x-lab:#42526B;--x-lab2:#42526B;
  --x-acc:#007CAD;--x-acc2:#007CAD;--x-accd:#004F6D;--x-accbg:#F8FBFE;--x-onacc:#FFFFFF;
  --x-up:#04775F;--x-dn:#A22F22;--x-warn:#8A5600;--x-upbg:#DDF2EA;--x-dnbg:#FBE3DF;--x-warnbg:#FAEFD0;--x-hero2:#FAFBFC;
  --x-gold:#007CAD;--x-goldtxt:#004F6D;--x-hdr:#004F6D;--x-hdr2:#004F6D;--x-strip:#EEF5FC;--x-teal:#004F6D;
  --sg-ink:#061C3D;--sg-blue:#007CAD;--sg-blue-d:#007CAD;--sg-blue-t:#F8FBFE;
  --sg-teal:#007CAD;--sg-teal-d:#004F6D;--sg-green:#18A07B;--sg-green-d:#09795B;--sg-green-t:#DDF2EA;
  --sg-amber:#F0A92B;--sg-amber-d:#B26A0A;--sg-amber-t:#FAEFD0;--sg-coral:#E5584B;--sg-coral-d:#B9332A;--sg-coral-t:#FBE3DF;
  --sg-violet:#004F6D;--sg-violet-d:#004F6D;--sg-violet-t:#F1F9FE;
  --x-line:color-mix(in srgb,var(--pal-fam) 16%,#E5E5E5);--x-line2:color-mix(in srgb,var(--pal-fam) 30%,#BFBFBF);
  --sg-edge:color-mix(in srgb,var(--pal-fam) 34%,#E5E5E5);--sx-edge:var(--sg-edge);--sx-ctl:color-mix(in srgb,var(--pal-fam) 46%,#BFBFBF);
  --sx-surface:#FFFFFF;--sx-page:#FFFFFF;--pal-dot:color-mix(in srgb,var(--pal-fam) 55%,#BFBFBF);
  --sx-e0:0 1px 1px color-mix(in srgb,var(--pal-fam) 8%,transparent);
  --sx-e1:0 1px 2px color-mix(in srgb,var(--pal-fam) 10%,transparent),0 14px 30px -18px color-mix(in srgb,var(--pal-fam) 34%,transparent);
  --sx-e2:0 2px 4px color-mix(in srgb,var(--pal-fam) 12%,transparent),0 20px 36px -18px color-mix(in srgb,var(--pal-fam) 42%,transparent);
  --pal-page:#FFFFFF;--pal-wash:#EEF5FC;--pal-gold:#FF532A;--pal-gold-d:#B23513;--pal-gold-t:#FFF1ED;
  --pal-acchi:#007CAD;--pal-acclo:#007CAD;--pal-upf:#18A07B;--pal-upfd:#09795B;--pal-dnf:#E5584B;--pal-dnfd:#B9332A;--pal-warnf:#F0A92B;--pal-warnfd:#B26A0A;
  --pal-th:color-mix(in srgb,var(--pal-fam-t) 55%,#FFFFFF);--pal-hover:#EEF5FC;--pal-hdr3:#004F6D;--pal-ftr:#F5F5F5;
  --pal-fam:#007CAD;--pal-fam-d:#004F6D;--pal-fam-t:#EEF5FC;--pal-primary:#004F6D;--pal-dotc:#FF532A;
  --sx-head:linear-gradient(90deg,var(--pal-fam-t) 0,color-mix(in srgb,var(--pal-fam-t) 40%,#FFFFFF) 100%);
  --pal-pagebg:linear-gradient(#FFFFFF,#FFFFFF);
}

/* ---- ad slots keep their exact previous look: the tokens inside .adrow/.adslot/.hx are pinned to the pre-palette values ---- */
html[data-theme="light"] :is(.adrow,.adslot,.hx){--x-bg:#F5F7FA;--x-card:#FFFFFF;--x-pane:#F3F7FC;--x-card2:#E9F0F9;--x-line:#D6E0EC;--x-line2:#B9C8DA;--x-hi:#0B1B33;--x-fg:#1A2B44;--x-fg2:#344863;--x-mut:#56677F;--x-mut2:#5B6C84;--x-mut3:#56677F;--x-lab:#46586F;--x-acc:#0B63CE;--x-acc2:#0B63CE;--x-accd:#084C9E;--x-accbg:#E3EEFB;--x-onacc:#FFFFFF;--sg-edge:rgba(11,31,58,.09);--sx-edge:rgba(11,31,58,.09);--sx-surface:#FFFFFF;--sx-e0:0 1px 1px rgba(11,31,58,.03);--sx-e1:0 1px 2px rgba(11,31,58,.04),0 14px 30px -18px rgba(11,31,58,.22);--sx-e2:0 2px 4px rgba(11,31,58,.05),0 20px 36px -18px rgba(11,31,58,.30);color:#1A2B44}

/* ---- page, header, footer ---- */
html[data-theme] body{background:var(--x-bg)}
html[data-theme] body>div[style*="min-height: 100vh"]{background:var(--pal-pagebg),var(--x-bg)!important}
html[data-theme] .hd{background:radial-gradient(720px 130px at 86% -40px,rgba(20,184,166,.20),transparent 70%),linear-gradient(180deg,var(--x-hdr),var(--x-hdr2))!important}
html[data-theme] .hd-nav{background:linear-gradient(90deg,var(--x-hdr2),var(--pal-hdr3))}
html[data-theme] .hd-nav a.on,html[data-theme] .nv-g.on .nv-b{border-bottom-color:var(--pal-gold)}
html[data-theme] .nv-p{border-top-color:var(--pal-gold)}
html[data-theme] .hd-nav .nv-p a.cur,html[data-theme] .hd .nv-m a.cur{background:color-mix(in srgb,var(--pal-gold) 24%,transparent)}
html[data-theme] .mstrip{background:var(--x-strip)}
html[data-theme] footer.ft{background:linear-gradient(180deg,var(--x-hdr2),var(--pal-ftr))!important;box-shadow:inset 0 2px 0 color-mix(in srgb,var(--pal-gold) 70%,transparent)}
/* page titles in the palette's primary colour */
html[data-theme] :is(main h1:not(.rp-h1),.hh1,.qh h1,.pro-h1,.art h1,.doc h1,.sech h1){color:var(--pal-primary)}
html[data-theme] footer.rp-foot{color:#D5E1EA!important}
html[data-theme] :is([style*="background: var(--x-card2)"],[style*="background: var(--x-accbg)"]) a{color:var(--x-accd)!important}
html[data-theme] .chips a[style*="var(--x-acc)"] small{color:inherit!important;opacity:.85}
html[data-theme] .nw-tk{color:var(--x-accd)}
/* warm accent: a short bar before page eyebrows and breadcrumbs (decoration only, never a status colour) */
html[data-theme] :is(.sech-k,.pro-lab)::before{content:"";display:inline-block;width:18px;height:3px;border-radius:2px;margin:0 8px 3px 0;vertical-align:middle;background:linear-gradient(90deg,var(--pal-gold),color-mix(in srgb,var(--pal-gold) 40%,transparent))}
/* ---- headers: title in the family colour, dotted leader after it, coloured hairline under the strip ---- */
html[data-theme] :is(.pnl>h3,.pnl h3,section[style*="border"]>h2[style]:first-child,div[style*="border: 1px solid"]>h2[style]:first-child,section[style*="border"]>div:first-child>h2[style],div[style*="border: 1px solid"]>div:first-child>h2[style],.pro-card>.pro-h2,.pro-card>div:first-child>.pro-h2,.cp-card>.cp-h:first-child h2,.cp-card>.cp-k:first-child,.hbar,.pnl>h2,.pnl h2){color:var(--pal-fam-d)!important}
html[data-theme] .pnl>h3 a,html[data-theme] .pnl>h2 a,html[data-theme] .hbar a{color:var(--x-acc2)!important}
html[data-theme] :is(.pnl>h3:not(:has(a)),section[style*="border"]>h2[style]:first-child,div[style*="border: 1px solid"]>h2[style]:first-child,.pro-card>.pro-h2:first-child,.pnl>h2:not(:has(a)))::after{content:""!important;display:block!important;flex:1;height:0;min-width:24px;margin:0 0 0 12px;border-bottom:2px dotted var(--pal-dot);opacity:.95}
html[data-theme] :is(.pro-card>.pro-h2:first-child){display:flex;align-items:center}
html[data-theme] :is(section[style*="border"],div[style*="border: 1px solid"])>div:first-child:has(>h2[style])>h2[style]{flex:1;display:flex;align-items:center}
html[data-theme] :is(section[style*="border"],div[style*="border: 1px solid"])>div:first-child:has(>h2[style])>h2[style]::after{content:"";display:block;flex:1;height:0;min-width:24px;margin:0 12px 0 12px;border-bottom:2px dotted var(--pal-dot)}
/* ---- dotted separators between rows of lists and tables, in the family colour ---- */
html[data-theme] :is(.kv>div,.lens li,.sr-list li,.pnl .dtbl td,.dtbl td,.pro-tbl td,table.mini td,table.sec td){border-bottom-style:dotted;border-bottom-color:var(--pal-dot)}
html[data-theme] .pnl .dtbl td{border-top-style:dotted;border-top-color:var(--pal-dot)}
html[data-theme] :is(.dtbl,.pro-tbl) th{border-bottom:1px solid var(--sx-edge)}
/* the report page is always paper-light: its links stay dark blue even in the dark site theme */
html[data-theme] .rp a{color:#1553D6}
html[data-theme] .rp .rp-h2 span[style]{filter:none}
/* ---- surfaces: tinted tiles and headers, same hairline in both themes ---- */
html[data-theme] :is(.stat,.qh-r .rw,.pro-kpi,.fund-facts>div,.callcard__r div,.rg>div:not(.cur),.lc){background:radial-gradient(150% 130% at 0% 0%,color-mix(in srgb,var(--pal-fam-t) 85%,transparent) 0,transparent 64%),var(--sx-surface)!important}
html[data-theme] .dtbl th,html[data-theme] .pro-tbl th,html[data-theme] table.sec th{background:var(--pal-th)}
html[data-theme] :is(.dtbl,.pro-tbl,table.mini) tbody tr:hover td{background:var(--pal-hover)}
html[data-theme] .pro-sub{background:var(--x-card)}
/* ---- buttons and fills ---- */
html[data-theme] :is(.btn2.pri,.pro-go,.bsearch button){background:linear-gradient(180deg,var(--pal-acchi),var(--pal-acclo))!important;color:var(--x-onacc)!important;border:0!important;box-shadow:0 6px 16px -8px color-mix(in srgb,var(--pal-acclo) 75%,transparent),inset 0 1px 0 rgba(255,255,255,.25)}
html[data-theme="light"] [style*="background: var(--x-acc)"]{background:linear-gradient(180deg,var(--pal-acchi),var(--pal-acclo))!important}
html[data-theme="light"] [style*="background: var(--x-up)"]{background:linear-gradient(180deg,var(--pal-upf),var(--pal-upfd))!important}
html[data-theme="light"] [style*="background: var(--x-dn)"]{background:linear-gradient(180deg,var(--pal-dnf),var(--pal-dnfd))!important}
html[data-theme="light"] [style*="background: var(--x-warn)"]{background:linear-gradient(180deg,var(--pal-warnf),var(--pal-warnfd))!important}
html[data-theme="light"] .pro-rail s{background:var(--x-acc)}
html[data-theme="light"] .pro-rail i{background:linear-gradient(180deg,#9DB2CC,#6D86A6)}
html[data-theme="light"] .btn2.pri:hover,html[data-theme="light"] .pro-go:hover{box-shadow:0 10px 20px -10px color-mix(in srgb,var(--pal-acclo) 80%,transparent),inset 0 1px 0 rgba(255,255,255,.28)}
/* ---- FlexJobs scheme specifics: white logo bar + deep-teal nav bar, light-grey footer, flat buttons ---- */
html[data-theme="light"] .hd{background:#FFFFFF!important;color:#004F6D;box-shadow:0 1px 0 #E5E5E5}
html[data-theme="light"] .hd-logo{color:#004F6D}
html[data-theme="light"] .hd-logo b{color:#007CAD!important}
html[data-theme="light"] .hd-search{border:1px solid #BFBFBF;background:#FFFFFF}
html[data-theme="light"] .hd-search svg{stroke:#42526B}
html[data-theme="light"] .hd-right,html[data-theme="light"] .hd-right a{color:#004F6D}
html[data-theme="light"] .nv-burger{border-color:#BFBFBF;color:#004F6D;background:#FFFFFF}

html[data-theme="light"] .nv-burger[aria-expanded="true"]{background:#EEF5FC}
html[data-theme] :is(.btn2.pri,.pro-go,.bsearch button):hover{filter:none;background:#004F6D!important}
html[data-theme="light"] footer.ft{background:#F5F5F5!important;color:#42526B!important;border-top:1px solid #E5E5E5!important;box-shadow:none}
html[data-theme="light"] footer.ft .ft-brand p{color:#42526B}
html[data-theme="light"] footer.ft :is(.ft-col a,.ft-brand a){color:#3E3D3F!important}
html[data-theme="light"] footer.ft :is(.ft-col a,.ft-brand a):hover{color:#004F6D!important}
html[data-theme="light"] footer.ft .ft-col b{color:#004F6D!important}
html[data-theme="light"] footer.ft .ft-brand .hd-logo,html[data-theme="light"] footer.ft .ft-brand .hd-logo b{color:#004F6D!important}
html[data-theme="light"] footer.ft .ft-src span{border-color:#BFBFBF;color:#42526B}
html[data-theme="light"] footer.ft .ft-risk{background:#EEEEEE;border-top-color:#E5E5E5}
html[data-theme="light"] footer.ft .ft-risk p{color:#42526B}
html[data-theme="light"] footer.ft .ft-risk b{color:#181818}
html[data-theme="light"] footer.ft .ft-bar{border-top-color:#E5E5E5}
html[data-theme="light"] footer.ft .ft-bar .ft-in{color:#42526B}
html[data-theme="light"] footer.ft strong{color:#004F6D!important}

/* ---- richer surfaces (light only): top wash, zebra rows, chips, tabs ---- */
html[data-theme="light"]{--pal-pagebg:linear-gradient(180deg,var(--p-50) 0,#FFFFFF 300px)}
html[data-theme] :is(.dtbl,.pro-tbl) tbody tr:nth-child(even){background:color-mix(in srgb,var(--p-50) 70%,#FFFFFF)}
html[data-theme] :is(.dtbl,.pro-tbl) tbody tr:hover{background:var(--pal-hover)}
html[data-theme] .tabs2 a:hover,html[data-theme] .ptabs button:hover{background:var(--p-50)}
html[data-theme] .tabs2 a.on,html[data-theme] .ptabs button.on{background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--p-100) 55%,transparent))}
html[data-theme] .chips a{border-color:var(--p-200);color:var(--p-800)}
html[data-theme] .chips a:hover{background:var(--p-50);border-color:var(--p-400)}
html[data-theme] .chips a.on{background:var(--p-600);border-color:var(--p-600);color:#FFFFFF}
html[data-theme] .tag,html[data-theme] .pro-badge{background:var(--p-100);color:var(--p-800)}
html[data-theme] .tag.soft{background:var(--n-50);color:var(--n-600)}
/* ===== v7L PALETTE END ===== */
/* ===== v7M FAMILY ACCENTS BEGIN (palette F): per page-family hue through <html data-fam>. Remove this block and every page falls back to the default accent. ===== */
html[data-theme="light"][data-fam="stocks"]{--pal-fam:#007CAD;--pal-fam-d:#004F6D;--pal-fam-t:#EEF5FC}

html[data-theme="light"][data-fam="markets"]{--pal-fam:#004F6D;--pal-fam-d:#004F6D;--pal-fam-t:#E6EEF1}

html[data-theme="light"][data-fam="commodities"]{--pal-fam:#007CAD;--pal-fam-d:#004F6D;--pal-fam-t:#F1F9FE}

html[data-theme="light"][data-fam="fx"]{--pal-fam:#004F6D;--pal-fam-d:#004F6D;--pal-fam-t:#F1F9FE}

html[data-theme="light"][data-fam="calendar"]{--pal-fam:#007CAD;--pal-fam-d:#004F6D;--pal-fam-t:#F5F5F5}

html[data-theme="light"][data-fam="learn"]{--pal-fam:#004F6D;--pal-fam-d:#004F6D;--pal-fam-t:#F5F5F5}

html[data-theme="light"][data-fam="pro"]{--pal-fam:#004F6D;--pal-fam-d:#004F6D;--pal-fam-t:#EEF5FC}


/* a small family-coloured dot before every card title (fill only, no coloured borders) */
html[data-theme] :is(.pnl>h3,.pro-card>.pro-h2:first-child,.pro-card>div:first-child>.pro-h2,section[style*="border"]>h2[style]:first-child,div[style*="border: 1px solid"]>h2[style]:first-child,section[style*="border"]>div:first-child>h2[style],div[style*="border: 1px solid"]>div:first-child>h2[style],.cp-card>.cp-h:first-child h2,.cp-card>.cp-k:first-child,.pnl>h2)::before{content:""!important;display:inline-block!important;flex:none;width:8px;height:8px;margin:0 9px 1px 0;border-radius:50%;vertical-align:middle;background:var(--pal-dotc,var(--pal-fam))!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--pal-dotc,var(--pal-fam)) 20%,transparent)}
/* active tabs take the family colour (fills and text only; the underline is the tab's own indicator) */
html[data-theme] :is(.tabs2 a.on,.ptabs button.on,.pro-tabs a[aria-current="true"],.pro-sub a[aria-current="page"]){border-bottom-color:var(--pal-fam)}
/* family accent on the quote header and section header eyebrow link colour */
html[data-theme] .sech-k a,html[data-theme] .pro-lab a{color:var(--pal-fam-d)}
/* ===== v7M FAMILY ACCENTS END ===== */

/* ===== v7P HERO BANDS BEGIN: tinted gradient band with a faint plus pattern behind every page title block (light only). Remove this block to restore plain titles. ===== */
html[data-theme="light"] :is(main:not(.pg)>div:has(>h1),.sech,.qh,.pg-main>h1.hh1+p.intro){--hero-bg:linear-gradient(115deg,var(--p-50) 0,#FFFFFF 64%)}
html[data-theme="light"] :is(main:not(.pg)>div:has(>h1),.sech,.qh){position:relative;isolation:isolate;overflow:hidden;background:var(--hero-bg);border:1px solid var(--sx-edge);border-radius:14px;padding:16px 20px}
html[data-theme="light"] :is(main:not(.pg)>div:has(>h1),.sech){max-width:none!important}
html[data-theme="light"] main:not(.pg)>div:has(>h1)>:not(h1){max-width:880px}
html[data-theme="light"] :is(main:not(.pg)>div:has(>h1),.sech,.qh)::after{content:""!important;display:block!important;position:absolute;inset:0 0 0 auto;width:46%;z-index:-1;pointer-events:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='56'%3E%3Cpath d='M14 8v12M8 14h12' stroke='%237EBDD6' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M42 36v8M38 40h8' stroke='%23FF987F' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");-webkit-mask-image:linear-gradient(90deg,transparent,#000 78%);mask-image:linear-gradient(90deg,transparent,#000 78%);opacity:.7}
html[data-theme="light"] .pg-main>h1.hh1{background:linear-gradient(115deg,var(--p-50) 0,#FFFFFF 64%);border:1px solid var(--sx-edge);border-bottom:0;border-radius:14px 14px 0 0;padding:16px 20px 4px;margin:0!important}
html[data-theme="light"] .pg-main>h1.hh1+p.intro{background:var(--hero-bg);border:1px solid var(--sx-edge);border-top:0;border-radius:0 0 14px 14px;padding:0 20px 16px;margin:-12px 0 0;max-width:none}
html[data-theme="light"] .qh h1{margin-top:0}
/* ===== v7P HERO BANDS END ===== */

/* ===== v7Q FJ TOKENS BEGIN: FlexJobs-style design system, tokens first (light only). Remove this block and the Q blocks that follow to go back to the v7P look. ===== */
html[data-theme="light"]{
  --fj-teal:#004F6D;--fj-blue:#007CAD;--fj-blue-ink:#006A94;--fj-pale:#EEF5FC;--fj-pale2:#F1F9FE;--fj-grey:#F5F5F5;--fj-ink:#181818;--fj-line:#E5E5E5;--fj-line2:#BFBFBF;
  --fj-cta:#FF532A;--fj-cta-sm:#D93A12;--fj-cta-sm-h:#B8300C;--fj-hl:#E8461F;--fj-yellow:#F2A93B;--fj-band:#2F76A5;
  --fj-r-hero:24px;--fj-r-panel:16px;--fj-r-card:8px;--fj-r-tile:4px;
  --fj-shadow-soft:0 8px 24px -10px rgba(0,79,109,.22);
  /* loss is a deep crimson, clearly apart from the call-to-action orange; gain stays green; always paired with an arrow or sign */
  --x-dn:#A5143A;--x-dnbg:#FCE7EC;--loss-700:#A5143A;--loss-500:#C4284A;--loss-50:#FCE7EC;--pal-dnf:#C4284A;--pal-dnfd:#A5143A;--sg-coral:#C4284A;--sg-coral-d:#A5143A;--sg-coral-t:#FCE7EC;
  /* orange is for actions only: card-title dots and eyebrow bars take the family colour */
  --pal-dotc:var(--pal-fam);--pal-gold:var(--fj-blue);--pal-gold-d:var(--fj-teal);
}
/* ===== v7Q FJ TOKENS END ===== */

/* ===== v7Q FJ HEADER BEGIN: white logo strip with tagline and joined search group, 44 px deep-teal nav band, orange primary button ===== */
html[data-theme="light"] .hd{background:#fff!important;color:var(--fj-teal);box-shadow:0 1px 0 var(--fj-line)}
html[data-theme="light"] .hd-top{background:#fff}
@media (min-width:900px){
  html[data-theme="light"] .hd{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:auto auto minmax(0,1fr);grid-template-rows:72px 44px;column-gap:20px;align-items:center;padding:0 20px}
  html[data-theme="light"] .hd-top{display:contents}
  html[data-theme="light"] .hd-logo{grid-column:1;grid-row:1}
  html[data-theme="light"] .hd-tag{grid-column:2;grid-row:1}
  html[data-theme="light"] .hd-sb{grid-column:3;grid-row:1;justify-self:center;width:min(600px,100%);min-width:0}
  html[data-theme="light"] .hd-nav{grid-column:1/-1;grid-row:2;margin:0 -20px}
}
html[data-theme="light"] .hd-logo{display:flex;align-items:center;flex:none;order:0;color:var(--fj-teal)}
html[data-theme="light"] :is(.hd-search,.hd-sb,.hd-right){order:0}
html[data-theme="light"] .hd-logo img{display:block;height:42px;width:auto}
html[data-theme="light"] .hd-tag{flex:none;font:700 12.5px/1 Inter,system-ui,sans-serif;letter-spacing:.05em;text-transform:uppercase;color:var(--fj-teal);white-space:nowrap}
html[data-theme="light"] .hd-tag em{font-style:normal;color:var(--fj-cta-sm)}
html[data-theme="light"] .hd-search{position:relative;flex:none;width:100%;max-width:none;margin:0;height:46px;display:flex;align-items:stretch;gap:0;padding:0;background:#fff;border:2px solid #2B3440;border-radius:4px}
html[data-theme="light"] .hd-search input{flex:1 1 auto;min-width:0;height:42px;border:0;outline:0;background:transparent;padding:0 14px;font:15px Inter,system-ui,sans-serif;color:var(--fj-ink)}
html[data-theme="light"] .hd-search input::placeholder{color:#5F6B7A}
html[data-theme="light"] .hd-search .hd-sbtn{flex:0 0 46px;display:flex;align-items:center;justify-content:center;border:0;padding:0;cursor:pointer;background:var(--fj-cta-sm);color:#fff;border-radius:0 2px 2px 0}
html[data-theme="light"] .hd-search .hd-sbtn svg{stroke:#fff}
html[data-theme="light"] .hd-search .hd-sbtn:hover{background:var(--fj-cta-sm-h)}
html[data-theme="light"] .hd-search:focus-within{box-shadow:0 0 0 3px rgba(0,124,173,.35)}
html[data-theme="light"] .hd-search .sg{left:-2px;right:-2px}
html[data-theme="light"] .hd-pro,html[data-theme="light"] .hd-right{display:none}
html[data-theme="light"] .nv-burger{display:none}
/* nav band */
html[data-theme="light"] .hd-nav{display:block;background:var(--fj-teal)!important;border-top:0;height:44px}
html[data-theme="light"] .hd-nav-in{display:flex;align-items:center;height:44px;padding:0 10px}
html[data-theme="light"] .hd-nav .hd-nav-in>nav.nv{flex:1 1 auto;max-width:none;margin:0;padding:0;display:flex;gap:0;overflow:visible;position:relative}
html[data-theme="light"] .nv-b{height:44px;min-height:44px;padding:0 14px;gap:8px;background:transparent;border:0;border-radius:0;color:#fff;font:400 16px/1 Inter,system-ui,sans-serif}
html[data-theme="light"] .nv-b:hover,html[data-theme="light"] .nv-g.open .nv-b{background:rgba(255,255,255,.10);color:#fff}
html[data-theme="light"] .nv-g.on .nv-b{background:transparent;color:#fff;font-weight:600;box-shadow:inset 0 -3px 0 #fff}
html[data-theme="light"] .nv-g.on .nv-b:hover{background:rgba(255,255,255,.10)}
html[data-theme="light"] .nv-p{top:100%;left:0;min-width:290px;padding:8px;background:#fff;border:1px solid var(--fj-line);border-top:3px solid var(--fj-blue);border-radius:0 0 8px 8px;box-shadow:0 18px 40px -16px rgba(6,28,61,.35)}
html[data-theme="light"] .hd-nav .nv-p a{display:flex;align-items:center;min-height:40px;padding:0 12px;border-radius:4px;border-bottom:0;color:var(--fj-teal);font:500 15px/1.2 Inter,system-ui,sans-serif;background:transparent}
html[data-theme="light"] .hd-nav .nv-p a:hover,html[data-theme="light"] .hd-nav .nv-p a:focus-visible{background:var(--fj-pale);color:var(--fj-teal);text-decoration:none}
html[data-theme="light"] .hd-nav .nv-p a.cur{background:var(--fj-pale);color:var(--fj-teal);font-weight:600;box-shadow:inset 3px 0 0 var(--fj-teal)}
html[data-theme="light"] .nv-r{flex:none;margin-left:auto;display:flex;align-items:center;gap:10px}
html[data-theme="light"] .nv-r .wl{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 10px;color:#fff;font:400 16px/1 Inter,system-ui,sans-serif;text-decoration:none}
html[data-theme="light"] .nv-r .wl:hover{background:rgba(255,255,255,.10);text-decoration:none}
html[data-theme="light"] .nv-r .pro{display:inline-flex;align-items:center;height:36px;padding:6px 12px;border-radius:4px;background:var(--fj-cta-sm);color:#fff;font:500 16px/1 Inter,system-ui,sans-serif;text-decoration:none}
html[data-theme="light"] .nv-r .pro:hover{background:var(--fj-cta-sm-h);text-decoration:none}
html[data-theme="light"] .mstrip{background:var(--fj-pale)}
@media (max-width:1100px){html[data-theme="light"] .hd-tag{display:none}}
@media (min-width:900px) and (max-width:1100px){html[data-theme="light"] .hd-sb{flex-basis:420px}}
/* phone: 56 px strip (burger, centred logo, orange Pro button) stays pinned; the deep-teal search band under it scrolls away */
@media (max-width:899px){
  html{--hdh:56px!important}
  html[data-theme="light"] .hd{position:static;display:contents}
  html[data-theme="light"] .hd-top{position:sticky;top:0;z-index:60;display:grid;grid-template-columns:48px 1fr auto;height:56px;padding:0 12px;gap:0 8px;align-items:center;box-shadow:0 1px 0 var(--fj-line)}
  html[data-theme="light"] .nv-burger{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;margin-left:-6px;border:0;border-radius:4px;background:transparent;color:var(--fj-teal)}
  html[data-theme="light"] .nv-burger[aria-expanded="true"]{background:var(--fj-pale)}
  html[data-theme="light"] .hd-logo{justify-self:center}
  html[data-theme="light"] .hd-logo img{height:34px}
  html[data-theme="light"] .hd-pro{display:inline-flex;align-items:center;height:40px;padding:0 14px;border-radius:4px;background:var(--fj-cta-sm);color:#fff;font:500 16px/1 Inter,system-ui,sans-serif;text-decoration:none}
  html[data-theme="light"] .hd-sb{padding:10px 15px;background:var(--fj-teal)}
  html[data-theme="light"] .hd-search{height:44px}
  html[data-theme="light"] .hd-search input{height:40px;font-size:16px!important}
  html[data-theme="light"] .hd-nav{display:none}
  html[data-theme="light"] .nv-m{background:var(--fj-teal);border-top:0}
  html[data-theme="light"] .nv-m details{border-bottom:1px solid rgba(255,255,255,.4)}
  html[data-theme="light"] .nv-m summary{min-height:60px;padding:0 15px;color:#fff;font:600 16px Inter,system-ui,sans-serif}
  html[data-theme="light"] .nv-m summary::after{content:"";width:0;height:0;border:6px solid transparent;border-top:7px solid #fff;border-bottom:0;margin-right:4px;font-size:0;opacity:1}
  html[data-theme="light"] .nv-m details[open] summary::after{content:"";transform:rotate(180deg)}
  html[data-theme="light"] .hd .nv-m a{min-height:48px;padding:0 15px 0 30px;border-radius:0;color:#fff;font:400 16px Inter,system-ui,sans-serif}
  html[data-theme="light"] .hd .nv-m a.cur{background:rgba(255,255,255,.12);color:#fff;font-weight:600;box-shadow:inset 3px 0 0 #fff}
  html[data-theme="light"] .hd .nv-m a.nv-w{margin:12px 15px 0;padding:0 15px;border:1px solid rgba(255,255,255,.55);border-radius:4px;justify-content:center;color:#fff}
}
/* ===== v7Q FJ HEADER END ===== */

/* ===== v7Q FJ BUTTONS BEGIN: orange primary buttons (white text on the AA-safe orange; the exact #FF532A is kept for 24 px hero buttons) ===== */
html[data-theme] :is(.btn2.pri,.pro-go,.bsearch button){background:var(--fj-cta-sm)!important;color:#fff!important;border:0!important;border-radius:4px!important;box-shadow:none!important;font-weight:500;filter:none}
html[data-theme] :is(.btn2.pri,.pro-go,.bsearch button):hover{background:var(--fj-cta-sm-h)!important;transform:none}
html[data-theme] .btn2:not(.pri){border-radius:4px!important;border:1px solid var(--fj-teal)!important;color:var(--fj-teal)!important;background:#fff!important;box-shadow:none!important}
html[data-theme] .btn2:not(.pri):hover{background:var(--fj-pale)!important;transform:none}
html[data-theme] :is(.btn2,.pro-btn){min-height:36px}
/* ===== v7Q FJ BUTTONS END ===== */

/* ===== v7Q FJ FOOTER BEGIN: premium light-grey footer: gradient top line, brand block with live coverage, five link columns, follow row, risk box, legal bar ===== */
html[data-theme="light"] footer.ft{margin-top:48px!important;padding:0;background:var(--fj-grey)!important;background-image:none!important;color:var(--fj-ink)!important;border:0!important;box-shadow:none}
html[data-theme="light"] footer.ft::before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--fj-teal),var(--fj-blue) 55%,#56B7D9)}
html[data-theme="light"] footer.ft .ft-in{max-width:1320px;margin:0 auto;padding:0 20px}
html[data-theme="light"] footer.ft .ft-main{display:grid;grid-template-columns:1.55fr repeat(5,minmax(0,1fr));gap:36px 28px;padding:52px 20px 36px}
html[data-theme="light"] footer.ft a{color:var(--fj-ink)!important;text-decoration:none}
/* brand block */
html[data-theme="light"] footer.ft .ft-brand{display:flex;flex-direction:column;align-items:flex-start;gap:14px;padding-right:12px}
html[data-theme="light"] footer.ft .ft-logo img{height:38px;width:auto}
html[data-theme="light"] footer.ft .ft-pos{margin:0;max-width:340px;font:400 14px/22px Inter,system-ui,sans-serif;color:#343A40}
html[data-theme="light"] footer.ft .ft-note{margin:0;padding:8px 12px;border-left:3px solid var(--fj-blue);background:#fff;border-radius:0 4px 4px 0;font:600 13.5px/1.3 Inter,system-ui,sans-serif;color:var(--fj-teal)}
html[data-theme="light"] footer.ft .ft-cov{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:100%;max-width:340px;margin:0;padding:0;list-style:none}
html[data-theme="light"] footer.ft .ft-cov li{display:flex;flex-direction:column;gap:2px;padding:10px 10px 9px;border-radius:8px;background:#fff;border:1px solid var(--fj-line);font:400 12.5px/1.25 Inter,system-ui,sans-serif;color:#42526B}
html[data-theme="light"] footer.ft .ft-cov b{font:600 20px/1.1 'IBM Plex Mono',ui-monospace,monospace;color:var(--fj-teal)}
html[data-theme="light"] footer.ft .ft-src{display:flex;flex-wrap:wrap;gap:6px;margin:0}
html[data-theme="light"] footer.ft .ft-src span{padding:3px 8px;border:1px solid var(--fj-line2);border-radius:4px;background:transparent;font:600 12.5px/1.2 Inter,system-ui,sans-serif;letter-spacing:.03em;color:#42526B}
html[data-theme="light"] footer.ft a.ft-cta{display:inline-flex;align-items:center;min-height:40px;padding:0 16px;white-space:nowrap;line-height:1.2;border-radius:4px;background:var(--fj-cta-sm);color:#fff!important;font:500 15px/1 Inter,system-ui,sans-serif}
html[data-theme="light"] footer.ft a.ft-cta:hover{background:var(--fj-cta-sm-h);text-decoration:none}
html[data-theme="light"] footer.ft .ft-sis{margin:0;font:400 13.5px/1.4 Inter,system-ui,sans-serif;color:#42526B}
html[data-theme="light"] footer.ft .ft-sis a{color:var(--fj-teal)!important;text-decoration:underline;text-underline-offset:2px}
/* columns */
html[data-theme="light"] footer.ft .ft-col{display:block;gap:0;min-width:0}
html[data-theme="light"] footer.ft .ft-col details{margin:0}
html[data-theme="light"] footer.ft .ft-col summary{list-style:none;cursor:default;display:block;min-height:0}
html[data-theme="light"] footer.ft .ft-col summary::-webkit-details-marker{display:none}
html[data-theme="light"] footer.ft .ft-h{margin:0 0 10px;padding:0;font:600 14px/20px Inter,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:var(--fj-teal)!important;display:block}
html[data-theme="light"] footer.ft .ft-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
html[data-theme="light"] footer.ft .ft-col li a{display:block;padding:4px 0;font:400 14px/24px Inter,system-ui,sans-serif;color:var(--fj-ink)!important;text-decoration:none}
html[data-theme="light"] footer.ft .ft-col li a:hover,html[data-theme="light"] footer.ft .ft-col li a:focus-visible{color:var(--fj-teal)!important;text-decoration:underline;text-underline-offset:3px}
/* follow row */
html[data-theme="light"] footer.ft .ft-follow{border-top:1px solid #DDDDDD}
html[data-theme="light"] footer.ft .ft-follow .ft-in{display:flex;align-items:center;justify-content:center;gap:16px;padding:20px}
html[data-theme="light"] footer.ft .ft-h2{margin:0;font:600 14px/20px Inter,system-ui,sans-serif;color:#181818}
html[data-theme="light"] footer.ft .ft-icons{display:flex;gap:10px;margin:0;padding:0;list-style:none}
html[data-theme="light"] footer.ft .ft-icons a{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--fj-line2);color:var(--fj-teal)!important;transition:background-color .15s ease,color .15s ease,transform .15s ease}
html[data-theme="light"] footer.ft .ft-icons a:hover{background:var(--fj-teal);color:#fff!important;border-color:var(--fj-teal);transform:translateY(-1px)}
/* risk box and legal bar */
html[data-theme="light"] footer.ft .ft-risk{background:transparent;border-top:0}
html[data-theme="light"] footer.ft .ft-risk .ft-in{display:block;padding:0 20px 20px}
html[data-theme="light"] footer.ft .ft-risk p{margin:0 auto;max-width:1100px;padding:14px 18px;border-radius:4px;background:#EEEEEE;font:400 13px/20px Inter,system-ui,sans-serif;color:#42526B;text-align:center}
html[data-theme="light"] footer.ft .ft-risk b{color:#181818}
html[data-theme="light"] footer.ft .ft-bar{border-top:1px solid #DDDDDD;background:#fff}
html[data-theme="light"] footer.ft .ft-bar .ft-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 24px;padding:14px 20px;font:400 13px/20px Inter,system-ui,sans-serif;color:#42526B}
html[data-theme="light"] footer.ft .ft-legal{display:flex;flex-wrap:wrap;gap:4px 20px}
html[data-theme="light"] footer.ft .ft-legal a{color:var(--fj-teal)!important;font:500 13.5px/20px Inter,system-ui,sans-serif;text-decoration:none}
html[data-theme="light"] footer.ft .ft-legal a:hover{text-decoration:underline;text-underline-offset:3px}
html[data-theme="light"] footer.ft a.ft-up{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 12px;border:1px solid var(--fj-line2);border-radius:4px;color:var(--fj-teal)!important;font:500 13.5px/1 Inter,system-ui,sans-serif;background:#fff}
html[data-theme="light"] footer.ft a.ft-up:hover{background:var(--fj-pale);text-decoration:none}
html[data-theme="light"] footer.ft :focus-visible{outline:2px solid var(--fj-blue);outline-offset:2px;border-radius:4px}
@media (max-width:1180px){html[data-theme="light"] footer.ft .ft-main{grid-template-columns:repeat(5,minmax(0,1fr))}html[data-theme="light"] footer.ft .ft-brand{grid-column:1/-1;flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px 20px;padding-right:0}html[data-theme="light"] footer.ft .ft-pos{max-width:520px}}
@media (max-width:900px){html[data-theme="light"] footer.ft .ft-main{grid-template-columns:repeat(3,minmax(0,1fr))}}
/* phone: link columns become accordions (the script closes them), 52 px rows, 44 px targets */
@media (max-width:760px){
  html[data-theme="light"] footer.ft .ft-main{display:block;padding:32px 16px 8px}
  html[data-theme="light"] footer.ft .ft-brand{flex-direction:column;align-items:flex-start;margin-bottom:20px}
  html[data-theme="light"] footer.ft .ft-col details{border-top:1px solid #D8D8D8}
  html[data-theme="light"] footer.ft .ft-col:last-of-type details{border-bottom:1px solid #D8D8D8}
  html[data-theme="light"] footer.ft .ft-col summary{cursor:pointer;display:flex;align-items:center;justify-content:space-between;min-height:52px}
  html[data-theme="light"] footer.ft .ft-col summary::after{content:"";flex:none;width:8px;height:8px;margin-right:6px;border-right:2px solid #6B7B8E;border-bottom:2px solid #6B7B8E;transform:rotate(45deg);transition:transform .15s ease}
  html[data-theme="light"] footer.ft .ft-col details[open] summary::after{transform:rotate(-135deg)}
  html[data-theme="light"] footer.ft .ft-h{margin:0;font:600 16px/24px Inter,system-ui,sans-serif}
  html[data-theme="light"] footer.ft .ft-col ul{padding:0 0 10px}
  html[data-theme="light"] footer.ft .ft-col li a{padding:10px 0;min-height:44px;display:flex;align-items:center;font-size:15px}
  html[data-theme="light"] footer.ft .ft-follow .ft-in{flex-direction:column;gap:12px}
  html[data-theme="light"] footer.ft .ft-risk .ft-in{padding:0 16px 16px}
  html[data-theme="light"] footer.ft .ft-bar .ft-in{flex-direction:column;align-items:center;text-align:center;padding:16px}
  html[data-theme="light"] footer.ft .ft-legal{justify-content:center}
  html[data-theme="light"] footer.ft .ft-legal a{min-height:44px;display:inline-flex;align-items:center}
}
@media (prefers-reduced-motion:reduce){html[data-theme="light"] footer.ft *{transition:none!important}}
/* ===== v7Q FJ FOOTER END ===== */

/* ===== v7Q FJ TILES BEGIN: metric tile grid. Every tile is a complete box (hairline on all four sides, same radius), rows are equal height, the column count is chosen from the number of tiles so the block has no orphan row, labels never wrap. ===== */
html[data-theme] .kn{display:grid!important;grid-template-columns:repeat(var(--kn-c,4),minmax(0,1fr))!important;grid-auto-rows:1fr;gap:10px;padding:14px 16px 16px;margin:0;border:0;background:transparent}
html[data-theme] .kn>div{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:0;min-height:66px;padding:10px 12px;background:#fff;border:1px solid var(--sx-edge)!important;border-radius:10px;box-shadow:var(--sx-e0)}
html[data-theme] .kn>div:nth-child(n){border-right-width:1px!important;border-bottom-width:1px!important}
html[data-theme] .kn span{display:block;font-size:12px;font-weight:600;letter-spacing:.04em;line-height:1.25;text-transform:uppercase;color:var(--x-mut);overflow-wrap:anywhere}
html[data-theme] .kn:has(>:nth-child(6)) span{white-space:nowrap;overflow-wrap:normal}
html[data-theme] .kn b{display:block;font:600 18px/1.2 'IBM Plex Mono',ui-monospace,monospace;color:var(--x-hi);overflow-wrap:anywhere}
html[data-theme] .kn small{display:block;font-size:12.5px;line-height:1.3;color:var(--x-mut)}
html[data-theme] .kn:has(>:nth-child(9):last-child){--kn-c:3}
html[data-theme] .kn:has(>:nth-child(8):last-child){--kn-c:4}
html[data-theme] .kn:has(>:nth-child(7):last-child){--kn-c:4}
html[data-theme] .kn:has(>:nth-child(7):last-child)>:last-child{grid-column:span 2}
html[data-theme] .kn:has(>:nth-child(6):last-child){--kn-c:3}
html[data-theme] .kn:has(>:nth-child(5):last-child){--kn-c:5}
html[data-theme] .kn:has(>:nth-child(4):last-child){--kn-c:4}
html[data-theme] .kn:has(>:nth-child(3):last-child){--kn-c:3}
html[data-theme] .kn:has(>:nth-child(2):last-child){--kn-c:2}
@media (max-width:640px){
  html[data-theme] .kn{gap:8px;padding:12px 12px 14px}
  html[data-theme] .kn>div{padding:9px 9px;min-height:62px}
  html[data-theme] .kn span{font-size:11px;letter-spacing:.02em}
  html[data-theme] .kn b{font-size:16.5px}
  html[data-theme] .kn:has(>:nth-child(9):last-child){--kn-c:3}
  html[data-theme] .kn:has(>:nth-child(8):last-child){--kn-c:2}
  html[data-theme] .kn:has(>:nth-child(7):last-child){--kn-c:2}
  html[data-theme] .kn:has(>:nth-child(7):last-child)>:last-child{grid-column:span 2}
  html[data-theme] .kn:has(>:nth-child(6):last-child){--kn-c:2}
  html[data-theme] .kn:has(>:nth-child(5):last-child){--kn-c:2}
  html[data-theme] .kn:has(>:nth-child(5):last-child)>:last-child{grid-column:span 2}
  html[data-theme] .kn:has(>:nth-child(4):last-child){--kn-c:2}
  html[data-theme] .kn:has(>:nth-child(3):last-child){--kn-c:3}
}
@media (max-width:400px){html[data-theme] .kn:has(>:nth-child(9):last-child){--kn-c:2}html[data-theme] .kn:has(>:nth-child(9):last-child)>:last-child{grid-column:span 2}}
/* ===== v7Q FJ TILES END ===== */

/* ===== v7Q FJ COMPONENTS BEGIN: hero panel, section headings with a hand-drawn underline, outlined feature cards, market strip, tile panel, carousel, checklist card, stats band, plus-sign decoration ===== */
.fj-wrap{max-width:1320px;margin:0 auto;padding:0 16px}
.fj-home{display:block;padding-top:16px}
.fj-home>section.fj-sec{margin-top:48px}
.fj-herowrap{margin-top:0}
.fj-hero{position:relative;overflow:hidden;isolation:isolate;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);align-items:center;gap:24px;min-height:500px;padding:44px 56px;background:var(--fj-pale);border-radius:var(--fj-r-hero)}
html[data-theme] main h1.fj-h1.fj-h1.fj-h1.fj-h1.fj-h1.fj-h1.fj-h1{margin:0;font-size:clamp(32px,3.7vw,50px)!important;line-height:1.2!important;font-weight:600!important;letter-spacing:-.01em!important;color:var(--fj-teal)}
.fj-hl{color:var(--fj-hl)}
.fj-sub{margin:18px 0 0;max-width:580px;font:400 clamp(16px,1.45vw,19px)/1.55 Inter,system-ui,sans-serif;color:#343A40}
.fj-sub b{color:var(--fj-teal)}
.fj-cta-row{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px;margin-top:28px}
.fj-btn{display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:6px 14px;border-radius:4px;background:var(--fj-cta-sm);color:#fff!important;font:500 16px/1.2 Inter,system-ui,sans-serif;text-decoration:none!important;border:0;cursor:pointer}
.fj-btn:hover{background:var(--fj-cta-sm-h)}
.fj-btn--hero{width:min(504px,100%);min-height:58px;padding:10px 16px;background:var(--fj-cta);font:600 24px/1.2 Inter,system-ui,sans-serif}
.fj-btn--hero:hover{background:#E8431C}
.fj-link{display:inline-flex;align-items:center;min-height:44px;font:500 16px/1.3 Inter,system-ui,sans-serif;color:var(--fj-teal)!important;text-decoration:underline;text-underline-offset:3px}
.fj-art{position:relative;justify-self:center;width:min(100%,470px);aspect-ratio:480/440}
.fj-svg{display:block;width:100%;height:100%}
.fj-pill{position:absolute;display:inline-flex;align-items:center;gap:8px;padding:10px 16px;border-radius:12px;background:#fff;box-shadow:0 10px 26px -8px rgba(0,79,109,.35);font:400 15px/1.2 Inter,system-ui,sans-serif;color:var(--fj-ink);white-space:nowrap}
.fj-pill b{font:600 16px/1 'IBM Plex Mono',ui-monospace,monospace;color:var(--fj-teal)}
.fj-pill--a{top:14%;left:-2%}
.fj-pill--b{bottom:15%;left:2%}
/* plus-sign decoration */
.fj-plus{position:absolute;top:18px;right:18px;width:132px;height:132px;pointer-events:none;z-index:-1;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='132'%3E%3Cg stroke='%23BFC9D4' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M11 5v12M5 11h12M44 5v12M38 11h12M77 5v12M71 11h12M110 5v12M104 11h12M11 38v12M5 44h12M44 38v12M38 44h12M110 38v12M104 44h12M11 71v12M5 77h12M77 71v12M71 77h12M110 71v12M104 77h12M44 104v12M38 110h12M77 104v12M71 110h12M110 104v12M104 110h12'/%3E%3C/g%3E%3Cg stroke-width='2.4' stroke-linecap='round'%3E%3Cpath stroke='%23FF532A' d='M77 38v12M71 44h12'/%3E%3Cpath stroke='%23007CAD' d='M44 71v12M38 77h12'/%3E%3Cpath stroke='%23F2A93B' d='M11 104v12M5 110h12'/%3E%3C/g%3E%3C/svg%3E") no-repeat}
.fj-plus--l{left:0;right:auto;top:30px}.fj-plus--r{right:0;top:auto;bottom:70px}
/* headings */
.fj-h2{margin:0 0 32px;text-align:center;font:600 clamp(28px,3.4vw,45px)/1.2 Inter,system-ui,sans-serif;color:var(--fj-ink);letter-spacing:-.01em}
.fj-h3{margin:0 0 20px;text-align:center;font:600 clamp(22px,2.2vw,30px)/1.25 Inter,system-ui,sans-serif;color:var(--fj-ink)}
.wv{position:relative;display:inline-block;padding-bottom:.18em;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 8' preserveAspectRatio='none'%3E%3Cpath d='M2 5Q12 1 22 4T42 4T62 4T82 4T102 4T118 3' fill='none' stroke='%23FF532A' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") 0 100%/100% .2em no-repeat}
/* market strip */
.fj-strip{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:4px 2px 8px}
.fj-strip::-webkit-scrollbar{display:none}
.fj-mk{flex:none;display:flex;align-items:center;gap:10px;min-height:60px;padding:8px 18px 8px 10px;border:1px solid var(--fj-line);border-radius:8px;background:#fff;color:var(--fj-ink)!important;text-decoration:none!important;scroll-snap-align:start;transition:border-color .15s ease,box-shadow .15s ease}
.fj-mk:hover{border-color:var(--fj-teal);box-shadow:var(--sx-e1)}
.fj-mk-b{flex:none;display:grid;place-items:center;min-width:44px;height:32px;padding:0 6px;border-radius:4px;background:hsl(var(--h) 52% 28%);color:#fff;font:700 11.5px/1 Inter,system-ui,sans-serif;letter-spacing:.02em}
.fj-mk b{display:block;font:600 14.5px/1.25 Inter,system-ui,sans-serif}
.fj-mk small{display:block;font:400 12.5px/1.3 Inter,system-ui,sans-serif;color:#42526B;white-space:nowrap}
.fj-mk--all{background:var(--fj-pale);border-color:transparent}
/* outlined feature cards */
.fj-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.fj-card{display:flex;flex-direction:column;gap:8px;min-height:153px;padding:21px 20px;border:.5px solid #181818;border-radius:8px;background:transparent}
@media (max-resolution:1.4dppx){.fj-card{border:1px solid #3D3D3D}}
.fj-ic{width:32px;height:32px;color:var(--fj-teal)}
.fj-card h3{margin:4px 0 0;font:600 24px/1.25 Inter,system-ui,sans-serif;color:var(--fj-ink)}
.fj-card p{margin:0;font:400 16px/1.5 Inter,system-ui,sans-serif;color:#343A40}
/* tile panel on a pale band */
.fj-pband{margin-top:56px;padding:56px 0 64px;background:var(--fj-pale)}
.fj-panel{padding:44px 40px;background:#fff;border-radius:16px;box-shadow:0 8px 32px rgba(6,28,61,.08)}
.fj-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.fj-tile{display:flex;align-items:center;gap:14px;min-height:92px;padding:14px 18px;border:1px solid var(--fj-line2);border-radius:4px;background:#fff;color:var(--fj-ink)!important;font:600 18px/1.25 Inter,system-ui,sans-serif;text-decoration:none!important;transition:border-color .15s ease,box-shadow .15s ease}
.fj-tile svg{flex:none;color:var(--fj-teal)}
.fj-tile:hover{border-color:var(--fj-teal);box-shadow:var(--sx-e1)}
.fj-tile-t{display:block;min-width:0}
.fj-tile--all{justify-content:center;text-align:center}
.fj-chip{display:flex;width:fit-content;margin-top:5px;padding:1px 8px;border-radius:99px;font:600 12px/1.5 Inter,system-ui,sans-serif;font-style:normal;background:#F0F2F5;color:#42526B}
.fj-chip--favourable{background:var(--x-upbg);color:var(--x-up)}
.fj-chip--unfavourable{background:var(--x-dnbg);color:var(--x-dn)}
.fj-chip--favourable::before{content:"▲ "}.fj-chip--unfavourable::before{content:"▼ "}
/* carousel */
.fj-carsec{position:relative}
.fj-carousel{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;padding:6px 2px 10px}
.fj-carousel::-webkit-scrollbar{display:none}
.fj-carousel:focus-visible{outline:2px solid var(--fj-blue);outline-offset:4px;border-radius:24px}
.fj-slide{flex:0 0 calc((100% - 48px)/3);display:flex;flex-direction:column;gap:14px;min-width:0;padding:28px;border:1px solid var(--fj-blue);border-radius:24px;background:#fff;scroll-snap-align:start}
.fj-slide-h{display:flex;align-items:center;gap:16px}
.fj-slide-h svg{flex:none}
.fj-slide-tk{display:flex;align-items:center;font:600 20px/1.2 'IBM Plex Mono',ui-monospace,monospace;color:var(--fj-teal)}
.fj-slide-n{display:block;margin-top:2px;font:400 14px/1.3 Inter,system-ui,sans-serif;color:#42526B}
.fj-slide p{margin:0;font:400 16px/1.5 Inter,system-ui,sans-serif;color:#343A40}
.fj-slide-a{display:inline-flex;align-items:center;min-height:36px;margin-top:auto;font:600 15px/1.2 Inter,system-ui,sans-serif;color:var(--fj-blue-ink)!important;text-decoration:none}
.fj-slide-a:hover{text-decoration:underline}
.fj-arrows{display:flex;justify-content:center;gap:14px;margin-top:22px}
.fj-arrow{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;border:1px solid var(--fj-teal);background:var(--fj-teal);color:#fff;cursor:pointer;transition:background-color .15s ease,color .15s ease}
.fj-arrow.prev{background:#EEF1F4;border-color:#D5DAE0;color:#42526B}
.fj-arrow.prev:not(.is-off){background:var(--fj-teal);border-color:var(--fj-teal);color:#fff}
.fj-arrow.is-off{opacity:.55;cursor:default}
.fj-arrow.next.is-off{background:#EEF1F4;border-color:#D5DAE0;color:#42526B}
/* checklist card with illustration */
.fj-diff{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center}
.fj-checks{padding:32px 36px;background:#fff;border-radius:16px;box-shadow:0 8px 32px rgba(6,28,61,.10);border:1px solid var(--fj-line)}
.fj-checks ul{list-style:none;margin:0 0 24px;padding:0;display:flex;flex-direction:column;gap:22px}
.fj-checks li{display:grid;grid-template-columns:28px minmax(0,1fr);gap:16px;align-items:start}
.fj-checks h3{margin:0 0 4px;font:600 20px/1.3 Inter,system-ui,sans-serif;color:var(--fj-ink)}
.fj-checks p{margin:0;font:400 16px/1.5 Inter,system-ui,sans-serif;color:#343A40}
.fj-checks .fj-btn{width:100%;min-height:48px;font-size:17px}
.fj-diff-art{aspect-ratio:440/400;max-width:480px;justify-self:center;width:100%}
/* stats band */
.fj-band{margin-top:56px;padding:56px 0 60px;text-align:center;color:#fff;background-color:var(--fj-band);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='140'%3E%3Cg fill='none' stroke='%23fff' stroke-opacity='.16' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M14 30q10-12 20 0t20 0'/%3E%3Cpath d='M110 22v10M105 27h10'/%3E%3Cpath d='M140 88q8-10 16 0t16 0'/%3E%3Cpath d='M40 104v10M35 109h10'/%3E%3Cpath d='M86 70q6 8 12 0'/%3E%3Ccircle cx='150' cy='30' r='4'/%3E%3C/g%3E%3C/svg%3E")}
.fj-band .fj-h2{color:#fff;margin:10px 0 28px}
.fj-sparkle{display:block;margin:0 auto}
.fj-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px;max-width:1000px;margin:0 auto 32px;padding:0;list-style:none}
.fj-stats b{display:block;font:600 clamp(32px,4vw,44px)/1.1 'IBM Plex Mono',ui-monospace,monospace;color:#fff}
.fj-stats span{display:block;margin-top:6px;font:400 16px/1.4 Inter,system-ui,sans-serif;color:#fff}
.fj-band .fj-btn{min-height:48px;padding:0 22px;font-size:17px}
@media (max-width:1000px){
  .fj-hero{grid-template-columns:1fr;padding:32px 28px;min-height:0}
  .fj-art{width:min(100%,380px)}
  .fj-cards{grid-template-columns:1fr}
  .fj-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .fj-slide{flex-basis:calc((100% - 24px)/2)}
  .fj-diff{grid-template-columns:1fr}
}
@media (max-width:640px){
  .fj-hero{border-radius:16px;padding:28px 20px}
  .fj-art{width:min(100%,300px)}
  .fj-pill{padding:8px 12px;font-size:13.5px}
  .fj-pill--a{top:6%;left:-4%}.fj-pill--b{bottom:6%;left:-2%}
  .fj-btn--hero{font-size:22px;font-weight:700;min-height:56px}
  .fj-plus{display:none}
  .fj-panel{padding:28px 16px}
  .fj-tiles{gap:12px}.fj-tile{min-height:76px;padding:10px 12px;font-size:16px;gap:10px}.fj-tile svg{width:28px;height:28px}
  .fj-slide{flex-basis:84%;padding:22px}
  .fj-checks{padding:24px 20px}
  .fj-pband{padding:36px 0 40px}
}
@media (max-width:899px){footer.ft .ft-legal a{display:inline-flex;align-items:center;min-height:36px}.ptabs-more{display:inline-flex;align-items:center;min-height:36px}}
@media (prefers-reduced-motion:reduce){.fj-carousel{scroll-behavior:auto}.fj-mk,.fj-tile,.fj-arrow{transition:none}}
/* ===== v7Q FJ COMPONENTS END ===== */

/* ===== v7Q FJ HERO BEGIN: every page-title block becomes the FlexJobs pale panel (radius 24, teal H1) ===== */
html[data-theme="light"]{--sx-fs-h1:clamp(28px,1.5vw + 17px,36px);--sx-fs-h1-doc:clamp(30px,1.8vw + 16px,40px)}
html[data-theme="light"] :is(main:not(.pg):not(.fj-home)>div:has(>h1),.sech,.qh){--hero-bg:var(--fj-pale);background:var(--fj-pale);border:0;border-radius:var(--fj-r-hero);padding:28px 36px}
html[data-theme="light"] :is(main:not(.pg):not(.fj-home)>div:has(>h1),.sech,.qh)::after{inset:auto;top:16px;right:18px;left:auto;bottom:auto;width:132px;height:132px;-webkit-mask-image:none;mask-image:none;opacity:.55;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='132' height='132'%3E%3Cg stroke='%23BFC9D4' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M11 5v12M5 11h12M44 5v12M38 11h12M77 5v12M71 11h12M110 5v12M104 11h12M11 38v12M5 44h12M44 38v12M38 44h12M110 38v12M104 44h12M11 71v12M5 77h12M77 71v12M71 77h12M110 71v12M104 77h12M44 104v12M38 110h12M77 104v12M71 110h12M110 104v12M104 110h12'/%3E%3C/g%3E%3Cg stroke-width='2.4' stroke-linecap='round'%3E%3Cpath stroke='%23FF532A' d='M77 38v12M71 44h12'/%3E%3Cpath stroke='%23007CAD' d='M44 71v12M38 77h12'/%3E%3Cpath stroke='%23F2A93B' d='M11 104v12M5 110h12'/%3E%3C/g%3E%3C/svg%3E") no-repeat}
html[data-theme="light"] .qh h1{font-size:clamp(26px,2.2vw + 12px,40px)!important;line-height:1.2!important;color:var(--fj-teal)}
html[data-theme="light"] .qh h1 span{color:var(--fj-blue-ink)}
html[data-theme="light"] .sech-k,html[data-theme="light"] .sech-k a{color:#42526B}
@media (max-width:700px){
  html[data-theme="light"] :is(main:not(.pg):not(.fj-home)>div:has(>h1),.sech,.qh){border-radius:16px;padding:20px 18px}
  html[data-theme="light"] :is(main:not(.pg):not(.fj-home)>div:has(>h1),.sech,.qh)::after{display:none!important}
}
/* ===== v7Q FJ HERO END ===== */

/* ===== v7Q FJ BLOG BEGIN: article cards as outlined cards (no cover image), series rows ===== */
.bgrid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin:16px 0}
html[data-theme] a.bcard.bcard--fj.bcard--fj{gap:10px;padding:21px 20px;border:.5px solid #181818!important;border-radius:8px!important;background:#fff;box-shadow:none!important;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}
@media (max-resolution:1.4dppx){html[data-theme] a.bcard.bcard--fj.bcard--fj{border:1px solid #3D3D3D!important}}
html[data-theme] a.bcard.bcard--fj.bcard--fj:hover{border-color:var(--fj-teal)!important;box-shadow:var(--sx-e1)!important;transform:translateY(-2px)}
html[data-theme] .bcard--fj .bk{margin:0;padding:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font:400 13px/1.3 Inter,system-ui,sans-serif;letter-spacing:0;text-transform:none;color:#42526B}
html[data-theme] .bcard--fj .bpill{font-style:normal;padding:2px 10px;border-radius:99px;background:var(--fj-pale);color:var(--fj-teal);font:600 12.5px/1.5 Inter,system-ui,sans-serif}
html[data-theme] .bcard--fj b{margin:0;padding:0;font:600 20px/1.3 Inter,system-ui,sans-serif;color:var(--fj-ink)}
html[data-theme] .bcard--fj .bx{margin:0;padding:0;font:400 15.5px/1.5 Inter,system-ui,sans-serif;color:#343A40}
html[data-theme] .bcard--fj .bgo{margin-top:auto;padding-top:4px;font:600 14.5px/1.2 Inter,system-ui,sans-serif;color:var(--fj-blue-ink)}
/* ===== v7Q FJ BLOG END ===== */

/* ===== v7Q FJ STOCK BEGIN: outlined tiles and feature cards on the stock page, centred wave heading for the five-lens scan ===== */
html[data-theme="light"] :is(.stat,.rg>div,.fund-facts>div,.callcard__r div,:is(.pnl,.cp-card,.card,section[style*="border"]) div[style*="border: 1px solid"][style*="border-radius"]){border:1px solid #B7C0CA!important;border-radius:8px!important;box-shadow:none!important;background:#fff!important}
html[data-theme="light"] .lc{border:.5px solid #181818!important;border-radius:8px!important;box-shadow:none!important;background:#fff!important}
html[data-theme="light"] .lc:hover{border-color:var(--fj-teal)!important;box-shadow:var(--sx-e1)!important;transform:translateY(-2px)}
@media (max-resolution:1.4dppx){html[data-theme="light"] .lc{border:1px solid #3D3D3D!important}}
html[data-theme="light"] #swot>div>div{border:.5px solid #181818!important;border-radius:8px!important;box-shadow:none!important;background:#fff!important}
@media (max-resolution:1.4dppx){html[data-theme="light"] #swot>div>div{border:1px solid #3D3D3D!important}}
html[data-theme="light"] section#lenses>div:first-child{text-align:center}
html[data-theme] section#lenses>div:first-child>h2[style]{font-size:clamp(26px,2.4vw + 10px,36px)!important;line-height:1.2!important;font-weight:600!important;letter-spacing:-.01em!important;color:var(--fj-ink)!important}
html[data-theme] section#lenses>div:first-child>p{max-width:760px;margin-left:auto!important;margin-right:auto!important}
html[data-theme] section#lenses>div:first-child>p[aria-label="Colour key"]{justify-content:center}
/* ===== v7Q FJ STOCK END ===== */

/* ===== v7Q FJ HUBS BEGIN: "Featuring N" tile panel inside the page column (countries, markets), flag and exchange badges ===== */
.fj-panel--col{padding:32px 28px 36px;border:1px solid var(--fj-line)}
.fj-panel--col .fj-h2{font-size:clamp(24px,2.4vw + 8px,36px);margin-bottom:24px}
.fj-tiles--3{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fj-tiles--4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fj-panel--col .fj-tile{min-height:84px;padding:12px 14px;gap:12px;font-size:17px}
.fj-flag{flex:none;font-size:30px;line-height:1}
.fj-sub2{display:block;margin-top:3px;font:400 13px/1.3 Inter,system-ui,sans-serif;color:#42526B}
.fj-tile .fj-mk-b{min-width:42px}
html[data-theme] .fj-tile .fj-chip{font-style:normal}
@media (max-width:1000px){.fj-tiles--3,.fj-tiles--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.fj-panel--col{padding:22px 14px 24px}.fj-panel--col .fj-tile{min-height:72px;padding:10px 12px;font-size:15.5px}.fj-flag{font-size:26px}}
/* ===== v7Q FJ HUBS END ===== */

/* ===== v7Q FJ PRO BEGIN: Pro landing hero (same panel as the home hero), hero search form ===== */
.fj-hero--pro .pro-lab{margin-bottom:10px}
.fj-hform{display:flex;gap:8px;max-width:520px;margin-top:20px}
.fj-hform .pro-in{flex:1 1 auto;min-width:0;background:#fff;height:44px}
.fj-hform .pro-go{height:44px;padding:0 20px}
.fj-hero--pro .fj-cta-row{margin-top:20px;gap:10px 24px}
.fj-hero--pro .fj-btn--hero{width:min(504px,100%)}
@media (max-width:640px){.fj-hform{max-width:none}}
/* ===== v7Q FJ PRO END ===== */

/* ===== v7Q FJ COUNTRY BEGIN: hero pills (real data, jump links), separate outlined KPI tiles, smaller plus-sign corner that never sits on the title, "More on" tile panel ===== */
html[data-theme="light"] :is(main:not(.pg):not(.fj-home)>div:has(>h1),.sech,.qh)::after{top:12px;right:20px;width:104px;height:52px;opacity:.6;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='52'%3E%3Cg stroke-width='2.2' stroke-linecap='round'%3E%3Cpath stroke='%23BFC9D4' d='M13 7v12M7 13h12'/%3E%3Cpath stroke='%23BFC9D4' d='M39 7v12M33 13h12'/%3E%3Cpath stroke='%23FF532A' d='M65 7v12M59 13h12'/%3E%3Cpath stroke='%23BFC9D4' d='M91 7v12M85 13h12'/%3E%3Cpath stroke='%23F2A93B' d='M13 33v12M7 39h12'/%3E%3Cpath stroke='%23007CAD' d='M39 33v12M33 39h12'/%3E%3Cpath stroke='%23BFC9D4' d='M65 33v12M59 39h12'/%3E%3Cpath stroke='%23BFC9D4' d='M91 33v12M85 39h12'/%3E%3C/g%3E%3C/svg%3E") no-repeat}
@media (min-width:900px){html[data-theme="light"] main:not(.pg):not(.fj-home)>div:has(>h1)>h1{padding-right:116px}}
.fj-chips{display:flex;flex-wrap:wrap;gap:8px 10px;margin:2px 0 6px}
html[data-theme] a.fj-pillk{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:6px 14px;border:1px solid var(--sx-edge);border-radius:99px;background:#fff;color:var(--fj-teal);font:600 14px/1.2 Inter,system-ui,sans-serif;text-decoration:none;box-shadow:0 6px 16px -10px rgba(0,79,109,.3);transition:border-color .15s ease,box-shadow .15s ease}
html[data-theme] a.fj-pillk:hover{border-color:var(--fj-teal);text-decoration:none;box-shadow:0 8px 18px -10px rgba(0,79,109,.45)}
html[data-theme] a.fj-pillk--up{color:var(--x-up)}
html[data-theme] a.fj-pillk--dn{color:var(--x-dn)}
html[data-theme] a.fj-pillk--mid{color:#7A4B00}
.fj-pillk--up::before{content:"\25B2"}.fj-pillk--dn::before{content:"\25BC"}.fj-pillk--mid::before{content:"\25C6"}
@media (max-width:899px){html[data-theme] a.fj-pillk{min-height:44px}}
/* KPI row = four complete tiles */
html[data-theme="light"] div.sech-kpi.sech-kpi.sech-kpi{gap:12px;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html[data-theme="light"] div.sech-kpi.sech-kpi.sech-kpi>div{border:1px solid var(--sx-edge)!important;box-shadow:none;border-radius:10px;background:#fff;padding:12px 16px}
@media (max-width:640px){html[data-theme="light"] div.sech-kpi.sech-kpi.sech-kpi{gap:10px}html[data-theme="light"] div.sech-kpi.sech-kpi.sech-kpi>div{padding:10px 12px}}
.fj-panel--more{margin-top:8px}
.fj-panel--more .fj-tile{align-items:flex-start;flex-direction:column;gap:10px;min-height:120px}
@media (max-width:640px){.fj-panel--more .fj-tile{min-height:96px}}
/* plain links inside the pale hero panels: the AA-safe blue (the standard link blue is 4.26:1 on the pale) */
html[data-theme="light"] :is(.qh-sub,.qh-links,.sech p.intro,main:not(.pg):not(.fj-home)>div:has(>h1) p) a:not([class*="btn"]):not(.fj-pillk){color:var(--fj-blue-ink)!important}
html[data-theme="light"] .sech p.intro a b{color:inherit!important}
/* non-US stock hero: same pale panel as the US stock page */
html[data-theme="light"] section.fj-mhero{position:relative;isolation:isolate;overflow:hidden;background:var(--fj-pale);border:0;border-radius:var(--fj-r-hero);padding:28px 36px}
html[data-theme="light"] section.fj-mhero::after{content:"";position:absolute;top:12px;right:20px;width:104px;height:52px;z-index:-1;pointer-events:none;opacity:.6;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='104' height='52'%3E%3Cg stroke-width='2.2' stroke-linecap='round'%3E%3Cpath stroke='%23BFC9D4' d='M13 7v12M7 13h12'/%3E%3Cpath stroke='%23BFC9D4' d='M39 7v12M33 13h12'/%3E%3Cpath stroke='%23FF532A' d='M65 7v12M59 13h12'/%3E%3Cpath stroke='%23BFC9D4' d='M91 7v12M85 13h12'/%3E%3Cpath stroke='%23F2A93B' d='M13 33v12M7 39h12'/%3E%3Cpath stroke='%23007CAD' d='M39 33v12M33 39h12'/%3E%3Cpath stroke='%23BFC9D4' d='M65 33v12M59 39h12'/%3E%3Cpath stroke='%23BFC9D4' d='M91 33v12M85 39h12'/%3E%3C/g%3E%3C/svg%3E") no-repeat}
@media (max-width:640px){html[data-theme="light"] section.fj-mhero{border-radius:16px;padding:20px 18px}html[data-theme="light"] section.fj-mhero::after{display:none}}
/* ===== v7Q FJ COUNTRY END ===== */

/* ===== v7Q FJ DOC BEGIN: document pages (about, methodology, policies): hero banner holding the title and the lead sentence, contained stats band, tile panel ===== */
main.wrap.doc>:is(.fj-dochero,.fj-band,.fj-panel){max-width:none}
html[data-theme="light"] .fj-dochero h1{margin:0}
html[data-theme="light"] .fj-dochero .lead{max-width:760px;margin:12px 0 0;font:400 19px/1.55 Inter,system-ui,sans-serif;color:#343A40}
main.doc .fj-band--in{margin:44px 0 0;padding:44px 24px 48px;border-radius:var(--fj-r-hero)}
main.doc h2.fj-h2{margin:0 0 24px;padding:0;font-size:clamp(26px,3vw,36px);font-weight:600;line-height:1.2;text-align:center;color:var(--fj-ink)}
main.doc .fj-band h2.fj-h2{color:#fff;margin-bottom:28px}
main.doc ul.fj-stats{margin:0 auto;padding:0;list-style:none}
main.doc .fj-stats li{margin:0}
.fj-stats span{text-wrap:balance}
main.doc .fj-panel--col{margin-top:28px}
@media (max-width:640px){main.doc .fj-band--in{padding:32px 14px 36px;border-radius:16px}main.doc ul.fj-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 12px}main.doc .fj-stats b{font-size:30px}main.doc .fj-stats span{font-size:14.5px}}
/* ===== v7Q FJ DOC END ===== */

/* ===== v7Q FJ SECTORS BEGIN: "Browse other sectors" tile panel at the end of the sector page column ===== */
.fj-tiles--sec{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
.fj-panel--sectors .fj-tile{min-height:92px;padding:12px 14px;font-size:16px;line-height:1.3}
.fj-panel--sectors .fj-chip{gap:5px}
.fj-panel--sectors .fj-chip b{font-weight:700}
@media (max-width:1000px){.fj-tiles--sec{grid-template-columns:repeat(2,minmax(0,1fr))}.fj-tiles--sec>.fj-tile:nth-child(odd):last-child{grid-column:1/-1}}
@media (max-width:640px){.fj-panel--sectors .fj-tile{min-height:76px;font-size:15px}}
/* two-tab list switcher (value pages) must fit a 360 px screen */
@media (max-width:400px){div[role="tablist"]{max-width:100%}div[role="tablist"]>a[role="tab"]{padding:0 10px!important;flex:1 1 auto;min-width:0}}
/* ===== v7Q FJ SECTORS END ===== */

/* ===== v7Q FJ A11Y BEGIN: visually hidden text utility (heading/label text for screen readers; panel titles may now be h2 or h3, both styled the same above) ===== */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
/* ===== v7Q FJ A11Y END ===== */

/* ===== v7Q FJ CALLS BEGIN: forex / commodities hub "Browse" tile panel (jump links to the group tables, real counts) ===== */
.fj-tiles--grp{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.fj-panel--groups .fj-tile{min-height:92px;padding:12px 16px;font-size:18px}
.fj-tally{display:flex;gap:12px;margin-top:4px;font:600 13px/1.3 'IBM Plex Mono',ui-monospace,monospace}
.fj-tally .fj-up{color:var(--x-up)}.fj-tally .fj-dn{color:var(--x-dn)}
.fj-panel--groups{scroll-margin-top:90px}
@media (max-width:1000px){.fj-tiles--grp{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.fj-panel--groups .fj-tile{min-height:80px;padding:10px 12px;font-size:16px}}
/* ===== v7Q FJ CALLS END ===== */

/* ===== v7Q FJ LOGO BEGIN: master-cut lockups (HD): header 50 px desktop and 40 px phone, footer 48 px; the small cut stays on tab icons ===== */
@media (min-width:900px){html[data-theme="light"] .hd-logo img{height:50px;width:auto}}
@media (max-width:899px){html[data-theme="light"] .hd-logo img{height:40px;width:auto}}
html[data-theme="light"] footer.ft .ft-logo img{height:48px;width:auto}
/* ===== v7Q FJ LOGO END ===== */
