#bnv-page[data-engine="sh-page"] .sh-page{ --sh-accent:#1c7ef5; --sh-tint:#e8f1ff; }
#bnv-page[data-engine="sh-page"] .sh-wrap{ width:var(--cw); margin-inline:auto; }
#bnv-page[data-engine="sh-page"] .sh-hero{ position:relative; padding:84px 0 56px; border-bottom:1px solid var(--hair); overflow:hidden; background:var(--paper-0); }
#bnv-page[data-engine="sh-page"] .sh-hero::before{ content:''; position:absolute; inset:0; pointer-events:none;
  background:radial-gradient(ellipse 56% 70% at 86% -12%, color-mix(in srgb, var(--sh-accent) 9%, transparent), transparent 62%); }
#bnv-page[data-engine="sh-page"] .sh-hero .sh-wrap{ position:relative; }
#bnv-page[data-engine="sh-page"] .sh-crumb{ display:flex; align-items:center; gap:8px; font-family:var(--f-mono); font-size:11px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--ink-5); margin-bottom:24px; }
#bnv-page[data-engine="sh-page"] .sh-crumb a{ color:var(--ink-5); text-decoration:none; transition:color .2s var(--ease); }
#bnv-page[data-engine="sh-page"] .sh-crumb a:hover{ color:var(--sh-accent); }
#bnv-page[data-engine="sh-page"] .sh-crumb .sep{ opacity:.4; }
#bnv-page[data-engine="sh-page"] .sh-eyebrow{ display:inline-flex; align-items:center; gap:9px; font-family:var(--f-mono);
  font-size:11.5px; font-weight:600; letter-spacing:.16em; text-transform:uppercase; color:var(--sh-accent); margin-bottom:18px; }
#bnv-page[data-engine="sh-page"] .sh-eyebrow::before{ content:''; width:18px; height:1px; background:currentColor; opacity:.6; }
#bnv-page[data-engine="sh-page"] .sh-h1{ font-family:var(--f-sans); font-size:clamp(34px,5vw,56px); font-weight:300;
  letter-spacing:-.03em; line-height:1.04; color:var(--ink-0); max-width:17ch; text-wrap:balance; margin:0; }
#bnv-page[data-engine="sh-page"] .sh-h1 em{ font-family:var(--f-serif); font-style:italic; font-weight:400; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--sh-accent); }
#bnv-page[data-engine="sh-page"] .sh-status{ display:inline-flex; align-items:center; gap:7px; font-family:var(--f-mono);
  font-size:10.5px; font-weight:600; letter-spacing:.1em; text-transform:uppercase;
  padding:4px 11px; border-radius:100px; margin-left:14px; vertical-align:middle; white-space:nowrap; }
#bnv-page[data-engine="sh-page"] .sh-status .dot{ width:6px; height:6px; border-radius:50%; }
#bnv-page[data-engine="sh-page"] .sh-status.live{ color:var(--g); background:color-mix(in srgb, var(--g) 12%, transparent); }
#bnv-page[data-engine="sh-page"] .sh-status.live .dot{ background:var(--g); box-shadow:0 0 0 3px color-mix(in srgb,var(--g) 22%,transparent); }
#bnv-page[data-engine="sh-page"] .sh-status.beta{ color:#b97400; background:rgba(255,178,63,.16); }
#bnv-page[data-engine="sh-page"] .sh-status.beta .dot{ background:#ffb23f; }
#bnv-page[data-engine="sh-page"] .sh-status.soon{ color:var(--ink-5); background:var(--paper-2); }
#bnv-page[data-engine="sh-page"] .sh-status.soon .dot{ background:var(--ink-5); }
#bnv-page[data-engine="sh-page"] .sh-lead{ font-size:clamp(16px,1.5vw,19px); line-height:1.62; color:var(--ink-3); max-width:58ch; margin:22px 0 0; letter-spacing:-.006em; }
#bnv-page[data-engine="sh-page"] .sh-hero-actions{ display:flex; flex-wrap:wrap; gap:12px; margin-top:32px; }
#bnv-page[data-engine="sh-page"] .sh-hero-actions .btn{ width:auto; }
#bnv-page[data-engine="sh-page"] .sh-hero-meta{ display:flex; flex-wrap:wrap; gap:40px; margin-top:44px; padding-top:30px; border-top:1px solid var(--hair); }
#bnv-page[data-engine="sh-page"] .sh-meta-item{ display:flex; flex-direction:column; gap:6px; }
#bnv-page[data-engine="sh-page"] .sh-meta-v{ font-family:var(--f-serif); font-style:italic; font-size:30px; color:var(--ink-0); line-height:1; }
#bnv-page[data-engine="sh-page"] .sh-meta-l{ font-family:var(--f-mono); font-size:10.5px; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-5); }
#bnv-page[data-engine="sh-page"] .sh-page .btn-primary:hover{ background:var(--sh-accent); transform:translateY(-1px); }
#bnv-page[data-engine="sh-page"] .sh-page .btn .arr{ transition:transform .2s var(--ease); }
#bnv-page[data-engine="sh-page"] .sh-page .btn:hover .arr{ transform:translateX(3px); }
#bnv-page[data-engine="sh-page"] .sh-section{ padding:72px 0; border-bottom:1px solid var(--hair); background:var(--paper-0); }
#bnv-page[data-engine="sh-page"] .sh-section.alt{ background:var(--paper-1); }
#bnv-page[data-engine="sh-page"] .sh-sec-head{ max-width:62ch; margin-bottom:44px; }
#bnv-page[data-engine="sh-page"] .sh-idx{ display:inline-flex; align-items:center; gap:9px; font-family:var(--f-mono);
  font-size:11px; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-5); margin-bottom:16px; }
