/* ============================================================
   Blog reading layout. These 93 posts already rank, so the job is
   readability and the metadata the live site never had — not a redesign
   of the prose. Deliberately a different shape from the service and
   industry pages: one narrow column, a sticky contents rail, no orbs.
   ============================================================ */

.bl{font-family:"Instrument Sans",system-ui,sans-serif;color:var(--ink)}

/* ---------- masthead ---------- */
.bl-head{background:linear-gradient(180deg,#FCFBFD 0%,#F5F2F8 100%);
  border-bottom:1px solid var(--line);padding:56px 0 0}
.bl-head .ee-wrap{max-width:1180px}
.bl-kicker{display:inline-flex;align-items:center;gap:9px;font-size:12px;letter-spacing:.14em;
  text-transform:uppercase;font-weight:700;color:var(--odoo);margin-bottom:18px}
.bl-kicker::before{content:"";width:26px;height:2px;background:var(--odoo);border-radius:2px}
.bl h1{font-family:"Bricolage Grotesque",system-ui;font-size:clamp(32px,4.1vw,54px);
  line-height:1.08;letter-spacing:-.03em;color:var(--navy);margin:0 0 24px;max-width:21ch}
.bl-by{display:flex;align-items:center;gap:14px;flex-wrap:wrap;font-size:14px;color:#6B6B8C;
  padding-bottom:38px}
.bl-by .av{width:42px;height:42px;border-radius:50%;flex:0 0 42px;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--odoo),#A96E97);color:#fff;font-weight:700;font-size:14px;
  font-family:"Bricolage Grotesque",system-ui}
