/* Beyond the Balance Sheet: page-curl book reader and contents.
   Every rule is scoped to .bbs (the <main> of /insights/beyond-the-balance-sheet/),
   so nothing here affects other pages. Loaded after styles.css and visual-layer.css. */
.bbs .meta-band{display:flex;flex-wrap:wrap;gap:8px 26px;font-size:14px;color:var(--muted);padding-block:16px;border-bottom:1px solid var(--line)}
.bbs .meta-band b{color:var(--fg);font-weight:600}
.bbs{--navy:#081e48; --ink:#10223e; --blue:#143fba; --gold:#c99a32; --gold-deep:#a77b20;
  --paper:#ffffff; --pale:#f3f5f8; --line:#d9dfe8; --muted:#5b6b82;
  --bg:#ffffff; --fg:#10223e; --surface:#f3f5f8;
  --room-1:#06173a; --room-2:#0c2b66; --room-fg:#e9eef8; --room-muted:#a9b6cf; --room-line:rgba(201,154,50,.28);
  --serif:Georgia,"Times New Roman",serif; --sans:Arial,"Helvetica Neue",Helvetica,sans-serif;}
.bbs *{box-sizing:border-box}
.bbs [hidden]{display:none!important}
.bbs :focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.bbs .meta{display:flex;flex-wrap:wrap;gap:8px 26px;margin:22px 0 0;padding:16px 0 0;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.bbs .meta b{color:var(--fg);font-weight:600}
.bbs .btn{font:600 14px var(--sans);border:1px solid var(--navy);background:var(--navy);color:#fff;padding:11px 18px;cursor:pointer;text-decoration:none;transition:color .2s}
.bbs .btn:hover{color:#f3d68a}
.bbs .btn.ghost{background:transparent;color:var(--ink);border-color:var(--line)}
.bbs .btn.ghost:hover{color:var(--blue);border-color:var(--blue)}
.bbs .room{position:relative;background:radial-gradient(900px 520px at 72% 18%,rgba(232,150,64,.22),transparent 60%),linear-gradient(180deg,var(--room-1),var(--room-2));color:var(--room-fg);border-top:4px solid var(--gold);overflow:hidden;overflow:clip}
.bbs .room:fullscreen{display:flex;flex-direction:column;justify-content:center}
.bbs .room .wrap{padding-block:18px 22px}
.bbs .now{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;min-height:44px}
.bbs .now .part{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--gold)}
.bbs .now .title{font-family:var(--serif);font-size:clamp(16px,1.8vw,20px);color:#fff;margin-top:2px;min-width:0}
.bbs .now .count{font-size:13px;color:var(--room-muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.bbs .stage{position:relative;height:min(76vh,780px);min-height:360px;display:flex;align-items:center;justify-content:center;touch-action:pan-y;user-select:none;-webkit-user-select:none}
.bbs .room:fullscreen .stage{height:calc(100vh - 170px)}
.bbs .book{position:relative;transition:transform .55s cubic-bezier(.3,.7,.2,1)}
.bbs .book::after{content:"";position:absolute;left:6%;right:6%;bottom:-26px;height:30px;background:radial-gradient(closest-side,rgba(0,0,0,.55),transparent);filter:blur(4px);z-index:-1}
.bbs #cv{position:absolute;display:block;pointer-events:none}
.bbs .book{cursor:pointer;touch-action:pan-y}
.bbs .controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:center;margin-top:14px}
.bbs .ctl{font:600 14px var(--sans);background:rgba(255,255,255,.06);color:#fff;border:1px solid rgba(255,255,255,.22);height:40px;min-width:40px;padding:0 14px;cursor:pointer;transition:color .2s,border-color .2s}
.bbs .ctl:hover:not(:disabled){color:#f3d68a;border-color:var(--gold)}
.bbs .ctl:disabled{opacity:.35;cursor:default}
.bbs .slider{flex:1 1 260px;max-width:460px;display:flex;align-items:center;gap:10px}
.bbs .slider input{width:100%;accent-color:var(--gold)}
.bbs .hint{font-size:12px;color:var(--room-muted);text-align:center;margin-top:10px}
@media (max-width:760px){
 .bbs .hint{display:none}
 .bbs .ctl.wide{display:none}
}
.bbs .drawer{position:absolute;top:0;right:0;bottom:0;width:min(440px,100%);background:#fbfaf7;color:#10223e;z-index:20;transform:translateX(100%);transition:transform .35s ease;display:flex;flex-direction:column;box-shadow:-20px 0 40px rgba(0,0,0,.35);padding-right:env(safe-area-inset-right,0px)}
.bbs .drawer.open{transform:none}
.bbs .drawer header{display:flex;align-items:center;gap:6px;padding:14px 16px;border-bottom:1px solid #e3ddd0}
.bbs .tab{font:600 13px var(--sans);letter-spacing:.06em;text-transform:uppercase;background:none;border:0;padding:8px 10px;color:#5b6b82;cursor:pointer;border-bottom:2px solid transparent}
.bbs .tab[aria-selected="true"]{color:#081e48;border-color:var(--gold)}
.bbs .close{margin-left:auto;font-size:22px;background:none;border:0;cursor:pointer;color:#10223e;width:36px;height:36px}
.bbs .pane{overflow:auto;flex:1;padding:6px 16px 24px}
.bbs .toc-part{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-deep);margin:20px 0 6px;font-weight:700;display:flex;justify-content:space-between}
.bbs .toc-part span{color:#10223e;letter-spacing:0;text-transform:none;font-family:var(--serif);font-size:15px;font-weight:400;margin-left:8px;flex:1}
.bbs .toc a{display:grid;grid-template-columns:28px minmax(0,1fr) 34px;gap:8px;padding:8px 6px;border-top:1px solid #ebe5d8;text-decoration:none;align-items:baseline}
.bbs .toc a:hover,.bbs .toc a.here{background:#f1ead9}
.bbs .toc .n{font-size:12px;color:var(--gold-deep);font-weight:700;font-variant-numeric:tabular-nums}
.bbs .toc .t{font-family:var(--serif);font-size:15px;line-height:1.35}
.bbs .toc .d{display:block;font-family:var(--sans);font-size:12px;color:#7a8698;margin-top:2px}
.bbs .toc .p{font-size:12px;color:#5b6b82;text-align:right;font-variant-numeric:tabular-nums}
.bbs .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:12px;padding-top:12px}
.bbs .thumb{border:0;padding:0;background:none;cursor:pointer;text-align:center;font:12px var(--sans);color:#5b6b82}
.bbs .thumb i{display:block;aspect-ratio:2/3;width:100%;background-image:url(thumbs.jpg);background-size:1600% 1500%;box-shadow:0 1px 3px rgba(0,0,0,.18);border:2px solid transparent}
.bbs .thumb.here i{border-color:var(--gold)}
.bbs .thumb:hover i{border-color:#143fba}
.bbs .about{padding-block:44px 56px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:48px}
.bbs .about h2{font-family:var(--serif);font-weight:400;font-size:28px;margin:0 0 12px;color:var(--ink)}
.bbs .about p{margin:0 0 14px;max-width:62ch}
.bbs .note{font-size:13px;color:var(--muted);border-left:3px solid var(--gold);padding:4px 0 4px 14px;margin-top:20px}
@media (max-width:860px){
 .bbs .about{grid-template-columns:1fr;gap:30px}
}
.bbs{--p1:#b8861f;--p2:#2f5fd0;--p3:#23805f;--p4:#b9502f;--p5:#6b7a90;--card:#ffffff;--card-line:#e3e7ee}
.bbs .inside{padding-block:52px 20px;background:var(--surface);border-bottom:1px solid var(--line)}
.bbs .inside-head{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:24px 40px;align-items:end}
.bbs .inside h2{font-family:var(--serif);font-weight:400;font-size:clamp(28px,3.4vw,40px);margin:0;color:var(--ink);line-height:1.1}
.bbs .inside .sub{margin:10px 0 0;color:var(--muted);max-width:60ch}
.bbs .search{display:grid;gap:6px;font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:700}
.bbs .search input{font:16px var(--sans);letter-spacing:0;text-transform:none;padding:11px 14px;border:1px solid var(--line);background:var(--bg);color:var(--fg);width:100%}
.bbs .search input:focus{outline:2px solid var(--gold);outline-offset:0;border-color:var(--gold)}
.bbs .timeline{margin:34px 0 0;background:var(--bg);border:1px solid var(--line);padding:18px 18px 12px}
.bbs .timeline figcaption{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:6px}
.bbs .tl-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}
.bbs #tl{display:block}
.bbs #tl .axis{stroke:var(--line)}
.bbs #tl .lane{fill:var(--surface)}
.bbs #tl text{font-family:var(--sans);fill:var(--muted);font-size:11px}
.bbs #tl .lane-label{fill:var(--fg);font-size:13px;font-family:var(--serif)}
.bbs #tl .lane-tag{font-size:10px;letter-spacing:.12em;font-weight:700}
.bbs #tl .dot{cursor:pointer}
.bbs #tl .dot circle{stroke:var(--bg);stroke-width:2;transition:r .15s}
.bbs #tl .dot text{fill:#fff;font-size:9.5px;font-weight:700;text-anchor:middle;dominant-baseline:central;pointer-events:none}
.bbs #tl .dot:hover circle,.bbs #tl .dot:focus circle{r:14}
.bbs #tl .dot:focus{outline:none}
.bbs #tl .dot:focus circle{stroke:var(--fg)}
.bbs #tl .dim{opacity:.18}
.bbs .tl-note{font-size:12px;color:var(--muted);margin:6px 0 0}
.bbs .tabs{display:flex;gap:4px;margin:30px 0 0;border-bottom:1px solid var(--line);overflow-x:auto}
.bbs .ptab{all:unset;cursor:pointer;padding:12px 16px 11px;border-bottom:3px solid transparent;display:grid;gap:2px;white-space:nowrap}
.bbs .ptab .k{font-size:11px;letter-spacing:.14em;font-weight:700;text-transform:uppercase}
.bbs .ptab .v{font-family:var(--serif);font-size:16px;color:var(--fg)}
.bbs .ptab[aria-selected="true"]{border-bottom-color:currentColor}
.bbs .ptab:focus-visible{outline:2px solid var(--gold)}
.bbs .ptab:not([aria-selected="true"]) .v{color:var(--muted)}
.bbs .part-panel{padding:26px 0 30px}
.bbs .part-intro{display:grid;grid-template-columns:200px minmax(0,1fr);gap:26px;align-items:center;margin-bottom:22px}
.bbs .part-art{height:150px;overflow:hidden;background:#081e48;position:relative}
.bbs .part-art img{width:100%;height:100%;object-fit:cover;object-position:50% 12%;display:block;transform:scale(1.06);transform-origin:40% 20%}
.bbs .part-intro h3{font-family:var(--serif);font-weight:400;font-size:clamp(22px,2.4vw,30px);margin:4px 0 6px;color:var(--ink)}
.bbs .part-intro .k{font-size:12px;letter-spacing:.14em;font-weight:700;text-transform:uppercase}
.bbs .part-intro p{margin:0;color:var(--muted)}
.bbs .part-intro .open{margin-top:12px}
.bbs .essays{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,330px),1fr));gap:14px}
.bbs .essay{all:unset;box-sizing:border-box;cursor:pointer;display:grid;grid-template-columns:58px minmax(0,1fr);gap:14px;padding:14px;background:var(--card);border:1px solid var(--card-line);border-top:3px solid var(--pc,var(--gold));transition:border-color .2s,transform .2s}
.bbs .essay:hover,.bbs .essay:focus-visible{border-color:var(--pc);transform:translateY(-2px)}
.bbs .essay:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.bbs .essay .th{display:block;width:58px;height:87px;background-image:url(thumbs.jpg);background-size:1600% 1500%;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.bbs .essay .meta2{display:flex;gap:10px;align-items:baseline;font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}
.bbs .essay .no{font-weight:700;color:var(--pc);letter-spacing:.04em}
.bbs .essay .et{font-family:var(--serif);font-size:16.5px;line-height:1.35;color:var(--fg);margin-top:4px;display:block}
.bbs .essay .go{font-size:12px;color:var(--blue);margin-top:8px;display:block}
.bbs .essay mark{background:rgba(201,154,50,.3);color:inherit}
.bbs .results-note{margin:0 0 16px;color:var(--muted)}
.bbs .three{list-style:none;margin:0;padding:0;display:grid;gap:14px;counter-reset:q}
.bbs .three li{counter-increment:q;display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:baseline;border-top:1px solid var(--line);padding-top:14px}
.bbs .three li::before{content:counter(q);font-family:var(--serif);font-size:28px;color:var(--gold-deep);line-height:1}
.bbs .three b{display:block;font-family:var(--serif);font-weight:400;font-size:19px;color:var(--ink)}
.bbs .three span{color:var(--muted);font-size:14px}
@media (max-width:760px){
 .bbs .inside-head{grid-template-columns:1fr}
 .bbs .part-intro{grid-template-columns:1fr}
 .bbs .part-art{height:120px}
}
@media (prefers-reduced-motion:reduce){
 .bbs .book,.bbs .drawer{transition:none}
}

/* Clear the site's sticky header when jumping to the reader or the contents */
.bbs #room,.bbs #inside{scroll-margin-top:84px}

/* Match the site's stable button colours and subtle hover tilt. */
.bbs .btn,.bbs .ctl{transition:transform .2s ease}
.bbs .btn.ghost,.bbs .btn.ghost:hover{background:var(--navy);color:#fff;border-color:var(--navy)}
.bbs .btn:hover{color:#fff}
.bbs .ctl:hover:not(:disabled){color:#fff;border-color:rgba(255,255,255,.22)}
.bbs .btn:hover,.bbs .ctl:hover:not(:disabled){transform:perspective(500px) rotateX(3deg) rotateY(-3deg) translateY(-1px)}
@media(prefers-reduced-motion:reduce){.bbs .btn:hover,.bbs .ctl:hover:not(:disabled){transform:none}}
