/* Blog article page — prose styles apply to bare tags inside .article__body */

.blog-article-page .nav a[href="/blog/"],
.blog-article-page .mobile-nav a[href="/blog/"]{opacity:1;}

.breadcrumbs{padding:18px 0;border-bottom:1px solid var(--border);}
.breadcrumbs ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:var(--muted-dark);list-style:none;margin:0;padding:0;}
.breadcrumbs a{color:var(--muted-dark);}
.breadcrumbs a:hover{color:var(--blue-600);}
.breadcrumbs li:last-child{color:var(--navy-900);font-weight:600;}
.breadcrumbs li:not(:last-child)::after{content:"/";margin-left:8px;color:#c3cbdb;}
.breadcrumbs li{display:flex;align-items:center;gap:8px;max-width:100%;}
.breadcrumbs li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}

.article-header{padding:36px 0 28px;}
.article-header__tag{
  display:inline-block;
  font-size:11px;
  font-weight:700;
  letter-spacing:.03em;
  text-transform:uppercase;
  color:var(--blue-600);
  background:#eaf0fb;
  padding:6px 12px;
  border-radius:999px;
  margin-bottom:16px;
}
.article-header h1{margin:0 0 20px;font-size:28px;font-weight:800;line-height:1.2;max-width:26ch;}
.article-meta{display:flex;flex-wrap:wrap;align-items:center;gap:16px 20px;font-size:13px;color:var(--muted-dark);}
.article-meta__item{display:flex;align-items:center;gap:6px;}
.article-meta__item svg{width:16px;height:16px;}
.article-meta__share{
  margin-left:auto;
  display:flex;align-items:center;gap:8px;
  width:36px;height:36px;
  border-radius:50%;
  border:1.5px solid var(--border);
  color:var(--navy-900);
  justify-content:center;
  position:relative;
  background:transparent;
  transition:border-color .2s ease, color .2s ease;
}
.article-meta__share:hover{border-color:var(--blue-600);color:var(--blue-600);}
.article-meta__share svg{width:15px;height:15px;}
.share-toast{
  position:absolute;top:calc(100% + 8px);right:0;
  background:var(--navy-900);color:var(--white);
  font-size:11px;font-weight:600;white-space:nowrap;
  padding:6px 10px;border-radius:8px;
  opacity:0;pointer-events:none;
  transition:opacity .2s ease;
}
.share-toast.is-visible{opacity:1;}

.article{padding:8px 0 40px;}
.article__body{max-width:720px;}

/* Auto-styled CMS / HTML content — no extra classes needed on tags */
.article__body h2,
.article__body h3{font-size:20px;font-weight:800;color:var(--navy-900);margin:38px 0 14px;line-height:1.3;}
.article__body h4{font-size:16px;font-weight:800;color:var(--navy-900);margin:26px 0 10px;line-height:1.35;}
.article__body p{font-size:15px;line-height:1.75;color:var(--muted-dark);margin:0 0 16px;}
.article__body strong,.article__body b{color:var(--navy-900);font-weight:700;}
.article__body a{color:var(--blue-600);text-decoration:underline;}
.article__body img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:0 0 20px;}
.article__body blockquote{
  background:#eaf0fb;
  border-left:3px solid var(--blue-600);
  border-radius:10px;
  padding:16px 18px;
  margin:0 0 20px;
  font-size:14px;
  line-height:1.65;
  color:var(--navy-800);
}
.article__body blockquote p{color:var(--navy-800);margin:0 0 8px;}
.article__body blockquote p:last-child{margin-bottom:0;}

.article__body ul,
.article__body ol{
  margin:0 0 16px;
  padding-left:0;
  list-style:none;
  counter-reset:ol-counter;
}
.article__body ul li,
.article__body ol li{
  position:relative;
  padding-left:30px;
  font-size:15px;
  line-height:1.7;
  color:var(--muted-dark);
  margin-bottom:12px;
}
.article__body ul li::before{
  content:"";
  position:absolute;left:0;top:9px;
  width:7px;height:7px;border-radius:50%;
  background:var(--blue-600);
}
.article__body ol li{counter-increment:ol-counter;}
.article__body ol li::before{
  content:counter(ol-counter);
  position:absolute;left:0;top:0;
  width:22px;height:22px;border-radius:7px;
  background:var(--blue-600);color:var(--white);
  font-size:12px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
}