#bnv-page[data-engine="sh-page"] .sh-idx b{ color:var(--sh-accent); font-weight:600; }
#bnv-page[data-engine="sh-page"] .sh-h2{ font-family:var(--f-sans); font-size:clamp(25px,3vw,36px); font-weight:300;
  letter-spacing:-.024em; line-height:1.1; color:var(--ink-0); text-wrap:balance; margin:0; }
#bnv-page[data-engine="sh-page"] .sh-h2 em{ font-family:var(--f-serif); font-style:italic; font-weight:400; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--sh-accent); }
#bnv-page[data-engine="sh-page"] .sh-sec-lead{ font-size:16px; line-height:1.6; color:var(--ink-4); margin:14px 0 0; max-width:58ch; }
#bnv-page[data-engine="sh-page"] .sh-prose{ max-width:70ch; }
#bnv-page[data-engine="sh-page"] .sh-prose p{ font-size:16.5px; line-height:1.74; color:var(--ink-3); margin:0 0 20px; letter-spacing:-.004em; }
#bnv-page[data-engine="sh-page"] .sh-prose p:last-child{ margin-bottom:0; }
#bnv-page[data-engine="sh-page"] .sh-prose p:first-of-type::first-letter{ font-family:var(--f-serif); font-style:italic;
  font-size:3.2em; line-height:.82; float:left; padding:8px 12px 0 0; color:var(--sh-accent); }
#bnv-page[data-engine="sh-page"] .sh-prose h3{ font-family:var(--f-sans); font-size:21px; font-weight:500; letter-spacing:-.02em; color:var(--ink-0); margin:34px 0 12px; }
#bnv-page[data-engine="sh-page"] .sh-prose strong{ color:var(--ink-1); font-weight:600; }
#bnv-page[data-engine="sh-page"] .sh-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
#bnv-page[data-engine="sh-page"] .sh-card{ position:relative; background:var(--paper-0); padding:30px 28px 32px; display:flex; flex-direction:column; gap:14px;
  border:1px solid var(--hair); border-radius:16px; overflow:hidden; box-shadow:var(--shadow-1);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), border-color .3s var(--ease); }
#bnv-page[data-engine="sh-page"] .sh-card::before{ content:''; position:absolute; left:0; right:0; top:0; height:3px;
  background:linear-gradient(90deg,var(--sh-accent),color-mix(in srgb,var(--sh-accent) 25%,transparent));
  transform:scaleX(1); transform-origin:left; opacity:.45; transition:transform .35s var(--ease), opacity .35s var(--ease); }
#bnv-page[data-engine="sh-page"] .sh-card:hover::before{ transform:scaleX(1); opacity:1; }
#bnv-page[data-engine="sh-page"] .sh-card:hover{ transform:translateY(-3px); border-color:color-mix(in srgb,var(--sh-accent) 30%,var(--hair));
  box-shadow:0 16px 40px rgba(10,14,26,.07); }
