/* ==========================================================================
   tb-switchbar.css - THE PERSONAL | BUSINESS STRIP, FOR THE PERSONAL SITE.
   2026-09-25. Santosh: only the bar where the Personal and Business options
   sit is to look the same on both sites; nothing else on the personal header
   changes. GENERATED by harness/tisa-business/xhdr.js from tb-tokens.css +
   tb-business.css (the .tb-utility rules, .tb-header rewritten to
   .tp-switchbar, body.tb-body to body.tp-sw, same specificity). Loaded ONLY
   by includes/header.php. Re-run it if the business strip changes, then
   hdrcmp.js to prove the two still compute identically.
   ========================================================================== */
body.tp-sw .tp-switchbar{--tb-paper:#FFFFFF;--tb-porcelain:#F6F3FA;--tb-bg:#F6F3FA;--tb-bg-soft:#FFFFFF;--tb-bg-tint:#FFFFFF;--tb-bg-deep:#FFFFFF;--tb-white:#FFFFFF;--tb-ground-deep:#320561;--tb-ground-deep-2:#320561;--tb-navy:#320561;--tb-deep:#320561;--tb-ink:#17151D;--tb-body:#56515F;--tb-muted:#56515F;--tb-ink-inv:#FFFFFF;--tb-body-inv:#E9DCF8;--tb-muted-inv:#E9DCF8;--tb-accent-text-inv:#FFFFFF;--tb-line:rgba(23,21,29,0.14);--tb-line-soft:rgba(23,21,29,0.08);--tb-line-strong:rgba(23,21,29,0.26);--tb-titanium:#56515F;--tb-zebra:#F6F3FA;--tb-row-hover:rgba(23,21,29,0.05);--tb-purple:#320561;--tb-purple-deep:#9E0493;--tb-purple-soft:#FFFFFF;--tb-purple-on-dark:#FFFFFF;--tb-accent-text:#6108C0;--tb-accent-text-hover:#9E0493;--tb-signal:#320561;--tb-cta-fill:#6108C0;--tb-cta-fill-hover:#4C0699;--tb-cta-ink:#FFFFFF;--tb-live:#0E7038;--tb-e1:0 1px 2px rgba(23,21,29,0.06);--tb-e2:0 2px 6px rgba(23,21,29,0.07), 0 12px 28px rgba(23,21,29,0.06);--tb-e3:0 8px 20px rgba(23,21,29,0.10), 0 32px 64px rgba(23,21,29,0.10);--fs-display:clamp(38px,4.6vw,62px);--fs-h2-lead:clamp(30px,3.6vw,46px);--fs-h2-close:clamp(28px,2.9vw,40px);--fs-h2:clamp(25px,2.4vw,33px);--fs-h3:20px;--fs-lead:19px;--fs-body:16px;--fs-ui:15px;--fs-meta:13.5px;--fs-micro:11.5px}
body.tp-sw .tp-switchbar{--tb-logo-indigo:#6108C0;--tb-logo-magenta:#9E0493;--tb-display:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--tb-text:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;--tb-r-xs:8px;--tb-r-sm:12px;--tb-r:16px;--tb-r-lg:24px;--tb-r-pill:999px;--tb-ease:cubic-bezier(0.16,1,0.3,1);--tb-max:clamp(1560px, 800px + 46.9vw, 2000px);--tb-pad:clamp(20px, 4.2vw, 88px);--tb-bleed:9999px;--tb-measure:52ch}
body.tp-sw .tp-switchbar{--tbh-utility:#F6F3FA;--tbh-tint:#F6F3FA;--tbh-ink:#17151D;--tbh-nav:#56515F;--tbh-action:#6108C0;--tbh-action-hover:#4C0699;--tbh-accent:#9E0493}
@media (min-width: 1700px){body.tp-sw .tp-switchbar{--fs-display:clamp(68px, calc(36.37px + 1.861vw), 84px);--fs-h2:clamp(40px, calc(24.19px + 0.930vw), 48px);--fs-h3:clamp(20px, calc(14.07px + 0.349vw), 23px);--fs-lead:clamp(19px, calc(13.07px + 0.349vw), 22px);--fs-body:clamp(16px, calc(13.04px + 0.174vw), 17.5px);--fs-ui:clamp(15px, calc(12.04px + 0.174vw), 16.5px);--fs-meta:clamp(13.5px, calc(11.52px + 0.116vw), 14.5px);--fs-micro:clamp(11.5px, calc(9.52px + 0.116vw), 12.5px);--fs-statement:clamp(29px, calc(19.12px + 0.581vw), 34px)}}
.tp-switchbar .tb-shell{max-width: var(--tb-max); margin: 0px auto; padding: 0 var(--tb-pad) !important;}
.tp-switchbar .tb-utility{background: var(--tbh-utility); border-bottom: 1px solid var(--tb-line-soft);}
.tp-switchbar .tb-utility-inner{display: flex; align-items: center; height: 36px; font-family: var(--tb-text); font-size: 12.5px;}
.tp-switchbar .tb-switch{display: inline-flex; align-items: center; gap: 24px; padding: 0px;}
.tp-switchbar .tb-aud{position: relative; display: inline-flex; align-items: center; height: 24px; color: var(--tbh-nav); font-weight: 500; transition: color 0.2s var(--tb-ease); padding: 0px !important;}
.tp-switchbar .tb-aud:hover{color: var(--tbh-ink);}
.tp-switchbar .tb-aud[aria-current="page"]{color: var(--tbh-ink); font-weight: 600;}
.tp-switchbar .tb-aud[aria-current="page"]::after{content: ""; position: absolute; left: 0px; right: 0px; top: calc(50% + 10px); height: 2px; background: var(--tbh-action);}
.tp-switchbar .tb-utility-spacer{flex: 1 1 0%;}
.tp-switchbar .tb-status{position: relative;}
.tp-switchbar .tb-status::after{content: ""; position: absolute; left: 0px; right: 0px; top: 50%; transform: translateY(-50%); height: 24px;}
.tp-switchbar .tb-status{display: inline-flex; align-items: center; gap: 8px; color: var(--tbh-nav); font-size: 12.5px; font-weight: 500; transition: color 0.2s var(--tb-ease);}
.tp-switchbar .tb-status:hover{color: var(--tbh-ink);}
.tp-switchbar .tb-status .tb-dot{width: 6px; height: 6px; border-radius: 50%; background: var(--tb-live);}
@media (hover: none), (max-width: 1160px){.tp-switchbar .tb-utility-inner{height: 44px;}}
@media (hover: none), (max-width: 1160px){.tp-switchbar .tb-aud{height: 32px; padding: 0px !important;}}
@media (hover: none), (max-width: 1160px){.tp-switchbar .tb-status{min-height: 32px; padding: 0px 4px !important;}}
@media (max-width: 900px){body.tp-sw .tb-aud{min-height: 44px; display: inline-flex; align-items: center;}}
@media (max-width: 900px){body.tp-sw .tb-utility-inner{height: auto; min-height: 44px;}}
@media (max-width: 900px){body.tp-sw .tb-utility-inner a{min-height: 44px; display: inline-flex; align-items: center;}}

/* ---- PERSONAL-ONLY, hand-written, appended by xhdr.js --------------------
   The strip is fixed above the existing personal bar, and everything the
   personal bar already did moves down by exactly its height: the purple
   navbar, the second menu row (stylesheet.css puts it at navbar-height minus
   18px) and the body's reserved space (90px, 55px on phones). Heights are the
   business strip's own, measured: 37px from 1161px up, 45px below that or on
   any touch screen. The dark heroes that pull up under the bar keep working,
   because they pull up by the old bar's height and the body now reserves that
   plus the strip. */
body.tp-sw{--tp-sw-h:37px;}
@media (hover:none),(max-width:1160px){body.tp-sw{--tp-sw-h:45px;}}
body.tp-sw .tp-switchbar{position:fixed;top:0;left:0;right:0;z-index:1031;font-family:var(--tb-text);color:var(--tb-ink);line-height:1.6;}
body.tp-sw .tp-switchbar a{text-decoration:none;}
body.tp-sw .navbar.fixed-top{top:var(--tp-sw-h);}
/* The purple bar took its 50px desktop height from the Personal/Business pills
   that moved up into the strip; without them it collapsed to 18px. Held at the
   measured 50px, so the bar is exactly as tall as it was. */
@media (min-width:992px){body.tp-sw .navbar.fixed-top{min-height:50px;}}
body.tp-sw .simple-menu{top:calc(var(--navbar-height, 55px) - 18px + var(--tp-sw-h)) !important;}
body.tp-sw{padding-top:calc(90px + var(--tp-sw-h)) !important;}
@media (max-width:991.98px){body.tp-sw{padding-top:calc(55px + var(--tp-sw-h)) !important;}}
