.sw-blog,
.sw-blog *,
.sw-blog *::before,
.sw-blog *::after {
    box-sizing: border-box;
}

.sw-blog {
    --sw-blog-primary: var(--primary, #144896);
    --sw-blog-primary-dark: #0a397e;
    --sw-blog-primary-soft: #eaf2fc;
    --sw-blog-ink: var(--text-main, #10213b);
    --sw-blog-muted: var(--text-muted, #66758c);
    --sw-blog-line: #dce5ef;
    --sw-blog-soft: #f4f7fb;
    --sw-blog-white: #fff;
    --sw-blog-deep: #081d3d;
    --sw-blog-orange: #f59e0b;
    --sw-blog-green: #159c6a;
    overflow: hidden;
    color: var(--sw-blog-ink);
    background: var(--sw-blog-white);
    font-family: var(--font-ui, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
}

.sw-blog h1,
.sw-blog h2,
.sw-blog h3,
.sw-blog h4,
.sw-blog p,
.sw-blog ul,
.sw-blog ol,
.sw-blog dl,
.sw-blog dd,
.sw-blog figure,
.sw-blog blockquote {
    margin-top: 0;
}

.sw-blog a {
    color: inherit;
}

.sw-blog img {
    max-width: 100%;
    height: auto;
}

.sw-blog svg {
    display: block;
    fill: none;
    stroke: currentColor;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 1.8;
}

.sw-blog-shell {
    width: min(calc(100% - 40px), 1200px);
    margin-inline: auto;
}

.sw-blog-breadcrumbs {
    display: flex;
    margin-bottom: 26px;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: #7a899d;
    font-size: 12px;
    line-height: 1.5;
}

.sw-blog-breadcrumbs a {
    text-decoration: none;
    transition: color 160ms ease;
}

.sw-blog-breadcrumbs a:hover {
    color: var(--sw-blog-primary);
}

.sw-blog-eyebrow {
    display: inline-flex;
    min-height: 33px;
    padding: 0 12px;
    align-items: center;
    border: 1px solid rgba(20, 72, 150, 0.14);
    border-radius: 999px;
    color: var(--sw-blog-primary);
    background: var(--sw-blog-primary-soft);
    font-size: 10px;
    font-weight: 820;
    line-height: 1;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.sw-blog-eyebrow--dark {
    border-color: rgba(255, 255, 255, 0.17);
    color: #d9e8ff;
    background: rgba(255, 255, 255, 0.08);
}

.sw-blog-actions {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sw-blog-actions--center {
    align-items: stretch;
}

.sw-blog-button {
    display: inline-flex;
    min-height: 52px;
    padding: 0 22px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    border: 1px solid transparent;
    border-radius: 13px;
    font-size: 14px;
    font-weight: 760;
    line-height: 1;
    text-align: center;
    text-decoration: none;
    transition: transform 180ms ease, border-color 180ms ease, background-color 180ms ease, box-shadow 180ms ease;
}

.sw-blog-button svg {
    width: 20px;
    height: 20px;
    transition: transform 180ms ease;
}

.sw-blog-button:hover {
    transform: translateY(-2px);
}

.sw-blog-button:hover svg {
    transform: translateX(3px);
}

.sw-blog-button--primary {
    color: #fff !important;
    background: var(--sw-blog-primary);
    box-shadow: 0 12px 25px rgba(20, 72, 150, 0.18);
}

.sw-blog-button--primary:hover {
    background: var(--sw-blog-primary-dark);
    box-shadow: 0 16px 32px rgba(20, 72, 150, 0.23);
}

.sw-blog-button--secondary {
    border-color: #d4dfea;
    color: var(--sw-blog-ink) !important;
    background: #fff;
}

.sw-blog-button--secondary:hover {
    border-color: rgba(20, 72, 150, 0.32);
    color: var(--sw-blog-primary) !important;
    background: #f8fbff;
}

.sw-blog-button--light {
    color: var(--sw-blog-primary-dark) !important;
    background: #fff;
    box-shadow: 0 14px 29px rgba(2, 14, 32, 0.2);
}

.sw-blog-button:focus-visible,
.sw-blog a:focus-visible {
    outline: 3px solid rgba(245, 158, 11, 0.46);
    outline-offset: 3px;
}

/* Home hero */
.sw-blog-hero {
    position: relative;
    padding: 112px 0 78px;
    overflow: hidden;
    background:
        radial-gradient(circle at 85% 24%, rgba(20, 72, 150, 0.13), transparent 31%),
        #f3f6fa;
}

.sw-blog-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(20, 72, 150, 0.038) 1px, transparent 1px),
        linear-gradient(90deg, rgba(20, 72, 150, 0.038) 1px, transparent 1px);
    background-size: 42px 42px;
    pointer-events: none;
}

.sw-blog-hero__grid {
    position: relative;
    z-index: 1;
    display: grid;
    align-items: center;
    gap: 46px;
}

.sw-blog-hero__content {
    max-width: 730px;
}

.sw-blog-hero h1 {
    max-width: 850px;
    margin: 19px 0 23px;
    color: var(--sw-blog-ink);
    font-size: clamp(40px, 9.2vw, 72px);
    font-weight: 830;
    line-height: 0.99;
    letter-spacing: -0.052em;
}

.sw-blog-hero__lead {
    max-width: 700px;
    margin-bottom: 28px;
    color: var(--sw-blog-muted);
    font-size: clamp(16px, 2.8vw, 18px);
    line-height: 1.68;
}

.sw-blog-map {
    position: relative;
    max-width: 570px;
    padding: 20px;
    border: 1px solid #d6e0eb;
    border-radius: 27px;
    background: #fff;
    box-shadow: 0 26px 55px rgba(18, 43, 74, 0.12);
}

.sw-blog-map::before {
    content: "";
    position: absolute;
    top: 54px;
    bottom: 72px;
    left: 43px;
    width: 1px;
    background: linear-gradient(to bottom, transparent, #b9cbe1 10%, #b9cbe1 90%, transparent);
}

.sw-blog-map__head,
.sw-blog-map__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.sw-blog-map__head {
    padding: 0 2px 17px;
    border-bottom: 1px solid #e3eaf2;
    color: var(--sw-blog-ink);
    font-size: 12px;
    font-weight: 760;
}

.sw-blog-map__head > span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.sw-blog-map__head i {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--sw-blog-green);
    box-shadow: 0 0 0 4px rgba(21, 156, 106, 0.11);
}

.sw-blog-map__head small {
    color: #8492a5;
    font-size: 10px;
    font-weight: 720;
    text-transform: uppercase;
}

.sw-blog-map__steps {
    display: grid;
    margin: 0;
    padding: 18px 0;
    gap: 10px;
    list-style: none;
}

.sw-blog-map__steps li {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr);
    align-items: center;
    gap: 11px;
}

.sw-blog-map__steps li > span {
    display: grid;
    width: 45px;
    height: 45px;
    place-items: center;
    border: 1px solid #cfdbea;
    border-radius: 13px;
    color: var(--sw-blog-primary);
    background: #f4f8fd;
    font-size: 10px;
    font-weight: 820;
}

.sw-blog-map__steps li > div {
    padding: 12px 13px;
    border: 1px solid #e1e8f0;
    border-radius: 13px;
    background: #fff;
}

.sw-blog-map__steps strong,
.sw-blog-map__steps small {
    display: block;
}

.sw-blog-map__steps strong {
    margin-bottom: 3px;
    color: var(--sw-blog-ink);
    font-size: 13px;
}

.sw-blog-map__steps small {
    color: #77869a;
    font-size: 10px;
    line-height: 1.45;
}

.sw-blog-map__footer {
    padding-top: 15px;
    border-top: 1px solid #e3eaf2;
    flex-wrap: wrap;
    justify-content: flex-start;
}

.sw-blog-map__footer span {
    padding: 6px 8px;
    border-radius: 7px;
    color: #607189;
    background: #f1f5f9;
    font-size: 9px;
    font-weight: 760;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

/* Section headings */
.sw-blog-section-head {
    max-width: 760px;
}

.sw-blog-section-head h2 {
    margin: 17px 0 17px;
    color: var(--sw-blog-ink);
    font-size: clamp(31px, 6.5vw, 52px);
    font-weight: 820;
    line-height: 1.08;
    letter-spacing: -0.04em;
}

.sw-blog-section-head > p {
    margin-bottom: 0;
    color: var(--sw-blog-muted);
    font-size: 16px;
    line-height: 1.7;
}

/* Topics */
.sw-blog-topics {
    padding: 82px 0;
    background: #fff;
}

.sw-blog-topic-grid {
    display: grid;
    margin-top: 36px;
    gap: 14px;
}

.sw-blog-topic {
    position: relative;
    display: flex;
    min-height: 300px;
    padding: 24px;
    flex-direction: column;
    border: 1px solid var(--sw-blog-line);
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 12px 30px rgba(23, 45, 73, 0.055);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.sw-blog-topic::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 4px;
    background: var(--topic-color, var(--sw-blog-primary));
}

.sw-blog-topic:hover {
    transform: translateY(-4px);
    border-color: rgba(20, 72, 150, 0.25);
    box-shadow: 0 18px 38px rgba(23, 45, 73, 0.1);
}

.sw-blog-topic--crm {
    --topic-color: #144896;
    --topic-soft: #eaf2fc;
}

.sw-blog-topic--automation {
    --topic-color: #159c6a;
    --topic-soft: #e8f7f1;
}

.sw-blog-topic--ai {
    --topic-color: #7a56c7;
    --topic-soft: #f1edfb;
}

.sw-blog-topic--web {
    --topic-color: #e28b09;
    --topic-soft: #fff4df;
}

.sw-blog-topic__icon {
    display: grid;
    width: 52px;
    height: 52px;
    margin-bottom: 25px;
    place-items: center;
    border-radius: 15px;
    color: var(--topic-color);
    background: var(--topic-soft);
}

.sw-blog-topic__icon svg {
    width: 31px;
    height: 31px;
}

.sw-blog-topic > span {
    margin-bottom: 8px;
    color: var(--topic-color);
    font-size: 10px;
    font-weight: 820;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sw-blog-topic h3 {
    margin-bottom: 11px;
    color: var(--sw-blog-ink);
    font-size: 22px;
    line-height: 1.15;
    letter-spacing: -0.025em;
}

.sw-blog-topic p {
    margin-bottom: 22px;
    color: var(--sw-blog-muted);
    font-size: 14px;
    line-height: 1.65;
}

.sw-blog-topic > a,
.sw-blog-topic__links {
    margin-top: auto;
}

.sw-blog-topic > a,
.sw-blog-topic__links a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--sw-blog-primary);
    font-size: 13px;
    font-weight: 760;
    text-decoration: none;
}

.sw-blog-topic__links {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 16px;
}

.sw-blog-topic > a:hover,
.sw-blog-topic__links a:hover {
    color: var(--sw-blog-primary-dark);
}

/* Feed and category controls */
.sw-blog-feed,
.sw-blog-archive-feed,
.sw-blog-related {
    padding: 82px 0;
    background: var(--sw-blog-soft);
}

.sw-blog-feed__head {
    display: grid;
    margin-bottom: 34px;
    gap: 28px;
}

.sw-blog-categories {
    display: flex;
    margin: 0;
    padding: 0;
    flex-wrap: wrap;
    gap: 8px;
}

.sw-blog-categories a {
    display: inline-flex;
    min-height: 39px;
    padding: 0 13px;
    align-items: center;
    gap: 7px;
    border: 1px solid #d7e1eb;
    border-radius: 999px;
    color: #5c6d83;
    background: #fff;
    font-size: 12px;
    font-weight: 720;
    text-decoration: none;
    transition: border-color 160ms ease, color 160ms ease, background-color 160ms ease;
}

.sw-blog-categories a:hover,
.sw-blog-categories a.is-current {
    border-color: var(--sw-blog-primary);
    color: #fff;
    background: var(--sw-blog-primary);
}

.sw-blog-categories a span {
    display: grid;
    min-width: 21px;
    height: 21px;
    padding: 0 5px;
    place-items: center;
    border-radius: 999px;
    color: #66758c;
    background: #eef2f6;
    font-size: 9px;
}

.sw-blog-categories a:hover span,
.sw-blog-categories a.is-current span {
    color: var(--sw-blog-primary-dark);
    background: #fff;
}

.sw-blog-grid {
    display: grid;
    gap: 18px;
}

.sw-blog-card {
    display: flex;
    min-width: 0;
    height: 100%;
    flex-direction: column;
    border: 1px solid #dce4ed;
    border-radius: 22px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 12px 28px rgba(25, 48, 77, 0.06);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.sw-blog-card:hover {
    transform: translateY(-4px);
    border-color: rgba(20, 72, 150, 0.24);
    box-shadow: 0 18px 36px rgba(25, 48, 77, 0.11);
}

.sw-blog-card__media {
    position: relative;
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: #eaf0f7;
}

.sw-blog-card__image {
    display: block;
    width: 100%;
    height: 100% !important;
    object-fit: cover;
    transition: transform 300ms ease;
}

.sw-blog-card:hover .sw-blog-card__image {
    transform: scale(1.025);
}

.sw-blog-card__placeholder {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    overflow: hidden;
    color: var(--sw-blog-primary);
    background:
        radial-gradient(circle at 75% 24%, rgba(20, 72, 150, 0.16), transparent 32%),
        linear-gradient(145deg, #f4f8fd, #dfeaf7);
}

.sw-blog-card__placeholder::before,
.sw-blog-card__placeholder::after {
    content: "";
    position: absolute;
    width: 64%;
    height: 1px;
    background: rgba(20, 72, 150, 0.18);
    transform: rotate(-25deg);
}

.sw-blog-card__placeholder::after {
    transform: rotate(25deg);
}

.sw-blog-card__placeholder > span {
    position: relative;
    z-index: 2;
    display: grid;
    width: 64px;
    height: 64px;
    place-items: center;
    border: 1px solid rgba(20, 72, 150, 0.24);
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 12px 25px rgba(20, 72, 150, 0.12);
    font-size: 17px;
    font-weight: 850;
    letter-spacing: -0.04em;
}

.sw-blog-card__placeholder i {
    position: absolute;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--sw-blog-orange);
    box-shadow: 0 0 0 5px rgba(245, 158, 11, 0.12);
}

.sw-blog-card__placeholder i:nth-of-type(1) {
    top: 22%;
    left: 17%;
}

.sw-blog-card__placeholder i:nth-of-type(2) {
    right: 16%;
    bottom: 22%;
    background: var(--sw-blog-green);
    box-shadow: 0 0 0 5px rgba(21, 156, 106, 0.12);
}

.sw-blog-card__placeholder i:nth-of-type(3) {
    top: 20%;
    right: 19%;
    background: #7657bf;
    box-shadow: 0 0 0 5px rgba(118, 87, 191, 0.11);
}

.sw-blog-card__body {
    display: flex;
    padding: 22px;
    flex: 1;
    flex-direction: column;
}

.sw-blog-card__meta {
    display: flex;
    margin-bottom: 14px;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px 11px;
    color: #7b899b;
    font-size: 10px;
    line-height: 1.4;
}

.sw-blog-card__meta > *:not(:first-child)::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    margin: 0 8px 2px 0;
    border-radius: 50%;
    background: #a8b3c0;
}

.sw-blog-card__category {
    color: var(--sw-blog-primary) !important;
    font-weight: 780;
    text-decoration: none;
}

.sw-blog-card__category:hover {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.sw-blog-card__title {
    margin-bottom: 12px;
    color: var(--sw-blog-ink);
    font-size: clamp(21px, 4.8vw, 26px);
    line-height: 1.16;
    letter-spacing: -0.025em;
}

.sw-blog-card__title a {
    text-decoration: none;
}

.sw-blog-card__title a:hover {
    color: var(--sw-blog-primary);
}

.sw-blog-card__excerpt {
    margin-bottom: 20px;
    color: var(--sw-blog-muted);
    font-size: 14px;
    line-height: 1.66;
}

.sw-blog-card__more {
    display: inline-flex;
    margin-top: auto;
    align-items: center;
    gap: 8px;
    color: var(--sw-blog-primary) !important;
    font-size: 13px;
    font-weight: 780;
    text-decoration: none;
}

.sw-blog-card__more svg {
    width: 18px;
    height: 18px;
    transition: transform 160ms ease;
}

.sw-blog-card__more:hover svg {
    transform: translateX(3px);
}

/* Honest empty state */
.sw-blog-empty {
    display: flex;
    min-height: 390px;
    padding: 42px 22px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border: 1px solid #d8e2ec;
    border-radius: 27px;
    text-align: center;
    background: #fff;
    box-shadow: 0 18px 42px rgba(25, 48, 77, 0.07);
}

.sw-blog-empty--compact {
    min-height: 330px;
}

.sw-blog-empty__mark {
    position: relative;
    display: flex;
    width: 72px;
    height: 72px;
    margin-bottom: 21px;
    align-items: center;
    justify-content: center;
    gap: 5px;
    border: 1px solid #cfdcea;
    border-radius: 22px;
    background: var(--sw-blog-primary-soft);
}

.sw-blog-empty__mark span {
    width: 7px;
    border-radius: 999px;
    background: var(--sw-blog-primary);
}

.sw-blog-empty__mark span:nth-child(1) {
    height: 19px;
}

.sw-blog-empty__mark span:nth-child(2) {
    height: 33px;
}

.sw-blog-empty__mark span:nth-child(3) {
    height: 25px;
}

.sw-blog-empty__label {
    margin-bottom: 8px;
    color: var(--sw-blog-primary);
    font-size: 10px;
    font-weight: 820;
    letter-spacing: 0.055em;
    text-transform: uppercase;
}

.sw-blog-empty h2,
.sw-blog-empty h3 {
    margin-bottom: 13px;
    color: var(--sw-blog-ink);
    font-size: clamp(27px, 6vw, 40px);
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.sw-blog-empty p {
    max-width: 620px;
    margin-bottom: 24px;
    color: var(--sw-blog-muted);
    font-size: 15px;
    line-height: 1.7;
}

/* Pagination */
.sw-blog-pagination {
    margin-top: 36px;
}

.sw-blog-pagination > .page-numbers {
    display: flex;
    margin: 0;
    padding: 0;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 7px;
    list-style: none;
}

.sw-blog-pagination li {
    margin: 0;
}

.sw-blog-pagination a,
.sw-blog-pagination span.page-numbers {
    display: inline-flex;
    min-width: 42px;
    height: 42px;
    padding: 0 12px;
    align-items: center;
    justify-content: center;
    border: 1px solid #d5dfeb;
    border-radius: 11px;
    color: #596a80;
    background: #fff;
    font-size: 12px;
    font-weight: 760;
    text-decoration: none;
}

.sw-blog-pagination a:hover,
.sw-blog-pagination span.current {
    border-color: var(--sw-blog-primary);
    color: #fff;
    background: var(--sw-blog-primary);
}

/* Editorial method */
.sw-blog-method {
    padding: 82px 0;
    background: #fff;
}

.sw-blog-method__grid {
    display: grid;
    gap: 38px;
}

.sw-blog-method__list {
    display: grid;
    margin: 0;
    padding: 0;
    gap: 10px;
    list-style: none;
}

.sw-blog-method__list li {
    display: grid;
    padding: 17px;
    grid-template-columns: 42px minmax(0, 1fr);
    align-items: start;
    gap: 13px;
    border: 1px solid var(--sw-blog-line);
    border-radius: 16px;
    background: #fff;
}

.sw-blog-method__list li > span {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 12px;
    color: var(--sw-blog-primary);
    background: var(--sw-blog-primary-soft);
    font-size: 10px;
    font-weight: 820;
}

.sw-blog-method__list strong {
    display: block;
    margin-bottom: 5px;
    color: var(--sw-blog-ink);
    font-size: 15px;
}

.sw-blog-method__list p {
    margin-bottom: 0;
    color: var(--sw-blog-muted);
    font-size: 13px;
    line-height: 1.6;
}

/* CTA */
.sw-blog-cta {
    position: relative;
    padding: 62px 0;
    overflow: hidden;
    color: #fff;
    background: var(--sw-blog-deep);
}

.sw-blog-cta::before {
    content: "";
    position: absolute;
    width: 460px;
    height: 460px;
    top: -260px;
    right: -130px;
    border-radius: 50%;
    background: rgba(60, 126, 218, 0.2);
    pointer-events: none;
}

.sw-blog-cta__inner {
    position: relative;
    z-index: 1;
    display: grid;
    align-items: center;
    gap: 28px;
}

.sw-blog-cta h2 {
    max-width: 800px;
    margin: 17px 0 14px;
    color: #fff;
    font-size: clamp(30px, 6.4vw, 50px);
    line-height: 1.07;
    letter-spacing: -0.04em;
}

.sw-blog-cta p {
    max-width: 700px;
    margin-bottom: 0;
    color: #b8c9df;
    font-size: 15px;
    line-height: 1.65;
}

/* Category and generic archive */
.sw-blog-archive-hero {
    position: relative;
    padding: 112px 0 64px;
    overflow: hidden;
    background:
        radial-gradient(circle at 83% 31%, rgba(20, 72, 150, 0.13), transparent 30%),
        #f3f6fa;
}

.sw-blog-archive-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(20, 72, 150, 0.11) 1px, transparent 1px);
    background-size: 24px 24px;
    pointer-events: none;
    opacity: 0.5;
}

.sw-blog-archive-hero .sw-blog-shell {
    position: relative;
    z-index: 1;
}

.sw-blog-archive-hero__grid {
    display: grid;
    align-items: end;
    gap: 28px;
}

.sw-blog-archive-hero h1 {
    max-width: 850px;
    margin: 18px 0 17px;
    color: var(--sw-blog-ink);
    font-size: clamp(40px, 9vw, 70px);
    line-height: 1;
    letter-spacing: -0.05em;
}

.sw-blog-archive-hero__description {
    max-width: 740px;
    margin-bottom: 0;
    color: var(--sw-blog-muted);
    font-size: 16px;
    line-height: 1.7;
}

.sw-blog-archive-hero__description p:last-child {
    margin-bottom: 0;
}

.sw-blog-archive-hero__count {
    display: flex;
    width: 155px;
    min-height: 132px;
    padding: 18px;
    align-items: flex-start;
    justify-content: center;
    flex-direction: column;
    border: 1px solid #d3deea;
    border-radius: 20px;
    background: #fff;
    box-shadow: 0 16px 34px rgba(23, 45, 73, 0.08);
}

.sw-blog-archive-hero__count strong {
    margin-bottom: 5px;
    color: var(--sw-blog-primary);
    font-size: 42px;
    line-height: 1;
    letter-spacing: -0.05em;
}

.sw-blog-archive-hero__count span {
    color: #738197;
    font-size: 11px;
    line-height: 1.4;
}

.sw-blog-categories--archive {
    margin-bottom: 30px;
}

.sw-blog-archive-feed__head {
    display: flex;
    margin-bottom: 24px;
    align-items: end;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.sw-blog-archive-feed__head h2 {
    margin-bottom: 0;
    color: var(--sw-blog-ink);
    font-size: clamp(28px, 5vw, 39px);
    line-height: 1.1;
    letter-spacing: -0.035em;
}

.sw-blog-archive-feed__head > a {
    color: var(--sw-blog-primary);
    font-size: 13px;
    font-weight: 760;
    text-decoration: none;
}

/* Single article */
.sw-blog-article__hero {
    position: relative;
    padding: 112px 0 66px;
    overflow: hidden;
    text-align: center;
    background:
        radial-gradient(circle at 50% 8%, rgba(20, 72, 150, 0.13), transparent 38%),
        #f3f6fa;
}

.sw-blog-article__hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(rgba(20, 72, 150, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(20, 72, 150, 0.035) 1px, transparent 1px);
    background-size: 44px 44px;
    pointer-events: none;
}

.sw-blog-article__hero-inner {
    position: relative;
    z-index: 1;
    max-width: 980px;
}

.sw-blog-article__hero .sw-blog-breadcrumbs {
    justify-content: center;
}

.sw-blog-article__category {
    display: inline-flex;
    min-height: 33px;
    padding: 0 12px;
    align-items: center;
    border: 1px solid rgba(20, 72, 150, 0.14);
    border-radius: 999px;
    color: var(--sw-blog-primary) !important;
    background: var(--sw-blog-primary-soft);
    font-size: 10px;
    font-weight: 820;
    letter-spacing: 0.055em;
    text-decoration: none;
    text-transform: uppercase;
}

.sw-blog-article__category:hover {
    border-color: var(--sw-blog-primary);
}

.sw-blog-article__hero h1 {
    max-width: 960px;
    margin: 19px auto 21px;
    color: var(--sw-blog-ink);
    font-size: clamp(39px, 8.8vw, 72px);
    font-weight: 830;
    line-height: 1.01;
    letter-spacing: -0.052em;
}

.sw-blog-article__lead {
    max-width: 780px;
    margin: 0 auto 22px;
    color: var(--sw-blog-muted);
    font-size: clamp(16px, 2.8vw, 19px);
    line-height: 1.68;
}

.sw-blog-article__meta {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 13px;
    color: #728196;
    font-size: 11px;
}

.sw-blog-article__meta > *:not(:first-child)::before {
    content: "";
    display: inline-block;
    width: 3px;
    height: 3px;
    margin: 0 10px 2px 0;
    border-radius: 50%;
    background: #a5b0bd;
}

.sw-blog-article__cover {
    position: relative;
    z-index: 2;
    margin-top: -28px;
}

.sw-blog-article__image {
    display: block;
    width: 100%;
    max-height: 660px;
    border: 1px solid #d8e1eb;
    border-radius: 27px;
    object-fit: cover;
    background: #eef3f8;
    box-shadow: 0 25px 55px rgba(21, 43, 72, 0.13);
}

.sw-blog-article__layout {
    display: grid;
    max-width: 1050px;
    padding-top: 60px;
    padding-bottom: 62px;
    gap: 34px;
}

.sw-blog-article__aside {
    align-self: start;
    padding: 20px;
    border: 1px solid var(--sw-blog-line);
    border-radius: 18px;
    background: #f8fafc;
}

.sw-blog-article__aside > span {
    display: block;
    margin-bottom: 15px;
    color: var(--sw-blog-primary);
    font-size: 10px;
    font-weight: 820;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.sw-blog-article__aside dl {
    margin-bottom: 17px;
}

.sw-blog-article__aside dl > div {
    padding: 10px 0;
    border-top: 1px solid #dfe6ee;
}

.sw-blog-article__aside dt {
    margin-bottom: 3px;
    color: #8591a2;
    font-size: 9px;
    font-weight: 760;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.sw-blog-article__aside dd {
    margin-bottom: 0;
    color: var(--sw-blog-ink);
    font-size: 12px;
    line-height: 1.45;
}

.sw-blog-article__aside dd a {
    color: var(--sw-blog-primary);
    text-decoration: none;
}

.sw-blog-article__aside-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--sw-blog-primary) !important;
    font-size: 12px;
    font-weight: 760;
    text-decoration: none;
}

.sw-blog-content {
    min-width: 0;
    color: #24354c;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(17px, 2.4vw, 19px);
    line-height: 1.83;
}

.sw-blog-content > :first-child {
    margin-top: 0 !important;
}

.sw-blog-content > :last-child {
    margin-bottom: 0 !important;
}

.sw-blog-content p,
.sw-blog-content ul,
.sw-blog-content ol,
.sw-blog-content blockquote,
.sw-blog-content pre,
.sw-blog-content table,
.sw-blog-content figure,
.sw-blog-content .wp-caption,
.sw-blog-content .gallery {
    margin-bottom: 1.55em;
}

.sw-blog-content h2,
.sw-blog-content h3,
.sw-blog-content h4 {
    color: var(--sw-blog-ink);
    font-family: var(--font-ui, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    letter-spacing: -0.035em;
}

.sw-blog-content h2 {
    margin: 1.7em 0 0.62em;
    font-size: clamp(29px, 5vw, 42px);
    line-height: 1.12;
}

.sw-blog-content h3 {
    margin: 1.55em 0 0.6em;
    font-size: clamp(23px, 4vw, 31px);
    line-height: 1.18;
}

.sw-blog-content h4 {
    margin: 1.45em 0 0.55em;
    font-size: 21px;
    line-height: 1.25;
}

.sw-blog-content a {
    color: var(--sw-blog-primary);
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.sw-blog-content a:hover {
    color: var(--sw-blog-primary-dark);
}

.sw-blog-content strong {
    color: var(--sw-blog-ink);
}

.sw-blog-content ul,
.sw-blog-content ol {
    padding-left: 1.35em;
}

.sw-blog-content li {
    margin-bottom: 0.5em;
    padding-left: 0.25em;
}

.sw-blog-content li::marker {
    color: var(--sw-blog-primary);
    font-weight: 700;
}

.sw-blog-content blockquote {
    position: relative;
    margin-inline: 0;
    padding: 23px 24px 23px 27px;
    border: 1px solid #d9e4f0;
    border-left: 4px solid var(--sw-blog-primary);
    border-radius: 0 17px 17px 0;
    color: #31445f;
    background: #f4f8fd;
    font-size: 1.03em;
    font-style: italic;
}

.sw-blog-content blockquote p:last-child {
    margin-bottom: 0;
}

.sw-blog-content img {
    border-radius: 16px;
}

.sw-blog-content figure {
    max-width: 100%;
    margin-inline: 0;
}

.sw-blog-content figcaption,
.sw-blog-content .wp-caption-text {
    margin-top: 8px;
    color: #7a8798;
    font-family: var(--font-ui, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: 11px;
    line-height: 1.5;
    text-align: center;
}

.sw-blog-content pre,
.sw-blog-content code,
.sw-blog-content kbd {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
}

.sw-blog-content code {
    padding: 0.16em 0.38em;
    border-radius: 5px;
    color: #194879;
    background: #edf3f9;
    font-size: 0.84em;
}

.sw-blog-content pre {
    max-width: 100%;
    padding: 20px;
    border-radius: 15px;
    overflow: auto;
    color: #e6eef8;
    background: #0b1e38;
    font-size: 13px;
    line-height: 1.65;
    tab-size: 4;
}

.sw-blog-content pre code {
    padding: 0;
    color: inherit;
    background: transparent;
    font-size: inherit;
}

.sw-blog-content table {
    display: block;
    width: 100%;
    max-width: 100%;
    border-collapse: collapse;
    overflow-x: auto;
    font-family: var(--font-ui, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: 13px;
    line-height: 1.5;
}

.sw-blog-content th,
.sw-blog-content td {
    min-width: 130px;
    padding: 12px 13px;
    border: 1px solid #dce4ed;
    text-align: left;
    vertical-align: top;
}

.sw-blog-content th {
    color: var(--sw-blog-ink);
    background: #eef4fa;
    font-weight: 780;
}

.sw-blog-content iframe,
.sw-blog-content video {
    display: block;
    width: 100%;
    max-width: 100%;
    border: 0;
    border-radius: 16px;
}

.sw-blog-content hr {
    margin: 2.5em 0;
    border: 0;
    border-top: 1px solid #dce4ed;
}

.sw-blog-content-pages {
    display: flex;
    margin-top: 34px;
    padding-top: 22px;
    align-items: center;
    flex-wrap: wrap;
    gap: 7px;
    border-top: 1px solid #dce4ed;
    font-family: var(--font-ui, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif);
    font-size: 12px;
}

.sw-blog-content-pages > span {
    margin-right: 6px;
    color: #738197;
}

.sw-blog-content-pages a,
.sw-blog-content-pages > span:not(:first-child) {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
    border: 1px solid #d5dfeb;
    border-radius: 9px;
    text-decoration: none;
}

.sw-blog-article__footer {
    display: flex;
    max-width: 1050px;
    padding-top: 22px;
    padding-bottom: 52px;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    border-top: 1px solid #dce4ed;
}

.sw-blog-article__footer > span {
    color: #77869a;
    font-size: 11px;
    font-weight: 760;
    text-transform: uppercase;
}

.sw-blog-article__footer > div {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.sw-blog-article__footer a {
    display: inline-flex;
    min-height: 34px;
    padding: 0 11px;
    align-items: center;
    border: 1px solid #d5dfeb;
    border-radius: 999px;
    color: var(--sw-blog-primary);
    background: #f7fafd;
    font-size: 11px;
    font-weight: 720;
    text-decoration: none;
}

.sw-blog-article__footer a:hover {
    border-color: var(--sw-blog-primary);
    background: var(--sw-blog-primary-soft);
}

.sw-blog-post-nav {
    display: grid;
    max-width: 1050px;
    padding-top: 42px;
    padding-bottom: 42px;
    gap: 12px;
    border-top: 1px solid #dce4ed;
}

.sw-blog-post-nav__item {
    display: flex;
    min-height: 130px;
    padding: 20px;
    justify-content: center;
    flex-direction: column;
    border: 1px solid #dce4ed;
    border-radius: 18px;
    background: #fff;
    text-decoration: none;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.sw-blog-post-nav__item:hover {
    transform: translateY(-3px);
    border-color: rgba(20, 72, 150, 0.3);
    box-shadow: 0 13px 28px rgba(25, 48, 77, 0.08);
}

.sw-blog-post-nav__item > span {
    margin-bottom: 8px;
    color: var(--sw-blog-primary);
    font-size: 10px;
    font-weight: 780;
    letter-spacing: 0.045em;
    text-transform: uppercase;
}

.sw-blog-post-nav__item strong {
    color: var(--sw-blog-ink);
    font-size: 16px;
    line-height: 1.35;
}

.sw-blog-related {
    border-top: 1px solid #e0e7ef;
}

.sw-blog-related .sw-blog-section-head {
    margin-bottom: 28px;
}

.sw-blog-cta--article {
    margin-top: 0;
}

/* Tablet */
@media (min-width: 640px) {
    .sw-blog-actions {
        flex-direction: row;
        align-items: center;
        flex-wrap: wrap;
    }

    .sw-blog-actions--center {
        justify-content: center;
    }

    .sw-blog-topic-grid,
    .sw-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sw-blog-map {
        padding: 23px;
    }

    .sw-blog-empty {
        padding: 50px 34px;
    }

    .sw-blog-post-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sw-blog-post-nav__item--next {
        text-align: right;
    }

    .sw-blog-post-nav__item--next:only-child {
        grid-column: 2;
    }
}

/* Desktop */
@media (min-width: 900px) {
    .sw-blog-shell {
        width: min(calc(100% - 64px), 1200px);
    }

    .sw-blog-hero {
        padding: 140px 0 100px;
    }

    .sw-blog-hero__grid {
        grid-template-columns: minmax(0, 1.15fr) minmax(380px, 0.85fr);
        gap: 64px;
    }

    .sw-blog-hero h1 {
        font-size: clamp(60px, 6.15vw, 76px);
    }

    .sw-blog-topic-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }

    .sw-blog-topic {
        min-height: 340px;
    }

    .sw-blog-feed__head {
        grid-template-columns: minmax(0, 1fr) minmax(330px, 0.85fr);
        align-items: end;
    }

    .sw-blog-feed__head .sw-blog-categories {
        justify-content: flex-end;
    }

    .sw-blog-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .sw-blog-card--featured {
        display: grid;
        grid-column: 1 / -1;
        grid-template-columns: minmax(0, 1.2fr) minmax(340px, 0.8fr);
    }

    .sw-blog-card--featured .sw-blog-card__media {
        min-height: 390px;
        aspect-ratio: auto;
    }

    .sw-blog-card--featured .sw-blog-card__body {
        padding: 34px;
        justify-content: center;
    }

    .sw-blog-card--featured .sw-blog-card__title {
        font-size: clamp(30px, 3.3vw, 43px);
    }

    .sw-blog-card--featured .sw-blog-card__excerpt {
        font-size: 15px;
    }

    .sw-blog-method__grid {
        grid-template-columns: minmax(0, 0.9fr) minmax(480px, 1.1fr);
        align-items: start;
        gap: 70px;
    }

    .sw-blog-method__list li {
        padding: 20px;
    }

    .sw-blog-cta__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        gap: 50px;
    }

    .sw-blog-cta__inner .sw-blog-button {
        min-width: 195px;
    }

    .sw-blog-archive-hero {
        padding: 142px 0 78px;
    }

    .sw-blog-archive-hero__grid {
        grid-template-columns: minmax(0, 1fr) auto;
    }

    .sw-blog-archive-hero--generic .sw-blog-shell {
        max-width: 1200px;
    }

    .sw-blog-article__hero {
        padding: 142px 0 86px;
    }

    .sw-blog-article__layout {
        grid-template-columns: 190px minmax(0, 760px);
        justify-content: center;
        gap: 52px;
    }

    .sw-blog-article__aside {
        position: sticky;
        top: 105px;
    }
}

@media (min-width: 1180px) {
    .sw-blog-topics,
    .sw-blog-feed,
    .sw-blog-method,
    .sw-blog-archive-feed,
    .sw-blog-related {
        padding-top: 100px;
        padding-bottom: 100px;
    }

    .sw-blog-topic {
        padding: 27px;
    }
}

@media (max-width: 480px) {
    .sw-blog-shell {
        width: min(calc(100% - 28px), 1200px);
    }

    .sw-blog-hero,
    .sw-blog-archive-hero,
    .sw-blog-article__hero {
        padding-top: 96px;
    }

    .sw-blog-map {
        padding: 15px;
        border-radius: 21px;
    }

    .sw-blog-map::before {
        left: 35px;
    }

    .sw-blog-map__steps li {
        grid-template-columns: 39px minmax(0, 1fr);
        gap: 8px;
    }

    .sw-blog-map__steps li > span {
        width: 39px;
        height: 39px;
        border-radius: 11px;
    }

    .sw-blog-map__steps li > div {
        padding: 10px;
    }

    .sw-blog-card__body,
    .sw-blog-topic {
        padding: 20px;
    }

    .sw-blog-categories {
        flex-wrap: nowrap;
        margin-right: -14px;
        padding-right: 14px;
        overflow-x: auto;
        scrollbar-width: none;
    }

    .sw-blog-categories::-webkit-scrollbar {
        display: none;
    }

    .sw-blog-categories a {
        flex: 0 0 auto;
    }

    .sw-blog-pagination .prev,
    .sw-blog-pagination .next {
        width: 100%;
    }

    .sw-blog-article__meta {
        gap: 7px 9px;
    }

    .sw-blog-article__cover {
        margin-top: -18px;
    }

    .sw-blog-article__image {
        border-radius: 19px;
    }

    .sw-blog-content blockquote {
        padding: 19px 18px 19px 20px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .sw-blog *,
    .sw-blog *::before,
    .sw-blog *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
    }
}

.sw-blog-search-form {
    display: flex;
    max-width: 690px;
    margin-top: 28px;
    padding: 6px;
    gap: 7px;
    border: 1px solid #d6e1ed;
    border-radius: 15px;
    background: #fff;
    box-shadow: 0 14px 32px rgba(22, 49, 82, 0.08);
}

.sw-blog-search-form input {
    min-width: 0;
    min-height: 46px;
    padding: 0 13px;
    flex: 1;
    border: 0;
    outline: 0;
    color: var(--sw-blog-ink);
    background: transparent;
    font: inherit;
    font-size: 14px;
}

.sw-blog-search-form button {
    min-width: 105px;
    min-height: 46px;
    padding: 0 18px;
    border: 0;
    border-radius: 10px;
    color: #fff;
    background: var(--sw-blog-primary);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 760;
}

.sw-blog-search-form:focus-within {
    border-color: rgba(20, 72, 150, 0.5);
    box-shadow: 0 0 0 3px rgba(20, 72, 150, 0.1);
}

@media (max-width: 480px) {
    .sw-blog-search-form {
        align-items: stretch;
        flex-direction: column;
    }
}

@media print {
    .sw-blog-article__aside,
    .sw-blog-post-nav,
    .sw-blog-related,
    .sw-blog-cta,
    .sw-blog-article__footer {
        display: none !important;
    }

    .sw-blog-article__hero {
        padding: 20px 0;
        background: #fff;
    }

    .sw-blog-article__layout {
        display: block;
        padding: 30px 0;
    }

    .sw-blog-content {
        color: #000;
        font-size: 12pt;
    }
}