#bnv-page[data-engine="sh-page"] .sh-card:hover::before{ transform:scaleX(1); }
#bnv-page[data-engine="sh-page"] .sh-card-ic{ width:46px; height:46px; border-radius:12px; display:grid; place-items:center;
  font-family:var(--f-serif); font-size:20px; font-style:italic; line-height:1;
  background:linear-gradient(150deg,var(--sh-tint),color-mix(in srgb,var(--sh-tint) 55%,var(--paper-0)));
  color:var(--sh-accent); flex:none; transition:transform .3s var(--ease); }
#bnv-page[data-engine="sh-page"] .sh-card:hover .sh-card-ic{ transform:scale(1.07) rotate(-3deg); }
#bnv-page[data-engine="sh-page"] .sh-card-ic svg{ width:21px; height:21px; }
#bnv-page[data-engine="sh-page"] .sh-card-t{ font-family:var(--f-sans); font-size:17.5px; font-weight:600; letter-spacing:-.012em; color:var(--ink-0); margin-top:2px; }
#bnv-page[data-engine="sh-page"] .sh-card-t em, #bnv-page[data-engine="sh-page"] .sh-step-t em{ font-family:var(--f-serif); font-style:italic; font-weight:400; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
#bnv-page[data-engine="sh-page"] .sh-card-d{ font-size:13.5px; line-height:1.62; color:var(--ink-4); }
#bnv-page[data-engine="sh-page"] .sh-steps{ display:flex; flex-direction:column; gap:1px; background:var(--hair); border:1px solid var(--hair); border-radius:16px; overflow:hidden; }
#bnv-page[data-engine="sh-page"] .sh-step{ background:var(--paper-0); padding:26px 30px; display:grid; grid-template-columns:56px 1fr; gap:22px; align-items:start; }
#bnv-page[data-engine="sh-page"] .sh-step-n{ font-family:var(--f-mono); font-size:13px; font-weight:600; color:var(--sh-accent); padding-top:3px; letter-spacing:.03em; }
#bnv-page[data-engine="sh-page"] .sh-step-t{ font-family:var(--f-sans); font-size:18px; font-weight:600; color:var(--ink-0); margin-bottom:7px; letter-spacing:-.01em; }
#bnv-page[data-engine="sh-page"] .sh-step-d{ font-size:14px; line-height:1.62; color:var(--ink-4); max-width:66ch; }
#bnv-page[data-engine="sh-page"] .sh-proof{ background:var(--ink-0); color:#fff; border-radius:20px; padding:46px 44px; display:grid; grid-template-columns:1fr auto; gap:40px; align-items:center; }
#bnv-page[data-engine="sh-page"] .sh-proof-tag{ font-family:var(--f-mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:color-mix(in srgb, var(--sh-accent) 75%, white); margin-bottom:14px; }
#bnv-page[data-engine="sh-page"] .sh-proof-q{ font-family:var(--f-sans); font-size:clamp(20px,2.2vw,26px); font-weight:300; line-height:1.34; letter-spacing:-.018em; max-width:48ch; color:rgba(255,255,255,.92); }
#bnv-page[data-engine="sh-page"] .sh-proof-m{ text-align:center; }
#bnv-page[data-engine="sh-page"] .sh-proof-v{ font-family:var(--f-serif); font-style:italic; font-size:clamp(54px,7vw,82px); line-height:.9; color:color-mix(in srgb, var(--sh-accent) 62%, white); }
#bnv-page[data-engine="sh-page"] .sh-proof-l{ font-family:var(--f-mono); font-size:11px; letter-spacing:.1em; text-transform:uppercase; color:rgba(255,255,255,.5); margin-top:10px; }
#bnv-page[data-engine="sh-page"] .sh-related{ display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:14px; }
#bnv-page[data-engine="sh-page"] .sh-rel{ display:flex; flex-direction:column; gap:9px; padding:24px; border:1px solid var(--hair); border-radius:14px;
  text-decoration:none; background:var(--paper-0); box-shadow:var(--shadow-1); transition:border-color .25s var(--ease),transform .25s var(--ease),box-shadow .25s var(--ease); }
