/**
 * Styles from the robot (with some modifications)
 */
.technology-report-2026 {
--mihr-blue:#00529B;
--mihr-blue-dark:#0E2C53;
--mihr-gold:#EEB311;
--mihr-orange:#ED8B00;
--mihr-purple:#60269E;
--mihr-teal:#007681;
--mihr-mauve:#874B52;
--mihr-green:#6BA43A;
--mihr-red:#AB192D;
--mihr-gray:#636569;
--ink:#16202b;
--paper:#ffffff;
--paper-soft:#f5f6f8;
--line:#e1e4e9;
--hint-blue: var(--mihr-blue);
--font-head:"Libre Franklin", sans-serif;
--font-body:"Libre Franklin", sans-serif;
}
.technology-report-2026 *{box-sizing:border-box;}
html{scroll-behavior:smooth;}
.technology-report-2026 {
margin:0; background:var(--paper-soft); color:var(--ink);
font-family:var(--font-body); font-size:15.5px; line-height:1.55;
}
.technology-report-2026 :is(h1,h2,h3,h4) { font-family:var(--font-head); text-transform:uppercase; letter-spacing:0.02em; }
.technology-report-2026 a{ color:var(--mihr-blue); }


/* ---------- masthead: bright corporate-blue ground (text zone, matches
 the very first draft), true gold corner triangle, dark-navy diagonal
 accent panel -- modelled on the guide's cover (brand guide pages 1 & 9). ---------- */
