/* THCE new pages: topic hubs, Listen with THCE, executive tools. Owner-approved mocks 2026-11-11. Scoped to body.thce-hub-page. */
body.thce-hub-page,body.thce-hub-page .main-section{background:var(--hb-paper,#F5F7F9)!important;padding:0!important}
body.thce-hub-page .thce-offer{display:none!important}
#main-content .hb{--thce-serif:'Fraunces',Georgia,'Times New Roman',serif;--thce-sans:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;
  --hb-ink:#0A1A30;--hb-navy:#0E2A4D;--hb-cyan:#29B6D4;--hb-cyan-ink:#0B7A93;--hb-paper:#F5F7F9;--hb-line:#D4DCE5;--hb-mute:#56657A;--hb-body:#1E2C40;--hb-warm:#C9811C;--hb-surface:#FFFFFF;--hb-rule-dark:#2A4363;--hb-on-dark:#E9F0F7;--hb-on-dark-2:#B9C8DA;
  --hb-display:'Fraunces',Georgia,'Times New Roman',serif;--hb-text:'Public Sans',system-ui,-apple-system,'Segoe UI',sans-serif;--hb-mono:'IBM Plex Mono',ui-monospace,Menlo,monospace;
  background:var(--hb-paper);color:var(--hb-body);font-family:var(--hb-text);font-size:17px;line-height:1.55;-webkit-text-size-adjust:100%}
#main-content .hb *,#main-content .hb *::before,#main-content .hb *::after{box-sizing:border-box}
#main-content .hb .hb-wrap{max-width:1180px;margin:0 auto;padding-left:40px;padding-right:40px}
#main-content .hb h1,#main-content .hb h2,#main-content .hb h3{font-family:var(--hb-display)!important;font-weight:500;letter-spacing:-.01em;text-transform:none!important;margin:0;padding:0;border:0;text-wrap:balance;color:inherit}
#main-content .hb p{font-family:var(--hb-text)!important;margin:0;max-width:65ch;text-wrap:pretty;color:inherit}
#main-content .hb a{color:inherit;text-decoration:none}
#main-content .hb a:focus-visible,#main-content .hb button:focus-visible,#main-content .hb input:focus-visible{outline:2px solid var(--hb-cyan);outline-offset:3px}
#main-content .hb .hb-eyebrow{font-family:var(--hb-mono)!important;font-size:13px;letter-spacing:.14em;text-transform:uppercase;color:var(--hb-cyan-ink)}
#main-content .hb .hb-band{background:var(--hb-ink);color:var(--hb-on-dark)}
#main-content .hb .hb-band p{color:var(--hb-on-dark-2)}
#main-content .hb .hb-band .hb-eyebrow{color:var(--hb-cyan)}
#main-content .hb .hb-btn{display:inline-flex;align-items:center;gap:10px;min-height:48px;padding:0 22px;background:var(--hb-cyan);color:var(--hb-ink)!important;font-family:var(--hb-text);font-weight:700;font-size:16px;border-radius:2px;border:1px solid var(--hb-cyan);cursor:pointer}
#main-content .hb .hb-btn:hover{background:#fff;border-color:#fff}
#main-content .hb .hb-btn--ghost{background:transparent;color:inherit!important;border-color:currentColor}
#main-content .hb .hb-btn--ghost:hover{background:transparent;color:var(--hb-cyan)!important;border-color:var(--hb-cyan)}
#main-content .hb .hb-actions{display:flex;flex-wrap:wrap;gap:12px}

/* hub hero */
#main-content .hb .hb-hero .hb-wrap{padding-top:72px;padding-bottom:56px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:48px;align-items:end}
#main-content .hb .hb-hero h1{font-size:clamp(46px,7vw,96px);line-height:.95;color:#fff!important;font-weight:300}
#main-content .hb .hb-hero h1 em{font-style:italic;color:var(--hb-cyan);font-weight:500}
#main-content .hb .hb-lede{font-size:20px;line-height:1.5;margin-top:22px!important}
#main-content .hb .hb-ledger{border-top:1px solid var(--hb-rule-dark)}
#main-content .hb .hb-ledger div{display:flex;justify-content:space-between;gap:16px;padding:14px 0;border-bottom:1px solid var(--hb-rule-dark);font-size:15px}
#main-content .hb .hb-ledger b{font-family:var(--hb-mono);font-weight:500;color:#fff;font-variant-numeric:tabular-nums}

/* decision questions */
#main-content .hb .hb-questions .hb-wrap{padding-top:64px;padding-bottom:64px}
#main-content .hb .hb-questions h2{font-size:clamp(30px,3.6vw,44px);margin:8px 0 28px}
#main-content .hb .hb-q{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:28px;padding:30px 0;border-top:1px solid var(--hb-line)}
#main-content .hb .hb-q:last-child{border-bottom:1px solid var(--hb-line)}
#main-content .hb .hb-q h3{font-size:26px;line-height:1.15;color:var(--hb-ink)}
#main-content .hb .hb-q h3 span{display:block;font-family:var(--hb-text);font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--hb-mute);margin-bottom:8px}
#main-content .hb .hb-reads{display:grid;gap:12px;align-content:start}
#main-content .hb .hb-read{display:grid;grid-template-columns:160px minmax(0,1fr);gap:14px;align-items:baseline}
#main-content .hb .hb-read i{font-style:normal;font-family:var(--hb-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--hb-cyan-ink)}
#main-content .hb .hb-read span{font-weight:600;color:var(--hb-ink)}
#main-content .hb .hb-read:hover span{text-decoration:underline;text-decoration-color:var(--hb-cyan);text-underline-offset:4px}
#main-content .hb .hb-foot .hb-wrap{padding-top:48px;padding-bottom:48px;display:flex;flex-wrap:wrap;gap:20px 40px;justify-content:space-between;align-items:center}
#main-content .hb .hb-foot h2{font-size:30px;color:#fff!important;max-width:24ch}

/* hub index */
#main-content .hb .hb-index{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid var(--hb-line)}
#main-content .hb .hb-index a{display:flex;flex-direction:column;gap:10px;padding:28px 28px 30px 0;border-bottom:1px solid var(--hb-line)}
#main-content .hb .hb-index a:not(:nth-child(3n+1)){padding-left:28px;border-left:1px solid var(--hb-line)}
#main-content .hb .hb-index b{font-family:var(--hb-display);font-weight:500;font-size:30px;line-height:1.05;color:var(--hb-ink)}
#main-content .hb .hb-index span{font-size:16px;color:var(--hb-body)}
#main-content .hb .hb-index small{font-family:var(--hb-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--hb-cyan-ink)}
#main-content .hb .hb-index a:hover b{color:var(--hb-cyan-ink)}

/* listen */
#main-content .hb .hb-listen-hero .hb-wrap{padding-top:64px;padding-bottom:40px}
#main-content .hb .hb-listen-hero h1{font-size:clamp(42px,6.4vw,84px);line-height:1;color:#fff!important;font-weight:300}
#main-content .hb .hb-listen-hero h1 b{font-weight:700;color:var(--hb-cyan)}
#main-content .hb .hb-player{margin-top:36px;border-top:1px solid var(--hb-rule-dark);border-bottom:1px solid var(--hb-rule-dark);padding:26px 0;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:22px;align-items:center}
#main-content .hb .hb-play{width:68px;height:68px;border-radius:50%;background:var(--hb-cyan);border:0;display:grid;place-items:center;cursor:pointer;padding:0}
#main-content .hb .hb-play svg{width:26px;height:26px;fill:var(--hb-ink)}
#main-content .hb .hb-play[disabled]{opacity:.5;cursor:default}
#main-content .hb .hb-now small{font-family:var(--hb-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--hb-cyan)}
#main-content .hb .hb-now h3{color:#fff!important;font-size:24px;margin:4px 0 12px}
#main-content .hb .hb-now h3 a:hover{text-decoration:underline;text-underline-offset:4px}
#main-content .hb .hb-seek{width:100%;accent-color:var(--hb-cyan);display:block;margin:0;height:28px}
#main-content .hb .hb-time{font-family:var(--hb-mono);font-size:13px;color:var(--hb-on-dark-2);font-variant-numeric:tabular-nums;margin-top:6px;display:flex;justify-content:space-between;gap:12px}
#main-content .hb .hb-speeds{display:flex;gap:6px}
#main-content .hb .hb-speeds button{font-family:var(--hb-mono);font-size:14px;min-width:56px;min-height:44px;border:1px solid var(--hb-rule-dark);background:transparent;color:var(--hb-on-dark);cursor:pointer;border-radius:2px;padding:0 8px}
#main-content .hb .hb-speeds button[aria-pressed="true"]{background:#fff;color:var(--hb-ink);border-color:#fff}
#main-content .hb .hb-shelf .hb-wrap{padding-top:56px;padding-bottom:64px}
#main-content .hb .hb-shelf-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px;margin-bottom:22px}
#main-content .hb .hb-shelf h2{font-size:clamp(28px,3.4vw,40px);color:var(--hb-ink)}
#main-content .hb .hb-filters{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
#main-content .hb .hb-filters button{font-family:var(--hb-text);font-size:14px;font-weight:600;min-height:44px;padding:0 16px;border:1px solid var(--hb-line);background:var(--hb-surface);color:var(--hb-body);border-radius:999px;cursor:pointer}
#main-content .hb .hb-filters button[aria-pressed="true"]{border-color:var(--hb-navy);background:var(--hb-navy);color:#fff}
#main-content .hb .hb-filters input{font-family:var(--hb-text);font-size:15px;min-height:44px;padding:0 14px;border:1px solid var(--hb-line);background:var(--hb-surface);color:var(--hb-body);border-radius:999px;min-width:0;width:220px;max-width:100%}
#main-content .hb .hb-track{display:grid;grid-template-columns:52px minmax(0,1fr) auto;gap:18px;align-items:center;padding:16px 0;border-top:1px solid var(--hb-line)}
#main-content .hb .hb-track.is-current b{color:var(--hb-cyan-ink)}
#main-content .hb .hb-track button{width:44px;height:44px;border-radius:50%;border:1px solid var(--hb-line);background:var(--hb-surface);cursor:pointer;display:grid;place-items:center;padding:0}
#main-content .hb .hb-track button svg{width:14px;height:14px;fill:var(--hb-body)}
#main-content .hb .hb-track small{display:block;font-family:var(--hb-mono);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--hb-mute)}
#main-content .hb .hb-track b{font-weight:600;color:var(--hb-ink)}
#main-content .hb .hb-track a{font-size:14px;font-weight:600;color:var(--hb-cyan-ink);white-space:nowrap}
#main-content .hb .hb-more{margin-top:22px;display:flex;justify-content:center}
#main-content .hb .hb-more button{font-family:var(--hb-text);font-weight:600;font-size:15px;min-height:44px;padding:0 22px;border:1px solid var(--hb-body);background:transparent;color:var(--hb-body);cursor:pointer;border-radius:2px}
#main-content .hb .hb-empty{padding:24px 0;color:var(--hb-mute)}

/* tools */
#main-content .hb .hb-tool-hero .hb-wrap{padding-top:60px;padding-bottom:36px}
#main-content .hb .hb-tool-hero h1{font-size:clamp(40px,6vw,78px);line-height:1;color:#fff!important;font-weight:300;max-width:16ch}
#main-content .hb .hb-calc .hb-wrap{padding-top:48px;padding-bottom:64px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:56px}
#main-content .hb .hb-field{display:grid;gap:8px;padding:18px 0;border-top:1px solid var(--hb-line)}
#main-content .hb .hb-field label{font-weight:600;color:var(--hb-ink)}
#main-content .hb .hb-field small{color:var(--hb-mute);font-size:14px}
#main-content .hb .hb-field .hb-row{display:flex;align-items:center;gap:16px}
#main-content .hb .hb-field input[type=range]{flex:1;accent-color:var(--hb-navy);min-width:0}
#main-content .hb .hb-field output{font-family:var(--hb-mono);font-size:18px;min-width:90px;text-align:right;font-variant-numeric:tabular-nums;color:var(--hb-ink)}
#main-content .hb .hb-field input[type=number]{font-family:var(--hb-mono);font-size:18px;font-variant-numeric:tabular-nums;border:1px solid var(--hb-line);background:var(--hb-surface);color:var(--hb-ink);padding:8px 10px;border-radius:2px;width:150px;max-width:100%}
#main-content .hb .hb-result{position:sticky;top:110px;align-self:start}
#main-content .hb .hb-result .hb-eyebrow{color:var(--hb-mute)}
#main-content .hb .hb-big{font-family:var(--hb-display);font-size:clamp(52px,7vw,88px);line-height:1;font-weight:700;color:var(--hb-ink);font-variant-numeric:tabular-nums;margin-top:8px}
#main-content .hb .hb-bar{height:12px;background:var(--hb-line);margin-top:22px;position:relative;overflow:hidden;border-radius:2px}
#main-content .hb .hb-bar i{position:absolute;inset:0 auto 0 0;background:var(--hb-warm);transition:width .3s}
#main-content .hb .hb-split{margin-top:26px}
#main-content .hb .hb-split div{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid var(--hb-line);font-size:15px}
#main-content .hb .hb-split b{font-family:var(--hb-mono);font-weight:500;font-variant-numeric:tabular-nums;color:var(--hb-ink)}
#main-content .hb .hb-disc{font-size:14px!important;color:var(--hb-mute)!important;margin-top:18px!important}
#main-content .hb .hb-calc .hb-btn{background:var(--hb-navy);border-color:var(--hb-navy);color:#fff!important}
#main-content .hb .hb-calc .hb-btn:hover{background:var(--hb-ink);border-color:var(--hb-ink)}

@media (max-width:860px){
  #main-content .hb .hb-wrap{padding-left:20px;padding-right:20px}
  #main-content .hb .hb-hero .hb-wrap,#main-content .hb .hb-q,#main-content .hb .hb-calc .hb-wrap{grid-template-columns:1fr}
  #main-content .hb .hb-hero .hb-wrap{gap:30px;padding-top:48px;padding-bottom:40px}
  #main-content .hb .hb-read{grid-template-columns:1fr;gap:2px}
  #main-content .hb .hb-player{grid-template-columns:auto minmax(0,1fr)}
  #main-content .hb .hb-speeds{grid-column:1/-1}
  #main-content .hb .hb-result{position:static}
  #main-content .hb .hb-index{grid-template-columns:1fr}
  #main-content .hb .hb-index a,#main-content .hb .hb-index a:not(:nth-child(3n+1)){padding:22px 0;border-left:0}
  #main-content .hb .hb-track{grid-template-columns:44px minmax(0,1fr)}
  #main-content .hb .hb-track a{grid-column:2}
}
@media (prefers-reduced-motion:reduce){#main-content .hb *{transition:none!important;animation:none!important}}