#bnv-page[data-engine="sh-page"] .sh-rel:hover{ border-color:color-mix(in srgb, var(--sh-accent) 42%, var(--hair)); transform:translateY(-2px); box-shadow:0 12px 30px rgba(10,14,26,.06); }
#bnv-page[data-engine="sh-page"] .sh-rel-k{ font-family:var(--f-mono); font-size:10px; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-5); }
#bnv-page[data-engine="sh-page"] .sh-rel-t{ font-family:var(--f-sans); font-size:16px; font-weight:600; color:var(--ink-0); display:flex; align-items:center; justify-content:space-between; gap:10px; }
#bnv-page[data-engine="sh-page"] .sh-rel-t .arr{ color:var(--sh-accent); transition:transform .2s var(--ease); flex:none; }
#bnv-page[data-engine="sh-page"] .sh-rel:hover .sh-rel-t .arr{ transform:translateX(3px); }
#bnv-page[data-engine="sh-page"] .sh-rel-d{ font-size:13px; line-height:1.55; color:var(--ink-4); }
#bnv-page[data-engine="sh-page"] .sh-cta{ padding:96px 0; text-align:center;
  background:radial-gradient(1200px 420px at 50% -10%, rgba(28,126,245,.16), transparent 60%), linear-gradient(180deg, #0a0e1a, #0d1322);
  border-top:1px solid var(--hair-on-dark); }