.callout{
  background:#eaf0fb;
  border-left:3px solid var(--blue-600);
  border-radius:10px;
  padding:16px 18px;
  margin:0 0 20px;
  font-size:14px;
  line-height:1.65;
  color:var(--navy-800);
}
.callout strong{color:var(--navy-900);}
.dialogue{
  border-left:3px solid var(--border);
  padding-left:18px;
  margin:0 0 20px;
}
.dialogue p{font-style:italic;margin-bottom:8px;}
.dialogue p:last-child{margin-bottom:0;}

.article-cta{
  margin-top:36px;
  padding:22px;
  border-radius:var(--radius-md);
  background:linear-gradient(160deg,#0c1c3a,#123362);
  color:var(--white);
  display:flex;
  flex-direction:column;
  gap:14px;
  align-items:flex-start;
  max-width:720px;
}
.article-cta p{margin:0;font-size:14px;color:var(--muted);}
.article-cta .btn{background:var(--white);color:var(--navy-900);}

.related{padding:16px 0 56px;border-top:1px solid var(--border);margin-top:40px;}
.related__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:16px;}
.related__head h2{font-size:20px;font-weight:800;margin:0;}
.related__head a{font-size:13px;font-weight:700;color:var(--blue-600);white-space:nowrap;}
.related__grid{display:grid;grid-template-columns:1fr;gap:20px;}
.blog-article-page .post-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:20px;
  border:1px solid var(--border);
  border-radius:var(--radius-md);
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.blog-article-page .post-card:hover{border-color:var(--blue-600);box-shadow:0 16px 30px -18px rgba(12,28,58,.35);transform:translateY(-2px);}
.blog-article-page .post-card__tag{
  align-self:flex-start;
  font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;
  color:var(--blue-600);background:#eaf0fb;padding:5px 11px;border-radius:999px;
}
.blog-article-page .post-card h3{margin:0;font-size:16px;font-weight:800;line-height:1.3;color:var(--navy-900);}
.blog-article-page .post-card p{margin:0;font-size:13px;color:var(--muted-dark);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.blog-article-page .post-card__more{margin-top:auto;display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--blue-600);}
.blog-article-page .post-card__more svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .2s ease, stroke-width .2s ease;}
.blog-article-page .post-card:hover .post-card__more svg{transform:translateX(4px);stroke-width:2.6;}

.eyebrow{font-size:22px;font-weight:800;letter-spacing:.02em;text-align:center;margin:0 0 34px;}
.contact{padding:56px 0;background:linear-gradient(160deg,#0c1c3a,#081327);color:var(--white);}
.contact h2{color:var(--white);}
.contact form{display:flex;flex-direction:column;gap:16px;}
.field{display:flex;flex-direction:column;gap:8px;}
.field label{font-size:12px;color:var(--muted);}
.field input,.field select,.field textarea{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.25);
  border-radius:10px;
  padding:13px 14px;
  color:var(--white);
  font-size:14px;
  outline:none;
  font-family:inherit;
}
.field select{appearance:none;-webkit-appearance:none;background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="white" stroke-width="2"><polyline points="6 9 12 15 18 9"/></svg>');background-repeat:no-repeat;background-position:right 14px center;background-size:16px;}
.field textarea{resize:vertical;min-height:100px;}
.field input::placeholder,.field textarea::placeholder{color:rgba(255,255,255,.45);}
.attach{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--white);opacity:.85;cursor:pointer;}
.attach svg{width:16px;height:16px;}
.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;color:var(--muted);line-height:1.5;}
.consent input{margin-top:2px;accent-color:var(--blue-600);}
.consent a{text-decoration:underline;}
.contact .btn--filled-white{align-self:center;margin-top:6px;min-width:200px;}

@media (min-width:560px){
  .article-header h1{font-size:36px;}
  .related__grid{grid-template-columns:1fr 1fr;}
}

@media (min-width:1024px){
  .article-header h1{font-size:42px;max-width:22ch;}
  .eyebrow{font-size:28px;}
  .related__grid{grid-template-columns:repeat(3,1fr);}
  .contact__inner{display:flex;gap:60px;align-items:flex-start;}
  .contact h2{text-align:left;flex:0 0 30%;margin:0;}
  .contact form{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:16px 24px;}
  .field--full{grid-column:1 / -1;}
  .contact .btn--filled-white{grid-column:1 / -1;justify-self:start;margin-top:0;}
}
