/* Research guides (single post) and the /blog/ index.
   Colours are the logo pack's: Navy #001E33 headings, Clean Blue #0054A6
   links and labels, Aqua #4FB8DC decoration only. Tables live in
   research.css, which loads on every post. */
.cp-blog{
  --cpb-navy:#001E33;--cpb-blue:#0054A6;--cpb-aqua:#4FB8DC;--cpb-text:#1E2A33;--cpb-soft:#56646F;
  --cpb-tint:#F2F7FC;--cpb-rule:#E1E9F1;--cpb-rule-strong:#CFDCE8;
  --cpb-head:var(--v4-font-heading,var(--display));
  --cpb-lift:0 1px 2px rgba(0,30,51,.04),0 18px 40px -28px rgba(0,30,51,.22);
  padding:clamp(32px,6vw,72px) 24px 88px;
  background:linear-gradient(180deg,#F3F7FB 0,rgba(243,247,251,0) 520px),var(--white,#fff)}
.cp-blog__article{max-width:800px;margin-inline:auto;overflow-wrap:anywhere;min-width:0}
.cp-blog .cp-blog__title{
  font-family:var(--cpb-head);font-weight:800;font-size:clamp(32px,4.6vw,50px);line-height:1.08;
  letter-spacing:-.02em;color:var(--cpb-navy);margin:0 0 16px;text-wrap:pretty;overflow-wrap:break-word}
.cp-blog__date{color:var(--cpb-soft);font-size:14px;letter-spacing:.01em;margin-bottom:28px}
.cp-blog__image{margin:0 0 40px}
.cp-blog__image img{
  display:block;width:100%;height:auto;border-radius:18px;
  outline:1px solid rgba(0,30,51,.06);outline-offset:-1px;box-shadow:var(--cpb-lift)}

/* ---- The article body ---- */
.cp-blog__content{font-size:17px;line-height:1.75;color:var(--cpb-text)}
.cp-blog__content > p:first-child{font-size:clamp(17.5px,1.6vw,19px);line-height:1.68;color:#14273A}
.cp-blog__content :is(p,ul,ol,blockquote,figure){margin:0 0 20px}
.cp-blog__content :is(h2,h3,h4){overflow-wrap:break-word;text-wrap:balance}
.cp-blog__content h2{
  margin:52px 0 16px;font-family:var(--cpb-head);font-weight:700;font-size:clamp(24px,2.6vw,30px);
  line-height:1.2;letter-spacing:-.015em;color:var(--cpb-navy)}
.cp-blog__content h3{
  margin:36px 0 10px;font-family:var(--display);font-weight:650;font-size:21px;
  line-height:1.3;letter-spacing:-.01em;color:var(--cpb-blue)}
.cp-blog__content h4{margin:28px 0 8px;font-family:var(--display);font-weight:650;font-size:18px;line-height:1.35;color:var(--cpb-navy)}
.cp-blog__content > :is(h2,h3):first-child{margin-top:0}
.cp-blog__content ul,.cp-blog__faq-answer ul{list-style:disc;padding-inline-start:24px}
.cp-blog__content ol,.cp-blog__faq-answer ol{list-style:decimal;padding-inline-start:24px}
.cp-blog__content li{margin:8px 0;padding-inline-start:2px}
.cp-blog__content li::marker,.cp-blog__faq-answer li::marker{color:var(--cpb-aqua)}
.cp-blog__content ol > li::marker{color:var(--cpb-blue);font-weight:600}
.cp-blog__content strong{color:#10202F;font-weight:650}
.cp-blog__content blockquote{
  margin-inline:0;padding:16px 20px;border-inline-start:3px solid var(--cpb-aqua);
  background:var(--cpb-tint);border-radius:0 12px 12px 0;color:#14273A}
.cp-blog__content blockquote > :last-child{margin-bottom:0}
.cp-blog__content :not(pre) > code{
  font-family:var(--mono);font-size:.84em;padding:.12em .38em;border-radius:5px;
  background:#EEF3F8;color:var(--cpb-navy);overflow-wrap:anywhere}
.cp-blog__content hr{border:0;border-top:1px solid var(--cpb-rule);margin:40px 0}
.cp-blog a{
  color:var(--cpb-blue);text-decoration:underline;text-decoration-color:rgba(0,84,166,.35);
  text-decoration-thickness:1px;text-underline-offset:3px;transition:text-decoration-color .15s}
.cp-blog a:hover{text-decoration-color:currentColor}
.cp-blog__content img{max-width:100%;height:auto;border-radius:12px}

/* ---- Author ---- */
.cp-blog__author{
  display:flex;gap:16px;align-items:center;margin-top:48px;padding:20px 22px;
  background:var(--cpb-tint);border:1px solid var(--cpb-rule);border-radius:18px}
.cp-blog__author-mark{
  flex:none;display:grid;place-items:center;width:56px;height:56px;border-radius:50%;
  background:#fff;border:1px solid var(--cpb-rule);box-shadow:0 4px 12px -6px rgba(0,30,51,.25)}
.cp-blog__author-mark img{display:block;width:30px;height:auto}
.cp-blog__author > img{border-radius:50%;flex:none}
.cp-blog__author-name{margin:0 0 4px;font-family:var(--cpb-head);font-weight:700;font-size:17px;line-height:1.3;color:var(--cpb-navy)}
.cp-blog__author-bio{color:var(--cpb-soft);font-size:14px;line-height:1.5}
.cp-blog__author-bio p{margin:0 0 8px}

/* ---- FAQ ---- */
.cp-blog__faq{margin-top:56px}
.cp-blog__faq > h2{
  margin:0 0 20px;font-family:var(--cpb-head);font-weight:700;font-size:clamp(24px,2.6vw,30px);
  line-height:1.2;letter-spacing:-.015em;color:var(--cpb-navy)}
.cp-blog__faq-item{
  margin:0 0 10px;background:#fff;border:1px solid var(--cpb-rule);border-radius:14px;
  transition:border-color .15s,box-shadow .15s}
.cp-blog__faq-item:hover{border-color:var(--cpb-rule-strong)}
.cp-blog__faq-item[open]{border-color:var(--cpb-rule-strong);box-shadow:var(--cpb-lift)}
.cp-blog__faq-item summary{
  display:flex;align-items:center;justify-content:space-between;gap:18px;
  padding:18px 20px;cursor:pointer;list-style:none;
  font-weight:600;font-size:16.5px;line-height:1.4;color:var(--cpb-navy)}
.cp-blog__faq-item summary::-webkit-details-marker{display:none}
.cp-blog__faq-item summary::after{
  content:"+";flex:none;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;
  background:var(--cpb-tint);color:var(--cpb-blue);font-size:18px;font-weight:500;line-height:1}
.cp-blog__faq-item[open] summary::after{content:"\00d7";background:var(--cpb-blue);color:#fff}
.cp-blog__faq-item summary:focus-visible{outline:2px solid var(--cpb-blue);outline-offset:2px;border-radius:14px}
.cp-blog__faq-answer{padding:0 20px 20px;font-size:15.5px;line-height:1.7;color:#3A4954}
.cp-blog__faq-answer :is(p,ul,ol){margin:0 0 12px}
.cp-blog__faq-answer>:last-child{margin-bottom:0}
.cp-blog__pages{margin-top:28px;font-size:15px}

/* ---- /blog/ index ---- */
.cp-blog-index__inner{max-width:1180px;margin-inline:auto;min-width:0}
.cp-blog-index__intro{margin-bottom:32px;line-height:1.7;max-width:68ch;color:var(--cpb-text)}
.cp-blog-index__intro:empty{display:none}
.cp-blog-index__posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;padding:0;margin:36px 0}
.cp-blog-index__posts>.wp-block-post{
  display:flex;flex-direction:column;min-width:0;overflow:hidden;overflow-wrap:anywhere;
  padding:0 0 24px;background:var(--white,#fff);border:1px solid var(--cpb-rule);border-radius:18px;
  box-shadow:0 1px 2px rgba(0,30,51,.04);transition:box-shadow .2s,border-color .2s,transform .2s}
.cp-blog-index__posts>.wp-block-post:hover{border-color:var(--cpb-rule-strong);box-shadow:var(--cpb-lift);transform:translateY(-2px)}
.cp-blog-index__posts>.wp-block-post>*{margin-inline:24px}
.cp-blog-index__posts>.wp-block-post>.cp-blog-index__image{margin:0 0 22px;border-bottom:1px solid var(--cpb-rule)}
.cp-blog-index__posts>.wp-block-post>:first-child:not(.cp-blog-index__image){margin-top:24px}
.cp-blog-index__image img{display:block;width:100%;height:auto;object-fit:cover;border-radius:0}
.cp-blog-index__title{font-family:var(--cpb-head);font-weight:700;font-size:21px;line-height:1.25;letter-spacing:-.01em;margin:0 24px 10px;overflow-wrap:break-word;text-wrap:balance}
.cp-blog-index__title a{color:var(--cpb-navy);text-decoration:none}
.cp-blog-index__title a:hover{color:var(--cpb-blue);text-decoration:none}
.cp-blog-index .cp-blog__date{margin-bottom:12px;font-size:13px}
.cp-blog-index .wp-block-post-excerpt{display:flex;flex:1 1 auto;flex-direction:column;font-size:15px;line-height:1.65;color:#3A4954}
.cp-blog-index .wp-block-post-excerpt__excerpt{margin:0 0 16px}
.cp-blog-index .wp-block-post-excerpt__more-text{margin:auto 0 0}
.cp-blog-index .wp-block-post-excerpt__more-link{font-weight:600}
.cp-blog-index__pagination{gap:16px;margin-top:32px;flex-wrap:wrap}
.cp-blog-index__pagination .page-numbers{display:inline-block;padding:8px 12px;border-radius:8px}
.cp-blog-index__pagination .page-numbers.current{background:var(--cpb-tint);color:var(--cpb-navy);font-weight:600}
@media(max-width:1000px){.cp-blog-index__posts{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){
  .cp-blog-index__posts{grid-template-columns:minmax(0,1fr);gap:20px}
  .cp-blog-index__posts>.wp-block-post>*{margin-inline:20px}
  .cp-blog-index__title{margin-inline:20px}
}
@media(max-width:600px){
  .cp-blog{padding-inline:16px}
  .cp-blog__content{font-size:16.5px}
  .cp-blog__content h2{margin-top:42px}
  .cp-blog__content h3{margin-top:30px;font-size:19.5px}
  .cp-blog__image{margin-bottom:30px}
  .cp-blog__image img{border-radius:14px}
  .cp-blog__author{align-items:flex-start;padding:18px}
  .cp-blog__faq-item summary{font-size:15.5px;padding:16px}
  .cp-blog__faq-answer{padding:0 16px 18px;font-size:15px}
}

/* The rest of the research section under the articles ([cp_research_more]). */
.cp-research-more{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;margin:56px 0 16px;padding-top:40px;border-top:1px solid var(--cpb-rule)}
.cp-research-more__h{font-family:var(--cpb-head);font-weight:700;font-size:20px;line-height:1.3;color:var(--cpb-navy);margin:0 0 12px}
.cp-research-more ul{list-style:none;margin:0;padding:0}
.cp-research-more li{padding:9px 0;border-bottom:1px solid var(--cpb-rule);line-height:1.45}
.cp-research-more li:last-child{border-bottom:0}
.cp-research-more a{color:var(--cpb-blue)}
@media(max-width:900px){.cp-research-more{grid-template-columns:minmax(0,1fr);gap:24px}}

@media(prefers-reduced-motion:reduce){
  .cp-blog a,.cp-blog__faq-item,.cp-blog-index__posts>.wp-block-post{transition:none}
  .cp-blog-index__posts>.wp-block-post:hover{transform:none}
}