.bl-by b{color:var(--navy);font-weight:650;font-size:14.5px;display:block}
.bl-by .role{display:block;font-size:12.5px;color:#8A8AA8}
.bl-by .sep{width:1px;height:26px;background:var(--line)}
.bl-by time,.bl-by .read{white-space:nowrap}

/* featured image overlaps the masthead edge */
.bl-hero{max-width:1180px;margin:0 auto;padding:0 28px}
.bl-hero figure{margin:0;border-radius:18px;overflow:hidden;border:1px solid var(--line);
  background:#fff;box-shadow:0 40px 90px -46px rgba(113,75,103,.5);transform:translateY(42px)}
.bl-hero img{display:block;width:100%;height:auto;aspect-ratio:16/8;object-fit:cover}

/* ---------- body ---------- */
.bl-body{padding:92px 0 0}
.bl-grid{max-width:1180px;margin:0 auto;padding:0 28px;
  display:grid;grid-template-columns:minmax(0,1fr) 248px;gap:62px;align-items:start}

.bl-article{min-width:0;font-size:17.5px;line-height:1.75;color:#33334D}
.bl-article > *:first-child{margin-top:0}
.bl-article p{margin:0 0 24px}
.bl-article h2{font-family:"Bricolage Grotesque",system-ui;font-size:clamp(24px,2.5vw,31px);
  line-height:1.2;letter-spacing:-.02em;color:var(--navy);margin:48px 0 18px;scroll-margin-top:96px}
.bl-article h2 strong{font-weight:inherit}
.bl-article h3{font-family:"Bricolage Grotesque",system-ui;font-size:20px;line-height:1.3;
  color:var(--navy);margin:34px 0 14px}
.bl-article h4{font-size:17px;color:var(--navy);margin:26px 0 10px;font-weight:650}
.bl-article a{color:var(--navy);text-decoration:none;border-bottom:1px solid var(--odoo);
  transition:color .2s,border-color .2s}
.bl-article a:hover{color:var(--odoo);border-bottom-color:var(--coral)}
.bl-article ul,.bl-article ol{margin:0 0 26px;padding-left:22px}
.bl-article li{margin-bottom:10px}
.bl-article li::marker{color:var(--odoo)}
.bl-article strong{color:var(--navy);font-weight:650}
.bl-article figure{margin:34px 0;border-radius:14px;overflow:hidden;border:1px solid var(--line)}
.bl-article img{display:block;width:100%;height:auto}
.bl-article blockquote{margin:30px 0;padding:4px 0 4px 24px;border-left:3px solid var(--odoo);
  color:#50506E;font-size:19px;line-height:1.65}
.bl-article table{width:100%;border-collapse:collapse;margin:30px 0;font-size:15.5px}
.bl-article th,.bl-article td{border:1px solid var(--line);padding:11px 14px;text-align:left}
.bl-article th{background:#F6F2F6;color:var(--navy);font-weight:650}

/* the Yoast FAQ blocks the posts already carry */
.bl-article .schema-faq-section{border-top:1px solid var(--line);padding:22px 0}
.bl-article .schema-faq-question{display:block;font-family:"Bricolage Grotesque",system-ui;
  font-size:18px;color:var(--navy);font-weight:650;margin-bottom:9px;line-height:1.35}
.bl-article .schema-faq-answer{margin:0;color:#53537A;font-size:16.5px}

/* media-text blocks from Gutenberg */
.bl-article .wp-block-media-text{display:grid;grid-template-columns:1fr 1fr;gap:28px;
  align-items:center;margin:34px 0}
.bl-article .wp-block-media-text__media img{border-radius:12px}
.bl-article .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{order:2}

/* ---------- contents rail ---------- */
.bl-toc{position:sticky;top:96px;font-size:14px}
.bl-toc h2{font-family:"Bricolage Grotesque",system-ui;font-size:12px;letter-spacing:.13em;
  text-transform:uppercase;color:#8A8AA8;margin:0 0 16px;font-weight:700}
.bl-toc ol{margin:0;padding:0;counter-reset:t;border-left:1px solid var(--line)}
.bl-toc li{list-style:none;margin:0}
.bl-toc a{display:block;padding:8px 0 8px 16px;color:#6B6B8C;text-decoration:none;
  border-left:2px solid transparent;margin-left:-1px;line-height:1.4;transition:color .2s,border-color .2s}
.bl-toc a:hover{color:var(--navy);border-left-color:var(--odoo)}
.bl-toc a.on{color:var(--navy);border-left-color:var(--odoo);font-weight:600}

/* ---------- author card ---------- */
.bl-author{margin:64px 0 0;padding:28px;border:1px solid var(--line);border-radius:16px;
  background:#FBFAFD;display:flex;gap:20px;align-items:flex-start}
.bl-author .av{width:54px;height:54px;flex:0 0 54px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(140deg,var(--odoo),#A96E97);color:#fff;font-weight:700;font-size:17px;
  font-family:"Bricolage Grotesque",system-ui}
.bl-author b{display:block;color:var(--navy);font-size:16.5px;font-family:"Bricolage Grotesque",system-ui}
.bl-author .role{display:block;color:#8A8AA8;font-size:13px;margin:2px 0 10px}
.bl-author p{margin:0;font-size:15px;line-height:1.65;color:#53537A}
.bl-author a{color:var(--navy);border-bottom:1px solid var(--odoo);text-decoration:none}

/* ---------- related ---------- */
.bl-related{padding:72px 0 0;max-width:1180px;margin:0 auto}
.bl-related h2{font-family:"Bricolage Grotesque",system-ui;font-size:24px;color:var(--navy);
  margin:0 0 24px;letter-spacing:-.02em}
.bl-rel-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.bl-rel-grid a{display:block;background:#fff;border:1px solid var(--line);border-radius:14px;
  padding:0;overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .35s,box-shadow .35s,border-color .35s}
.bl-rel-grid a:hover{transform:translateY(-4px);box-shadow:0 26px 60px -30px rgba(20,20,63,.4);
  border-color:#D8D4E0}
.bl-rel-grid img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.bl-rel-grid .t{padding:18px 20px 22px;font-family:"Bricolage Grotesque",system-ui;font-size:16px;
  line-height:1.34;color:var(--navy);font-weight:650}

@media(max-width:980px){
  .bl-grid{grid-template-columns:1fr;gap:0}
  .bl-toc{display:none}
  .bl-rel-grid{grid-template-columns:1fr}
  .bl-article .wp-block-media-text{grid-template-columns:1fr}
  .bl-article .wp-block-media-text.has-media-on-the-right .wp-block-media-text__media{order:0}
  .bl-hero figure{transform:translateY(28px)}
  .bl-body{padding-top:68px}
}

/* ---------- blog index ---------- */
.bi-lede{font-size:17.5px;line-height:1.7;color:#53537A;max-width:60ch;margin:0 0 38px}
.bi-body{padding:52px 0 0;background:#fff}
.bi-topic{display:inline-block;font-size:11.5px;letter-spacing:.11em;text-transform:uppercase;
  font-weight:700;color:var(--odoo);margin-bottom:10px}

.bi-lead{display:grid;grid-template-columns:1.15fr .85fr;gap:0;align-items:stretch;
  border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;
  margin-bottom:46px;background:#fff;transition:box-shadow .35s,border-color .35s}
.bi-lead:hover{box-shadow:0 36px 80px -40px rgba(113,75,103,.5);border-color:#D8D4E0}
.bi-lead img{display:block;width:100%;height:100%;object-fit:cover;min-height:300px}
.bi-lead-c{padding:40px 42px;display:flex;flex-direction:column;justify-content:center}
.bi-lead-c h2{font-family:"Bricolage Grotesque",system-ui;font-size:clamp(23px,2.4vw,31px);
  line-height:1.2;letter-spacing:-.02em;color:var(--navy);margin:0 0 14px}
.bi-lead-c p{font-size:16px;line-height:1.65;color:#53537A;margin:0 0 18px}

.bi-meta{font-size:13px;color:#8A8AA8}
.bi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-bottom:80px}
.bi-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);
  border-radius:15px;overflow:hidden;text-decoration:none;color:inherit;
  transition:transform .35s,box-shadow .35s,border-color .35s}
.bi-card:hover{transform:translateY(-5px);box-shadow:0 30px 64px -32px rgba(20,20,63,.42);
  border-color:#D8D4E0}
.bi-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.bi-c{padding:20px 22px 24px;display:flex;flex-direction:column;flex:1}
.bi-c h3{font-family:"Bricolage Grotesque",system-ui;font-size:17px;line-height:1.32;
  color:var(--navy);margin:0 0 12px;font-weight:650;flex:1}

@media(max-width:980px){
  .bi-lead{grid-template-columns:1fr}
  .bi-lead img{min-height:220px}
  .bi-lead-c{padding:28px 24px 32px}
  .bi-grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){.bi-grid{grid-template-columns:1fr}}
