
:root{
  --tbp-navy:#102A56;
  --tbp-blue:#1F5DAA;
  --tbp-terra:#C96F4A;
  --tbp-light-blue:#68B4EF;
  --tbp-bg:#F5F9FD;
  --tbp-border:#DDE7F2;
  --tbp-text:#536176;
  --tbp-white:#FFFFFF;
}
.tbp-newsroom,.tbp-article-page{font-family:Poppins,Arial,sans-serif;color:var(--tbp-text)}
.tbp-newsroom *,.tbp-article-page *{box-sizing:border-box}
.tbp-newsroom h1,.tbp-newsroom h2,.tbp-newsroom h3,.tbp-article-page h1,.tbp-article-page h2,.tbp-article-page h3{font-family:Georgia,"Times New Roman",serif;color:var(--tbp-navy)}
.tbp-eyebrow{margin:0 0 10px;color:var(--tbp-terra);font-size:11px;line-height:1.3;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.tbp-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:4px;text-decoration:none;font-size:13px;font-weight:700;transition:.18s ease}
.tbp-btn--primary{background:var(--tbp-blue);color:#fff}
.tbp-btn--primary:hover{background:#174E93;color:#fff;transform:translateY(-1px)}
.tbp-btn--secondary{background:#fff;border:1px solid #9CB7D6;color:var(--tbp-navy)}
.tbp-btn--secondary:hover{border-color:var(--tbp-blue);color:var(--tbp-blue);transform:translateY(-1px)}
.tbp-news-section{width:min(1180px,100%);margin:0 auto;padding-left:24px;padding-right:24px}
.tbp-news-section__heading{max-width:760px;margin:0 auto 34px;text-align:center}
.tbp-news-section__heading--left{margin-left:0;text-align:left}
.tbp-news-section__heading h2{margin:0;font-size:42px;line-height:1.08;font-weight:400}
.tbp-news-section__heading p:last-child{margin:12px 0 0;font-size:15px;line-height:1.6}
.tbp-news-hero{background:linear-gradient(180deg,#F6FAFE 0%,#FFFFFF 100%);padding:76px 24px 86px}
.tbp-news-hero__inner{width:min(1180px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,.78fr) minmax(0,1.22fr);gap:54px;align-items:center}
.tbp-news-hero__intro h1{margin:0;font-size:58px;line-height:1.02;font-weight:400}
.tbp-news-hero__intro>p:last-child{margin:18px 0 0;max-width:540px;font-size:16px;line-height:1.68}
.tbp-news-card{background:#fff;border:1px solid var(--tbp-border);border-radius:8px;overflow:hidden;box-shadow:0 10px 26px rgba(16,42,86,.035)}
.tbp-news-card__image{display:block;aspect-ratio:16/10;background:#EEF3F8;overflow:hidden}
.tbp-news-card__image img{width:100%;height:100%;display:block;object-fit:cover;transition:transform .25s ease}
.tbp-news-card:hover .tbp-news-card__image img{transform:scale(1.025)}
.tbp-news-card__body{padding:22px}
.tbp-news-card__category,.tbp-article-header__category{display:inline-block;margin-bottom:10px;color:var(--tbp-terra);font-size:10.5px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;text-decoration:none}
.tbp-news-card h3{margin:0;font-size:22px;line-height:1.15}
.tbp-news-card h3 a{color:inherit;text-decoration:none}
.tbp-news-card__body>p{margin:11px 0 0;font-size:13.5px;line-height:1.58}
.tbp-news-card__meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px;padding-top:14px;border-top:1px solid #E9EFF5;font-size:11.5px;color:#728097}
.tbp-news-card--large h3{font-size:28px}
.tbp-news-card--large .tbp-news-card__body>p{font-size:14.5px}
.tbp-news-latest{padding:82px 0;background:#fff}
.tbp-news-latest__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tbp-news-latest__grid .tbp-news-card--large{grid-column:span 2}
.tbp-newsletter{background:var(--tbp-navy);padding:50px 24px}
.tbp-newsletter__inner{width:min(1080px,100%);margin:0 auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:50px;align-items:center}
.tbp-newsletter h2{margin:0;color:#fff;font-size:36px;font-weight:400}
.tbp-newsletter__copy>p:last-child{margin:12px 0 0;color:#DCE7F5;font-size:14px;line-height:1.6}
.tbp-newsletter__setup{margin:0;padding:18px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.2);border-radius:7px;color:#fff;font-size:13px;line-height:1.6}
.tbp-news-explore{padding:74px 0 28px;background:var(--tbp-bg)}
.tbp-news-explore__top{display:flex;justify-content:space-between;gap:30px;align-items:end}
.tbp-news-explore h2{margin:0;font-size:40px;font-weight:400}
.tbp-news-search{display:flex;gap:8px}
.tbp-news-search input{height:44px;min-width:280px;padding:0 13px;border:1px solid #C9D8EA;border-radius:4px;background:#fff}
.tbp-news-search button{height:44px;padding:0 16px;border:0;border-radius:4px;background:var(--tbp-blue);color:#fff;font-weight:700;cursor:pointer}
.tbp-news-filters{display:flex;flex-wrap:wrap;gap:8px;margin-top:28px}
.tbp-news-filters a{padding:9px 13px;border:1px solid #D2DFED;border-radius:999px;background:#fff;color:var(--tbp-navy);font-size:12px;font-weight:600;text-decoration:none}
.tbp-news-filters a:hover,.tbp-news-filters a.is-active{background:var(--tbp-navy);border-color:var(--tbp-navy);color:#fff}
.tbp-news-all{padding:42px 0 90px;background:var(--tbp-bg)}
.tbp-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.tbp-news-pagination{margin-top:38px}
.tbp-news-pagination ul{display:flex;gap:8px;justify-content:center;list-style:none;margin:0;padding:0}
.tbp-news-pagination a,.tbp-news-pagination span{display:flex;min-width:38px;height:38px;align-items:center;justify-content:center;padding:0 10px;border:1px solid #CEDBE9;border-radius:4px;background:#fff;color:var(--tbp-navy);text-decoration:none;font-size:12px;font-weight:600}
.tbp-news-pagination .current{background:var(--tbp-navy);border-color:var(--tbp-navy);color:#fff}
.tbp-news-strategic{padding:86px 24px;background:#fff}
.tbp-news-strategic__inner{width:min(1080px,100%);margin:0 auto;display:grid;grid-template-columns:1.05fr .95fr;gap:52px;align-items:center}
.tbp-news-strategic__image{aspect-ratio:16/10;overflow:hidden;border-radius:8px}
.tbp-news-strategic__image img{width:100%;height:100%;object-fit:cover}
.tbp-news-strategic__copy h2{margin:6px 0 0;font-size:40px;line-height:1.08;font-weight:400}
.tbp-news-strategic__copy>p{margin:16px 0 24px;font-size:15px;line-height:1.62}
.tbp-news-bridge,.tbp-article-bridge{padding:54px 24px;background:#F3F7FD}
.tbp-news-bridge__inner,.tbp-article-bridge__inner{width:min(1080px,100%);margin:0 auto;display:grid;grid-template-columns:1fr auto;gap:36px;align-items:center}
.tbp-news-bridge h2,.tbp-article-bridge h2{margin:0;font-size:34px;font-weight:400}
.tbp-news-bridge p:last-child,.tbp-article-bridge p:last-child{margin:10px 0 0;max-width:690px;font-size:14px;line-height:1.6}
.tbp-news-bridge__actions,.tbp-article-bridge__actions{display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end}

/* Single Article */
.tbp-article-page{background:#fff}
.tbp-article-header{padding:68px 24px 44px;background:linear-gradient(180deg,#F6FAFE 0%,#FFFFFF 100%)}
.tbp-article-header__inner{width:min(980px,100%);margin:0 auto}
.tbp-breadcrumb{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;font-size:11.5px;color:#7A879A}
.tbp-breadcrumb a{color:inherit;text-decoration:none}
.tbp-article-header h1{margin:0;max-width:900px;font-size:54px;line-height:1.04;font-weight:400}
.tbp-article-header__excerpt{max-width:800px;margin:18px 0 0;font-size:17px;line-height:1.65}
.tbp-article-header__meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:24px;font-size:12px;color:#66758A}
.tbp-article-header__meta a{color:var(--tbp-blue);text-decoration:none;font-weight:600}
.tbp-article-header__reviewed{margin:8px 0 0;font-size:11.5px;color:#77859A}
.tbp-article-featured{width:min(1180px,calc(100% - 48px));margin:0 auto 54px}
.tbp-article-featured img{display:block;width:100%;height:auto;max-height:620px;object-fit:cover;border-radius:8px}
.tbp-article-layout{padding:0 24px}
.tbp-article-content{width:min(800px,100%);margin:0 auto;padding-bottom:34px;font-size:16px;line-height:1.82;color:#3F4E63}
.tbp-article-content h2{margin:42px 0 14px;font-size:32px;line-height:1.15;font-weight:400}
.tbp-article-content h3{margin:30px 0 10px;font-size:24px;line-height:1.2}
.tbp-article-content p{margin:0 0 20px}
.tbp-article-content ul,.tbp-article-content ol{margin:0 0 22px;padding-left:22px}
.tbp-article-content blockquote{margin:30px 0;padding:18px 22px;border-left:3px solid var(--tbp-terra);background:#F7FAFD}
.tbp-article-content img{max-width:100%;height:auto}
.tbp-article-cta{display:grid;grid-template-columns:3px 1fr;gap:20px;margin:34px 0;padding:24px;background:#F5F9FD;border:1px solid #DCE7F2;border-radius:8px}
.tbp-article-cta__rule{background:var(--tbp-terra);border-radius:999px}
.tbp-article-cta h3{margin:0;font-size:24px}
.tbp-article-cta p{margin:8px 0 0;font-size:14px;line-height:1.6}
.tbp-article-cta__actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.tbp-author-box{padding:76px 24px;background:#fff}
.tbp-author-box__inner{width:min(900px,100%);margin:0 auto;display:grid;grid-template-columns:120px 1fr;gap:28px;align-items:start;padding:30px;border:1px solid var(--tbp-border);border-radius:9px;background:#fff;box-shadow:0 10px 28px rgba(16,42,86,.04)}
.tbp-author-box img{width:120px;height:120px;border-radius:50%;object-fit:cover}
.tbp-author-box h2{margin:0;font-size:28px}
.tbp-author-box__job{margin:4px 0 0;color:var(--tbp-terra);font-size:13px;font-weight:600}
.tbp-author-box__bio{margin-top:13px;font-size:13.5px;line-height:1.62}
.tbp-author-box__links{display:flex;gap:16px;flex-wrap:wrap;margin-top:14px}
.tbp-author-box__links a{color:var(--tbp-blue);font-size:12.5px;font-weight:600;text-decoration:none}
.tbp-reviewer-box{padding:0 24px 42px;background:#fff}
.tbp-reviewer-box__inner{width:min(900px,100%);margin:0 auto;padding:16px 20px;border-left:3px solid var(--tbp-light-blue);background:#F7FAFD}
.tbp-reviewer-box strong{color:var(--tbp-navy);font-family:Georgia,"Times New Roman",serif;font-size:18px}
.tbp-reviewer-box span{margin-left:8px;font-size:12px;color:#728097}
.tbp-related{padding:76px 0;background:#F5F9FD}
@media(max-width:900px){
  .tbp-news-hero__inner,.tbp-news-strategic__inner,.tbp-newsletter__inner,.tbp-news-bridge__inner,.tbp-article-bridge__inner{grid-template-columns:1fr}
  .tbp-news-latest__grid,.tbp-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .tbp-news-latest__grid .tbp-news-card--large{grid-column:span 2}
  .tbp-news-bridge__actions,.tbp-article-bridge__actions{justify-content:flex-start}
}
@media(max-width:640px){
  .tbp-news-hero{padding:52px 22px 64px}
  .tbp-news-hero__intro h1{font-size:42px}
  .tbp-news-section{padding-left:22px;padding-right:22px}
  .tbp-news-section__heading h2,.tbp-news-explore h2,.tbp-news-strategic__copy h2{font-size:34px}
  .tbp-news-latest__grid,.tbp-news-grid{grid-template-columns:1fr}
  .tbp-news-latest__grid .tbp-news-card--large{grid-column:auto}
  .tbp-news-card--large h3{font-size:24px}
  .tbp-news-explore__top{align-items:stretch;flex-direction:column}
  .tbp-news-search{width:100%}
  .tbp-news-search input{min-width:0;flex:1}
  .tbp-news-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:6px}
  .tbp-news-filters a{flex:0 0 auto}
  .tbp-newsletter{padding:42px 22px}
  .tbp-newsletter h2{font-size:31px}
  .tbp-news-strategic{padding:64px 22px}
  .tbp-news-bridge,.tbp-article-bridge{padding:44px 22px}
  .tbp-news-bridge__actions,.tbp-article-bridge__actions{flex-direction:column;align-items:stretch}
  .tbp-news-bridge__actions .tbp-btn,.tbp-article-bridge__actions .tbp-btn{width:100%}
  .tbp-article-header{padding:48px 22px 34px}
  .tbp-article-header h1{font-size:38px}
  .tbp-article-header__excerpt{font-size:15px}
  .tbp-article-featured{width:calc(100% - 44px);margin-bottom:40px}
  .tbp-article-layout{padding:0 22px}
  .tbp-article-content{font-size:15px;line-height:1.75}
  .tbp-article-content h2{font-size:28px}
  .tbp-article-cta{padding:20px 18px}
  .tbp-article-cta__actions{flex-direction:column}
  .tbp-author-box{padding:58px 22px}
  .tbp-author-box__inner{grid-template-columns:1fr;padding:24px}
  .tbp-author-box img{width:92px;height:92px}
}


/* =========================================================
   TBP NEWSROOM v0.1.1 — FULL-BLEED BACKGROUNDS + WIDTH FIXES
   ========================================================= */

/* Keep the editorial content comfortably narrow, but allow
   section backgrounds to span the full viewport. */
.tbp-newsroom,
.tbp-article-page{
  width:100%;
  max-width:none!important;
  overflow-x:clip;
}

.tbp-article-header,
.tbp-newsletter,
.tbp-related,
.tbp-news-bridge,
.tbp-article-bridge{
  width:100vw!important;
  max-width:none!important;
  margin-left:calc(50% - 50vw)!important;
  margin-right:calc(50% - 50vw)!important;
}

/* Article hero/details: full-width background, compact inner copy. */
.tbp-article-header{
  padding:68px 24px 46px!important;
  background:linear-gradient(180deg,#F5F9FD 0%,#FAFCFE 100%)!important;
}
.tbp-article-header__inner{
  width:min(900px,100%)!important;
  max-width:900px!important;
  margin:0 auto!important;
}

/* Featured image should support the article, not dominate it. */
.tbp-article-featured{
  width:min(900px,calc(100% - 48px))!important;
  max-width:900px!important;
  margin:0 auto 50px!important;
}
.tbp-article-featured img{
  width:100%!important;
  max-height:510px!important;
  object-fit:cover!important;
}

/* Body remains editorially narrow. */
.tbp-article-layout{
  width:100%!important;
}
.tbp-article-content{
  width:min(780px,100%)!important;
  max-width:780px!important;
}

/* Newsletter should read as a proper full-width section. */
.tbp-newsletter{
  padding:54px 24px!important;
  border-radius:0!important;
}
.tbp-newsletter__inner{
  width:min(1000px,100%)!important;
  max-width:1000px!important;
}

/* Author card remains contained; surrounding section is clean. */
.tbp-author-box{
  width:100%!important;
  padding:70px 24px!important;
}
.tbp-author-box__inner{
  width:min(860px,100%)!important;
  max-width:860px!important;
}

/* Final conversion bridge: full-width background, contained content. */
.tbp-news-bridge,
.tbp-article-bridge{
  padding:54px 24px!important;
  border-radius:0!important;
}
.tbp-news-bridge__inner,
.tbp-article-bridge__inner{
  width:min(1000px,100%)!important;
  max-width:1000px!important;
}

/* Theme-proof button colors. GeneratePress/link rules were overriding
   the white label on blue buttons. */
.tbp-newsroom a.tbp-btn--primary,
.tbp-article-page a.tbp-btn--primary,
.tbp-newsroom a.tbp-btn--primary:visited,
.tbp-article-page a.tbp-btn--primary:visited{
  background:#1F5DAA!important;
  border-color:#1F5DAA!important;
  color:#FFFFFF!important;
  text-decoration:none!important;
}
.tbp-newsroom a.tbp-btn--primary:hover,
.tbp-article-page a.tbp-btn--primary:hover,
.tbp-newsroom a.tbp-btn--primary:focus,
.tbp-article-page a.tbp-btn--primary:focus{
  background:#174E93!important;
  border-color:#174E93!important;
  color:#FFFFFF!important;
}

.tbp-newsroom a.tbp-btn--secondary,
.tbp-article-page a.tbp-btn--secondary,
.tbp-newsroom a.tbp-btn--secondary:visited,
.tbp-article-page a.tbp-btn--secondary:visited{
  background:#FFFFFF!important;
  color:#102A56!important;
  border:1px solid #9CB7D6!important;
  text-decoration:none!important;
}
.tbp-newsroom a.tbp-btn--secondary:hover,
.tbp-article-page a.tbp-btn--secondary:hover,
.tbp-newsroom a.tbp-btn--secondary:focus,
.tbp-article-page a.tbp-btn--secondary:focus{
  background:#FFFFFF!important;
  color:#1F5DAA!important;
  border-color:#1F5DAA!important;
}

/* Make the mid-article CTA less "boxed", more editorial. */
.tbp-article-cta{
  padding:24px 0 24px 20px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  border-left:3px solid #C96F4A!important;
  grid-template-columns:1fr!important;
}
.tbp-article-cta__rule{
  display:none!important;
}

/* Cleaner mobile proportions. */
@media(max-width:640px){
  .tbp-article-header{
    padding:46px 22px 34px!important;
  }
  .tbp-article-featured{
    width:calc(100% - 44px)!important;
    max-width:none!important;
    margin-bottom:38px!important;
  }
  .tbp-article-featured img{
    max-height:390px!important;
  }
  .tbp-newsletter,
  .tbp-news-bridge,
  .tbp-article-bridge{
    padding-left:22px!important;
    padding-right:22px!important;
  }
}


/* =========================================================
   TBP NEWSROOM v0.1.2 — TRUE FULL-BLEED EDITORIAL SECTIONS
   ========================================================= */

/* GeneratePress / theme shells may constrain the custom template.
   Extend backgrounds to the viewport without making the text wide. */
.tbp-article-header{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:56px 24px 44px!important;
  background:#F5F9FD!important;
  box-shadow:0 0 0 100vmax #F5F9FD!important;
  clip-path:inset(0 -100vmax)!important;
}

.tbp-article-page{
  margin-top:0!important;
  padding-top:0!important;
}

body.single-post .tbp-article-page,
body.single-post .tbp-article{
  margin-top:0!important;
}

/* Keep article header compact and editorial. */
.tbp-article-header__inner{
  width:min(900px,100%)!important;
  max-width:900px!important;
  margin:0 auto!important;
}

/* Featured image reduced again for a more premium editorial balance. */
.tbp-article-featured{
  width:min(840px,calc(100% - 48px))!important;
  max-width:840px!important;
  margin:42px auto 50px!important;
}
.tbp-article-featured img{
  width:100%!important;
  max-height:460px!important;
  object-fit:cover!important;
  border-radius:7px!important;
}

/* Body stays deliberately narrow. */
.tbp-article-content{
  width:min(760px,100%)!important;
  max-width:760px!important;
}

/* Full-bleed newsletter ribbon, with contained inner content. */
.tbp-newsletter{
  width:auto!important;
  max-width:none!important;
  margin:44px 0 0!important;
  padding:54px 24px!important;
  background:#102A56!important;
  box-shadow:0 0 0 100vmax #102A56!important;
  clip-path:inset(0 -100vmax)!important;
}
.tbp-newsletter__inner{
  width:min(1000px,100%)!important;
  max-width:1000px!important;
  margin:0 auto!important;
}
.tbp-newsletter__setup{
  border:0!important;
  background:transparent!important;
  padding:0!important;
  color:#DCE7F5!important;
}

/* Author stays as an intentional contained identity card. */
.tbp-author-box{
  padding:64px 24px!important;
}

/* New editorial exit section: related reading + categories.
   This replaces the redundant sales CTA immediately before the global footer. */
.tbp-continue{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:72px 24px 76px!important;
  background:#F4F8FC!important;
  box-shadow:0 0 0 100vmax #F4F8FC!important;
  clip-path:inset(0 -100vmax)!important;
}
.tbp-continue__inner{
  width:min(1080px,100%)!important;
  max-width:1080px!important;
  margin:0 auto!important;
}
.tbp-continue__heading{
  display:flex;
  justify-content:space-between;
  gap:30px;
  align-items:end;
  margin-bottom:30px;
}
.tbp-continue__heading h2{
  margin:0;
  max-width:690px;
  font-size:36px;
  line-height:1.1;
  font-weight:400;
}
.tbp-continue__all{
  flex:0 0 auto;
  color:#1F5DAA!important;
  font-size:12.5px;
  font-weight:700;
  text-decoration:none!important;
}
.tbp-continue__all:hover{
  color:#102A56!important;
}
.tbp-news-grid--related{
  margin-top:8px;
}
.tbp-topic-nav{
  display:flex;
  gap:18px;
  align-items:center;
  margin-top:30px;
  padding-top:22px;
  border-top:1px solid #D8E4F0;
}
.tbp-topic-nav__label{
  flex:0 0 auto;
  color:#6C7B90;
  font-size:11px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.tbp-topic-nav__links{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.tbp-topic-nav__links a{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 12px;
  border:1px solid #CCDCEC;
  border-radius:999px;
  background:#FFFFFF;
  color:#102A56!important;
  font-size:11.5px;
  font-weight:600;
  text-decoration:none!important;
}
.tbp-topic-nav__links a:hover,
.tbp-topic-nav__links a.is-current{
  border-color:#1F5DAA;
  color:#1F5DAA!important;
}

/* Remove any legacy article bridge spacing if old markup is cached briefly. */
.tbp-article-bridge{
  display:none!important;
}

@media(max-width:640px){
  .tbp-article-header{
    padding:44px 22px 34px!important;
  }
  .tbp-article-featured{
    width:calc(100% - 44px)!important;
    max-width:none!important;
    margin-top:30px!important;
    margin-bottom:38px!important;
  }
  .tbp-article-featured img{
    max-height:360px!important;
  }
  .tbp-newsletter{
    margin-top:34px!important;
    padding:44px 22px!important;
  }
  .tbp-continue{
    padding:58px 22px 62px!important;
  }
  .tbp-continue__heading{
    align-items:flex-start;
    flex-direction:column;
    margin-bottom:24px;
  }
  .tbp-continue__heading h2{
    font-size:31px;
  }
  .tbp-topic-nav{
    align-items:flex-start;
    flex-direction:column;
    gap:10px;
  }
  .tbp-topic-nav__links{
    flex-wrap:nowrap;
    max-width:100%;
    overflow-x:auto;
    padding-bottom:5px;
  }
  .tbp-topic-nav__links a{
    flex:0 0 auto;
  }
}


/* =========================================================
   TBP NEWSROOM v0.1.3
   REAL GENERATEPRESS SHELL BREAKOUT
   ========================================================= */

/*
   Root cause fixed here:
   GeneratePress opens #page / #content in header.php before the
   custom single template runs. Those wrappers were still limiting
   the Newsroom to the site's boxed content width.
*/
body.single-post #page,
body.single-post .site.grid-container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

body.single-post #content,
body.single-post .site-content{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

body.single-post #primary,
body.single-post .content-area,
body.single-post .site-main{
  float:none!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

body.single-post .tbp-article-page,
body.single-post .tbp-article{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* The article starts directly below the global header. */
body.single-post .tbp-article-header{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:58px 24px 46px!important;
  background:#F5F9FD!important;
  box-shadow:none!important;
  clip-path:none!important;
}

body.single-post .tbp-article-header__inner{
  width:min(900px,100%)!important;
  max-width:900px!important;
  margin:0 auto!important;
}

/* Slightly lighter / more editorial hero proportions. */
body.single-post .tbp-article-header h1{
  max-width:860px!important;
  font-size:52px!important;
  line-height:1.04!important;
}
body.single-post .tbp-article-header__excerpt{
  max-width:760px!important;
}

/* Image should support the story, not become the story. */
body.single-post .tbp-article-featured{
  width:min(760px,calc(100% - 48px))!important;
  max-width:760px!important;
  margin:36px auto 44px!important;
}
body.single-post .tbp-article-featured img{
  width:100%!important;
  max-height:420px!important;
  object-fit:cover!important;
  border-radius:7px!important;
}

/* Main article reading width. */
body.single-post .tbp-article-layout{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0 24px!important;
}
body.single-post .tbp-article-content{
  width:min(740px,100%)!important;
  max-width:740px!important;
  margin:0 auto!important;
}

/* Mid-article conversion remains deliberately discreet. */
body.single-post .tbp-article-cta{
  margin:32px 0!important;
  padding:20px 0 20px 18px!important;
  background:transparent!important;
  border:0!important;
  border-left:2px solid #C96F4A!important;
}
body.single-post .tbp-article-cta h3{
  font-size:23px!important;
}
body.single-post .tbp-article-cta__actions{
  margin-top:15px!important;
}

/* True full-width newsletter band. */
body.single-post .tbp-newsletter{
  width:100%!important;
  max-width:none!important;
  margin:48px 0 0!important;
  padding:52px 24px!important;
  background:#102A56!important;
  box-shadow:none!important;
  clip-path:none!important;
}
body.single-post .tbp-newsletter__inner{
  width:min(980px,100%)!important;
  max-width:980px!important;
  margin:0 auto!important;
}

/* Author remains contained on white. */
body.single-post .tbp-author-box{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:62px 24px!important;
  background:#FFFFFF!important;
}
body.single-post .tbp-author-box__inner{
  width:min(840px,100%)!important;
  max-width:840px!important;
  margin:0 auto!important;
}

/* Editorial exits: wide background, useful links, no extra sales banner. */
body.single-post .tbp-continue{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:66px 24px 70px!important;
  background:#F4F8FC!important;
  box-shadow:none!important;
  clip-path:none!important;
}
body.single-post .tbp-continue__inner{
  width:min(1080px,100%)!important;
  max-width:1080px!important;
  margin:0 auto!important;
}
body.single-post .tbp-continue__heading{
  margin-bottom:28px!important;
}
body.single-post .tbp-continue__heading h2{
  font-size:35px!important;
}
body.single-post .tbp-topic-nav{
  margin-top:28px!important;
}

/* Make the footer meet the editorial section with no white seam. */
body.single-post .tbp-continue + .tbp-article-bridge{
  display:none!important;
}
body.single-post .tbp-article{
  margin-bottom:0!important;
}
body.single-post #content{
  margin-bottom:0!important;
}

/* Keep all primary CTA labels white against theme link overrides. */
body.single-post a.tbp-btn--primary,
body.single-post a.tbp-btn--primary:visited,
body.single-post a.tbp-btn--primary:hover,
body.single-post a.tbp-btn--primary:focus{
  color:#FFFFFF!important;
}

/* Full-width archive hub should use the same shell when the page is built. */
body.page .tbp-newsroom{
  width:100%!important;
  max-width:none!important;
}

@media(max-width:640px){
  body.single-post .tbp-article-header{
    padding:44px 22px 34px!important;
  }
  body.single-post .tbp-article-header h1{
    font-size:38px!important;
  }
  body.single-post .tbp-article-featured{
    width:calc(100% - 44px)!important;
    max-width:none!important;
    margin:28px auto 36px!important;
  }
  body.single-post .tbp-article-featured img{
    max-height:340px!important;
  }
  body.single-post .tbp-article-layout{
    padding:0 22px!important;
  }
  body.single-post .tbp-newsletter{
    margin-top:36px!important;
    padding:44px 22px!important;
  }
  body.single-post .tbp-author-box{
    padding:52px 22px!important;
  }
  body.single-post .tbp-continue{
    padding:54px 22px 58px!important;
  }
}


/* =========================================================
   TBP NEWSROOM v0.1.4 — COMPACT AUTHOR + SECTION FLOW
   ========================================================= */

/* Article ends directly into the compact author identity block. */
body.single-post .tbp-article-content{
  padding-bottom:0!important;
}

body.single-post .tbp-author-box--compact{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:26px 24px!important;
  background:#FFFFFF!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__inner{
  width:min(740px,100%)!important;
  max-width:740px!important;
  margin:0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

body.single-post .tbp-author-box--compact img{
  flex:0 0 auto!important;
  width:54px!important;
  height:54px!important;
  border-radius:50%!important;
  object-fit:cover!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__content{
  min-width:0!important;
}

body.single-post .tbp-author-box--compact .tbp-eyebrow{
  margin:0 0 3px!important;
  font-size:9.5px!important;
  line-height:1.2!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__identity{
  display:flex!important;
  align-items:baseline!important;
  gap:9px!important;
  flex-wrap:wrap!important;
}

body.single-post .tbp-author-box--compact h2{
  margin:0!important;
  font-size:19px!important;
  line-height:1.15!important;
  font-weight:400!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__job{
  margin:0!important;
  color:#C96F4A!important;
  font-size:11px!important;
  font-weight:600!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__links{
  display:flex!important;
  gap:12px!important;
  flex-wrap:wrap!important;
  margin-top:5px!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__links a{
  font-size:10.5px!important;
}

/* No biography in the compact profile. */
body.single-post .tbp-author-box--compact .tbp-author-box__bio{
  display:none!important;
}

/* Author → newsletter → continue exploring, with no white seams. */
body.single-post .tbp-author-box--compact + .tbp-newsletter{
  margin-top:0!important;
}

body.single-post .tbp-newsletter{
  margin-bottom:0!important;
}

body.single-post .tbp-newsletter + .tbp-reviewer-box,
body.single-post .tbp-reviewer-box + .tbp-continue,
body.single-post .tbp-newsletter + .tbp-continue{
  margin-top:0!important;
}

body.single-post .tbp-reviewer-box{
  margin:0!important;
  padding-top:18px!important;
  padding-bottom:18px!important;
  background:#FFFFFF!important;
}

body.single-post .tbp-continue{
  margin-top:0!important;
}

/* If reviewer is absent (normal case), newsletter and Continue Exploring
   connect directly as adjacent full-width color bands. */
body.single-post .tbp-newsletter + .tbp-continue{
  border-top:0!important;
}

@media(max-width:640px){
  body.single-post .tbp-author-box--compact{
    padding:22px 22px!important;
  }
  body.single-post .tbp-author-box--compact .tbp-author-box__inner{
    gap:12px!important;
  }
  body.single-post .tbp-author-box--compact img{
    width:48px!important;
    height:48px!important;
  }
  body.single-post .tbp-author-box--compact h2{
    font-size:18px!important;
  }
}


/* =========================================================
   TBP NEWSROOM v0.1.5 — COMPACT AUTHOR STRIP REFINEMENT
   ========================================================= */

/* Keep the author area discreet, but give it a soft visual container
   aligned to the full article text width. */
body.single-post .tbp-author-box--compact{
  padding:24px 24px!important;
  background:#FFFFFF!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__inner{
  width:min(740px,100%)!important;
  max-width:740px!important;
  margin:0 auto!important;
  display:grid!important;
  grid-template-columns:54px minmax(0,1fr)!important;
  gap:16px!important;
  align-items:center!important;
  padding:14px 16px!important;
  border:1px solid #E4ECF4!important;
  border-radius:7px!important;
  background:#FAFCFE!important;
  box-shadow:none!important;
}

body.single-post .tbp-author-box--compact img{
  width:54px!important;
  height:54px!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__content{
  width:100%!important;
  min-width:0!important;
  display:grid!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  grid-template-areas:
    "eyebrow eyebrow"
    "identity links"!important;
  column-gap:18px!important;
  row-gap:2px!important;
  align-items:center!important;
}

body.single-post .tbp-author-box--compact .tbp-eyebrow{
  grid-area:eyebrow!important;
  margin:0 0 2px!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__identity{
  grid-area:identity!important;
  display:flex!important;
  align-items:baseline!important;
  gap:8px!important;
  flex-wrap:wrap!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__links{
  grid-area:links!important;
  margin:0!important;
  display:flex!important;
  gap:12px!important;
  justify-content:flex-end!important;
  align-items:center!important;
  white-space:nowrap!important;
}

body.single-post .tbp-author-box--compact h2{
  font-size:18px!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__job{
  font-size:10.5px!important;
}

body.single-post .tbp-author-box--compact .tbp-author-box__links a{
  font-size:10.5px!important;
}

/* Keep the handoff into newsletter visually clean. */
body.single-post .tbp-author-box--compact + .tbp-newsletter{
  margin-top:0!important;
}

@media(max-width:640px){
  body.single-post .tbp-author-box--compact{
    padding:20px 22px!important;
  }

  body.single-post .tbp-author-box--compact .tbp-author-box__inner{
    grid-template-columns:48px minmax(0,1fr)!important;
    gap:12px!important;
    padding:12px 13px!important;
  }

  body.single-post .tbp-author-box--compact .tbp-author-box__content{
    grid-template-columns:1fr!important;
    grid-template-areas:
      "eyebrow"
      "identity"
      "links"!important;
    row-gap:4px!important;
  }

  body.single-post .tbp-author-box--compact .tbp-author-box__links{
    justify-content:flex-start!important;
    white-space:normal!important;
  }

  body.single-post .tbp-author-box--compact h2{
    font-size:17px!important;
  }
}


/* =========================================================
   TBP NEWSROOM v0.2.0 — NEWS & ARTICLES HUB
   ========================================================= */

/* Break the News & Articles page out of GeneratePress boxed wrappers. */
body.page-id-0 .tbp-newsroom{width:100%}

body.page:has(.tbp-newsroom) #page,
body.page:has(.tbp-newsroom) .site.grid-container,
body.page:has(.tbp-newsroom) #content,
body.page:has(.tbp-newsroom) .site-content,
body.page:has(.tbp-newsroom) #primary,
body.page:has(.tbp-newsroom) .content-area,
body.page:has(.tbp-newsroom) .site-main{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  display:block!important;
}

/* Fallback for browsers/themes where :has() is not applied consistently. */
body.page-template-default .tbp-newsroom{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* HERO */
.tbp-news-hero{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:72px 24px 78px!important;
  background:
    radial-gradient(circle at 88% 14%,rgba(104,180,239,.17),transparent 34%),
    linear-gradient(180deg,#F5F9FD 0%,#FAFCFE 100%)!important;
}
.tbp-news-hero__inner{
  width:min(1180px,100%)!important;
  margin:0 auto!important;
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr)!important;
  gap:62px!important;
}
.tbp-news-hero__intro{
  align-self:center;
}
.tbp-news-hero__intro h1{
  font-size:56px!important;
}
.tbp-news-hero__intro>p:last-of-type{
  max-width:500px!important;
}
.tbp-news-hero__trust{
  display:flex;
  flex-wrap:wrap;
  gap:8px 14px;
  margin-top:20px;
  color:#66758A;
  font-size:11px;
  font-weight:600;
}
.tbp-news-hero__trust span{
  display:inline-flex;
  align-items:center;
  gap:7px;
}
.tbp-news-hero__trust span:before{
  content:"";
  width:5px;
  height:5px;
  border-radius:50%;
  background:#C96F4A;
}
.tbp-news-hero__featured .tbp-news-card{
  border:0;
  box-shadow:0 18px 42px rgba(16,42,86,.10);
}
.tbp-news-hero__featured .tbp-news-card__image{
  aspect-ratio:16/9;
}
.tbp-news-hero__featured .tbp-news-card__body{
  padding:24px 26px 26px!important;
}

/* LATEST */
.tbp-news-latest{
  width:100%!important;
  padding:76px 0 82px!important;
  background:#FFFFFF!important;
}
.tbp-news-latest__grid{
  grid-template-columns:1.25fr .75fr .75fr!important;
  gap:18px!important;
}
.tbp-news-latest__grid .tbp-news-card--large{
  grid-column:1!important;
  grid-row:span 2!important;
}
.tbp-news-latest__grid .tbp-news-card--large .tbp-news-card__image{
  aspect-ratio:4/3!important;
}
.tbp-news-latest__grid .tbp-news-card:not(.tbp-news-card--large) .tbp-news-card__image{
  aspect-ratio:16/9!important;
}
.tbp-news-latest__grid .tbp-news-card:not(.tbp-news-card--large) h3{
  font-size:18px!important;
}

/* HUB NEWSLETTER — slim editorial band. */
.tbp-newsroom > .tbp-newsletter{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:44px 24px!important;
  background:#102A56!important;
}
.tbp-newsroom > .tbp-newsletter .tbp-newsletter__inner{
  width:min(1040px,100%)!important;
  max-width:1040px!important;
}
.tbp-newsroom > .tbp-newsletter h2{
  font-size:32px!important;
}

/* EXPLORE / FILTERS */
.tbp-news-explore{
  width:100%!important;
  padding:66px 0 30px!important;
  background:#F4F8FC!important;
}
.tbp-news-explore__top{
  align-items:center!important;
}
.tbp-news-search input{
  min-width:300px!important;
}
.tbp-news-filters{
  margin-top:24px!important;
}
.tbp-news-filters a{
  border-radius:5px!important;
  padding:9px 13px!important;
  background:rgba(255,255,255,.9)!important;
}
.tbp-news-filters a:hover,
.tbp-news-filters a.is-active{
  background:#102A56!important;
  color:#FFFFFF!important;
}

/* MAIN ARCHIVE */
.tbp-news-all{
  width:100%!important;
  padding:34px 0 82px!important;
  background:#F4F8FC!important;
}
.tbp-news-all .tbp-news-grid{
  gap:20px!important;
}
.tbp-news-all .tbp-news-card{
  box-shadow:none!important;
  border-color:#D7E3EF!important;
}
.tbp-news-all .tbp-news-card__body{
  padding:20px!important;
}
.tbp-news-empty{
  padding:42px 0;
  text-align:center;
}
.tbp-news-empty h3{
  margin:0;
  font-size:26px;
}
.tbp-news-empty p{
  margin:8px 0 0;
}

/* STRATEGIC FEATURE */
.tbp-news-strategic{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:82px 24px!important;
  background:#FFFFFF!important;
}
.tbp-news-strategic__inner{
  width:min(1080px,100%)!important;
}
.tbp-news-strategic__copy{
  padding-right:16px;
}
.tbp-news-strategic__copy h2{
  font-size:38px!important;
}
.tbp-news-strategic__copy .tbp-btn{
  margin-top:2px;
}

/* FINAL BRIDGE — intentionally restrained because the global footer converts. */
.tbp-news-bridge{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:46px 24px!important;
  background:#EEF4FB!important;
}
.tbp-news-bridge__inner{
  width:min(1040px,100%)!important;
}
.tbp-news-bridge h2{
  font-size:30px!important;
}

/* Cards */
.tbp-news-card{
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.tbp-news-card:hover{
  transform:translateY(-2px);
  border-color:#BFD0E2;
  box-shadow:0 12px 28px rgba(16,42,86,.06);
}
.tbp-news-card__category:hover{
  color:#A95433;
}
.tbp-news-card h3 a:hover{
  color:#1F5DAA;
}

/* Mobile */
@media(max-width:980px){
  .tbp-news-hero__inner{
    grid-template-columns:1fr!important;
    gap:34px!important;
  }
  .tbp-news-hero__intro{
    max-width:760px;
  }
  .tbp-news-latest__grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
  .tbp-news-latest__grid .tbp-news-card--large{
    grid-column:span 2!important;
    grid-row:auto!important;
  }
}

@media(max-width:640px){
  .tbp-news-hero{
    padding:50px 22px 58px!important;
  }
  .tbp-news-hero__intro h1{
    font-size:41px!important;
  }
  .tbp-news-hero__trust{
    gap:7px 12px;
  }
  .tbp-news-latest{
    padding:58px 0 64px!important;
  }
  .tbp-news-latest__grid{
    grid-template-columns:1fr!important;
  }
  .tbp-news-latest__grid .tbp-news-card--large{
    grid-column:auto!important;
  }
  .tbp-newsroom > .tbp-newsletter{
    padding:40px 22px!important;
  }
  .tbp-news-explore{
    padding:52px 0 24px!important;
  }
  .tbp-news-search input{
    min-width:0!important;
  }
  .tbp-news-all{
    padding:28px 0 64px!important;
  }
  .tbp-news-strategic{
    padding:62px 22px!important;
  }
  .tbp-news-bridge{
    padding:42px 22px!important;
  }
}