header.masthead{ position:relative; background:var(--mihr-blue); overflow:hidden; min-height:300px; }
.mh-wedge{
position:absolute; top:0; left:0; width:170px; height:170px;
background-color:var(--mihr-gold);
clip-path: polygon(0 0, 100% 0, 0 100%); /* true triangle, not a sheared block */
z-index:1;
}
.mh-panel{
position:absolute; top:0; bottom:0; right:-210px; width:200px;
background-color:var(--mihr-blue-dark); transform:skewX(-25deg); transform-origin:top left; z-index:1;
}
.masthead-inner{ position:relative; z-index:2; max-width:920px; margin:0; padding:44px 48px 40px; }
.logo-img{ height:70px; display:block; margin:0 0 28px 96px; }
.eyebrow{ font-size:16px; font-weight:700; letter-spacing:0.16em; color:var(--mihr-gold); margin:0 0 10px; }
h1.report-title{ font-size:clamp(28px,4vw,44px); margin:0 0 8px; line-height:1.12; max-width:880px; color:#fff; }
p.report-sub{ font-family:var(--font-body); font-size:16px; color:#fff; max-width:660px; margin:0; text-transform:none; letter-spacing:0; opacity:0.88; }

/* ---------- scroll freeze bar: title pins at top on scroll with a
 scroll-progress rule underneath (McKinsey MGI-style pattern) ---------- */
.scroll-freeze{
position:fixed; top:0; left:0; right:0; z-index:500;
background:var(--mihr-blue); box-shadow:0 2px 10px rgba(0,0,0,0.14);
transform:translateY(-100%); transition:transform 0.22s ease;
}
.scroll-freeze.show{ transform:translateY(0); }
.scroll-freeze-inner{
max-width:1180px; margin:0 auto; padding:15px 48px 13px;
display:flex; align-items:center; justify-content:space-between; gap:18px;
}
.sf-title{
font-family:var(--font-head); font-weight:700; font-size:19px;
letter-spacing:0.005em; color:#fff; text-transform:none;
white-space:nowrap; overflow:hidden; text-overflow:ellipsis; min-width:0; flex:1 1 auto;
}
.sf-flag{
font-family:var(--font-head); font-weight:700; font-size:11px; letter-spacing:0.09em;
text-transform:uppercase; color:var(--mihr-gold); white-space:nowrap; flex:0 0 auto; opacity:0.95;
}
.sf-methodology-link{
flex:0 0 auto; display:inline-flex; align-items:center; gap:8px;
font-family:var(--font-head); font-weight:700; font-size:12.5px; letter-spacing:0.04em;
text-transform:uppercase; color:var(--mihr-blue-dark); text-decoration:none;
background:var(--mihr-gold); border:1px solid var(--mihr-gold);
border-radius:999px; padding:7px 14px 6px; white-space:nowrap; cursor:default;
}
.sf-upcoming-tag{
font-family:var(--font-body); font-weight:700; font-size:9px; letter-spacing:0.06em;
text-transform:uppercase; color:var(--mihr-blue-dark); background:#fff;
border-radius:999px; padding:2px 8px 1px;
}
.scroll-freeze-track{ height:6px; background:rgba(255,255,255,0.22); }
.scroll-freeze-bar{ height:100%; width:0%; background:var(--mihr-gold); }
.scroll-freeze-section{ background:rgba(0,0,0,0.16); }
.scroll-freeze-section-inner{
max-width:1180px; margin:0 auto; padding:7px 48px;
font-family:var(--font-head); font-weight:700; font-size:12px; letter-spacing:0.08em;
text-transform:uppercase; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

/* ---------- page shell: sidebar TOC + scrolling content ---------- */
.shell{ display:flex; align-items:flex-start; justify-content: center; max-width:1440px; margin:0 auto; }
nav.toc{
--nav-toc-width: 300px;
width:var(--nav-toc-width); min-width:var(--nav-toc-width); max-width:var(--nav-toc-width); flex:0 0 var(--nav-toc-width);
position:sticky; top:0; align-self:flex-start;
height:100vh; overflow-y:auto; padding:26px 14px 40px 28px;
background:var(--paper-soft); border-right:1px solid var(--line);
transition:padding-top 0.15s ease;
}
.toc-head-row{ display:flex; align-items:center; justify-content:space-between; gap:8px; margin:0 0 14px; }
.toc-title{ font-size:11px; color:var(--mihr-gray); letter-spacing:0.12em; margin:0; }
.toc-toggle-btn{
font-family:var(--font-body); font-size:11px; font-weight:600; color:var(--mihr-gray);
background:#fff; border:1px solid var(--line); border-radius:6px; padding:4px 8px;
cursor:pointer; display:inline-flex; align-items:center; gap:5px; white-space:nowrap; flex-shrink:0;
}
.toc-toggle-btn:hover{ background:#eef1f4; color:var(--mihr-blue-dark); }

body.nav-collapsed nav.toc{
width:0; min-width:0; max-width:0; padding-left:0; padding-right:0; border-right:none; overflow:hidden;
}
.nav-reopen-btn{
display:none; position:fixed; left:16px; top:116px; z-index:600;
font-family:var(--font-body); font-size:12.5px; font-weight:600; color:var(--mihr-blue-dark);
background:#fff; border:1px solid var(--line); border-radius:8px; padding:9px 12px;
cursor:pointer; box-shadow:0 2px 10px rgba(0,0,0,0.14); align-items:center; gap:7px;
}
.nav-reopen-btn.show{ display:inline-flex; }
.nav-reopen-btn:hover{ background:var(--paper-soft); }

.toc-ch{ margin-bottom:4px; }
.toc-ch > a{
display:flex; gap:9px; align-items:baseline; padding:9px 10px; border-radius:6px;
text-decoration:none; color:var(--ink); font-family:var(--font-head); font-size:13.5px;
font-weight:600; text-transform:uppercase; letter-spacing:0.01em;
}
.toc-ch > a .n{ color:var(--mihr-blue); font-weight:700; font-size:12px; flex-shrink:0; }
.toc-ch > a:hover{ background:#eef1f4; }
.toc-ch.current > a{ background:#e8f0fb; color:var(--mihr-blue-dark); }
.toc-ch.current > a .n{ color:var(--mihr-blue-dark); }
.toc-ch.locked > a{ color:#aab0b6; cursor:default; pointer-events:none; }
.toc-ch.locked > a .n{ color:#aab0b6; }
.toc-sub{ list-style:none; margin:2px 0 10px 30px !important; padding:0; border-left:2px solid var(--line); }
.toc-sub li a{
display:block; padding:5px 0 5px 12px; font-size:12px; color:var(--mihr-gray); text-decoration:none;
text-transform:none; letter-spacing:0; font-family:var(--font-body);
}
.toc-sub li a:hover{ color:var(--mihr-blue); }
.toc-sub li.current a{ color:var(--mihr-blue); font-weight:700; border-left:2px solid var(--mihr-blue); margin-left:-2px; padding-left:12px; }

main.content{ flex:1; width:100%; min-width:0; padding:38px 4vw 120px 4vw; max-width:980px; }
section.chapter{ padding-top:6px; margin-bottom:78px; scroll-margin-top:100px; min-width:0; }
section.chapter + section.chapter{ border-top:1px solid var(--line); padding-top:50px; }

.section-head{
font-family:var(--font-head); font-weight:700; font-size:15px; letter-spacing:0.09em;
text-transform:uppercase; color:var(--mihr-blue); margin:0 0 22px;
}

.card{ background:#fff; border:1px solid var(--line); border-radius:12px; padding:24px 26px 22px; margin-bottom:30px; box-shadow:0 1px 3px rgba(0,0,0,0.04); scroll-margin-top:100px; min-width:0; }
.card h3{ font-size:16px; margin:0 0 4px; color:var(--ink); }
.card .card-sub{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:12.5px; color:var(--mihr-gray); margin:0 0 16px !important; }

.fig-download-btn{ flex-shrink:0; display:inline-flex; align-items:center; gap:6px; font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:11.5px; font-weight:600; color:var(--mihr-blue); background:#fff; border:1.3px solid var(--mihr-blue); border-radius:6px; padding:6px 12px; cursor:pointer; white-space:nowrap; transition:background .12s,color .12s; }
.fig-download-btn:hover{ background:var(--mihr-blue); color:#fff; }
.fig-download-btn svg{ width:12px; height:12px; flex-shrink:0; }
.fig-download-btn.is-busy{ opacity:0.6; pointer-events:none; }
@media (max-width:560px){ .fig-download-btn{ align-self:flex-end; } }

.scenario-toggle{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; background:var(--paper-soft); border-radius:10px; padding:14px 18px; margin:0 0 20px; }
.scenario-toggle .st-label{ font-family:var(--font-head); font-weight:700; font-size:11px; letter-spacing:0.1em; text-transform:uppercase; color:var(--mihr-gray); white-space:nowrap; }
.scenario-toggle .st-btns{ display:flex; gap:8px; flex-wrap:wrap; }
.scenario-toggle .st-btn{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:12.5px; font-weight:600; color:var(--mihr-blue); background:#fff; border:1.3px solid var(--mihr-blue); border-radius:999px; padding:7px 16px; cursor:pointer; transition:background .12s,color .12s; }
.scenario-toggle .st-btn:hover{ background:#eaf1fa; }
.scenario-toggle .st-btn.active{ background:var(--mihr-blue); color:#fff; }
@media (max-width:560px){ .scenario-toggle{ flex-direction:column; align-items:flex-start; } }

.key-findings{ display:flex; gap:14px; align-items:flex-start; background:var(--paper-soft); border-left:4px solid var(--mihr-gold); border-radius:8px; padding:13px 18px; margin:0 0 20px !important; }
.key-findings .kf-label{ font-family:var(--font-head); font-weight:700; font-size:10.5px; letter-spacing:0.12em; text-transform:uppercase; color:var(--mihr-blue-dark); flex-shrink:0; padding-top:2px; white-space:nowrap; }
.key-findings .kf-text{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:13.5px; line-height:1.55; color:var(--ink); margin:0; }
.key-findings .kf-text strong{ color:var(--mihr-blue-dark); }
@media (max-width:560px){ .key-findings{ flex-direction:column; gap:4px; } }

/* ---------- Figure name + subtitle, relocated into the grey chart wrap itself ---------- */
.fig-wrap-head{ margin:0 0 2px; }
.fig-wrap-head .fig-name{ font-family:var(--font-head); font-weight:700; font-size:13.5px; letter-spacing:0.025em; text-transform:uppercase; color:var(--ink); margin:0 0 5px !important; }
.fig-wrap-head .card-sub{ margin:0 0 8px !important; }
/* ---------- Interaction hint line: "click to expand", "search", etc, pulled out of the
 subtitle into their own line with a consistent icon + light-blue colour ---------- */
.hint-line{ display:flex; align-items:center; gap:6px; font-family:var(--font-body); font-size:12.5px; font-weight:600; color:var(--hint-blue); margin:0 0 16px; }
.hint-line .hint-icon{ display:inline-flex; align-items:center; justify-content:center; width:15px; height:15px; border-radius:50%; background:var(--hint-blue); color:#fff; font-size:10px; font-weight:800; font-style:normal; flex-shrink:0; }

/* ---------- Figure lead: headline + finding text that leads each figure card ---------- */
.figure-lead{ margin:0 0 24px; padding:2px 0 2px 22px; border-left:5px solid var(--mihr-gold); }
.figure-lead .fl-headline{ font-family:var(--font-head); text-transform:none; letter-spacing:0.002em; font-weight:700; font-size:clamp(25px,3.4vw,34px); line-height:1.16; color:var(--mihr-blue-dark); margin:0 0 14px; }
.figure-lead .fl-text{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:16.5px; line-height:1.65; color:var(--ink); max-width:760px; margin:0; }
.figure-lead .fl-text strong{ color:var(--mihr-blue-dark); }
.figure-lead .fl-text + .fl-text{ margin-top:12px; }
@media (max-width:560px){ .figure-lead{ padding-left:16px; } }

/* ---------- At-a-glance summary grid (Introduction) / Takeaways: collapsible cards ---------- */
.aag-grid{ display:flex; flex-direction:column; gap:10px; margin-bottom:2px; }
.aag-card{ background:#fff; border:1px solid var(--line); border-left:4px solid var(--mihr-gold); border-radius:10px; overflow:hidden; }
.aag-card summary{
list-style:none; cursor:pointer; padding:14px 18px;
display:flex; align-items:center; justify-content:space-between; gap:10px;
}
.aag-card summary::-webkit-details-marker{ display:none; }
.aag-card summary::marker{ content:""; }
.aag-card .aag-headline{ font-family:var(--font-head); text-transform:none; letter-spacing:0.002em; font-weight:700; font-size:15px; line-height:1.32; color:var(--mihr-blue-dark); margin:0;  min-width:0; flex:1 1 auto; }
.aag-card .chevron{ display:inline-block; font-size:17px; color:var(--mihr-gold); transition:transform 0.18s ease; flex-shrink:0; }
.aag-card[open] summary .chevron{ transform:rotate(90deg); }
.aag-card .aag-body{ padding:0 18px 16px; }
.aag-card .aag-text{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:13.5px; line-height:1.55; color:var(--ink); margin:0; }
.aag-card .aag-text + .aag-text{ margin-top:10px; }
.aag-card .aag-text strong{ color:var(--mihr-blue-dark); }

/* ---------- Takeaways bookend: closing line below the white takeaways card ---------- */
.kf-bookend{ font-family:var(--font-head); font-weight:700; font-size:15px; line-height:1.4; color:var(--mihr-blue-dark); text-transform:none; letter-spacing:0.002em; margin:14px 0 0; text-align:left; }

/* ---------- Report Key Findings (Introduction): static cards, no accordion ---------- */
.kf-scope-list{ list-style:none; margin:0 0 16px !important; padding:0; display:flex; flex-direction:column; gap:6px; }
.kf-scope-list li{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:13px; line-height:1.5; color:var(--ink); padding-left:15px; position:relative; }
.kf-scope-list li::before{ content:"\2022"; position:absolute; left:0; color:var(--mihr-gold); font-weight:700; }
.kf-grid{ display:flex; flex-direction:column; gap:10px; margin-bottom:2px; }
.kf-card{ background:#fff; border:1px solid var(--line); border-left:4px solid var(--mihr-gold); border-radius:10px; padding:14px 18px 16px; }
.kf-card .kf-headline{ font-family:var(--font-head); text-transform:none; letter-spacing:0.002em; font-weight:700; font-size:15px; line-height:1.32; color:var(--mihr-blue-dark); margin:0 0 6px; }
.kf-card .kf-text{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:13.5px; line-height:1.55; color:var(--ink); margin:0; }
.kf-card .kf-text em{ font-style:italic; }

/* ---------- Nine themes: pop-out cards (click a heading; it pops out over the
 grid on its own navy panel, like a Jeopardy reveal, while the rest of the grid
 stays visible but muted behind it) ---------- */
.flip-list{ position:relative; display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); gap:14px; margin-bottom:8px; }
.flip-list.has-expanded > .theme-card{ transition:opacity 0.2s ease, filter 0.2s ease; }
.flip-list.has-expanded > .theme-card:not(.is-expanded){ opacity:0.28; filter:grayscale(45%); pointer-events:none; }
.theme-card{ background:#fff; border:1px solid var(--line); border-left:4px solid var(--mihr-green); border-radius:10px; overflow:hidden; }
.theme-card.is-expanded{
position:absolute; inset:0; margin:auto; width:640px; max-width:92%; height:fit-content; max-height:100%;
overflow-y:auto; z-index:5; border:none; border-left:4px solid var(--mihr-green);
background:var(--mihr-blue-dark); color:#fff; box-shadow:0 14px 36px rgba(0,40,85,0.35);
animation:themePop 0.22s ease;
}
@keyframes themePop{ from{ opacity:0; transform:scale(0.96); } to{ opacity:1; transform:scale(1); } }
.theme-head{
all:unset; box-sizing:border-box; cursor:pointer; width:100%; height:140px; padding:16px 18px;
display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
}
.theme-head h4{ font-size:15px; margin:0; color:var(--mihr-blue-dark); font-weight:700; text-transform:none; letter-spacing:0; line-height:1.35; }
.theme-hint{ font-size:10.5px; color:var(--mihr-gray); text-transform:uppercase; letter-spacing:0.06em; }
.theme-card.is-expanded .theme-head{ display:none; }
.theme-expand{ display:none; padding:26px 30px 30px; }
.theme-card.is-expanded .theme-expand{ display:block; }
.theme-close{
all:unset; cursor:pointer; display:inline-flex; align-items:center; gap:6px; margin-bottom:18px;
font-family:var(--font-body); font-size:11.5px; font-weight:700; color:var(--mihr-green);
text-transform:uppercase; letter-spacing:0.06em;
}
.theme-close::before{ content:"\2190"; font-size:13px; }
.theme-expand-title{
font-family:var(--font-head); text-transform:none; letter-spacing:0.002em; font-weight:700;
font-size:clamp(21px,2.5vw,27px); line-height:1.24; color:#fff; margin:0 0 16px;
}
.theme-expand p{ font-size:15.5px; line-height:1.65; color:#fff; text-transform:none; letter-spacing:0; margin:0 0 14px; }
.theme-expand p:last-child{ margin-bottom:0; }
@media (max-width:560px){
.theme-head{ height:auto; min-height:110px; }
.theme-expand{ padding:20px 20px 24px; }
.theme-card.is-expanded{ position:static; width:auto; max-width:none; margin:14px 0 0; }
}

.scrollx{ max-height:560px; overflow-y:auto; overflow-x:auto; min-width:0; }

/* ---------- Table 1 explorer: sideways tree diagram ---------- */
.tt-controls{ display:flex; flex-wrap:wrap; gap:10px 12px; align-items:center; margin-bottom:14px; }
.tt-search{ position:relative; flex:1; min-width:220px; }
.tt-search input{ width:100%; padding:10px 14px; font-size:13.5px; border:1px solid #c8c1b0; border-radius:8px; font-family:var(--font-body); background:#fff; }
.tt-search input:focus{ outline:none; border-color:var(--mihr-blue); box-shadow:0 0 0 3px rgba(0,82,155,0.12); }
.tt-tree-actions{ display:flex; gap:8px; flex-shrink:0; }
.tt-expand-btn{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:11.5px; font-weight:600; color:var(--mihr-blue); background:#fff; border:1.3px solid var(--mihr-blue); border-radius:6px; padding:6px 13px; cursor:pointer; white-space:nowrap; transition:background .12s,color .12s; }
.tt-expand-btn:hover{ background:var(--mihr-blue); color:#fff; }
.tt-count{ font-size:12px; color:var(--mihr-gray); margin:0 0 12px; }
.cat-dot{ display:inline-block; width:9px; height:9px; border-radius:50%; margin-right:6px; flex-shrink:0; }

.tt-tree{ position:relative; background:var(--paper-soft); border-radius:12px; padding:20px 20px 22px; overflow:hidden; }
.tt-tree-links{ position:absolute; top:0; left:0; pointer-events:none; z-index:1; }
.tt-tree-cols{ display:flex; align-items:flex-start; position:relative; z-index:2; }
.tt-col{ min-width:0; }
/* default (list) mode: just the full-width category list, columns 2/3 not shown yet */
.tt-col1{ flex:1 1 100%; max-width:none; margin-right:0; }
.tt-col2, .tt-col3{ display:none; }
/* branch (tree) mode, once a category is open or a search is active */
.tt-tree--branch .tt-col1{ flex:1 1 0; max-width:250px; margin-right:5%; }
.tt-tree--branch .tt-col2{ display:block; flex:1 1 0; max-width:270px; margin-right:5%; }
.tt-tree--branch .tt-col3{ display:block; flex:1.3 1 0; max-width:380px; }
.tt-node{ background:#fff; border:1px solid var(--line); border-radius:8px; padding:10px 28px 10px 13px; margin-bottom:9px; cursor:pointer; position:relative; transition:box-shadow .12s; overflow-wrap:break-word; word-break:break-word; }
.tt-node:hover{ box-shadow:0 2px 8px rgba(0,0,0,.07); }
.tt-node .tt-node-title{ font-family:var(--font-head); font-weight:700; font-size:13px; text-transform:none; letter-spacing:0.005em; color:var(--ink); line-height:1.32; }
.tt-node .tt-node-func{ font-family:var(--font-body); font-size:11px; text-transform:none; letter-spacing:0; color:var(--mihr-gray); line-height:1.4; margin-top:4px; }
.tt-node .tt-node-meta{ font-family:var(--font-body); font-size:10.5px; text-transform:none; letter-spacing:0; color:var(--mihr-gray); margin-top:4px; }
.tt-node .tt-chev{ position:absolute; right:9px; top:50%; transform:translateY(-50%); font-size:16px; color:var(--mihr-gray); transition:transform .15s ease; }
.tt-node.is-open .tt-chev{ transform:translateY(-50%) rotate(90deg); }
.tt-node.is-open{ box-shadow:0 2px 8px rgba(0,0,0,.09); }
.tt-node-cat{ border-left:5px solid #ccc; }
.tt-node-cluster{ border-left:4px solid #ccc; }
.tt-node-grain{ border-left:3px solid #ccc; }
.tt-node-grain .tt-def{ display:none; font-family:var(--font-body); font-size:12px; text-transform:none; letter-spacing:0; color:#374151; line-height:1.55; margin-top:8px; padding-top:8px; border-top:1px dashed var(--line); }
.tt-node-grain.is-open .tt-def{ display:block; }
/* list mode: category rows get a bit more room to breathe since they're full-width */
.tt-tree:not(.tt-tree--branch) .tt-node-cat{ padding:13px 34px 13px 17px; }
.tt-tree:not(.tt-tree--branch) .tt-node-cat .tt-node-title{ font-size:15px; }
.tt-tree:not(.tt-tree--branch) .tt-node-cat .tt-node-func{ font-size:13px; margin-top:5px; }
.tt-tree:not(.tt-tree--branch) .tt-node-cat .tt-node-meta{ font-size:11px; margin-top:6px; }
.tt-group-label{ font-family:var(--font-head); font-weight:700; font-size:10.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--mihr-gray); margin:16px 0 8px; }
.tt-group-label:first-child{ margin-top:0; }
.tt-tree mark{ background:#fff0b3; padding:0 1px; border-radius:2px; }
.tt-empty-hint{ font-family:var(--font-body); font-size:12.5px; text-transform:none; letter-spacing:0; color:var(--mihr-gray); font-style:italic; padding:6px 2px; }
@media (max-width:860px){
.tt-tree-cols{ flex-direction:column; }
.tt-tree--branch .tt-col1, .tt-tree--branch .tt-col2, .tt-tree--branch .tt-col3{ flex:1 1 auto; max-width:none; width:100%; margin-right:0; margin-top:0 !important; margin-bottom:18px; }
.tt-tree--branch .tt-col2, .tt-tree--branch .tt-col3{ display:block; }
.tt-tree-links{ display:none; }
}

/* ---------- Chapter 2 / Figure 2: four-channels grid (2x2) ---------- */
.fig2-grid{ display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-bottom:10px; }
.fig2-card{ --accent:var(--mihr-blue); display:flex; flex-direction:column; align-items:center; text-align:center; background:#fff; border:1px solid var(--line); border-top:4px solid var(--accent); border-radius:10px; padding:18px 18px 16px; }
.fig2-card.chan-automation{ --accent:var(--mihr-red); }
.fig2-card.chan-augmentation{ --accent:var(--mihr-blue); }
.fig2-card.chan-reconfiguration{ --accent:var(--mihr-green); }
.fig2-card.chan-taskcreation{ --accent:#1a1a1a; border-top-style:dashed; }
.fig2-card .fig2-tag{ display:inline-block; font-family:var(--font-head); font-size:9.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent); background:rgba(0,0,0,0.05); border-radius:999px; padding:3px 9px; margin-bottom:10px; }
.fig2-card .fig2-icon{ width:44px; height:44px; border-radius:50%; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; }
.fig2-card .fig2-icon svg{ width:22px; height:22px; }
.fig2-card h4{ font-size:15px; margin:0 0 7px; color:var(--ink); }
.fig2-card .fig2-def{ font-size:12.5px; text-transform:none; letter-spacing:0; color:var(--ink); line-height:1.5; margin:0 0 12px; }
.fig2-card .fig2-practice{ background:var(--paper-soft); border-radius:8px; padding:10px 12px; margin:0 0 14px; width:100%; text-align:center; }
.fig2-card .fig2-practice-label{ font-family:var(--font-head); font-size:9.5px; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; color:var(--mihr-gray); margin:0 0 4px; text-align:center; }
.fig2-card .fig2-practice-text{ font-size:12px; line-height:1.5; color:var(--ink); margin:0; text-align:center; }
.fig2-card .fig2-practice-text strong{ color:var(--ink); }
.fig2-badge{ display:inline-flex; align-items:center; gap:5px; align-self:center; font-family:var(--font-head); font-size:11px; font-weight:700; border-radius:999px; padding:5px 12px; }
.fig2-badge-change{ background:#fbecc7; color:#8a6209; }
.fig2-badge-change .star{ color:var(--mihr-gold); }
.fig2-badge-steady{ background:var(--paper-soft); color:var(--mihr-gray); }
.fig2-caption{ text-align:center; font-size:11px; color:var(--mihr-gray); margin:2px 0 14px; }
.fig-source{ font-size:11px; color:var(--mihr-gray); margin:12px 0 0; line-height:1.4; }

/* ---------- Chapter 2 / Figure 3: mirrored bar chart ---------- */
.fig3-wrap{ background:var(--paper-soft); border-radius:12px; padding:22px 22px 16px; min-width:0; }
.fig3-wrap svg{ display:block; width:100%; min-width:0; height:auto; }
.fig3-wrap svg text{ font-family:var(--font-body); }
.fig3-legend{ display:flex; gap:18px; flex-wrap:wrap; justify-content:center; margin:8px 0 16px; font-size:11.5px; color:var(--mihr-gray); }
.fig3-legend .item{ display:flex; align-items:center; gap:6px; }
.fig3-legend .swatch{ width:12px; height:12px; border-radius:2px; flex-shrink:0; }
/* ---------- Figure 3 & 6: occupation search / category filter ---------- */
.mh-filter{ position:relative; margin:0 0 16px; }
.mh-filter-bar{ display:flex; align-items:center; gap:8px; }
.mh-filter-input{ flex:1; min-width:0; padding:10px 14px; font-size:13.5px; border:1px solid #c8c1b0; border-radius:8px; font-family:var(--font-body); color:var(--ink); background:#fff; }
.mh-filter-input:focus{ outline:none; border-color:var(--mihr-blue); box-shadow:0 0 0 3px rgba(0,82,155,0.12); }
.mh-filter-clear{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:11.5px; font-weight:600; color:var(--mihr-blue); background:#fff; border:1.3px solid var(--mihr-blue); border-radius:6px; padding:6px 13px; cursor:pointer; white-space:nowrap; transition:background .12s,color .12s; flex-shrink:0; }
.mh-filter-clear:hover{ background:var(--mihr-blue); color:#fff; }
.mh-filter-menu{ position:absolute; top:calc(100% + 4px); left:0; right:0; background:#fff; border:1px solid var(--line); border-radius:10px; box-shadow:0 8px 24px rgba(16,24,40,0.14); max-height:320px; overflow-y:auto; z-index:20; padding:8px 0; text-align:left; }
.mh-filter-group-label{ font-family:var(--font-head); font-weight:700; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--mihr-gray); padding:8px 14px 4px; }
.mh-filter-item{ display:flex; align-items:center; gap:9px; padding:6px 14px; cursor:pointer; font-size:13.5px; color:var(--ink); font-family:var(--font-body); }
.mh-filter-item:hover{ background:var(--paper-soft); }
.mh-filter-item input[type="checkbox"]{ width:15px; height:15px; flex-shrink:0; accent-color:var(--mihr-blue); cursor:pointer; }
.mh-filter-item .mh-swatch{ width:10px; height:10px; border-radius:50%; flex-shrink:0; }
.mh-filter-empty{ padding:10px 14px; font-size:13px; color:var(--mihr-gray); font-style:italic; font-family:var(--font-body); }
.mh-filter-chips{ display:flex; flex-wrap:wrap; gap:6px; margin-top:8px; justify-content:flex-start; }
.mh-filter-chip{ display:flex; align-items:center; gap:5px; background:#fff; border:1px solid var(--line); border-radius:999px; padding:4px 6px 4px 10px; font-size:12px; color:var(--ink); font-family:var(--font-body); }
.mh-filter-chip button{ border:none; background:none; cursor:pointer; color:var(--mihr-gray); font-size:15px; line-height:1; padding:0 2px; }
.mh-filter-chip button:hover{ color:var(--mihr-red); }
/* ---------- Chapter 2 / Figure 4 + 5: scatter + beeswarm bubble charts ---------- */
.fig4-wrap, .fig5-wrap{ background:var(--paper-soft); border-radius:12px; padding:22px 22px 16px; min-width:0; position:relative; }
.fig4-wrap svg, .fig5-wrap svg{ display:block; width:100%; min-width:0; height:auto; }
.fig4-wrap svg text, .fig5-wrap svg text{ font-family:var(--font-body); }
.fig-legend-row{ display:flex; justify-content:space-between; align-items:flex-end; flex-wrap:wrap; gap:16px 24px; margin-top:14px; padding-top:14px; border-top:1px solid var(--line); }
.cat-legend{ display:flex; gap:14px; flex-wrap:wrap; }
.cat-legend .item{ display:flex; align-items:center; gap:6px; font-size:11px; color:var(--mihr-gray); padding:3px 6px; }
.cat-legend .swatch{ width:11px; height:11px; border-radius:50%; flex-shrink:0; }
.size-legend{ display:flex; align-items:flex-end; gap:12px; }
.size-legend .sl-title{ font-family:var(--font-head); font-size:9.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--mihr-gray); align-self:center; margin-right:2px; }
.size-legend .sl-item{ display:flex; flex-direction:column; align-items:center; gap:4px; }
.size-legend .sl-circle{ border-radius:50%; border:1.4px solid var(--mihr-gray); background:none; }
.size-legend .sl-label{ font-size:9.5px; color:var(--mihr-gray); }
.chart-tooltip{ position:fixed; display:none; pointer-events:none; z-index:999; padding:7px 11px; border-radius:6px; font-size:11.5px; line-height:1.5; color:#1f2937; border:1.4px solid #9ca3af; background:#ffffff; box-shadow:0 3px 12px rgba(17,24,39,0.18); max-width:260px; font-family:var(--font-body); }
.chart-tooltip strong{ color:#111827; }

/* ---------- footer: corporate bar with angled "dot" cornerstone ---------- */
footer.sitefoot{ background:var(--mihr-blue-dark); color:#fff; padding:18px 48px 18px calc(260px + 48px); transition:padding-left 0.15s ease; }
body.nav-collapsed footer.sitefoot{ padding-left:48px; }
.foot-inner{ max-width:980px; display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:10px; font-size:12px; }
.foot-inner .fw{ display:flex; align-items:center; font-family:var(--font-head); font-weight:700; letter-spacing:0.08em; }

@media (max-width:860px){
.shell{ flex-direction:column; }
nav.toc{ position:relative; width:100%; height:auto; max-height:220px; padding:16px 5vw; border-right:none; border-bottom:1px solid var(--line); }
body.nav-collapsed nav.toc{ display:none; width:auto; min-width:0; max-width:none; }
.nav-reopen-btn{ top:116px; }
main.content{ padding:28px 5vw 100px; max-width:none; }
footer.sitefoot{ padding:20px 5vw; }
.fig2-grid{ grid-template-columns:1fr; }
.fig3-wrap svg{ min-width:760px; }
.fig4-wrap svg, .fig5-wrap svg{ min-width:760px; }
}

/* ---------- Table 2: scoring framework cards (Figure 2 channel-card style) ---------- */
.rubric-section{ margin-bottom:22px; }
.rubric-section-label{ display:flex; align-items:baseline; gap:8px; font-family:var(--font-head); font-weight:700; font-size:12px; letter-spacing:0.1em; margin:0 0 10px !important; flex-wrap:wrap; }
.rubric-section-label.accel{ color:var(--mihr-green); }
.rubric-section-label.decel{ color:var(--mihr-red); }
.rubric-section-label .rs-note{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-weight:400; font-size:11.5px; color:var(--mihr-gray); }
.rubric-grid{ display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:14px; margin-bottom:6px; }
.rf-card{ --accent:var(--mihr-gray); display:flex; flex-direction:column; align-items:center; text-align:center; background:#fff; border:1px solid var(--line); border-top:4px solid var(--accent); border-radius:10px; padding:18px 16px 16px; }
.rf-card.accel{ --accent:var(--mihr-green); }
.rf-card.decel{ --accent:var(--mihr-red); }
.rf-tag{ display:inline-block; font-family:var(--font-head); font-size:9.5px; font-weight:700; letter-spacing:0.06em; text-transform:uppercase; color:var(--accent); background:rgba(0,0,0,0.05); border-radius:999px; padding:3px 9px; margin-bottom:10px; }
.rf-icon{ width:44px; height:44px; border-radius:50%; background:var(--accent); color:#fff; display:flex; align-items:center; justify-content:center; margin-bottom:12px; flex-shrink:0; }
.rf-icon svg{ width:22px; height:22px; }
.rf-name{ font-family:var(--font-head); font-weight:700; font-size:14.5px; letter-spacing:0.01em; color:var(--ink); text-transform:none; margin:0 0 7px; }
.rf-def{ font-family:var(--font-body); text-transform:none; letter-spacing:0; font-size:12.5px; color:var(--ink); line-height:1.5; margin:0; }

/* ---------- Table 3: category / cluster scorecard ---------- */
.t3-wrap{ min-width:0; }
.t3-chart-wrap, .chart-grey-wrap{ background:var(--paper-soft); border-radius:12px; padding:20px 22px 16px; min-width:0; }
.t3-table{ width:100%; border-collapse:collapse; min-width:0; font-size:12px; }
.t3-table th{ text-align:left; font-family:var(--font-head); font-weight:700; font-size:8.8px; letter-spacing:0.03em; color:var(--mihr-gray); padding:0 4px 8px 2px; vertical-align:bottom; text-transform:uppercase; }
.t3-table th.grp-accel-label{ color:var(--mihr-green); font-size:10px; padding-bottom:6px; }
.t3-table th.grp-decel-label{ color:var(--mihr-red); font-size:10px; padding-bottom:6px; }
.t3-table th.divide, .t3-table td.divide{ border-left:1px solid var(--line); padding-left:12px; }
.t3-table thead tr:last-child th{ border-bottom:2px solid var(--line); padding-bottom:8px; }
.t3-namecol{ width:160px; min-width:150px; }
.t3-table td{ padding:6px 4px 6px 2px; border-bottom:1px solid var(--line); vertical-align:middle; }
.t3-cat-row{ cursor:pointer; }
.t3-cat-row:hover{ background:#f4f6f4; }
.t3-cat-row td.t3-namecol{ font-family:var(--font-head); font-weight:700; font-size:13px; color:var(--ink); display:flex; align-items:center; gap:8px; }
.t3-cat-row .chevron{ font-size:16px; color:var(--mihr-blue); transition:transform 0.18s ease; display:inline-block; }
.t3-cat-row .chevron.open{ transform:rotate(90deg); }
.t3-clu-row td.t3-clu-name{ padding-left:22px; font-style:italic; color:var(--mihr-gray); font-size:12.5px; display:flex; align-items:center; gap:5px; }
.t3-clu-row{ background:var(--paper-soft); cursor:pointer; }
.t3-clu-row:hover{ background:#eef0ea; }
.t3-clu-row .chevron{ font-size:12px; color:var(--mihr-gray); transition:transform 0.18s ease; display:inline-block; flex-shrink:0; }
.t3-clu-row .chevron.open{ transform:rotate(90deg); }
.t3-tech-row td.t3-tech-name{ padding-left:44px; font-style:normal; color:var(--ink); font-size:11.5px; }
.t3-tech-row{ background:rgba(255,255,255,0.6); }
.t3-tech-row:hover{ background:#fff; }
.t3-chart-wrap mark{ background:#fff0b3; padding:0 1px; border-radius:2px; }
.t3-cell{ padding-left:6px !important; }
.t3-dots{ display:inline-flex; gap:3px; align-items:center; vertical-align:middle; }
.t3-dot{ width:9px; height:9px; border-radius:50%; display:inline-block; border:1.3px solid #d3d6cd; background:transparent; flex:none; }
.t3-dot.full.accel{ background:var(--mihr-green); border-color:var(--mihr-green); }
.t3-dot.full.decel{ background:var(--mihr-red); border-color:var(--mihr-red); }
.t3-dot.half.accel{ background:linear-gradient(90deg, var(--mihr-green) 50%, transparent 50%); border-color:#d3d6cd; }
.t3-dot.half.decel{ background:linear-gradient(90deg, var(--mihr-red) 50%, transparent 50%); border-color:#d3d6cd; }
.t3-legend{ font-size:11.5px; color:var(--mihr-gray); margin:12px 0 14px; display:flex; align-items:center; gap:6px; flex-wrap:wrap; }

@media (max-width:560px){
.rubric-grid{ grid-template-columns:1fr; }
}