/* ===== Shares & Markets listing =====
   Financial-information design language: restrained, data-dense where data
   exists, generous where it is narrative. Yellow is reserved for the primary
   action; movement uses green/red but never colour alone. */

.sm{--k:#171717;--soft:#3A3A38;--mute:#6B6B67;--faint:#95958F;--line:#E5E5E2;--hair:#EFEFEC;--sec:#F7F7F5;--y:#FFD400;--yh:#E6BF00;--pos:#168A48;--pos-soft:#E7F4EC;--neg:#A8423A;--neg-soft:#F8E9E7;--warn:#A35B00;--warn-soft:#FBF1DF;
  background:#fff;color:var(--k);font-family:'Inter',system-ui,sans-serif;}
.sm *{box-sizing:border-box;}
.sm-wrap{width:min(calc(100% - 56px),1180px);margin-inline:auto;}
.sm a{color:inherit;text-decoration:none;}
.sm :focus-visible{outline:3px solid var(--k);outline-offset:2px;border-radius:4px;}
.sm h1,.sm h2,.sm h3{letter-spacing:-0.02em;margin:0;}
.sm p{margin:0;}

.sm-crumbs{display:flex;align-items:center;gap:7px;flex-wrap:wrap;font-size:12.5px;color:var(--mute);padding:18px 0 0;}
.sm-crumbs a{font-weight:600;}
.sm-crumbs a:hover{color:var(--k);}
.sm-crumbs span[aria-current]{color:var(--k);font-weight:700;}

/* ---- buttons ---- */
.sm-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-size:14px;font-weight:700;padding:0 22px;min-height:46px;border-radius:9px;border:1px solid transparent;cursor:pointer;white-space:nowrap;}
.sm-btn-primary{background:var(--y);color:var(--k);border-color:var(--y);}
.sm-btn-primary:hover{background:var(--yh);border-color:var(--yh);}
.sm-btn-ghost{background:#fff;color:var(--k);border-color:var(--line);}
.sm-btn-ghost:hover{border-color:var(--k);}
.sm-btn-sm{min-height:38px;padding:0 15px;font-size:13px;}

/* ---- unclaimed ---- */
.sm-claim{display:flex;align-items:flex-start;gap:14px;background:var(--sec);border:1px solid var(--line);border-radius:12px;padding:16px 18px;margin:20px 0 0;}
.sm-claim>i{font-size:20px;color:var(--mute);flex-shrink:0;margin-top:1px;}
.sm-claim div{flex:1;min-width:0;}
.sm-claim b{display:block;font-size:14.5px;margin-bottom:3px;}
.sm-claim p{font-size:13.5px;line-height:1.6;color:var(--mute);}
.sm-claim .sm-btn{flex-shrink:0;}

/* ---- header ---- */
.sm-head{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;flex-wrap:wrap;padding:26px 0 28px;}
.sm-flags{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;}
.sm-flag{position:relative;display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:700;padding:5px 11px;border-radius:999px;cursor:help;}
.sm-flag-verified{background:var(--pos-soft);color:var(--pos);}
/* Paid placement never shares the verification colour (s.3, s.32). */
.sm-flag-paid{background:var(--warn-soft);color:var(--warn);}
.sm-flag-featured{background:var(--sec);color:var(--mute);border:1px solid #D7D7D1;cursor:default;}
.sm-tip{position:absolute;left:0;top:calc(100% + 8px);width:280px;background:#242424;color:#fff;font-size:11.5px;font-weight:400;line-height:1.55;padding:10px 12px;border-radius:8px;opacity:0;visibility:hidden;transition:opacity .15s;z-index:30;}
.sm-flag:hover .sm-tip,.sm-flag:focus .sm-tip{opacity:1;visibility:visible;}

.sm-identity{display:flex;align-items:flex-start;gap:20px;min-width:0;}
.sm-logo{flex:0 0 auto;width:76px;height:76px;border-radius:12px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;overflow:hidden;}
.sm-logo img{max-width:78%;max-height:78%;object-fit:contain;}
.sm-ticker{font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--mute);margin-bottom:6px;}
.sm-h1{font-size:38px;font-weight:800;line-height:1.1;margin-bottom:8px;}
.sm-meta{font-size:14px;color:var(--mute);}
.sm-head-actions{display:flex;gap:10px;flex-wrap:wrap;}

/* ---- market snapshot ---- */
.sm-snapshot{border:1px solid var(--line);border-radius:14px;padding:24px 26px;margin-bottom:8px;}
.sm-price-block{display:flex;align-items:baseline;gap:16px;flex-wrap:wrap;padding-bottom:20px;border-bottom:1px solid var(--hair);}
.sm-price{font-size:38px;font-weight:800;letter-spacing:-0.02em;}
.sm-change{display:inline-flex;align-items:center;gap:5px;font-size:15px;font-weight:700;}
.sm-change.is-up{color:var(--pos);}
.sm-change.is-down{color:var(--neg);}
.sm-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:18px 24px;margin:20px 0 0;}
.sm-stats dt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:4px;}
.sm-stats dd{font-size:15.5px;font-weight:700;margin:0;font-variant-numeric:tabular-nums;}
.sm-asat{font-size:11.5px;color:var(--mute);margin-top:18px;padding-top:14px;border-top:1px solid var(--hair);}

