/* Magazine layout scoped to the Blog page; the site's shared frame stays intact. */
.blog-page.wrap {
    --blog-line: #e7e8eb;
    width: calc(100% - 170px);
    max-width: 1200px;
    margin: 0 auto;
    padding: 28px 0 84px;
    color: var(--blog-ink);
    text-align: start;
}
.blog-page *, .blog-page *::before, .blog-page *::after { box-sizing: border-box; }
.blog-page a { color: inherit; text-decoration: none; }
.blog-page a:focus-visible { outline: 3px solid #467dc4; outline-offset: 5px; }
.blog-page .blog-eyebrow { margin: 0 0 12px; font-size: 14px; font-weight: 500; color: var(--blog-muted); }
.blog-page .blog-heading h1 { margin: 0 0 34px; }
.blog-page .blog-topics { display: flex; flex-wrap: wrap; gap: 10px; padding: 0 0 6px; }
.blog-page .blog-topic { display: inline-flex; align-items: center; min-height: 64px; overflow: hidden; border-radius: 999px; background: #edf0f5; transition: transform .18s ease; }
.blog-page .blog-topic > span { padding: 14px 23px; font-size: 20px; font-weight: 450; line-height: 1.2; white-space: nowrap; }
.blog-page .blog-hash { opacity: .55; }
.blog-page .blog-topic[aria-current="page"] { outline: 2px solid currentColor; outline-offset: -2px; }
.blog-page .blog-topic:hover { transform: translateY(-3px); }
.blog-page .blog-topic:focus-visible { outline: 3px solid #467dc4; outline-offset: -4px; }
.blog-page .blog-topic-all { background: #eef0f4; }
.blog-page .blog-topic-software { background: #f8d9c8; color: #34221c; }
.blog-page .blog-topic-ai { background: #ded0f7; color: #342440; }
.blog-page .blog-topic-data { background: #cce7f5; color: #173b4d; }
.blog-page .blog-topic-cloud { background: #daf1d4; color: #284122; }
.blog-page .blog-topic-products { background: #efe8b3; color: #3b371a; }
.blog-page .blog-intro { margin: 64px 0 52px; }
.blog-page .blog-section-label { display: block; border-top: 1px solid var(--blog-line); padding: 9px 0 0; margin: 0 0 22px; font-family: inherit; font-size: 17px; font-weight: 400; line-height: 1.4; }
.blog-page .blog-intro > p { max-width: 1100px; margin: 0; font-size: clamp(1.5rem, 2.55vw, 2.2rem); font-weight: 400; line-height: 1.3; letter-spacing: -.018em; }
.blog-page .blog-intro strong { font-weight: 580; }
.blog-page .blog-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; }
.blog-page .blog-section-heading h2 { margin: 0; font-size: inherit; font-weight: 400; }
.blog-page .blog-section-heading > a { font-size: 14px; text-decoration: underline; text-underline-offset: 4px; }
.blog-page .blog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px 18px; }
.blog-page .blog-card { min-width: 0; margin: 0; }
.blog-page .blog-card-image { display: block; aspect-ratio: 16 / 9; transition: transform .2s ease; }
.blog-page .blog-card-image img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: inherit; }
.blog-page .blog-card-image:hover { transform: translateY(-3px); }
.blog-page .blog-card-content { padding-top: 8px; }
.blog-page .blog-card h3 { margin: 0 0 7px; font-size: 21px; overflow-wrap: break-word; }
.blog-page .blog-card h3 a:hover { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.blog-page .blog-card-meta { margin: 0; font-family: inherit; color: var(--blog-muted); font-size: 16px; font-weight: 400; line-height: 1.5; }
.blog-page .blog-card-meta > span { display: block; }
.blog-page .blog-card-meta a:hover { text-decoration: underline; text-underline-offset: 3px; }
.blog-page .blog-featured { margin-top: 72px; }
.blog-page .blog-featured > .blog-section-label { margin-bottom: 18px; }
.blog-page .blog-featured-panel { position: relative; isolation: isolate; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: start; gap: 26px 16px; padding: 30px; border-radius: 26px; background: #f8f8fa; overflow: hidden; }
.blog-page .blog-featured-backdrop { position: absolute; z-index: -1; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; filter: blur(40px); opacity: .2; pointer-events: none; }
.blog-page .blog-featured-heading { grid-column: 1 / -1; display: flex; align-items: baseline; justify-content: space-between; gap: 18px; padding: 2px 0 4px; }
.blog-page .blog-featured-heading h2 { margin: 0; }
.blog-page .blog-featured-heading > a { flex-shrink: 0; font-size: 15px; line-height: 1.5; text-decoration: underline; text-underline-offset: 4px; }
.blog-page .blog-featured-card { padding: 11px; border-radius: 18px; background: #fff; transition: transform .2s ease; }
.blog-page .blog-featured-card:nth-of-type(n + 5) { display: none; }
.blog-page .blog-featured-card:hover { transform: translateY(-3px); }
.blog-page .blog-featured-card .blog-card-image:hover { transform: none; }
.blog-page .blog-featured-card .blog-card-content { padding: 12px 2px 4px; }
.blog-page .blog-featured-card h3 { font-size: 20px; }
.blog-page .blog-featured-card .blog-card-meta { font-size: 14px; }
html[dir="rtl"] .blog-page .blog-heading h1 { font-weight: 500; }
html[dir="rtl"] .blog-page .blog-intro > p { line-height: 1.7; }
@media (min-width: 1481px) {
    .blog-page .blog-featured-panel { grid-template-columns: repeat(5, minmax(0, 1fr)); }
    .blog-page .blog-featured-card:nth-of-type(n + 5) { display: block; }
}
@media (max-width: 1024px) {
    .blog-page .blog-topics { flex-wrap: nowrap; overflow-x: auto; overscroll-behavior-inline: contain; padding: 4px 4px 12px; scroll-snap-type: x proximity; }
    .blog-page .blog-topic { flex-shrink: 0; scroll-snap-align: start; }
    .blog-page .blog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .blog-page .blog-featured-panel { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 14px; padding: 24px; }
    .blog-page .blog-featured-card:nth-of-type(n + 4) { display: none; }
}
@media (max-width: 768px) {
    .blog-page.wrap { padding-top: 24px; }
    .blog-page .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 18px; }
    .blog-page .blog-intro { margin: 42px 0; }
    .blog-page .blog-featured { margin-top: 48px; }
    .blog-page .blog-featured-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 20px; }
    .blog-page .blog-featured-card:nth-of-type(n + 3) { display: none; }
    .blog-page .blog-featured-heading { flex-wrap: wrap; gap: 10px; }
}
@media (max-width: 479px) { .blog-page.wrap { width: calc(100% - 60px); } }
@media (max-width: 639px) {
    .blog-page .blog-featured-panel { grid-template-columns: minmax(0, 1fr); }
    .blog-page .blog-featured-card:nth-of-type(n + 2) { display: none; }
}
@media (max-width: 480px) {
    .blog-page .blog-heading h1 { margin-bottom: 26px; }
    .blog-page .blog-grid { grid-template-columns: minmax(0, 1fr); gap: 32px; }
    .blog-page .blog-card h3 { font-size: 23px; }
    .blog-page .blog-featured-panel { grid-template-columns: minmax(0, 1fr); padding: 18px; border-radius: 20px; }
    .blog-page .blog-featured-card:nth-of-type(n + 2) { display: none; }
    .blog-page .blog-featured-card h3 { font-size: 21px; }
}
@media (prefers-reduced-motion: reduce) {
    .blog-page .blog-topic, .blog-page .blog-topic:hover,
    .blog-page .blog-card-image, .blog-page .blog-card-image:hover,
    .blog-page .blog-featured-card, .blog-page .blog-featured-card:hover { transition: none; transform: none; }
}
