:root {
  --wsm-navy:#071a39;
  --wsm-blue:#005bc4;
  --wsm-blue-dark:#00499d;
  --wsm-soft:#f4f8fd;
  --wsm-sky:#e9f3ff;
  --wsm-muted:#526985;
  --wsm-line:#dce5f0;
}

/* Blog archive. */
body.blog #page-header-wrap,
body.blog #page-header-bg,
body.blog .page-header-bg-image {display:none!important}

body.blog .container-wrap {
  background:linear-gradient(180deg,var(--wsm-soft) 0,#fff 430px)!important;
}

.wsm-blog-hero {
  max-width:870px;
  margin:0 auto 54px;
  padding:78px 24px 0;
  text-align:center;
}

.wsm-blog-eyebrow {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-bottom:18px;
  color:var(--wsm-blue-dark);
  font-size:13px;
  font-weight:800;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.wsm-blog-eyebrow:before,
.wsm-blog-eyebrow:after {
  content:"";
  width:22px;
  height:2px;
  border-radius:2px;
  background:var(--wsm-blue);
}

.wsm-blog-hero h1 {
  margin:0 0 20px;
  color:var(--wsm-navy);
  font-size:clamp(42px,5vw,66px);
  line-height:1.04;
  letter-spacing:-.04em;
}

.wsm-blog-hero p {
  max-width:730px;
  margin:0 auto;
  color:var(--wsm-muted);
  font-size:18px;
  line-height:1.7;
}

body.blog .main-content > .row {margin-bottom:70px}
body.blog .post-area,
body.blog .post-area.span_12 {width:100%!important;margin:0!important}

body.blog .posts-container {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:30px;
  width:100%!important;
  height:auto!important;
}

.wsm-blog-card {
  position:relative!important;
  inset:auto!important;
  display:flex!important;
  flex-direction:column;
  width:100%!important;
  margin:0!important;
  overflow:hidden;
  border:1px solid var(--wsm-line);
  border-radius:18px;
  background:#fff;
  box-shadow:0 16px 42px rgba(8,37,78,.09);
  transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}

.wsm-blog-card:hover {
  transform:translateY(-6px)!important;
  border-color:rgba(0,91,196,.28);
  box-shadow:0 24px 56px rgba(8,37,78,.15);
}

.wsm-blog-card__media {
  display:block;
  overflow:hidden;
  aspect-ratio:16/10;
  background:linear-gradient(135deg,var(--wsm-sky),#d4e8ff);
}

.wsm-blog-card__media img {
  width:100%!important;
  height:100%!important;
  margin:0!important;
  object-fit:cover;
  transition:transform .45s cubic-bezier(.22,1,.36,1);
}

.wsm-blog-card:hover .wsm-blog-card__media img {transform:scale(1.045)}

.wsm-blog-card__placeholder {
  display:block;
  width:100%;
  height:100%;
  background:radial-gradient(circle at 75% 25%,rgba(0,91,196,.28),transparent 25%),linear-gradient(135deg,#e9f3ff,#cfe3f9);
}

.wsm-blog-card__body {
  display:flex;
  flex:1;
  flex-direction:column;
  padding:27px 27px 25px;
}

.wsm-blog-card__category {
  align-self:flex-start;
  margin-bottom:15px;
  padding:6px 10px;
  border-radius:999px;
  background:var(--wsm-sky);
  color:var(--wsm-blue-dark)!important;
  font-size:11px;
  font-weight:800;
  letter-spacing:.06em;
  line-height:1.3;
  text-transform:uppercase;
}

.wsm-blog-card__title {
  margin:0 0 14px!important;
  font-size:23px!important;
  line-height:1.25!important;
  letter-spacing:-.03em!important;
}

.wsm-blog-card__title a {color:var(--wsm-navy)!important}
.wsm-blog-card__excerpt {margin:0 0 24px;color:var(--wsm-muted);font-size:15px;line-height:1.7}

.wsm-blog-card__footer {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:auto;
  padding-top:18px;
  border-top:1px solid var(--wsm-line);
  color:var(--wsm-muted);
  font-size:12px;
  font-weight:700;
}

.wsm-blog-card__link {color:var(--wsm-blue-dark)!important;font-weight:800}
body.blog .pagination {margin-top:48px!important;text-align:center}

/* Single post: centred editorial layout without featured-image space. */
body.single-post .container-wrap {
  background:linear-gradient(180deg,var(--wsm-soft) 0,#fff 390px)!important;
}

body.single-post .heading-title,
body.single-post .featured-media-under-header__content {
  max-width:960px;
  margin:0 auto!important;
  padding:76px 24px 42px!important;
  text-align:center;
}

body.single-post .heading-title .section-title {width:100%!important;margin:0!important;padding:0!important}
body.single-post .heading-title h1.entry-title,
body.single-post .featured-media-under-header h1.entry-title {
  max-width:900px;
  margin:0 auto 22px!important;
  color:var(--wsm-navy);
  font-size:clamp(40px,5vw,64px)!important;
  line-height:1.08!important;
  letter-spacing:-.04em!important;
}

body.single-post #single-below-header,
body.single-post .featured-media-under-header__meta-wrap {
  display:flex!important;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px 20px;
  color:var(--wsm-muted);
  font-size:13px;
}

body.single-post #single-below-header > span {margin:0!important}
body.single-post .featured-media-under-header__cat-wrap {margin-bottom:18px}
body.single-post .featured-media-under-header__excerpt {
  max-width:760px;
  margin:0 auto 22px;
  color:var(--wsm-muted);
  font-size:18px;
  line-height:1.7;
}
body.single-post .featured-media-under-header {
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.single-post .featured-media-under-header__content {
  width:min(calc(100% - 48px),960px)!important;
  max-width:960px!important;
  flex:none!important;
}
body.single-post .featured-media-under-header__featured-media[data-has-img="true"] {
  display:block!important;
  position:relative!important;
  inset:auto!important;
  width:min(calc(100% - 48px),840px)!important;
  max-width:840px!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  flex:none!important;
  transform:none!important;
  margin:0 auto 46px!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:18px;
  background:#fff!important;
  box-shadow:0 22px 55px rgba(8,37,78,.13);
}
body.single-post .featured-media-under-header__featured-media[data-has-img="true"] .post-featured-img,
body.single-post .featured-media-under-header__featured-media[data-has-img="true"] img {
  display:block!important;
  position:relative!important;
  inset:auto!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
  object-fit:contain!important;
  object-position:center center!important;
}
body.single-post .featured-media-under-header__featured-media[data-has-img="false"] {
  display:none!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}
body.single-post .main-content > .row {display:flex;justify-content:center}
body.single-post .post-area,
body.single-post .post-area.span_12 {float:none!important;width:min(100%,940px)!important;margin:0 auto!important}

body.single-post article.post .post-content > .post-featured-img,
body.single-post article.post .top-featured-media {
  display:none!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  overflow:hidden!important;
}

body.single-post article.post .content-inner {
  max-width:780px;
  margin:0 auto 70px!important;
  padding:0!important;
  border:0!important;
  box-shadow:none!important;
  background:transparent!important;
}

body.single-post article.post .content-inner > :first-child {margin-top:0}
body.single-post article.post .content-inner p,
body.single-post article.post .content-inner li {color:#243b55;font-size:18px;line-height:1.82}
body.single-post article.post .content-inner h1,
body.single-post article.post .content-inner h2 {margin:48px 0 18px;font-size:34px!important;line-height:1.2!important}
body.single-post article.post .content-inner h3 {margin:38px 0 15px;font-size:25px!important}
body.single-post article.post .content-inner ul,
body.single-post article.post .content-inner ol {margin:22px 0 30px 24px}
body.single-post article.post .content-inner li {margin-bottom:9px;padding-left:5px}

body.single-post .post-tags {margin-top:44px!important;padding-top:24px!important;border-top:1px solid var(--wsm-line)!important}
body.single-post .post-tags a {
  display:inline-block;
  margin:5px 5px 0 0;
  padding:7px 11px;
  border-radius:999px;
  background:var(--wsm-sky);
  color:var(--wsm-blue-dark)!important;
  font-size:12px;
  font-weight:700;
}

@media (min-width:691px) and (max-width:1050px) {
  body.blog .posts-container {grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media (max-width:690px) {
  .wsm-blog-hero {padding:52px 5px 0;margin-bottom:38px}
  .wsm-blog-hero h1 {font-size:40px!important}
  .wsm-blog-hero p {font-size:16px}
  body.blog .posts-container {grid-template-columns:1fr;gap:22px}
  .wsm-blog-card__body {padding:23px 22px 21px}
  body.single-post .heading-title,
  body.single-post .featured-media-under-header__content {padding:52px 5px 32px!important}
  body.single-post .heading-title h1.entry-title,
  body.single-post .featured-media-under-header h1.entry-title {font-size:38px!important}
  body.single-post .featured-media-under-header__featured-media[data-has-img="true"] {width:calc(100% - 30px)!important;margin-bottom:32px!important;border-radius:12px}
  body.single-post article.post .content-inner p,
  body.single-post article.post .content-inner li {font-size:16.5px}
  body.single-post article.post .content-inner h1,
  body.single-post article.post .content-inner h2 {font-size:28px!important}
}

@media (prefers-reduced-motion:reduce) {
  .wsm-blog-card,
  .wsm-blog-card__media img {transition:none!important}
}