/* ---- chart ---- */
.sm-chart-sec{padding:34px 0 0;}
.sm-chart{border:1px solid var(--line);border-radius:14px;padding:18px 20px;}
.sm-chart svg{display:block;width:100%;height:220px;}
.sm-chart-axis{display:flex;justify-content:space-between;font-size:11.5px;color:var(--faint);padding-top:8px;font-variant-numeric:tabular-nums;}

/* ---- sections ---- */
.sm-main{padding-bottom:72px;}
.sm-sec{padding-top:48px;margin-top:48px;border-top:1px solid var(--hair);scroll-margin-top:80px;}
.sm-sec:first-child{margin-top:34px;}
.sm-sec>h2{font-size:25px;font-weight:800;margin-bottom:20px;}
.sm-sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:18px;flex-wrap:wrap;margin-bottom:20px;}
.sm-sec-head h2{font-size:25px;font-weight:800;}
.sm-subhead{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.07em;color:var(--mute);margin:32px 0 14px;}
/* Source label: says where the words came from without shouting (s.10, s.47). */
.sm-src{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);background:var(--sec);border:1px solid var(--line);border-radius:4px;padding:4px 9px;}
.sm-more{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:700;color:var(--k);}
.sm-more:hover{color:var(--warn);}
.sm-note{font-size:12px;line-height:1.7;color:var(--mute);margin-top:14px;}

.sm-prose{max-width:74ch;}
.sm-prose p{font-size:16.5px;line-height:1.75;color:var(--soft);margin-bottom:16px;}
.sm-prose p:last-child{margin-bottom:0;}
/* Company-supplied narrative sits on a tinted ground so it reads as the
   company's words, not the platform's. */
.sm-supplied{max-width:none;background:var(--sec);border:1px solid var(--line);border-radius:12px;padding:22px 24px;}

/* ---- glance ---- */
.sm-glance{margin-top:32px;}
.sm-glance dl{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden;margin:0;}
.sm-glance dl>div{padding:14px 18px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);}
.sm-glance dt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:4px;}
.sm-glance dd{font-size:14.5px;font-weight:600;margin:0;}
.sm-glance dd a{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px;}

/* ---- highlights, operations, risks ---- */
.sm-highlights,.sm-ops,.sm-risks{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;}
.sm-highlight,.sm-op,.sm-risk{border:1px solid var(--line);border-radius:12px;padding:20px 22px;}
.sm-highlight h3,.sm-op h3,.sm-risk h3{font-size:16px;font-weight:700;margin-bottom:8px;}
.sm-highlight p,.sm-op-desc,.sm-risk p{font-size:14px;line-height:1.65;color:var(--mute);}
.sm-op-loc{font-size:13px;color:var(--mute);margin-bottom:8px;}
.sm-op-status{display:inline-flex;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;background:var(--sec);border:1px solid var(--line);border-radius:4px;padding:3px 8px;margin-bottom:10px;}
/* Considerations are neutral, not alarming (s.29). */
.sm-risks .sm-risk{background:var(--sec);}