#bnv-page[data-engine="sh-page"] .sh-cta-h{ font-family:var(--f-sans); font-size:clamp(28px,3.4vw,40px); font-weight:300; letter-spacing:-.026em; line-height:1.08; color:#fff; max-width:20ch; margin:0 auto; text-wrap:balance; }
#bnv-page[data-engine="sh-page"] .sh-cta-h em{ font-family:var(--f-serif); font-style:italic; background:var(--grad-text); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
#bnv-page[data-engine="sh-page"] .sh-cta-p{ font-size:16px; line-height:1.6; color:rgba(255,255,255,.66); max-width:52ch; margin:18px auto 0; }
#bnv-page[data-engine="sh-page"] .sh-cta-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:32px; }
#bnv-page[data-engine="sh-page"] .sh-cta-actions .btn{ width:auto; }
#bnv-page[data-engine="sh-page"] .sh-cta .btn-primary{ background:#fff; color:var(--ink-0); box-shadow:0 1px 2px rgba(0,0,0,.2),0 10px 30px rgba(0,0,0,.28); }
#bnv-page[data-engine="sh-page"] .sh-cta .btn-ghost{ background:transparent; color:#fff; border:1px solid var(--hair-on-dark-strong); }
#bnv-page[data-engine="sh-page"] .sh-cta .btn-ghost:hover{ background:rgba(255,255,255,.08); }
#bnv-page[data-engine="sh-page"] .sh-rv{ opacity:0; transform:translateY(14px); transition:opacity .6s var(--ease), transform .6s var(--ease); }
#bnv-page[data-engine="sh-page"] .sh-rv.in{ opacity:1; transform:none; }
@media(prefers-reduced-motion:reduce){ .sh-rv{ opacity:1; transform:none; transition:none; }}
@media(max-width:980px){#bnv-page[data-engine="sh-page"] .sh-grid{ grid-template-columns:repeat(2,1fr); }}
@media(max-width:860px){
  .sh-proof{ grid-template-columns:1fr; text-align:center; gap:26px; padding:38px 30px; }
.sh-hero{ padding:64px 0 48px; }
.sh-section{ padding:56px 0; }}
@media(max-width:640px){#bnv-page[data-engine="sh-page"] .sh-grid{ grid-template-columns:1fr; }
.sh-hero-meta{ gap:26px; }
.sh-step{ grid-template-columns:42px 1fr; gap:16px; padding:22px 22px; }
.sh-prose p:first-of-type::first-letter{ font-size:2.7em; }
.sh-status{ display:inline-flex; margin:10px 0 0; }}
html.rtl #bnv-page[data-engine="sh-page"] .sh-prose p:first-of-type::first-letter{ float:right; padding:8px 0 0 12px; }
html.rtl #bnv-page[data-engine="sh-page"] .sh-status{ margin-left:0; margin-right:14px; }
html.rtl #bnv-page[data-engine="sh-page"] .sh-step{ direction:rtl; }
html.rtl #bnv-page[data-engine="sh-page"] .sh-card::before{ transform-origin:right; }
html.rtl #bnv-page[data-engine="sh-page"] .sh-page .btn .arr, html.rtl #bnv-page[data-engine="sh-page"] .sh-rel-t .arr{ transform:scaleX(-1); }
html.rtl #bnv-page[data-engine="sh-page"] .sh-page .btn:hover .arr, html.rtl #bnv-page[data-engine="sh-page"] .sh-rel:hover .sh-rel-t .arr{ transform:scaleX(-1) translateX(3px); }
#bnv-page[data-engine="sh-page"] /* ════════════════════════════════════════════════════════════════════
   BINNOVY · EDITORIAL ARTICLE LAYER  ·  namespace .sh-art-
   Additive layer on top of the SH-1 detail engine. Turns an insight page
   from a "capability landing" shape into a proper article: a type-badged
   masthead (author · date · read time), #bnv-page[data-engine="sh-page"] a narrower reading measure, #bnv-page[data-engine="sh-page"] and
   the typed reading blocks the Hub already models (toc / prose / quote /
   keypoints). Scoped to sh-page so it only affects insight/detail pages.
   ════════════════════════════════════════════════════════════════════ */

/* Per-type accent — set inline on the article regions via style="--sh-accent:…".
   --art-c resolves at use-site (not frozen on .sh-page) so the per-page accent
   set on .sh-art-hero / .sh-art-body cascades into every block below. */

/* ── ARTICLE MASTHEAD ─────────────────────────────────────────────── */
.sh-art-hero{ position:relative; padding:72px 0 40px; border-bottom:1px solid var(--hair); overflow:hidden; background:var(--paper-0); }
#bnv-page[data-engine="sh-page"] .sh-art-hero .sh-wrap{ position:relative; max-width:initial; }
#bnv-page[data-engine="sh-page"] .sh-art-crumb .sep{ opacity:.4; }
#bnv-page[data-engine="sh-page"] /* type badge — color-coded pill, #bnv-page[data-engine="sh-page"] the visible signal of which insight type this is */
.sh-art-type{ display:inline-flex; align-items:center; gap:8px; font-family:var(--f-mono);
  font-size:11px; font-weight:600; letter-spacing:.12em; text-transform:uppercase; color:var(--sh-accent,#1c7ef5);
  background:color-mix(in srgb,var(--sh-accent,#1c7ef5) 10%,transparent); border:1px solid color-mix(in srgb,var(--sh-accent,#1c7ef5) 24%,transparent);
  padding:6px 12px; border-radius:100px; margin-bottom:22px; }
#bnv-page[data-engine="sh-page"] .sh-art-type svg{ width:14px; height:14px; }
#bnv-page[data-engine="sh-page"] .sh-art-h1{ font-family:var(--f-sans); font-size:clamp(32px,4.6vw,52px); font-weight:300;
  letter-spacing:-.03em; line-height:1.06; color:var(--ink-0); max-width:20ch; text-wrap:balance; margin:0; }
#bnv-page[data-engine="sh-page"] .sh-art-h1 em{ font-family:var(--f-serif); font-style:italic; font-weight:400; color:var(--sh-accent,#1c7ef5); }
#bnv-page[data-engine="sh-page"] .sh-art-meta{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:30px; padding-top:24px; border-top:1px solid var(--hair); }
#bnv-page[data-engine="sh-page"] .sh-art-byline{ display:flex; flex-direction:column; gap:2px; }
#bnv-page[data-engine="sh-page"] .sh-art-by-name{ font-size:14px; font-weight:600; color:var(--ink-0); letter-spacing:-.006em; }
#bnv-page[data-engine="sh-page"] .sh-art-by-role{ font-size:12.5px; color:var(--ink-5); }
#bnv-page[data-engine="sh-page"] .sh-art-dates{ display:flex; align-items:center; gap:14px; margin-left:auto; font-family:var(--f-mono);
  font-size:11.5px; letter-spacing:.04em; color:var(--ink-5); }
#bnv-page[data-engine="sh-page"] .sh-art-dates .dot{ width:3px; height:3px; border-radius:50%; background:var(--ink-6); }
@media(max-width:560px){ .sh-art-dates{ margin-left:0; width:100%; }}
#bnv-page[data-engine="sh-page"] .sh-art-body .sh-wrap{ max-width:initial; }
#bnv-page[data-engine="sh-page"] .sh-art-body .sh-section{ border-bottom:none; padding:30px 0; }
#bnv-page[data-engine="sh-page"] .sh-art-body .sh-section:first-child{ padding-top:48px; }
#bnv-page[data-engine="sh-page"] /* constrain reading blocks to the article measure, #bnv-page[data-engine="sh-page"] but let proof/metrics breathe full-width */
.sh-art-body .sh-prose, #bnv-page[data-engine="sh-page"] .sh-art-body .sh-keypoints, #bnv-page[data-engine="sh-page"] .sh-art-body .sh-quote, #bnv-page[data-engine="sh-page"] .sh-art-body .sh-toc, #bnv-page[data-engine="sh-page"] .sh-art-body .sh-sec-head{ width:min(760px, calc(100vw - var(--gutter)*2)); margin-inline:auto; }
#bnv-page[data-engine="sh-page"] .sh-art-body .sh-metrics, #bnv-page[data-engine="sh-page"] .sh-art-body .sh-related, #bnv-page[data-engine="sh-page"] .sh-art-body .sh-steps, #bnv-page[data-engine="sh-page"] .sh-art-body .sh-proof{ width:min(960px, calc(100vw - var(--gutter)*2)); margin-inline:auto; }
#bnv-page[data-engine="sh-page"] .sh-toc{ border:1px solid var(--hair); border-left:3px solid var(--sh-accent,#1c7ef5); border-radius:10px;
  background:var(--paper-1); padding:22px 26px; }
#bnv-page[data-engine="sh-page"] .sh-toc-label{ font-family:var(--f-mono); font-size:10.5px; font-weight:600; letter-spacing:.12em;
  text-transform:uppercase; color:var(--sh-accent,#1c7ef5); margin-bottom:14px; }
#bnv-page[data-engine="sh-page"] .sh-toc-list{ margin:0; padding:0 0 0 20px; display:flex; flex-direction:column; gap:9px; }
#bnv-page[data-engine="sh-page"] .sh-toc-list li{ font-size:15.5px; line-height:1.4; color:var(--ink-2); }
#bnv-page[data-engine="sh-page"] .sh-toc-list li::marker{ color:var(--sh-accent,#1c7ef5); font-family:var(--f-mono); font-size:12px; }
#bnv-page[data-engine="sh-page"] .sh-quote{ margin:8px auto; border-left:3px solid var(--sh-accent,#1c7ef5); padding:6px 0 6px 28px; }
#bnv-page[data-engine="sh-page"] .sh-quote-t{ font-family:var(--f-serif); font-style:italic; font-weight:400;
  font-size:clamp(22px,2.6vw,30px); line-height:1.4; color:var(--ink-0); letter-spacing:-.01em; margin:0 0 12px; }
#bnv-page[data-engine="sh-page"] .sh-quote-by{ display:flex; flex-direction:column; gap:2px; }
#bnv-page[data-engine="sh-page"] .sh-quote-name{ font-size:14px; font-weight:600; color:var(--ink-1); }
#bnv-page[data-engine="sh-page"] .sh-quote-role{ font-family:var(--f-mono); font-size:12px; color:var(--ink-5); }
#bnv-page[data-engine="sh-page"] .sh-keypoints{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:14px; }
#bnv-page[data-engine="sh-page"] .sh-keypoint{ display:grid; grid-template-columns:24px 1fr; gap:14px; align-items:start;
  font-size:17px; line-height:1.55; color:var(--ink-1); }