/* ---- tables ---- */
.sm-table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;}
.sm-table{width:100%;border-collapse:collapse;font-size:14.5px;}
.sm-table th,.sm-table td{text-align:left;padding:13px 16px;border-bottom:1px solid var(--hair);white-space:nowrap;}
.sm-table th{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--mute);background:var(--sec);}
.sm-table tr:last-child td{border-bottom:0;}
.sm-table .is-num{text-align:right;font-variant-numeric:tabular-nums;}

/* ---- lists ---- */
.sm-list{list-style:none;margin:0;padding:0;border-top:1px solid var(--hair);}
.sm-list li{display:flex;align-items:baseline;justify-content:space-between;gap:18px;padding:14px 0;border-bottom:1px solid var(--hair);}
.sm-list a,.sm-list span{font-size:15px;font-weight:600;line-height:1.4;}
.sm-list a{display:inline-flex;align-items:center;gap:7px;}
.sm-list a:hover{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px;}
.sm-list time{font-size:12.5px;color:var(--mute);flex-shrink:0;font-variant-numeric:tabular-nums;}

.sm-docs{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;}
.sm-docs li{display:flex;align-items:flex-start;gap:12px;border:1px solid var(--line);border-radius:10px;padding:14px 16px;}
.sm-docs i{font-size:18px;color:var(--mute);flex-shrink:0;}
.sm-docs a,.sm-docs span{font-size:14.5px;font-weight:600;display:block;}
.sm-doc-date{display:block;font-size:12px;color:var(--mute);font-weight:500;margin-top:3px;}

/* ---- people ---- */
.sm-people{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px;}
.sm-person{display:flex;align-items:center;gap:14px;}
.sm-person-img{width:52px;height:52px;border-radius:50%;background:var(--sec) center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800;color:var(--faint);flex-shrink:0;}
.sm-person b{display:block;font-size:15px;font-weight:700;}
.sm-person span{display:block;font-size:13px;color:var(--mute);margin-top:2px;}

/* ---- cards ---- */
.sm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;}
.sm-card{display:block;border:1px solid var(--line);border-radius:12px;padding:18px 20px;}
.sm-card:hover{border-color:var(--k);}
.sm-card-kind{display:block;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--warn);margin-bottom:7px;}
.sm-card-title{display:block;font-size:15.5px;font-weight:700;line-height:1.35;}

/* ---- video ---- */
.sm-video{position:relative;padding-bottom:56.25%;height:0;border-radius:14px;overflow:hidden;background:var(--sec);}
.sm-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0;}

/* ---- investor relations ---- */
.sm-ir{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;background:var(--sec);border:1px solid var(--line);border-radius:12px;padding:22px 24px;}
.sm-ir-name{font-size:16px;font-weight:700;margin-bottom:6px;}
.sm-ir-name span{font-weight:500;color:var(--mute);font-size:14px;}
.sm-ir p{font-size:14.5px;line-height:1.6;color:var(--soft);}
.sm-ir a{text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px;text-underline-offset:3px;}

/* ---- listing information and disclosures ---- */
.sm-info-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px 24px;margin:0;}
.sm-info-list dt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--faint);margin-bottom:4px;}
.sm-info-list dd{font-size:14.5px;font-weight:600;margin:0;}
.sm-disclosures p{font-size:12px;line-height:1.75;color:var(--mute);margin-bottom:10px;max-width:90ch;}

@media (max-width:820px){
.sm-head{align-items:flex-start;}
.sm-head-actions{width:100%;}
.sm-head-actions .sm-btn{flex:1;}
.sm-h1{font-size:30px;}
.sm-price{font-size:32px;}
.sm-glance dl>div{border-right:0;}
}
@media (max-width:640px){
.sm-wrap{width:calc(100% - 36px);}
.sm-identity{gap:14px;}
.sm-logo{width:58px;height:58px;border-radius:10px;}
.sm-h1{font-size:25px;}
.sm-snapshot{padding:20px;}
.sm-price{font-size:28px;}
.sm-sec{padding-top:34px;margin-top:34px;}
.sm-sec>h2,.sm-sec-head h2{font-size:21px;}
.sm-claim{flex-wrap:wrap;}
.sm-claim .sm-btn{width:100%;}
.sm-ir{flex-direction:column;align-items:flex-start;}
}
@media (prefers-reduced-motion:reduce){.sm *{transition:none !important;}}