#bnv-page[data-engine="sh-page"] .sh-keypoint-mk{ width:24px; height:24px; border-radius:7px; flex:none; margin-top:1px; position:relative;
  background:color-mix(in srgb,var(--sh-accent,#1c7ef5) 14%,transparent); }
#bnv-page[data-engine="sh-page"] .sh-keypoint-mk::after{ content:''; position:absolute; left:8px; top:5px; width:6px; height:10px;
  border:solid var(--sh-accent,#1c7ef5); border-width:0 2px 2px 0; transform:rotate(45deg); }
#bnv-page[data-engine="sh-page"] .sh-art-body .sh-metrics{ display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:0;
  border:1px solid var(--hair); border-radius:14px; overflow:hidden; }
#bnv-page[data-engine="sh-page"] .sh-art-body .sh-metric{ padding:28px 26px; border-right:1px solid var(--hair); display:flex; flex-direction:column; gap:8px; }
#bnv-page[data-engine="sh-page"] .sh-art-body .sh-metric:last-child{ border-right:none; }
#bnv-page[data-engine="sh-page"] .sh-art-body .sh-metric-v{ font-family:var(--f-serif); font-style:italic; font-weight:400;
  font-size:clamp(34px,4.5vw,52px); line-height:1; color:var(--sh-accent,#1c7ef5); letter-spacing:-.01em; }
#bnv-page[data-engine="sh-page"] .sh-art-body .sh-metric-l{ font-family:var(--f-mono); font-size:11.5px; font-weight:500;
  letter-spacing:.05em; text-transform:uppercase; color:var(--ink-5); }
@media(max-width:560px){ .sh-art-body .sh-metric{ border-right:none; border-bottom:1px solid var(--hair); }
.sh-art-body .sh-metric:last-child{ border-bottom:none; }}
html.rtl #bnv-page[data-engine="sh-page"] .sh-art-body .sh-metric{ border-right:none; border-left:1px solid var(--hair); }
html.rtl #bnv-page[data-engine="sh-page"] .sh-art-body .sh-metric:last-child{ border-left:none; }
#bnv-page[data-engine="sh-page"] /* Metrics row (case-study results) — reuse SH-1 .sh-metrics tokens, #bnv-page[data-engine="sh-page"] add an art accent */
.sh-art-body .sh-metric-v{ color:var(--sh-accent,#1c7ef5); }
#bnv-page[data-engine="sh-page"] .sh-art-body .sh-prose.sh-art-lede p:first-of-type::first-letter{
  font-family:var(--f-serif); font-style:italic; font-size:3.4em; line-height:.8;
  float:left; padding:8px 14px 0 0; color:var(--sh-accent,#1c7ef5); }
@media(max-width:640px){
  .sh-art-body .sh-prose.sh-art-lede p:first-of-type::first-letter{ font-size:2.7em; }}
html.rtl #bnv-page[data-engine="sh-page"] .sh-art-dates{ margin-left:0; margin-right:auto; }
html.rtl #bnv-page[data-engine="sh-page"] .sh-toc{ border-left:none; border-right:3px solid var(--sh-accent,#1c7ef5); }
html.rtl #bnv-page[data-engine="sh-page"] .sh-toc-list{ padding:0 20px 0 0; }
html.rtl #bnv-page[data-engine="sh-page"] .sh-quote{ border-left:none; border-right:3px solid var(--sh-accent,#1c7ef5); padding:6px 28px 6px 0; }
html.rtl #bnv-page[data-engine="sh-page"] .sh-keypoint{ grid-template-columns:1fr 24px; }
html.rtl #bnv-page[data-engine="sh-page"] .sh-art-body .sh-prose.sh-art-lede p:first-of-type::first-letter{ float:right; padding:8px 0 0 14px; }
#bnv-page[data-engine="sh-page"] /* ════════════════════════════════════════════════════════════════════
   SHARED SLOTS (predefined, #bnv-page[data-engine="sh-page"] Hub-authored) — tags · category · topic ·
   inline image figures · PDF attachment block · dark band. Used across
   all 7 type templates so authoring is uniform; each type composes them
   differently. namespace continues .sh-art-*
   ════════════════════════════════════════════════════════════════════ */

/* tag / topic chips under the byline */
.sh-art-tags{ display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
#bnv-page[data-engine="sh-page"] .sh-art-figure{ margin:8px auto; }
#bnv-page[data-engine="sh-page"] .sh-art-figure .sh-art-frame{ position:relative; border-radius:16px; overflow:hidden; border:1px solid var(--hair);
  background:linear-gradient(135deg, var(--art-tint,var(--sh-tint,#e8f1ff)), color-mix(in srgb,var(--sh-accent,#1c7ef5) 8%, var(--paper-1)));
  aspect-ratio:16/9; display:grid; place-items:center; color:var(--sh-accent,#1c7ef5); }
#bnv-page[data-engine="sh-page"] .sh-art-figure img{ width:100%; height:100%; object-fit:cover; display:block; }
#bnv-page[data-engine="sh-page"] .sh-art-figure .sh-art-frame svg{ width:auto; height:70%; max-width:86%; color:color-mix(in srgb,var(--sh-accent,#1c7ef5) 80%,var(--ink-3)); opacity:.95; }
#bnv-page[data-engine="sh-page"] .sh-art-figcap{ font-family:var(--f-mono); font-size:11.5px; letter-spacing:.03em; color:var(--ink-5); margin-top:12px; text-align:center; }
#bnv-page[data-engine="sh-page"] .sh-art-dark h3 em, #bnv-page[data-engine="sh-page"] .sh-art-dark .grad{ font-family:var(--f-serif); font-style:italic; font-weight:400;
  background:linear-gradient(95deg,#c4b1ff,#7ec5ff 52%,#5ad9b8); -webkit-background-clip:text; background-clip:text; color:transparent; }